From 32f2eb1210cbbc8f1dd6c46fe235c6cf8d0be07e Mon Sep 17 00:00:00 2001 From: Arunava Basu Date: Thu, 21 Dec 2023 19:20:41 +0530 Subject: [PATCH 01/27] feat: adding ui updates --- frontend/pnpm-lock.yaml | 13705 ++++++++++++++++ frontend/src/App.tsx | 12 +- frontend/src/components/fields/Database.tsx | 30 +- frontend/src/components/fields/Mode.tsx | 30 +- .../MoleculeSelector/MoleculeSelector.tsx | 65 +- frontend/src/components/fields/PathLength.tsx | 41 +- frontend/src/components/fields/Pressure.tsx | 32 +- .../src/components/fields/Species/Species.tsx | 35 +- frontend/src/components/fields/TGas.tsx | 43 +- frontend/src/components/fields/TRot.tsx | 49 +- frontend/src/components/fields/TVib.tsx | 43 +- .../fields/WavenumberRangeSlider.tsx | 25 +- 12 files changed, 13903 insertions(+), 207 deletions(-) create mode 100644 frontend/pnpm-lock.yaml diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml new file mode 100644 index 00000000..e256c25d --- /dev/null +++ b/frontend/pnpm-lock.yaml @@ -0,0 +1,13705 @@ +lockfileVersion: 5.4 + +specifiers: + '@emotion/react': 11.9.3 + '@emotion/styled': 11.9.3 + '@hookform/resolvers': 2.9.6 + '@mui/icons-material': 5.8.4 + '@mui/joy': 5.0.0-beta.18 + '@mui/material': 5.9.1 + '@mui/styles': 5.9.1 + '@testing-library/jest-dom': 5.16.4 + '@testing-library/react': 13.3.0 + '@testing-library/user-event': 13.5.0 + '@types/jest': 29.1.2 + '@types/node': 16.11.45 + '@types/react': 18.0.15 + '@types/react-dom': 18.0.6 + '@types/react-plotly.js': 2.5.1 + '@vitejs/plugin-react': ^4.2.1 + '@vitest/coverage-v8': ^0.32.4 + '@vitest/ui': ^0.32.4 + axios: 0.27.2 + dotenv: ^16.3.1 + eslint: 8.20.0 + eslint-config-prettier: 8.5.0 + eslint-plugin-import: 2.26.0 + eslint-plugin-prettier: 4.2.1 + eslint-plugin-react: 7.30.1 + fontsource-roboto: 4.0.0 + jsdom: ^22.1.0 + plotly.js: 2.13.2 + posthog-js: ^1.96.1 + prettier: 2.7.1 + prettier-eslint: 15.0.1 + react: 18.2.0 + react-dom: 18.2.0 + react-ga4: ^1.4.1 + react-hook-form: 7.33.1 + react-plotly.js: 2.5.1 + react-scripts: 5.0.1 + react-top-loading-bar: 2.1.0 + typescript: 4.7.4 + typescript-eslint: 0.0.1-alpha.0 + vite: ^5.0.10 + vitest: ^0.32.4 + web-vitals: 3.0.3 + yup: 0.32.11 + +dependencies: + '@emotion/react': 11.9.3_3hx2ussxxho4jajbwrd6gq34qe + '@emotion/styled': 11.9.3_t4da3hocwt6ljcf3o6em4qwqzm + '@hookform/resolvers': 2.9.6_react-hook-form@7.33.1 + '@mui/icons-material': 5.8.4_67klntijwxqlm2hij5x527mwqy + '@mui/joy': 5.0.0-beta.18_bl6qrq6463ovzmqn4cmwv7vydq + '@mui/material': 5.9.1_bl6qrq6463ovzmqn4cmwv7vydq + '@mui/styles': 5.9.1_3hx2ussxxho4jajbwrd6gq34qe + '@testing-library/jest-dom': 5.16.4 + '@testing-library/react': 13.3.0_biqbaboplfbrettd7655fr4n2y + '@testing-library/user-event': 13.5.0 + '@vitejs/plugin-react': 4.2.1_vite@5.0.10 + axios: 0.27.2 + dotenv: 16.3.1 + fontsource-roboto: 4.0.0 + jsdom: 22.1.0 + plotly.js: 2.13.2 + posthog-js: 1.96.1 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + react-ga4: 1.4.1 + react-hook-form: 7.33.1_react@18.2.0 + react-plotly.js: 2.5.1_3gwbzzxlhcfw4vshlyzpaxc2g4 + react-scripts: 5.0.1_legnkqzp7ghso7ex3mqhmamure + react-top-loading-bar: 2.1.0_react@18.2.0 + typescript: 4.7.4 + vite: 5.0.10_@types+node@16.11.45 + web-vitals: 3.0.3 + yup: 0.32.11 + +devDependencies: + '@types/jest': 29.1.2 + '@types/node': 16.11.45 + '@types/react': 18.0.15 + '@types/react-dom': 18.0.6 + '@types/react-plotly.js': 2.5.1 + '@vitest/coverage-v8': 0.32.4_vitest@0.32.4 + '@vitest/ui': 0.32.4_vitest@0.32.4 + eslint: 8.20.0 + eslint-config-prettier: 8.5.0_eslint@8.20.0 + eslint-plugin-import: 2.26.0_eslint@8.20.0 + eslint-plugin-prettier: 4.2.1_g4fztgbwjyq2fvmcscny2sj6fy + eslint-plugin-react: 7.30.1_eslint@8.20.0 + prettier: 2.7.1 + prettier-eslint: 15.0.1 + typescript-eslint: 0.0.1-alpha.0 + vitest: 0.32.4_o6kyuis2qfnfbtw6d3u5hromrm + +packages: + + /@aashutoshrathi/word-wrap/1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + + /@alloc/quick-lru/5.2.0: + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + dev: false + + /@ampproject/remapping/2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.20 + + /@apideck/better-ajv-errors/0.3.6_ajv@8.12.0: + resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==} + engines: {node: '>=10'} + peerDependencies: + ajv: '>=8' + dependencies: + ajv: 8.12.0 + json-schema: 0.4.0 + jsonpointer: 5.0.1 + leven: 3.1.0 + dev: false + + /@babel/code-frame/7.23.5: + resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.23.4 + chalk: 2.4.2 + + /@babel/compat-data/7.23.5: + resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/core/7.23.6: + resolution: {integrity: sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3_@babel+core@7.23.6 + '@babel/helpers': 7.23.6 + '@babel/parser': 7.23.6 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.6 + '@babel/types': 7.23.6 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/eslint-parser/7.23.3_2mb5wq2uiqy5lxujuhf2jqpdtm: + resolution: {integrity: sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==} + engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} + peerDependencies: + '@babel/core': ^7.11.0 + eslint: ^7.5.0 || ^8.0.0 + dependencies: + '@babel/core': 7.23.6 + '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 + eslint: 8.20.0 + eslint-visitor-keys: 2.1.0 + semver: 6.3.1 + dev: false + + /@babel/generator/7.23.6: + resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.20 + jsesc: 2.5.2 + dev: false + + /@babel/helper-annotate-as-pure/7.22.5: + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@babel/helper-builder-binary-assignment-operator-visitor/7.22.15: + resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@babel/helper-compilation-targets/7.23.6: + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.23.5 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.22.2 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: false + + /@babel/helper-create-class-features-plugin/7.23.6_@babel+core@7.23.6: + resolution: {integrity: sha512-cBXU1vZni/CpGF29iTu4YRbOZt3Wat6zCoMDxRF1MayiEc4URxOj31tT65HUM0CRpMowA3HCJaAOVOUnMf96cw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.22.20_@babel+core@7.23.6 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + dev: false + + /@babel/helper-create-regexp-features-plugin/7.22.15_@babel+core@7.23.6: + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-annotate-as-pure': 7.22.5 + regexpu-core: 5.3.2 + semver: 6.3.1 + dev: false + + /@babel/helper-define-polyfill-provider/0.4.4_@babel+core@7.23.6: + resolution: {integrity: sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + debug: 4.3.4 + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/helper-environment-visitor/7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/helper-function-name/7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/types': 7.23.6 + dev: false + + /@babel/helper-hoist-variables/7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@babel/helper-member-expression-to-functions/7.23.0: + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@babel/helper-module-imports/7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@babel/helper-module-transforms/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: false + + /@babel/helper-optimise-call-expression/7.22.5: + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@babel/helper-plugin-utils/7.22.5: + resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/helper-remap-async-to-generator/7.22.20_@babel+core@7.23.6: + resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-wrap-function': 7.22.20 + dev: false + + /@babel/helper-replace-supers/7.22.20_@babel+core@7.23.6: + resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + dev: false + + /@babel/helper-simple-access/7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@babel/helper-skip-transparent-expression-wrappers/7.22.5: + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@babel/helper-split-export-declaration/7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@babel/helper-string-parser/7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/helper-validator-identifier/7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-option/7.23.5: + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/helper-wrap-function/7.22.20: + resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-function-name': 7.23.0 + '@babel/template': 7.22.15 + '@babel/types': 7.23.6 + dev: false + + /@babel/helpers/7.23.6: + resolution: {integrity: sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.6 + '@babel/types': 7.23.6 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/highlight/7.23.4: + resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + + /@babel/parser/7.23.6: + resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-transform-optional-chaining': 7.23.4_@babel+core@7.23.6 + dev: false + + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-proposal-class-properties/7.18.6_@babel+core@7.23.6: + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-create-class-features-plugin': 7.23.6_@babel+core@7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-proposal-decorators/7.23.6_@babel+core@7.23.6: + resolution: {integrity: sha512-D7Ccq9LfkBFnow3azZGJvZYgcfeqAw3I1e5LoTpj6UKIFQilh8yqXsIGcRIqbBdsPWIz+Ze7ZZfggSj62Qp+Fg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-create-class-features-plugin': 7.23.6_@babel+core@7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.20_@babel+core@7.23.6 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/plugin-syntax-decorators': 7.23.3_@babel+core@7.23.6 + dev: false + + /@babel/plugin-proposal-nullish-coalescing-operator/7.18.6_@babel+core@7.23.6: + resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.23.6 + dev: false + + /@babel/plugin-proposal-numeric-separator/7.18.6_@babel+core@7.23.6: + resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.23.6 + dev: false + + /@babel/plugin-proposal-optional-chaining/7.21.0_@babel+core@7.23.6: + resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.23.6 + dev: false + + /@babel/plugin-proposal-private-methods/7.18.6_@babel+core@7.23.6: + resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-create-class-features-plugin': 7.23.6_@babel+core@7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-proposal-private-property-in-object/7.21.0-placeholder-for-preset-env.2_@babel+core@7.23.6: + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + dev: false + + /@babel/plugin-proposal-private-property-in-object/7.21.11_@babel+core@7.23.6: + resolution: {integrity: sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.23.6_@babel+core@7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.23.6 + dev: false + + /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.23.6: + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.23.6: + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.23.6: + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.23.6: + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-decorators/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.23.6: + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.23.6: + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-flow/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-import-assertions/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-import-attributes/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.23.6: + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.23.6: + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-jsx/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.23.6: + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.23.6: + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.23.6: + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.23.6: + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.23.6: + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.23.6: + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.23.6: + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.23.6: + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-typescript/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-syntax-unicode-sets-regex/7.18.6_@babel+core@7.23.6: + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-create-regexp-features-plugin': 7.22.15_@babel+core@7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-arrow-functions/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-async-generator-functions/7.23.4_@babel+core@7.23.6: + resolution: {integrity: sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.20_@babel+core@7.23.6 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.23.6 + dev: false + + /@babel/plugin-transform-async-to-generator/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.20_@babel+core@7.23.6 + dev: false + + /@babel/plugin-transform-block-scoped-functions/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-block-scoping/7.23.4_@babel+core@7.23.6: + resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-class-properties/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-create-class-features-plugin': 7.23.6_@babel+core@7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-class-static-block/7.23.4_@babel+core@7.23.6: + resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-create-class-features-plugin': 7.23.6_@babel+core@7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.23.6 + dev: false + + /@babel/plugin-transform-classes/7.23.5_@babel+core@7.23.6: + resolution: {integrity: sha512-jvOTR4nicqYC9yzOHIhXG5emiFEOpappSJAl73SDSEDcybD+Puuze8Tnpb9p9qEyYup24tq891gkaygIFvWDqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.20_@babel+core@7.23.6 + '@babel/helper-split-export-declaration': 7.22.6 + globals: 11.12.0 + dev: false + + /@babel/plugin-transform-computed-properties/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/template': 7.22.15 + dev: false + + /@babel/plugin-transform-destructuring/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-dotall-regex/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-create-regexp-features-plugin': 7.22.15_@babel+core@7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-duplicate-keys/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-dynamic-import/7.23.4_@babel+core@7.23.6: + resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.23.6 + dev: false + + /@babel/plugin-transform-exponentiation-operator/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-export-namespace-from/7.23.4_@babel+core@7.23.6: + resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.23.6 + dev: false + + /@babel/plugin-transform-flow-strip-types/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-flow': 7.23.3_@babel+core@7.23.6 + dev: false + + /@babel/plugin-transform-for-of/7.23.6_@babel+core@7.23.6: + resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + dev: false + + /@babel/plugin-transform-function-name/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-json-strings/7.23.4_@babel+core@7.23.6: + resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.23.6 + dev: false + + /@babel/plugin-transform-literals/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-logical-assignment-operators/7.23.4_@babel+core@7.23.6: + resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.23.6 + dev: false + + /@babel/plugin-transform-member-expression-literals/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-modules-amd/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-module-transforms': 7.23.3_@babel+core@7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-modules-commonjs/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-module-transforms': 7.23.3_@babel+core@7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-simple-access': 7.22.5 + dev: false + + /@babel/plugin-transform-modules-systemjs/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-module-transforms': 7.23.3_@babel+core@7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 + dev: false + + /@babel/plugin-transform-modules-umd/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-module-transforms': 7.23.3_@babel+core@7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-named-capturing-groups-regex/7.22.5_@babel+core@7.23.6: + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-create-regexp-features-plugin': 7.22.15_@babel+core@7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-new-target/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-nullish-coalescing-operator/7.23.4_@babel+core@7.23.6: + resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.23.6 + dev: false + + /@babel/plugin-transform-numeric-separator/7.23.4_@babel+core@7.23.6: + resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.23.6 + dev: false + + /@babel/plugin-transform-object-rest-spread/7.23.4_@babel+core@7.23.6: + resolution: {integrity: sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.23.5 + '@babel/core': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.23.6 + '@babel/plugin-transform-parameters': 7.23.3_@babel+core@7.23.6 + dev: false + + /@babel/plugin-transform-object-super/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.20_@babel+core@7.23.6 + dev: false + + /@babel/plugin-transform-optional-catch-binding/7.23.4_@babel+core@7.23.6: + resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.23.6 + dev: false + + /@babel/plugin-transform-optional-chaining/7.23.4_@babel+core@7.23.6: + resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.23.6 + dev: false + + /@babel/plugin-transform-parameters/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-private-methods/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-create-class-features-plugin': 7.23.6_@babel+core@7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-private-property-in-object/7.23.4_@babel+core@7.23.6: + resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.23.6_@babel+core@7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.23.6 + dev: false + + /@babel/plugin-transform-property-literals/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-react-constant-elements/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-react-display-name/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-react-jsx-development/7.22.5_@babel+core@7.23.6: + resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/plugin-transform-react-jsx': 7.23.4_@babel+core@7.23.6 + dev: false + + /@babel/plugin-transform-react-jsx-self/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-react-jsx-source/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-react-jsx/7.23.4_@babel+core@7.23.6: + resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-jsx': 7.23.3_@babel+core@7.23.6 + '@babel/types': 7.23.6 + dev: false + + /@babel/plugin-transform-react-pure-annotations/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-regenerator/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + regenerator-transform: 0.15.2 + dev: false + + /@babel/plugin-transform-reserved-words/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-runtime/7.23.6_@babel+core@7.23.6: + resolution: {integrity: sha512-kF1Zg62aPseQ11orDhFRw+aPG/eynNQtI+TyY+m33qJa2cJ5EEvza2P2BNTIA9E5MyqFABHEyY6CPHwgdy9aNg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + babel-plugin-polyfill-corejs2: 0.4.7_@babel+core@7.23.6 + babel-plugin-polyfill-corejs3: 0.8.7_@babel+core@7.23.6 + babel-plugin-polyfill-regenerator: 0.5.4_@babel+core@7.23.6 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/plugin-transform-shorthand-properties/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-spread/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + dev: false + + /@babel/plugin-transform-sticky-regex/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-template-literals/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-typeof-symbol/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-typescript/7.23.6_@babel+core@7.23.6: + resolution: {integrity: sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.23.6_@babel+core@7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-typescript': 7.23.3_@babel+core@7.23.6 + dev: false + + /@babel/plugin-transform-unicode-escapes/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-unicode-property-regex/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-create-regexp-features-plugin': 7.22.15_@babel+core@7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-unicode-regex/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-create-regexp-features-plugin': 7.22.15_@babel+core@7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-unicode-sets-regex/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-create-regexp-features-plugin': 7.22.15_@babel+core@7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/preset-env/7.23.6_@babel+core@7.23.6: + resolution: {integrity: sha512-2XPn/BqKkZCpzYhUUNZ1ssXw7DcXfKQEjv/uXZUXgaebCMYmkEsfZ2yY+vv+xtXv50WmL5SGhyB6/xsWxIvvOQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.23.5 + '@babel/core': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2_@babel+core@7.23.6 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.23.6 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.23.6 + '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.23.6 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.23.6 + '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.23.6 + '@babel/plugin-syntax-import-assertions': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-syntax-import-attributes': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.23.6 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.23.6 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.23.6 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.23.6 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.23.6 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.23.6 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.23.6 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.23.6 + '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.23.6 + '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.23.6 + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6_@babel+core@7.23.6 + '@babel/plugin-transform-arrow-functions': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-async-generator-functions': 7.23.4_@babel+core@7.23.6 + '@babel/plugin-transform-async-to-generator': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-block-scoped-functions': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-block-scoping': 7.23.4_@babel+core@7.23.6 + '@babel/plugin-transform-class-properties': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-class-static-block': 7.23.4_@babel+core@7.23.6 + '@babel/plugin-transform-classes': 7.23.5_@babel+core@7.23.6 + '@babel/plugin-transform-computed-properties': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-destructuring': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-dotall-regex': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-duplicate-keys': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-dynamic-import': 7.23.4_@babel+core@7.23.6 + '@babel/plugin-transform-exponentiation-operator': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-export-namespace-from': 7.23.4_@babel+core@7.23.6 + '@babel/plugin-transform-for-of': 7.23.6_@babel+core@7.23.6 + '@babel/plugin-transform-function-name': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-json-strings': 7.23.4_@babel+core@7.23.6 + '@babel/plugin-transform-literals': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-logical-assignment-operators': 7.23.4_@babel+core@7.23.6 + '@babel/plugin-transform-member-expression-literals': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-modules-amd': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-modules-commonjs': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-modules-systemjs': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-modules-umd': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5_@babel+core@7.23.6 + '@babel/plugin-transform-new-target': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4_@babel+core@7.23.6 + '@babel/plugin-transform-numeric-separator': 7.23.4_@babel+core@7.23.6 + '@babel/plugin-transform-object-rest-spread': 7.23.4_@babel+core@7.23.6 + '@babel/plugin-transform-object-super': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-optional-catch-binding': 7.23.4_@babel+core@7.23.6 + '@babel/plugin-transform-optional-chaining': 7.23.4_@babel+core@7.23.6 + '@babel/plugin-transform-parameters': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-private-methods': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-private-property-in-object': 7.23.4_@babel+core@7.23.6 + '@babel/plugin-transform-property-literals': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-regenerator': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-reserved-words': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-shorthand-properties': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-spread': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-sticky-regex': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-template-literals': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-typeof-symbol': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-unicode-escapes': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-unicode-property-regex': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-unicode-regex': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-unicode-sets-regex': 7.23.3_@babel+core@7.23.6 + '@babel/preset-modules': 0.1.6-no-external-plugins_@babel+core@7.23.6 + babel-plugin-polyfill-corejs2: 0.4.7_@babel+core@7.23.6 + babel-plugin-polyfill-corejs3: 0.8.7_@babel+core@7.23.6 + babel-plugin-polyfill-regenerator: 0.5.4_@babel+core@7.23.6 + core-js-compat: 3.34.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/preset-modules/0.1.6-no-external-plugins_@babel+core@7.23.6: + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/types': 7.23.6 + esutils: 2.0.3 + dev: false + + /@babel/preset-react/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-transform-react-display-name': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-react-jsx': 7.23.4_@babel+core@7.23.6 + '@babel/plugin-transform-react-jsx-development': 7.22.5_@babel+core@7.23.6 + '@babel/plugin-transform-react-pure-annotations': 7.23.3_@babel+core@7.23.6 + dev: false + + /@babel/preset-typescript/7.23.3_@babel+core@7.23.6: + resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-syntax-jsx': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-modules-commonjs': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-typescript': 7.23.6_@babel+core@7.23.6 + dev: false + + /@babel/regjsgen/0.8.0: + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + dev: false + + /@babel/runtime/7.23.6: + resolution: {integrity: sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.1 + dev: false + + /@babel/template/7.22.15: + resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 + dev: false + + /@babel/traverse/7.23.6: + resolution: {integrity: sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/types/7.23.6: + resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: false + + /@bcoe/v8-coverage/0.2.3: + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + + /@choojs/findup/0.2.1: + resolution: {integrity: sha512-YstAqNb0MCN8PjdLCDfRsBcGVRN41f3vgLvaI0IrIcBp4AqILRSS0DeWNGkicC+f/zRIPJLc+9RURVSepwvfBw==} + hasBin: true + dependencies: + commander: 2.20.3 + dev: false + + /@csstools/normalize.css/12.0.0: + resolution: {integrity: sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==} + dev: false + + /@csstools/postcss-cascade-layers/1.1.1_postcss@8.4.32: + resolution: {integrity: sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + '@csstools/selector-specificity': 2.2.0_c3vcbepomgmxc74cgtawpgpkyi + postcss: 8.4.32 + postcss-selector-parser: 6.0.13 + dev: false + + /@csstools/postcss-color-function/1.1.1_postcss@8.4.32: + resolution: {integrity: sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.32 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /@csstools/postcss-font-format-keywords/1.0.1_postcss@8.4.32: + resolution: {integrity: sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /@csstools/postcss-hwb-function/1.0.2_postcss@8.4.32: + resolution: {integrity: sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /@csstools/postcss-ic-unit/1.0.1_postcss@8.4.32: + resolution: {integrity: sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.32 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /@csstools/postcss-is-pseudo-class/2.0.7_postcss@8.4.32: + resolution: {integrity: sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + '@csstools/selector-specificity': 2.2.0_c3vcbepomgmxc74cgtawpgpkyi + postcss: 8.4.32 + postcss-selector-parser: 6.0.13 + dev: false + + /@csstools/postcss-nested-calc/1.0.0_postcss@8.4.32: + resolution: {integrity: sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /@csstools/postcss-normalize-display-values/1.0.1_postcss@8.4.32: + resolution: {integrity: sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /@csstools/postcss-oklab-function/1.1.1_postcss@8.4.32: + resolution: {integrity: sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.32 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /@csstools/postcss-progressive-custom-properties/1.3.0_postcss@8.4.32: + resolution: {integrity: sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.3 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /@csstools/postcss-stepped-value-functions/1.0.1_postcss@8.4.32: + resolution: {integrity: sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /@csstools/postcss-text-decoration-shorthand/1.0.0_postcss@8.4.32: + resolution: {integrity: sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /@csstools/postcss-trigonometric-functions/1.0.2_postcss@8.4.32: + resolution: {integrity: sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==} + engines: {node: ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /@csstools/postcss-unset-value/1.0.2_postcss@8.4.32: + resolution: {integrity: sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.32 + dev: false + + /@csstools/selector-specificity/2.2.0_c3vcbepomgmxc74cgtawpgpkyi: + resolution: {integrity: sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss-selector-parser: ^6.0.10 + dependencies: + postcss-selector-parser: 6.0.13 + dev: false + + /@emotion/babel-plugin/11.11.0: + resolution: {integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==} + dependencies: + '@babel/helper-module-imports': 7.22.15 + '@babel/runtime': 7.23.6 + '@emotion/hash': 0.9.1 + '@emotion/memoize': 0.8.1 + '@emotion/serialize': 1.1.2 + babel-plugin-macros: 3.1.0 + convert-source-map: 1.9.0 + escape-string-regexp: 4.0.0 + find-root: 1.1.0 + source-map: 0.5.7 + stylis: 4.2.0 + dev: false + + /@emotion/cache/11.11.0: + resolution: {integrity: sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==} + dependencies: + '@emotion/memoize': 0.8.1 + '@emotion/sheet': 1.2.2 + '@emotion/utils': 1.2.1 + '@emotion/weak-memoize': 0.3.1 + stylis: 4.2.0 + dev: false + + /@emotion/hash/0.8.0: + resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} + dev: false + + /@emotion/hash/0.9.1: + resolution: {integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==} + dev: false + + /@emotion/is-prop-valid/1.2.1: + resolution: {integrity: sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==} + dependencies: + '@emotion/memoize': 0.8.1 + dev: false + + /@emotion/memoize/0.8.1: + resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==} + dev: false + + /@emotion/react/11.9.3_3hx2ussxxho4jajbwrd6gq34qe: + resolution: {integrity: sha512-g9Q1GcTOlzOEjqwuLF/Zd9LC+4FljjPjDfxSM7KmEakm+hsHXk+bYZ2q+/hTJzr0OUNkujo72pXLQvXj6H+GJQ==} + peerDependencies: + '@babel/core': ^7.0.0 + '@types/react': '*' + react: '>=16.8.0' + peerDependenciesMeta: + '@babel/core': + optional: true + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.6 + '@emotion/babel-plugin': 11.11.0 + '@emotion/cache': 11.11.0 + '@emotion/serialize': 1.1.2 + '@emotion/utils': 1.2.1 + '@emotion/weak-memoize': 0.2.5 + '@types/react': 18.0.15 + hoist-non-react-statics: 3.3.2 + react: 18.2.0 + dev: false + + /@emotion/serialize/1.1.2: + resolution: {integrity: sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==} + dependencies: + '@emotion/hash': 0.9.1 + '@emotion/memoize': 0.8.1 + '@emotion/unitless': 0.8.1 + '@emotion/utils': 1.2.1 + csstype: 3.1.3 + dev: false + + /@emotion/sheet/1.2.2: + resolution: {integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==} + dev: false + + /@emotion/styled/11.9.3_t4da3hocwt6ljcf3o6em4qwqzm: + resolution: {integrity: sha512-o3sBNwbtoVz9v7WB1/Y/AmXl69YHmei2mrVnK7JgyBJ//Rst5yqPZCecEJlMlJrFeWHp+ki/54uN265V2pEcXA==} + peerDependencies: + '@babel/core': ^7.0.0 + '@emotion/react': ^11.0.0-rc.0 + '@types/react': '*' + react: '>=16.8.0' + peerDependenciesMeta: + '@babel/core': + optional: true + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.6 + '@emotion/babel-plugin': 11.11.0 + '@emotion/is-prop-valid': 1.2.1 + '@emotion/react': 11.9.3_3hx2ussxxho4jajbwrd6gq34qe + '@emotion/serialize': 1.1.2 + '@emotion/utils': 1.2.1 + '@types/react': 18.0.15 + react: 18.2.0 + dev: false + + /@emotion/unitless/0.8.1: + resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==} + dev: false + + /@emotion/utils/1.2.1: + resolution: {integrity: sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==} + dev: false + + /@emotion/weak-memoize/0.2.5: + resolution: {integrity: sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==} + dev: false + + /@emotion/weak-memoize/0.3.1: + resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==} + dev: false + + /@esbuild/android-arm/0.18.20: + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm/0.19.9: + resolution: {integrity: sha512-jkYjjq7SdsWuNI6b5quymW0oC83NN5FdRPuCbs9HZ02mfVdAP8B8eeqLSYU3gb6OJEaY5CQabtTFbqBf26H3GA==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@esbuild/android-arm64/0.18.20: + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64/0.19.9: + resolution: {integrity: sha512-q4cR+6ZD0938R19MyEW3jEsMzbb/1rulLXiNAJQADD/XYp7pT+rOS5JGxvpRW8dFDEfjW4wLgC/3FXIw4zYglQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@esbuild/android-x64/0.18.20: + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64/0.19.9: + resolution: {integrity: sha512-KOqoPntWAH6ZxDwx1D6mRntIgZh9KodzgNOy5Ebt9ghzffOk9X2c1sPwtM9P+0eXbefnDhqYfkh5PLP5ULtWFA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@esbuild/darwin-arm64/0.18.20: + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64/0.19.9: + resolution: {integrity: sha512-KBJ9S0AFyLVx2E5D8W0vExqRW01WqRtczUZ8NRu+Pi+87opZn5tL4Y0xT0mA4FtHctd0ZgwNoN639fUUGlNIWw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@esbuild/darwin-x64/0.18.20: + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64/0.19.9: + resolution: {integrity: sha512-vE0VotmNTQaTdX0Q9dOHmMTao6ObjyPm58CHZr1UK7qpNleQyxlFlNCaHsHx6Uqv86VgPmR4o2wdNq3dP1qyDQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@esbuild/freebsd-arm64/0.18.20: + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64/0.19.9: + resolution: {integrity: sha512-uFQyd/o1IjiEk3rUHSwUKkqZwqdvuD8GevWF065eqgYfexcVkxh+IJgwTaGZVu59XczZGcN/YMh9uF1fWD8j1g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/freebsd-x64/0.18.20: + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64/0.19.9: + resolution: {integrity: sha512-WMLgWAtkdTbTu1AWacY7uoj/YtHthgqrqhf1OaEWnZb7PQgpt8eaA/F3LkV0E6K/Lc0cUr/uaVP/49iE4M4asA==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-arm/0.18.20: + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm/0.19.9: + resolution: {integrity: sha512-C/ChPohUYoyUaqn1h17m/6yt6OB14hbXvT8EgM1ZWaiiTYz7nWZR0SYmMnB5BzQA4GXl3BgBO1l8MYqL/He3qw==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-arm64/0.18.20: + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64/0.19.9: + resolution: {integrity: sha512-PiPblfe1BjK7WDAKR1Cr9O7VVPqVNpwFcPWgfn4xu0eMemzRp442hXyzF/fSwgrufI66FpHOEJk0yYdPInsmyQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-ia32/0.18.20: + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32/0.19.9: + resolution: {integrity: sha512-f37i/0zE0MjDxijkPSQw1CO/7C27Eojqb+r3BbHVxMLkj8GCa78TrBZzvPyA/FNLUMzP3eyHCVkAopkKVja+6Q==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-loong64/0.18.20: + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64/0.19.9: + resolution: {integrity: sha512-t6mN147pUIf3t6wUt3FeumoOTPfmv9Cc6DQlsVBpB7eCpLOqQDyWBP1ymXn1lDw4fNUSb/gBcKAmvTP49oIkaA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-mips64el/0.18.20: + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el/0.19.9: + resolution: {integrity: sha512-jg9fujJTNTQBuDXdmAg1eeJUL4Jds7BklOTkkH80ZgQIoCTdQrDaHYgbFZyeTq8zbY+axgptncko3v9p5hLZtw==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-ppc64/0.18.20: + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64/0.19.9: + resolution: {integrity: sha512-tkV0xUX0pUUgY4ha7z5BbDS85uI7ABw3V1d0RNTii7E9lbmV8Z37Pup2tsLV46SQWzjOeyDi1Q7Wx2+QM8WaCQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-riscv64/0.18.20: + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64/0.19.9: + resolution: {integrity: sha512-DfLp8dj91cufgPZDXr9p3FoR++m3ZJ6uIXsXrIvJdOjXVREtXuQCjfMfvmc3LScAVmLjcfloyVtpn43D56JFHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-s390x/0.18.20: + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x/0.19.9: + resolution: {integrity: sha512-zHbglfEdC88KMgCWpOl/zc6dDYJvWGLiUtmPRsr1OgCViu3z5GncvNVdf+6/56O2Ca8jUU+t1BW261V6kp8qdw==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-x64/0.18.20: + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64/0.19.9: + resolution: {integrity: sha512-JUjpystGFFmNrEHQnIVG8hKwvA2DN5o7RqiO1CVX8EN/F/gkCjkUMgVn6hzScpwnJtl2mPR6I9XV1oW8k9O+0A==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/netbsd-x64/0.18.20: + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64/0.19.9: + resolution: {integrity: sha512-GThgZPAwOBOsheA2RUlW5UeroRfESwMq/guy8uEe3wJlAOjpOXuSevLRd70NZ37ZrpO6RHGHgEHvPg1h3S1Jug==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/openbsd-x64/0.18.20: + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64/0.19.9: + resolution: {integrity: sha512-Ki6PlzppaFVbLnD8PtlVQfsYw4S9n3eQl87cqgeIw+O3sRr9IghpfSKY62mggdt1yCSZ8QWvTZ9jo9fjDSg9uw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/sunos-x64/0.18.20: + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64/0.19.9: + resolution: {integrity: sha512-MLHj7k9hWh4y1ddkBpvRj2b9NCBhfgBt3VpWbHQnXRedVun/hC7sIyTGDGTfsGuXo4ebik2+3ShjcPbhtFwWDw==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: false + optional: true + + /@esbuild/win32-arm64/0.18.20: + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64/0.19.9: + resolution: {integrity: sha512-GQoa6OrQ8G08guMFgeXPH7yE/8Dt0IfOGWJSfSH4uafwdC7rWwrfE6P9N8AtPGIjUzdo2+7bN8Xo3qC578olhg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@esbuild/win32-ia32/0.18.20: + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32/0.19.9: + resolution: {integrity: sha512-UOozV7Ntykvr5tSOlGCrqU3NBr3d8JqPes0QWN2WOXfvkWVGRajC+Ym0/Wj88fUgecUCLDdJPDF0Nna2UK3Qtg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@esbuild/win32-x64/0.18.20: + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64/0.19.9: + resolution: {integrity: sha512-oxoQgglOP7RH6iasDrhY+R/3cHrfwIDvRlT4CGChflq6twk8iENeVvMJjmvBb94Ik1Z+93iGO27err7w6l54GQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@eslint-community/eslint-utils/4.4.0_eslint@8.20.0: + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.20.0 + eslint-visitor-keys: 3.4.3 + dev: false + + /@eslint-community/regexpp/4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: false + + /@eslint/eslintrc/1.4.1: + resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.0 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + /@floating-ui/core/1.5.2: + resolution: {integrity: sha512-Ii3MrfY/GAIN3OhXNzpCKaLxHQfJF9qvwq/kEJYdqDxeIHa01K8sldugal6TmeeXl+WMvhv9cnVzUTaFFJF09A==} + dependencies: + '@floating-ui/utils': 0.1.6 + dev: false + + /@floating-ui/dom/1.5.3: + resolution: {integrity: sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==} + dependencies: + '@floating-ui/core': 1.5.2 + '@floating-ui/utils': 0.1.6 + dev: false + + /@floating-ui/react-dom/2.0.4_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-CF8k2rgKeh/49UrnIBs4BdxPUV6vize/Db1d/YbCLyp9GiVZ0BEwf5AiDSxJRCr6yOkGqTFHtmrULxkEfYZ7dQ==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + dependencies: + '@floating-ui/dom': 1.5.3 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + dev: false + + /@floating-ui/utils/0.1.6: + resolution: {integrity: sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==} + dev: false + + /@hookform/resolvers/2.9.6_react-hook-form@7.33.1: + resolution: {integrity: sha512-f4VxF8w9rdX0WsDCk3FW1dGPj/Sj8+1Ulcgtm5ymgWEpbA/fjY+NUDh+L9hftmxDgP8+EJFtF+qFK4gPEXVrVQ==} + peerDependencies: + react-hook-form: ^7.0.0 + dependencies: + react-hook-form: 7.33.1_react@18.2.0 + dev: false + + /@humanwhocodes/config-array/0.9.5: + resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + /@humanwhocodes/object-schema/1.2.1: + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + + /@istanbuljs/load-nyc-config/1.1.0: + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + dev: false + + /@istanbuljs/schema/0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + + /@jest/console/27.5.1: + resolution: {integrity: sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + '@types/node': 16.11.45 + chalk: 4.1.2 + jest-message-util: 27.5.1 + jest-util: 27.5.1 + slash: 3.0.0 + dev: false + + /@jest/console/28.1.3: + resolution: {integrity: sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + dependencies: + '@jest/types': 28.1.3 + '@types/node': 16.11.45 + chalk: 4.1.2 + jest-message-util: 28.1.3 + jest-util: 28.1.3 + slash: 3.0.0 + dev: false + + /@jest/core/27.5.1: + resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/console': 27.5.1 + '@jest/reporters': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 16.11.45 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.8.1 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 27.5.1 + jest-config: 27.5.1 + jest-haste-map: 27.5.1 + jest-message-util: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-resolve-dependencies: 27.5.1 + jest-runner: 27.5.1 + jest-runtime: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + jest-watcher: 27.5.1 + micromatch: 4.0.5 + rimraf: 3.0.2 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + dev: false + + /@jest/environment/27.5.1: + resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/fake-timers': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 16.11.45 + jest-mock: 27.5.1 + dev: false + + /@jest/expect-utils/29.7.0: + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-get-type: 29.6.3 + + /@jest/fake-timers/27.5.1: + resolution: {integrity: sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + '@sinonjs/fake-timers': 8.1.0 + '@types/node': 16.11.45 + jest-message-util: 27.5.1 + jest-mock: 27.5.1 + jest-util: 27.5.1 + dev: false + + /@jest/globals/27.5.1: + resolution: {integrity: sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/environment': 27.5.1 + '@jest/types': 27.5.1 + expect: 27.5.1 + dev: false + + /@jest/reporters/27.5.1: + resolution: {integrity: sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 16.11.45 + chalk: 4.1.2 + collect-v8-coverage: 1.0.2 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-instrument: 5.2.1 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.6 + jest-haste-map: 27.5.1 + jest-resolve: 27.5.1 + jest-util: 27.5.1 + jest-worker: 27.5.1 + slash: 3.0.0 + source-map: 0.6.1 + string-length: 4.0.2 + terminal-link: 2.1.1 + v8-to-istanbul: 8.1.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@jest/schemas/28.1.3: + resolution: {integrity: sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + dependencies: + '@sinclair/typebox': 0.24.51 + dev: false + + /@jest/schemas/29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.27.8 + + /@jest/source-map/27.5.1: + resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + callsites: 3.1.0 + graceful-fs: 4.2.11 + source-map: 0.6.1 + dev: false + + /@jest/test-result/27.5.1: + resolution: {integrity: sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/console': 27.5.1 + '@jest/types': 27.5.1 + '@types/istanbul-lib-coverage': 2.0.6 + collect-v8-coverage: 1.0.2 + dev: false + + /@jest/test-result/28.1.3: + resolution: {integrity: sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + dependencies: + '@jest/console': 28.1.3 + '@jest/types': 28.1.3 + '@types/istanbul-lib-coverage': 2.0.6 + collect-v8-coverage: 1.0.2 + dev: false + + /@jest/test-sequencer/27.5.1: + resolution: {integrity: sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/test-result': 27.5.1 + graceful-fs: 4.2.11 + jest-haste-map: 27.5.1 + jest-runtime: 27.5.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@jest/transform/27.5.1: + resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@babel/core': 7.23.6 + '@jest/types': 27.5.1 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 1.9.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 27.5.1 + jest-regex-util: 27.5.1 + jest-util: 27.5.1 + micromatch: 4.0.5 + pirates: 4.0.6 + slash: 3.0.0 + source-map: 0.6.1 + write-file-atomic: 3.0.3 + transitivePeerDependencies: + - supports-color + dev: false + + /@jest/types/27.5.1: + resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 16.11.45 + '@types/yargs': 16.0.9 + chalk: 4.1.2 + dev: false + + /@jest/types/28.1.3: + resolution: {integrity: sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + dependencies: + '@jest/schemas': 28.1.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 16.11.45 + '@types/yargs': 17.0.32 + chalk: 4.1.2 + dev: false + + /@jest/types/29.6.3: + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 16.11.45 + '@types/yargs': 17.0.32 + chalk: 4.1.2 + + /@jridgewell/gen-mapping/0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.20 + + /@jridgewell/resolve-uri/3.1.1: + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + engines: {node: '>=6.0.0'} + + /@jridgewell/set-array/1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + + /@jridgewell/source-map/0.3.5: + resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.20 + dev: false + + /@jridgewell/sourcemap-codec/1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + /@jridgewell/trace-mapping/0.3.20: + resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} + dependencies: + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 + + /@leichtgewicht/ip-codec/2.0.4: + resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==} + dev: false + + /@mapbox/geojson-rewind/0.5.2: + resolution: {integrity: sha512-tJaT+RbYGJYStt7wI3cq4Nl4SXxG8W7JDG5DMJu97V25RnbNg3QtQtf+KD+VLjNpWKYsRvXDNmNrBgEETr1ifA==} + hasBin: true + dependencies: + get-stream: 6.0.1 + minimist: 1.2.8 + dev: false + + /@mapbox/geojson-types/1.0.2: + resolution: {integrity: sha512-e9EBqHHv3EORHrSfbR9DqecPNn+AmuAoQxV6aL8Xu30bJMJR1o8PZLZzpk1Wq7/NfCbuhmakHTPYRhoqLsXRnw==} + dev: false + + /@mapbox/jsonlint-lines-primitives/2.0.2: + resolution: {integrity: sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==} + engines: {node: '>= 0.6'} + dev: false + + /@mapbox/mapbox-gl-supported/1.5.0_mapbox-gl@1.10.1: + resolution: {integrity: sha512-/PT1P6DNf7vjEEiPkVIRJkvibbqWtqnyGaBz3nfRdcxclNSnSdaLU5tfAgcD7I8Yt5i+L19s406YLl1koLnLbg==} + peerDependencies: + mapbox-gl: '>=0.32.1 <2.0.0' + dependencies: + mapbox-gl: 1.10.1 + dev: false + + /@mapbox/point-geometry/0.1.0: + resolution: {integrity: sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==} + dev: false + + /@mapbox/tiny-sdf/1.2.5: + resolution: {integrity: sha512-cD8A/zJlm6fdJOk6DqPUV8mcpyJkRz2x2R+/fYcWDYG3oWbG7/L7Yl/WqQ1VZCjnL9OTIMAn6c+BC5Eru4sQEw==} + dev: false + + /@mapbox/unitbezier/0.0.0: + resolution: {integrity: sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA==} + dev: false + + /@mapbox/vector-tile/1.3.1: + resolution: {integrity: sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==} + dependencies: + '@mapbox/point-geometry': 0.1.0 + dev: false + + /@mapbox/whoots-js/3.1.0: + resolution: {integrity: sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==} + engines: {node: '>=6.0.0'} + dev: false + + /@mui/base/5.0.0-alpha.90_bb2bxwco6ptpubzwpazr52qf6i: + resolution: {integrity: sha512-hNKwzr+RkiuGsGrakz8Q2i5ezr4Dz4b4Qsdipt9SiMrhuFAra/i501VSaEIzwec9LC4G+vtW4fE7yJBB0XaAYw==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/react': ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.6 + '@emotion/is-prop-valid': 1.2.1 + '@mui/types': 7.2.11_@types+react@18.0.15 + '@mui/utils': 5.15.0_3hx2ussxxho4jajbwrd6gq34qe + '@popperjs/core': 2.11.8 + '@types/react': 18.0.15 + clsx: 1.2.1 + prop-types: 15.8.1 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + react-is: 18.2.0 + dev: false + + /@mui/base/5.0.0-beta.27_bb2bxwco6ptpubzwpazr52qf6i: + resolution: {integrity: sha512-duL37qxihT1N0pW/gyXVezP7SttLkF+cLAs/y6g6ubEFmVadjbnZ45SeF12/vAiKzqwf5M0uFH1cczIPXFZygA==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/react': ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.6 + '@floating-ui/react-dom': 2.0.4_biqbaboplfbrettd7655fr4n2y + '@mui/types': 7.2.11_@types+react@18.0.15 + '@mui/utils': 5.15.0_3hx2ussxxho4jajbwrd6gq34qe + '@popperjs/core': 2.11.8 + '@types/react': 18.0.15 + clsx: 2.0.0 + prop-types: 15.8.1 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + dev: false + + /@mui/core-downloads-tracker/5.15.0: + resolution: {integrity: sha512-NpGtlHwuyLfJtdrlERXb8qRqd279O0VnuGaZAor1ehdNhUJOD1bSxHDeXKZkbqNpvi50hasFj7lsbTpluworTQ==} + dev: false + + /@mui/icons-material/5.8.4_67klntijwxqlm2hij5x527mwqy: + resolution: {integrity: sha512-9Z/vyj2szvEhGWDvb+gG875bOGm8b8rlHBKOD1+nA3PcgC3fV6W1AU6pfOorPeBfH2X4mb9Boe97vHvaSndQvA==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@mui/material': ^5.0.0 + '@types/react': ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.6 + '@mui/material': 5.9.1_bl6qrq6463ovzmqn4cmwv7vydq + '@types/react': 18.0.15 + react: 18.2.0 + dev: false + + /@mui/joy/5.0.0-beta.18_bl6qrq6463ovzmqn4cmwv7vydq: + resolution: {integrity: sha512-TxEo7kqEnbjB5S8cyFrytWjzhxW12UxkEJOT0QM8WpwaBN3Ie1okFuo2bnFW94vYFZperW97/H/08cqqS/2JPA==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@emotion/react': ^11.5.0 + '@emotion/styled': ^11.3.0 + '@types/react': ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@emotion/react': + optional: true + '@emotion/styled': + optional: true + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.6 + '@emotion/react': 11.9.3_3hx2ussxxho4jajbwrd6gq34qe + '@emotion/styled': 11.9.3_t4da3hocwt6ljcf3o6em4qwqzm + '@mui/base': 5.0.0-beta.27_bb2bxwco6ptpubzwpazr52qf6i + '@mui/core-downloads-tracker': 5.15.0 + '@mui/system': 5.15.0_kgoqblbzxlux4bm4vftowiq75m + '@mui/types': 7.2.11_@types+react@18.0.15 + '@mui/utils': 5.15.0_3hx2ussxxho4jajbwrd6gq34qe + '@types/react': 18.0.15 + clsx: 2.0.0 + prop-types: 15.8.1 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + dev: false + + /@mui/material/5.9.1_bl6qrq6463ovzmqn4cmwv7vydq: + resolution: {integrity: sha512-c09SbaMm7Rl7Df9JRkXwPWNbnfrutmHERTJC46OJ9OMAM9+HGQihIbGln1k2Xj65jb3E+G498FZFAoSrrBDvwQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@emotion/react': ^11.5.0 + '@emotion/styled': ^11.3.0 + '@types/react': ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@emotion/react': + optional: true + '@emotion/styled': + optional: true + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.6 + '@emotion/react': 11.9.3_3hx2ussxxho4jajbwrd6gq34qe + '@emotion/styled': 11.9.3_t4da3hocwt6ljcf3o6em4qwqzm + '@mui/base': 5.0.0-alpha.90_bb2bxwco6ptpubzwpazr52qf6i + '@mui/system': 5.15.0_kgoqblbzxlux4bm4vftowiq75m + '@mui/types': 7.2.11_@types+react@18.0.15 + '@mui/utils': 5.15.0_3hx2ussxxho4jajbwrd6gq34qe + '@types/react': 18.0.15 + '@types/react-transition-group': 4.4.10 + clsx: 1.2.1 + csstype: 3.1.3 + prop-types: 15.8.1 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + react-is: 18.2.0 + react-transition-group: 4.4.5_biqbaboplfbrettd7655fr4n2y + dev: false + + /@mui/private-theming/5.15.0_3hx2ussxxho4jajbwrd6gq34qe: + resolution: {integrity: sha512-7WxtIhXxNek0JjtsYy+ut2LtFSLpsUW5JSDehQO+jF7itJ8ehy7Bd9bSt2yIllbwGjCFowLfYpPk2Ykgvqm1tA==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/react': ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.6 + '@mui/utils': 5.15.0_3hx2ussxxho4jajbwrd6gq34qe + '@types/react': 18.0.15 + prop-types: 15.8.1 + react: 18.2.0 + dev: false + + /@mui/styled-engine/5.15.0_fdnqutfacy7v3gmlcm66flps3q: + resolution: {integrity: sha512-6NysIsHkuUS2lF+Lzv1jiK3UjBJk854/vKVcJQVGKlPiqNEVZJNlwaSpsaU5xYXxWEZYfbVFSAomLOS/LV/ovQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@emotion/react': ^11.4.1 + '@emotion/styled': ^11.3.0 + react: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@emotion/react': + optional: true + '@emotion/styled': + optional: true + dependencies: + '@babel/runtime': 7.23.6 + '@emotion/cache': 11.11.0 + '@emotion/react': 11.9.3_3hx2ussxxho4jajbwrd6gq34qe + '@emotion/styled': 11.9.3_t4da3hocwt6ljcf3o6em4qwqzm + csstype: 3.1.3 + prop-types: 15.8.1 + react: 18.2.0 + dev: false + + /@mui/styles/5.9.1_3hx2ussxxho4jajbwrd6gq34qe: + resolution: {integrity: sha512-E7HaRqEBYsXJIik8OUt/AZEjHKzcDn4tfscJYjiIsTVMgEwYeV+Ji17SJlSbzvR40zG4oRVDymMiOcmfupfGZg==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/react': ^17.0.0 + react: ^17.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.6 + '@emotion/hash': 0.8.0 + '@mui/private-theming': 5.15.0_3hx2ussxxho4jajbwrd6gq34qe + '@mui/types': 7.2.11_@types+react@18.0.15 + '@mui/utils': 5.15.0_3hx2ussxxho4jajbwrd6gq34qe + '@types/react': 18.0.15 + clsx: 1.2.1 + csstype: 3.1.3 + hoist-non-react-statics: 3.3.2 + jss: 10.10.0 + jss-plugin-camel-case: 10.10.0 + jss-plugin-default-unit: 10.10.0 + jss-plugin-global: 10.10.0 + jss-plugin-nested: 10.10.0 + jss-plugin-props-sort: 10.10.0 + jss-plugin-rule-value-function: 10.10.0 + jss-plugin-vendor-prefixer: 10.10.0 + prop-types: 15.8.1 + react: 18.2.0 + dev: false + + /@mui/system/5.15.0_kgoqblbzxlux4bm4vftowiq75m: + resolution: {integrity: sha512-8TPjfTlYBNB7/zBJRL4QOD9kImwdZObbiYNh0+hxvhXr2koezGx8USwPXj8y/JynbzGCkIybkUztCdWlMZe6OQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@emotion/react': ^11.5.0 + '@emotion/styled': ^11.3.0 + '@types/react': ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@emotion/react': + optional: true + '@emotion/styled': + optional: true + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.6 + '@emotion/react': 11.9.3_3hx2ussxxho4jajbwrd6gq34qe + '@emotion/styled': 11.9.3_t4da3hocwt6ljcf3o6em4qwqzm + '@mui/private-theming': 5.15.0_3hx2ussxxho4jajbwrd6gq34qe + '@mui/styled-engine': 5.15.0_fdnqutfacy7v3gmlcm66flps3q + '@mui/types': 7.2.11_@types+react@18.0.15 + '@mui/utils': 5.15.0_3hx2ussxxho4jajbwrd6gq34qe + '@types/react': 18.0.15 + clsx: 2.0.0 + csstype: 3.1.3 + prop-types: 15.8.1 + react: 18.2.0 + dev: false + + /@mui/types/7.2.11_@types+react@18.0.15: + resolution: {integrity: sha512-KWe/QTEsFFlFSH+qRYf3zoFEj3z67s+qAuSnMMg+gFwbxG7P96Hm6g300inQL1Wy///gSRb8juX7Wafvp93m3w==} + peerDependencies: + '@types/react': ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.0.15 + dev: false + + /@mui/utils/5.15.0_3hx2ussxxho4jajbwrd6gq34qe: + resolution: {integrity: sha512-XSmTKStpKYamewxyJ256+srwEnsT3/6eNo6G7+WC1tj2Iq9GfUJ/6yUoB7YXjOD2jTZ3XobToZm4pVz1LBt6GA==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/react': ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.6 + '@types/prop-types': 15.7.11 + '@types/react': 18.0.15 + prop-types: 15.8.1 + react: 18.2.0 + react-is: 18.2.0 + dev: false + + /@nicolo-ribaudo/eslint-scope-5-internals/5.1.1-v1: + resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} + dependencies: + eslint-scope: 5.1.1 + dev: false + + /@nodelib/fs.scandir/2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + /@nodelib/fs.stat/2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + /@nodelib/fs.walk/1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + + /@plotly/d3-sankey-circular/0.33.1: + resolution: {integrity: sha512-FgBV1HEvCr3DV7RHhDsPXyryknucxtfnLwPtCKKxdolKyTFYoLX/ibEfX39iFYIL7DYbVeRtP43dbFcrHNE+KQ==} + dependencies: + d3-array: 1.2.4 + d3-collection: 1.0.7 + d3-shape: 1.3.7 + elementary-circuits-directed-graph: 1.3.1 + dev: false + + /@plotly/d3-sankey/0.7.2: + resolution: {integrity: sha512-2jdVos1N3mMp3QW0k2q1ph7Gd6j5PY1YihBrwpkFnKqO+cqtZq3AdEYUeSGXMeLsBDQYiqTVcihYfk8vr5tqhw==} + dependencies: + d3-array: 1.2.4 + d3-collection: 1.0.7 + d3-shape: 1.3.7 + dev: false + + /@plotly/d3/3.8.0: + resolution: {integrity: sha512-L10iHgzvw3uSic/nQpYehlNzxUQvImwms5U7S95pJAEhrllzkrdQNy1Mc5DW9ab881Yr4fh300gJztKXWZDfkQ==} + dev: false + + /@plotly/point-cluster/3.1.9: + resolution: {integrity: sha512-MwaI6g9scKf68Orpr1pHZ597pYx9uP8UEFXLPbsCmuw3a84obwz6pnMXGc90VhgDNeNiLEdlmuK7CPo+5PIxXw==} + dependencies: + array-bounds: 1.0.1 + binary-search-bounds: 2.0.5 + clamp: 1.0.1 + defined: 1.0.1 + dtype: 2.0.0 + flatten-vertex-data: 1.0.2 + is-obj: 1.0.1 + math-log2: 1.0.1 + parse-rect: 1.2.0 + pick-by-alias: 1.2.0 + dev: false + + /@plotly/regl/2.1.2: + resolution: {integrity: sha512-Mdk+vUACbQvjd0m/1JJjOOafmkp/EpmHjISsopEz5Av44CBq7rPC05HHNbYGKVyNUF2zmEoBS/TT0pd0SPFFyw==} + dev: false + + /@pmmmwh/react-refresh-webpack-plugin/0.5.11_ev4oxbhxvy7gejzghfffkx2g7i: + resolution: {integrity: sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ==} + engines: {node: '>= 10.13'} + peerDependencies: + '@types/webpack': 4.x || 5.x + react-refresh: '>=0.10.0 <1.0.0' + sockjs-client: ^1.4.0 + type-fest: '>=0.17.0 <5.0.0' + webpack: '>=4.43.0 <6.0.0' + webpack-dev-server: 3.x || 4.x + webpack-hot-middleware: 2.x + webpack-plugin-serve: 0.x || 1.x + peerDependenciesMeta: + '@types/webpack': + optional: true + sockjs-client: + optional: true + type-fest: + optional: true + webpack-dev-server: + optional: true + webpack-hot-middleware: + optional: true + webpack-plugin-serve: + optional: true + dependencies: + ansi-html-community: 0.0.8 + common-path-prefix: 3.0.0 + core-js-pure: 3.34.0 + error-stack-parser: 2.1.4 + find-up: 5.0.0 + html-entities: 2.4.0 + loader-utils: 2.0.4 + react-refresh: 0.11.0 + schema-utils: 3.3.0 + source-map: 0.7.4 + webpack: 5.89.0 + webpack-dev-server: 4.15.1_webpack@5.89.0 + dev: false + + /@polka/url/1.0.0-next.24: + resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} + dev: true + + /@popperjs/core/2.11.8: + resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} + dev: false + + /@rollup/plugin-babel/5.3.1_jwy5m3qlkfrooq4gkpa74wm5ga: + resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} + engines: {node: '>= 10.0.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@types/babel__core': ^7.1.9 + rollup: ^1.20.0||^2.0.0 + peerDependenciesMeta: + '@types/babel__core': + optional: true + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-module-imports': 7.22.15 + '@rollup/pluginutils': 3.1.0_rollup@2.79.1 + rollup: 2.79.1 + dev: false + + /@rollup/plugin-node-resolve/11.2.1_rollup@2.79.1: + resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==} + engines: {node: '>= 10.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 + dependencies: + '@rollup/pluginutils': 3.1.0_rollup@2.79.1 + '@types/resolve': 1.17.1 + builtin-modules: 3.3.0 + deepmerge: 4.3.1 + is-module: 1.0.0 + resolve: 1.22.8 + rollup: 2.79.1 + dev: false + + /@rollup/plugin-replace/2.4.2_rollup@2.79.1: + resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 + dependencies: + '@rollup/pluginutils': 3.1.0_rollup@2.79.1 + magic-string: 0.25.9 + rollup: 2.79.1 + dev: false + + /@rollup/pluginutils/3.1.0_rollup@2.79.1: + resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} + engines: {node: '>= 8.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 + dependencies: + '@types/estree': 0.0.39 + estree-walker: 1.0.1 + picomatch: 2.3.1 + rollup: 2.79.1 + dev: false + + /@rollup/rollup-android-arm-eabi/4.9.1: + resolution: {integrity: sha512-6vMdBZqtq1dVQ4CWdhFwhKZL6E4L1dV6jUjuBvsavvNJSppzi6dLBbuV+3+IyUREaj9ZFvQefnQm28v4OCXlig==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-android-arm64/4.9.1: + resolution: {integrity: sha512-Jto9Fl3YQ9OLsTDWtLFPtaIMSL2kwGyGoVCmPC8Gxvym9TCZm4Sie+cVeblPO66YZsYH8MhBKDMGZ2NDxuk/XQ==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-darwin-arm64/4.9.1: + resolution: {integrity: sha512-LtYcLNM+bhsaKAIGwVkh5IOWhaZhjTfNOkGzGqdHvhiCUVuJDalvDxEdSnhFzAn+g23wgsycmZk1vbnaibZwwA==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-darwin-x64/4.9.1: + resolution: {integrity: sha512-KyP/byeXu9V+etKO6Lw3E4tW4QdcnzDG/ake031mg42lob5tN+5qfr+lkcT/SGZaH2PdW4Z1NX9GHEkZ8xV7og==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-arm-gnueabihf/4.9.1: + resolution: {integrity: sha512-Yqz/Doumf3QTKplwGNrCHe/B2p9xqDghBZSlAY0/hU6ikuDVQuOUIpDP/YcmoT+447tsZTmirmjgG3znvSCR0Q==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-arm64-gnu/4.9.1: + resolution: {integrity: sha512-u3XkZVvxcvlAOlQJ3UsD1rFvLWqu4Ef/Ggl40WAVCuogf4S1nJPHh5RTgqYFpCOvuGJ7H5yGHabjFKEZGExk5Q==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-arm64-musl/4.9.1: + resolution: {integrity: sha512-0XSYN/rfWShW+i+qjZ0phc6vZ7UWI8XWNz4E/l+6edFt+FxoEghrJHjX1EY/kcUGCnZzYYRCl31SNdfOi450Aw==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-riscv64-gnu/4.9.1: + resolution: {integrity: sha512-LmYIO65oZVfFt9t6cpYkbC4d5lKHLYv5B4CSHRpnANq0VZUQXGcCPXHzbCXCz4RQnx7jvlYB1ISVNCE/omz5cw==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-x64-gnu/4.9.1: + resolution: {integrity: sha512-kr8rEPQ6ns/Lmr/hiw8sEVj9aa07gh1/tQF2Y5HrNCCEPiCBGnBUt9tVusrcBBiJfIt1yNaXN6r1CCmpbFEDpg==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-x64-musl/4.9.1: + resolution: {integrity: sha512-t4QSR7gN+OEZLG0MiCgPqMWZGwmeHhsM4AkegJ0Kiy6TnJ9vZ8dEIwHw1LcZKhbHxTY32hp9eVCMdR3/I8MGRw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-win32-arm64-msvc/4.9.1: + resolution: {integrity: sha512-7XI4ZCBN34cb+BH557FJPmh0kmNz2c25SCQeT9OiFWEgf8+dL6ZwJ8f9RnUIit+j01u07Yvrsuu1rZGxJCc51g==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-win32-ia32-msvc/4.9.1: + resolution: {integrity: sha512-yE5c2j1lSWOH5jp+Q0qNL3Mdhr8WuqCNVjc6BxbVfS5cAS6zRmdiw7ktb8GNpDCEUJphILY6KACoFoRtKoqNQg==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-win32-x64-msvc/4.9.1: + resolution: {integrity: sha512-PyJsSsafjmIhVgaI1Zdj7m8BB8mMckFah/xbpplObyHfiXzKcI5UOUXRyOdHW7nz4DpMCuzLnF7v5IWHenCwYA==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@rushstack/eslint-patch/1.6.1: + resolution: {integrity: sha512-UY+FGM/2jjMkzQLn8pxcHGMaVLh9aEitG3zY2CiY7XHdLiz3bZOwa6oDxNqEMv7zZkV+cj5DOdz0cQ1BP5Hjgw==} + dev: false + + /@sinclair/typebox/0.24.51: + resolution: {integrity: sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==} + dev: false + + /@sinclair/typebox/0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + /@sinonjs/commons/1.8.6: + resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} + dependencies: + type-detect: 4.0.8 + dev: false + + /@sinonjs/fake-timers/8.1.0: + resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==} + dependencies: + '@sinonjs/commons': 1.8.6 + dev: false + + /@surma/rollup-plugin-off-main-thread/2.2.3: + resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} + dependencies: + ejs: 3.1.9 + json5: 2.2.3 + magic-string: 0.25.9 + string.prototype.matchall: 4.0.10 + dev: false + + /@svgr/babel-plugin-add-jsx-attribute/5.4.0: + resolution: {integrity: sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==} + engines: {node: '>=10'} + dev: false + + /@svgr/babel-plugin-remove-jsx-attribute/5.4.0: + resolution: {integrity: sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==} + engines: {node: '>=10'} + dev: false + + /@svgr/babel-plugin-remove-jsx-empty-expression/5.0.1: + resolution: {integrity: sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==} + engines: {node: '>=10'} + dev: false + + /@svgr/babel-plugin-replace-jsx-attribute-value/5.0.1: + resolution: {integrity: sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==} + engines: {node: '>=10'} + dev: false + + /@svgr/babel-plugin-svg-dynamic-title/5.4.0: + resolution: {integrity: sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==} + engines: {node: '>=10'} + dev: false + + /@svgr/babel-plugin-svg-em-dimensions/5.4.0: + resolution: {integrity: sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==} + engines: {node: '>=10'} + dev: false + + /@svgr/babel-plugin-transform-react-native-svg/5.4.0: + resolution: {integrity: sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==} + engines: {node: '>=10'} + dev: false + + /@svgr/babel-plugin-transform-svg-component/5.5.0: + resolution: {integrity: sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==} + engines: {node: '>=10'} + dev: false + + /@svgr/babel-preset/5.5.0: + resolution: {integrity: sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==} + engines: {node: '>=10'} + dependencies: + '@svgr/babel-plugin-add-jsx-attribute': 5.4.0 + '@svgr/babel-plugin-remove-jsx-attribute': 5.4.0 + '@svgr/babel-plugin-remove-jsx-empty-expression': 5.0.1 + '@svgr/babel-plugin-replace-jsx-attribute-value': 5.0.1 + '@svgr/babel-plugin-svg-dynamic-title': 5.4.0 + '@svgr/babel-plugin-svg-em-dimensions': 5.4.0 + '@svgr/babel-plugin-transform-react-native-svg': 5.4.0 + '@svgr/babel-plugin-transform-svg-component': 5.5.0 + dev: false + + /@svgr/core/5.5.0: + resolution: {integrity: sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==} + engines: {node: '>=10'} + dependencies: + '@svgr/plugin-jsx': 5.5.0 + camelcase: 6.3.0 + cosmiconfig: 7.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@svgr/hast-util-to-babel-ast/5.5.0: + resolution: {integrity: sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==} + engines: {node: '>=10'} + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@svgr/plugin-jsx/5.5.0: + resolution: {integrity: sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==} + engines: {node: '>=10'} + dependencies: + '@babel/core': 7.23.6 + '@svgr/babel-preset': 5.5.0 + '@svgr/hast-util-to-babel-ast': 5.5.0 + svg-parser: 2.0.4 + transitivePeerDependencies: + - supports-color + dev: false + + /@svgr/plugin-svgo/5.5.0: + resolution: {integrity: sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==} + engines: {node: '>=10'} + dependencies: + cosmiconfig: 7.1.0 + deepmerge: 4.3.1 + svgo: 1.3.2 + dev: false + + /@svgr/webpack/5.5.0: + resolution: {integrity: sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==} + engines: {node: '>=10'} + dependencies: + '@babel/core': 7.23.6 + '@babel/plugin-transform-react-constant-elements': 7.23.3_@babel+core@7.23.6 + '@babel/preset-env': 7.23.6_@babel+core@7.23.6 + '@babel/preset-react': 7.23.3_@babel+core@7.23.6 + '@svgr/core': 5.5.0 + '@svgr/plugin-jsx': 5.5.0 + '@svgr/plugin-svgo': 5.5.0 + loader-utils: 2.0.4 + transitivePeerDependencies: + - supports-color + dev: false + + /@testing-library/dom/8.20.1: + resolution: {integrity: sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==} + engines: {node: '>=12'} + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/runtime': 7.23.6 + '@types/aria-query': 5.0.4 + aria-query: 5.1.3 + chalk: 4.1.2 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + pretty-format: 27.5.1 + dev: false + + /@testing-library/jest-dom/5.16.4: + resolution: {integrity: sha512-Gy+IoFutbMQcky0k+bqqumXZ1cTGswLsFqmNLzNdSKkU9KGV2u9oXhukCbbJ9/LRPKiqwxEE8VpV/+YZlfkPUA==} + engines: {node: '>=8', npm: '>=6', yarn: '>=1'} + dependencies: + '@babel/runtime': 7.23.6 + '@types/testing-library__jest-dom': 5.14.9 + aria-query: 5.3.0 + chalk: 3.0.0 + css: 3.0.0 + css.escape: 1.5.1 + dom-accessibility-api: 0.5.16 + lodash: 4.17.21 + redent: 3.0.0 + dev: false + + /@testing-library/react/13.3.0_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-DB79aA426+deFgGSjnf5grczDPiL4taK3hFaa+M5q7q20Kcve9eQottOG5kZ74KEr55v0tU2CQormSSDK87zYQ==} + engines: {node: '>=12'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + dependencies: + '@babel/runtime': 7.23.6 + '@testing-library/dom': 8.20.1 + '@types/react-dom': 18.0.6 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + dev: false + + /@testing-library/user-event/13.5.0: + resolution: {integrity: sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==} + engines: {node: '>=10', npm: '>=6'} + peerDependencies: + '@testing-library/dom': '>=7.21.4' + dependencies: + '@babel/runtime': 7.23.6 + dev: false + + /@tootallnate/once/1.1.2: + resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} + engines: {node: '>= 6'} + dev: false + + /@tootallnate/once/2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} + + /@trysound/sax/0.2.0: + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + dev: false + + /@turf/area/6.5.0: + resolution: {integrity: sha512-xCZdiuojokLbQ+29qR6qoMD89hv+JAgWjLrwSEWL+3JV8IXKeNFl6XkEJz9HGkVpnXvQKJoRz4/liT+8ZZ5Jyg==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/bbox/6.5.0: + resolution: {integrity: sha512-RBbLaao5hXTYyyg577iuMtDB8ehxMlUqHEJiMs8jT1GHkFhr6sYre3lmLsPeYEi/ZKj5TP5tt7fkzNdJ4GIVyw==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/centroid/6.5.0: + resolution: {integrity: sha512-MwE1oq5E3isewPprEClbfU5pXljIK/GUOMbn22UM3IFPDJX0KeoyLNwghszkdmFp/qMGL/M13MMWvU+GNLXP/A==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/helpers/6.5.0: + resolution: {integrity: sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==} + dev: false + + /@turf/meta/6.5.0: + resolution: {integrity: sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==} + dependencies: + '@turf/helpers': 6.5.0 + dev: false + + /@types/aria-query/5.0.4: + resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} + dev: false + + /@types/babel__core/7.20.5: + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + dependencies: + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.4 + dev: false + + /@types/babel__generator/7.6.8: + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@types/babel__template/7.4.4: + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + dependencies: + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 + dev: false + + /@types/babel__traverse/7.20.4: + resolution: {integrity: sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==} + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@types/body-parser/1.19.5: + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + dependencies: + '@types/connect': 3.4.38 + '@types/node': 16.11.45 + dev: false + + /@types/bonjour/3.5.13: + resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} + dependencies: + '@types/node': 16.11.45 + dev: false + + /@types/chai-subset/1.3.5: + resolution: {integrity: sha512-c2mPnw+xHtXDoHmdtcCXGwyLMiauiAyxWMzhGpqHC4nqI/Y5G2XhTampslK2rb59kpcuHon03UH8W6iYUzw88A==} + dependencies: + '@types/chai': 4.3.11 + dev: true + + /@types/chai/4.3.11: + resolution: {integrity: sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ==} + dev: true + + /@types/connect-history-api-fallback/1.5.4: + resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} + dependencies: + '@types/express-serve-static-core': 4.17.41 + '@types/node': 16.11.45 + dev: false + + /@types/connect/3.4.38: + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + dependencies: + '@types/node': 16.11.45 + dev: false + + /@types/eslint-scope/3.7.7: + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + dependencies: + '@types/eslint': 8.44.9 + '@types/estree': 1.0.5 + dev: false + + /@types/eslint/8.44.9: + resolution: {integrity: sha512-6yBxcvwnnYoYT1Uk2d+jvIfsuP4mb2EdIxFnrPABj5a/838qe5bGkNLFOiipX4ULQ7XVQvTxOh7jO+BTAiqsEw==} + dependencies: + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.15 + + /@types/estree/0.0.39: + resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} + dev: false + + /@types/estree/1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + + /@types/express-serve-static-core/4.17.41: + resolution: {integrity: sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==} + dependencies: + '@types/node': 16.11.45 + '@types/qs': 6.9.10 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.4 + dev: false + + /@types/express/4.17.21: + resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + dependencies: + '@types/body-parser': 1.19.5 + '@types/express-serve-static-core': 4.17.41 + '@types/qs': 6.9.10 + '@types/serve-static': 1.15.5 + dev: false + + /@types/graceful-fs/4.1.9: + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + dependencies: + '@types/node': 16.11.45 + dev: false + + /@types/html-minifier-terser/6.1.0: + resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} + dev: false + + /@types/http-errors/2.0.4: + resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + dev: false + + /@types/http-proxy/1.17.14: + resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} + dependencies: + '@types/node': 16.11.45 + dev: false + + /@types/istanbul-lib-coverage/2.0.6: + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + /@types/istanbul-lib-report/3.0.3: + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + /@types/istanbul-reports/3.0.4: + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + /@types/jest/29.1.2: + resolution: {integrity: sha512-y+nlX0h87U0R+wsGn6EBuoRWYyv3KFtwRNP3QWp9+k2tJ2/bqcGS3UxD7jgT+tiwJWWq3UsyV4Y+T6rsMT4XMg==} + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + + /@types/json-schema/7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + /@types/json5/0.0.29: + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + + /@types/lodash/4.14.202: + resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==} + dev: false + + /@types/mime/1.3.5: + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + dev: false + + /@types/mime/3.0.4: + resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==} + dev: false + + /@types/node-forge/1.3.10: + resolution: {integrity: sha512-y6PJDYN4xYBxwd22l+OVH35N+1fCYWiuC3aiP2SlXVE6Lo7SS+rSx9r89hLxrP4pn6n1lBGhHJ12pj3F3Mpttw==} + dependencies: + '@types/node': 16.11.45 + dev: false + + /@types/node/16.11.45: + resolution: {integrity: sha512-3rKg/L5x0rofKuuUt5zlXzOnKyIHXmIu5R8A0TuNDMF2062/AOIDBciFIjToLEJ/9F9DzkHNot+BpNsMI1OLdQ==} + + /@types/parse-json/4.0.2: + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + dev: false + + /@types/plotly.js/2.12.31: + resolution: {integrity: sha512-FmzZQquzgTnQnywzyg7zlTTD4UFOroJ6/ac2KAueLCMQF7c+dwjZxgRohHB7Qzz0dZpFgic0VSkC2re7j6oluQ==} + dev: true + + /@types/prettier/2.7.3: + resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} + + /@types/prop-types/15.7.11: + resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} + + /@types/q/1.5.8: + resolution: {integrity: sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==} + dev: false + + /@types/qs/6.9.10: + resolution: {integrity: sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==} + dev: false + + /@types/range-parser/1.2.7: + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + dev: false + + /@types/react-dom/18.0.6: + resolution: {integrity: sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==} + dependencies: + '@types/react': 18.0.15 + + /@types/react-plotly.js/2.5.1: + resolution: {integrity: sha512-e9sjVl6qEkpMx4l1YRiQZJqTUh1YuyppqgMmZ9S/oT4QYb5MKBWsQLBdFH6OxxRWIyoNO0ypzkAaarrwWJK2eA==} + dependencies: + '@types/plotly.js': 2.12.31 + '@types/react': 18.0.15 + dev: true + + /@types/react-transition-group/4.4.10: + resolution: {integrity: sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==} + dependencies: + '@types/react': 18.0.15 + dev: false + + /@types/react/18.0.15: + resolution: {integrity: sha512-iz3BtLuIYH1uWdsv6wXYdhozhqj20oD4/Hk2DNXIn1kFsmp9x8d9QB6FnPhfkbhd2PgEONt9Q1x/ebkwjfFLow==} + dependencies: + '@types/prop-types': 15.7.11 + '@types/scheduler': 0.16.8 + csstype: 3.1.3 + + /@types/resolve/1.17.1: + resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} + dependencies: + '@types/node': 16.11.45 + dev: false + + /@types/retry/0.12.0: + resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + dev: false + + /@types/scheduler/0.16.8: + resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==} + + /@types/semver/7.5.6: + resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} + dev: false + + /@types/send/0.17.4: + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + dependencies: + '@types/mime': 1.3.5 + '@types/node': 16.11.45 + dev: false + + /@types/serve-index/1.9.4: + resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} + dependencies: + '@types/express': 4.17.21 + dev: false + + /@types/serve-static/1.15.5: + resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==} + dependencies: + '@types/http-errors': 2.0.4 + '@types/mime': 3.0.4 + '@types/node': 16.11.45 + dev: false + + /@types/sockjs/0.3.36: + resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} + dependencies: + '@types/node': 16.11.45 + dev: false + + /@types/stack-utils/2.0.3: + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + /@types/testing-library__jest-dom/5.14.9: + resolution: {integrity: sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==} + dependencies: + '@types/jest': 29.1.2 + dev: false + + /@types/trusted-types/2.0.7: + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + dev: false + + /@types/ws/8.5.10: + resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} + dependencies: + '@types/node': 16.11.45 + dev: false + + /@types/yargs-parser/21.0.3: + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + /@types/yargs/16.0.9: + resolution: {integrity: sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==} + dependencies: + '@types/yargs-parser': 21.0.3 + dev: false + + /@types/yargs/17.0.32: + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + dependencies: + '@types/yargs-parser': 21.0.3 + + /@typescript-eslint/eslint-plugin/5.62.0_iajr6sta5et5spskjqrh5nwwp4: + resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 5.62.0_he2ccbldppg44uulnyq4rwocfa + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/type-utils': 5.62.0_he2ccbldppg44uulnyq4rwocfa + '@typescript-eslint/utils': 5.62.0_he2ccbldppg44uulnyq4rwocfa + debug: 4.3.4 + eslint: 8.20.0 + graphemer: 1.4.0 + ignore: 5.3.0 + natural-compare-lite: 1.4.0 + semver: 7.5.4 + tsutils: 3.21.0_typescript@4.7.4 + typescript: 4.7.4 + transitivePeerDependencies: + - supports-color + dev: false + + /@typescript-eslint/experimental-utils/5.62.0_he2ccbldppg44uulnyq4rwocfa: + resolution: {integrity: sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@typescript-eslint/utils': 5.62.0_he2ccbldppg44uulnyq4rwocfa + eslint: 8.20.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: false + + /@typescript-eslint/parser/5.62.0_he2ccbldppg44uulnyq4rwocfa: + resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0_typescript@4.7.4 + debug: 4.3.4 + eslint: 8.20.0 + typescript: 4.7.4 + transitivePeerDependencies: + - supports-color + + /@typescript-eslint/scope-manager/5.62.0: + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + + /@typescript-eslint/type-utils/5.62.0_he2ccbldppg44uulnyq4rwocfa: + resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 5.62.0_typescript@4.7.4 + '@typescript-eslint/utils': 5.62.0_he2ccbldppg44uulnyq4rwocfa + debug: 4.3.4 + eslint: 8.20.0 + tsutils: 3.21.0_typescript@4.7.4 + typescript: 4.7.4 + transitivePeerDependencies: + - supports-color + dev: false + + /@typescript-eslint/types/5.62.0: + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + /@typescript-eslint/typescript-estree/5.62.0_typescript@4.7.4: + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.4 + tsutils: 3.21.0_typescript@4.7.4 + typescript: 4.7.4 + transitivePeerDependencies: + - supports-color + + /@typescript-eslint/utils/5.62.0_he2ccbldppg44uulnyq4rwocfa: + resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0_eslint@8.20.0 + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.6 + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0_typescript@4.7.4 + eslint: 8.20.0 + eslint-scope: 5.1.1 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: false + + /@typescript-eslint/visitor-keys/5.62.0: + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + eslint-visitor-keys: 3.4.3 + + /@vitejs/plugin-react/4.2.1_vite@5.0.10: + resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.2.0 || ^5.0.0 + dependencies: + '@babel/core': 7.23.6 + '@babel/plugin-transform-react-jsx-self': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-react-jsx-source': 7.23.3_@babel+core@7.23.6 + '@types/babel__core': 7.20.5 + react-refresh: 0.14.0 + vite: 5.0.10_@types+node@16.11.45 + transitivePeerDependencies: + - supports-color + dev: false + + /@vitest/coverage-v8/0.32.4_vitest@0.32.4: + resolution: {integrity: sha512-itiCYY3TmWEK+5wnFBoNr0ZA+adACp7Op1r2TeX5dPOgU2See7+Gx2NlK2lVMHVxfPsu5z9jszKa3i//eR+hqg==} + peerDependencies: + vitest: '>=0.32.0 <1' + dependencies: + '@ampproject/remapping': 2.2.1 + '@bcoe/v8-coverage': 0.2.3 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.6 + magic-string: 0.30.5 + picocolors: 1.0.0 + std-env: 3.6.0 + test-exclude: 6.0.0 + v8-to-istanbul: 9.2.0 + vitest: 0.32.4_o6kyuis2qfnfbtw6d3u5hromrm + transitivePeerDependencies: + - supports-color + dev: true + + /@vitest/expect/0.32.4: + resolution: {integrity: sha512-m7EPUqmGIwIeoU763N+ivkFjTzbaBn0n9evsTOcde03ugy2avPs3kZbYmw3DkcH1j5mxhMhdamJkLQ6dM1bk/A==} + dependencies: + '@vitest/spy': 0.32.4 + '@vitest/utils': 0.32.4 + chai: 4.3.10 + dev: true + + /@vitest/runner/0.32.4: + resolution: {integrity: sha512-cHOVCkiRazobgdKLnczmz2oaKK9GJOw6ZyRcaPdssO1ej+wzHVIkWiCiNacb3TTYPdzMddYkCgMjZ4r8C0JFCw==} + dependencies: + '@vitest/utils': 0.32.4 + p-limit: 4.0.0 + pathe: 1.1.1 + dev: true + + /@vitest/snapshot/0.32.4: + resolution: {integrity: sha512-IRpyqn9t14uqsFlVI2d7DFMImGMs1Q9218of40bdQQgMePwVdmix33yMNnebXcTzDU5eiV3eUsoxxH5v0x/IQA==} + dependencies: + magic-string: 0.30.5 + pathe: 1.1.1 + pretty-format: 29.7.0 + dev: true + + /@vitest/spy/0.32.4: + resolution: {integrity: sha512-oA7rCOqVOOpE6rEoXuCOADX7Lla1LIa4hljI2MSccbpec54q+oifhziZIJXxlE/CvI2E+ElhBHzVu0VEvJGQKQ==} + dependencies: + tinyspy: 2.2.0 + dev: true + + /@vitest/ui/0.32.4_vitest@0.32.4: + resolution: {integrity: sha512-92y7bkjf55L08nomvHHYQkDWQEIkb36dJkgi+F/zpO5cFbrmk1pv/dYiaZKQ772uP96fAWinmux6sXNMNUh16w==} + peerDependencies: + vitest: '>=0.30.1 <1' + dependencies: + '@vitest/utils': 0.32.4 + fast-glob: 3.3.2 + fflate: 0.8.1 + flatted: 3.2.9 + pathe: 1.1.1 + picocolors: 1.0.0 + sirv: 2.0.3 + vitest: 0.32.4_o6kyuis2qfnfbtw6d3u5hromrm + dev: true + + /@vitest/utils/0.32.4: + resolution: {integrity: sha512-Gwnl8dhd1uJ+HXrYyV0eRqfmk9ek1ASE/LWfTCuWMw+d07ogHqp4hEAV28NiecimK6UY9DpSEPh+pXBA5gtTBg==} + dependencies: + diff-sequences: 29.6.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + dev: true + + /@webassemblyjs/ast/1.11.6: + resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==} + dependencies: + '@webassemblyjs/helper-numbers': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + dev: false + + /@webassemblyjs/floating-point-hex-parser/1.11.6: + resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} + dev: false + + /@webassemblyjs/helper-api-error/1.11.6: + resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} + dev: false + + /@webassemblyjs/helper-buffer/1.11.6: + resolution: {integrity: sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==} + dev: false + + /@webassemblyjs/helper-numbers/1.11.6: + resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.11.6 + '@webassemblyjs/helper-api-error': 1.11.6 + '@xtuc/long': 4.2.2 + dev: false + + /@webassemblyjs/helper-wasm-bytecode/1.11.6: + resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} + dev: false + + /@webassemblyjs/helper-wasm-section/1.11.6: + resolution: {integrity: sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==} + dependencies: + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-buffer': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/wasm-gen': 1.11.6 + dev: false + + /@webassemblyjs/ieee754/1.11.6: + resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} + dependencies: + '@xtuc/ieee754': 1.2.0 + dev: false + + /@webassemblyjs/leb128/1.11.6: + resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} + dependencies: + '@xtuc/long': 4.2.2 + dev: false + + /@webassemblyjs/utf8/1.11.6: + resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} + dev: false + + /@webassemblyjs/wasm-edit/1.11.6: + resolution: {integrity: sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==} + dependencies: + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-buffer': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/helper-wasm-section': 1.11.6 + '@webassemblyjs/wasm-gen': 1.11.6 + '@webassemblyjs/wasm-opt': 1.11.6 + '@webassemblyjs/wasm-parser': 1.11.6 + '@webassemblyjs/wast-printer': 1.11.6 + dev: false + + /@webassemblyjs/wasm-gen/1.11.6: + resolution: {integrity: sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==} + dependencies: + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 + dev: false + + /@webassemblyjs/wasm-opt/1.11.6: + resolution: {integrity: sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==} + dependencies: + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-buffer': 1.11.6 + '@webassemblyjs/wasm-gen': 1.11.6 + '@webassemblyjs/wasm-parser': 1.11.6 + dev: false + + /@webassemblyjs/wasm-parser/1.11.6: + resolution: {integrity: sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==} + dependencies: + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-api-error': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 + dev: false + + /@webassemblyjs/wast-printer/1.11.6: + resolution: {integrity: sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==} + dependencies: + '@webassemblyjs/ast': 1.11.6 + '@xtuc/long': 4.2.2 + dev: false + + /@xtuc/ieee754/1.2.0: + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + dev: false + + /@xtuc/long/4.2.2: + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + dev: false + + /abab/2.0.6: + resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + deprecated: Use your platform's native atob() and btoa() methods instead + + /abs-svg-path/0.1.1: + resolution: {integrity: sha512-d8XPSGjfyzlXC3Xx891DJRyZfqk5JU0BJrDQcsWomFIV1/BIzPW5HDH5iDdWpqWaav0YVIEzT1RHTwWr0FFshA==} + dev: false + + /accepts/1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + dev: false + + /acorn-globals/6.0.0: + resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} + dependencies: + acorn: 7.4.1 + acorn-walk: 7.2.0 + dev: false + + /acorn-import-assertions/1.9.0_acorn@8.11.2: + resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.11.2 + dev: false + + /acorn-jsx/5.3.2_acorn@8.11.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.2 + + /acorn-walk/7.2.0: + resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} + engines: {node: '>=0.4.0'} + dev: false + + /acorn-walk/8.3.1: + resolution: {integrity: sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn/7.4.1: + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: false + + /acorn/8.11.2: + resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} + engines: {node: '>=0.4.0'} + hasBin: true + + /address/1.2.2: + resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} + engines: {node: '>= 10.0.0'} + dev: false + + /adjust-sourcemap-loader/4.0.0: + resolution: {integrity: sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==} + engines: {node: '>=8.9'} + dependencies: + loader-utils: 2.0.4 + regex-parser: 2.2.11 + dev: false + + /agent-base/6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + /ajv-formats/2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependenciesMeta: + ajv: + optional: true + dependencies: + ajv: 8.12.0 + dev: false + + /ajv-keywords/3.5.2_ajv@6.12.6: + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + dependencies: + ajv: 6.12.6 + dev: false + + /ajv-keywords/5.1.0_ajv@8.12.0: + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + dependencies: + ajv: 8.12.0 + fast-deep-equal: 3.1.3 + dev: false + + /ajv/6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + /ajv/8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: false + + /almost-equal/1.1.0: + resolution: {integrity: sha512-0V/PkoculFl5+0Lp47JoxUcO0xSxhIBvm+BxHdD/OgXNmdRpRHCFnKVuUoWyS9EzQP+otSGv0m9Lb4yVkQBn2A==} + dev: false + + /ansi-escapes/4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.21.3 + dev: false + + /ansi-html-community/0.0.8: + resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} + engines: {'0': node >= 0.8.0} + hasBin: true + dev: false + + /ansi-regex/2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} + dev: true + + /ansi-regex/3.0.1: + resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} + engines: {node: '>=4'} + dev: true + + /ansi-regex/5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + /ansi-regex/6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + dev: false + + /ansi-styles/2.2.1: + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} + engines: {node: '>=0.10.0'} + dev: true + + /ansi-styles/3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + + /ansi-styles/4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + + /ansi-styles/5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + /any-promise/1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: false + + /anymatch/3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: false + + /arg/5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + dev: false + + /argparse/1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: false + + /argparse/2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + /aria-query/5.1.3: + resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} + dependencies: + deep-equal: 2.2.3 + dev: false + + /aria-query/5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + dependencies: + dequal: 2.0.3 + dev: false + + /array-bounds/1.0.1: + resolution: {integrity: sha512-8wdW3ZGk6UjMPJx/glyEt0sLzzwAE1bhToPsO1W2pbpR2gULyxe3BjSiuJFheP50T/GgODVPz2fuMUmIywt8cQ==} + dev: false + + /array-buffer-byte-length/1.0.0: + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + dependencies: + call-bind: 1.0.5 + is-array-buffer: 3.0.2 + + /array-find-index/1.0.2: + resolution: {integrity: sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==} + engines: {node: '>=0.10.0'} + dev: false + + /array-flatten/1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + dev: false + + /array-flatten/2.1.2: + resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==} + dev: false + + /array-includes/3.1.7: + resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + is-string: 1.0.7 + + /array-normalize/1.1.4: + resolution: {integrity: sha512-fCp0wKFLjvSPmCn4F5Tiw4M3lpMZoHlCjfcs7nNzuj3vqQQ1/a8cgB9DXcpDSn18c+coLnaW7rqfcYCvKbyJXg==} + dependencies: + array-bounds: 1.0.1 + dev: false + + /array-range/1.0.1: + resolution: {integrity: sha512-shdaI1zT3CVNL2hnx9c0JMc0ZogGaxDs5e85akgHWKYa0yVbIyp06Ind3dVkTj/uuFrzaHBOyqFzo+VV6aXgtA==} + dev: false + + /array-rearrange/2.2.2: + resolution: {integrity: sha512-UfobP5N12Qm4Qu4fwLDIi2v6+wZsSf6snYSxAMeKhrh37YGnNWZPRmVEKc/2wfms53TLQnzfpG8wCx2Y/6NG1w==} + dev: false + + /array-union/2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + /array.prototype.flat/1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 + + /array.prototype.flatmap/1.3.2: + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 + + /array.prototype.reduce/1.0.6: + resolution: {integrity: sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-array-method-boxes-properly: 1.0.0 + is-string: 1.0.7 + dev: false + + /arraybuffer.prototype.slice/1.0.2: + resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + is-array-buffer: 3.0.2 + is-shared-array-buffer: 1.0.2 + + /asap/2.0.6: + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + dev: false + + /assertion-error/1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + dev: true + + /ast-types-flow/0.0.8: + resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} + dev: false + + /async/3.2.5: + resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} + dev: false + + /asynciterator.prototype/1.0.0: + resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==} + dependencies: + has-symbols: 1.0.3 + dev: false + + /asynckit/0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + /at-least-node/1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + dev: false + + /atob/2.1.2: + resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} + engines: {node: '>= 4.5.0'} + hasBin: true + dev: false + + /autoprefixer/10.4.16_postcss@8.4.32: + resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.22.2 + caniuse-lite: 1.0.30001570 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /available-typed-arrays/1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + + /axe-core/4.7.0: + resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} + engines: {node: '>=4'} + dev: false + + /axios/0.27.2: + resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} + dependencies: + follow-redirects: 1.15.3 + form-data: 4.0.0 + transitivePeerDependencies: + - debug + dev: false + + /axobject-query/3.2.1: + resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} + dependencies: + dequal: 2.0.3 + dev: false + + /babel-jest/27.5.1_@babel+core@7.23.6: + resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + dependencies: + '@babel/core': 7.23.6 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/babel__core': 7.20.5 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 27.5.1_@babel+core@7.23.6 + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: false + + /babel-loader/8.3.0_3sdrczqd3quysbsl2nlxak54n4: + resolution: {integrity: sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==} + engines: {node: '>= 8.9'} + peerDependencies: + '@babel/core': ^7.0.0 + webpack: '>=2' + dependencies: + '@babel/core': 7.23.6 + find-cache-dir: 3.3.2 + loader-utils: 2.0.4 + make-dir: 3.1.0 + schema-utils: 2.7.1 + webpack: 5.89.0 + dev: false + + /babel-plugin-istanbul/6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + dependencies: + '@babel/helper-plugin-utils': 7.22.5 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + dev: false + + /babel-plugin-jest-hoist/27.5.1: + resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@babel/template': 7.22.15 + '@babel/types': 7.23.6 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.20.4 + dev: false + + /babel-plugin-macros/3.1.0: + resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} + engines: {node: '>=10', npm: '>=6'} + dependencies: + '@babel/runtime': 7.23.6 + cosmiconfig: 7.1.0 + resolve: 1.22.8 + dev: false + + /babel-plugin-named-asset-import/0.3.8_@babel+core@7.23.6: + resolution: {integrity: sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==} + peerDependencies: + '@babel/core': ^7.1.0 + dependencies: + '@babel/core': 7.23.6 + dev: false + + /babel-plugin-polyfill-corejs2/0.4.7_@babel+core@7.23.6: + resolution: {integrity: sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/compat-data': 7.23.5 + '@babel/core': 7.23.6 + '@babel/helper-define-polyfill-provider': 0.4.4_@babel+core@7.23.6 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: false + + /babel-plugin-polyfill-corejs3/0.8.7_@babel+core@7.23.6: + resolution: {integrity: sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-define-polyfill-provider': 0.4.4_@babel+core@7.23.6 + core-js-compat: 3.34.0 + transitivePeerDependencies: + - supports-color + dev: false + + /babel-plugin-polyfill-regenerator/0.5.4_@babel+core@7.23.6: + resolution: {integrity: sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-define-polyfill-provider': 0.4.4_@babel+core@7.23.6 + transitivePeerDependencies: + - supports-color + dev: false + + /babel-plugin-transform-react-remove-prop-types/0.4.24: + resolution: {integrity: sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==} + dev: false + + /babel-preset-current-node-syntax/1.0.1_@babel+core@7.23.6: + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.6 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.23.6 + '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.23.6 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.23.6 + '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.23.6 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.23.6 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.23.6 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.23.6 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.23.6 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.23.6 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.23.6 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.23.6 + '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.23.6 + dev: false + + /babel-preset-jest/27.5.1_@babel+core@7.23.6: + resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.6 + babel-plugin-jest-hoist: 27.5.1 + babel-preset-current-node-syntax: 1.0.1_@babel+core@7.23.6 + dev: false + + /babel-preset-react-app/10.0.1: + resolution: {integrity: sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==} + dependencies: + '@babel/core': 7.23.6 + '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.23.6 + '@babel/plugin-proposal-decorators': 7.23.6_@babel+core@7.23.6 + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.23.6 + '@babel/plugin-proposal-numeric-separator': 7.18.6_@babel+core@7.23.6 + '@babel/plugin-proposal-optional-chaining': 7.21.0_@babel+core@7.23.6 + '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.23.6 + '@babel/plugin-proposal-private-property-in-object': 7.21.11_@babel+core@7.23.6 + '@babel/plugin-transform-flow-strip-types': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-react-display-name': 7.23.3_@babel+core@7.23.6 + '@babel/plugin-transform-runtime': 7.23.6_@babel+core@7.23.6 + '@babel/preset-env': 7.23.6_@babel+core@7.23.6 + '@babel/preset-react': 7.23.3_@babel+core@7.23.6 + '@babel/preset-typescript': 7.23.3_@babel+core@7.23.6 + '@babel/runtime': 7.23.6 + babel-plugin-macros: 3.1.0 + babel-plugin-transform-react-remove-prop-types: 0.4.24 + transitivePeerDependencies: + - supports-color + dev: false + + /balanced-match/1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + /batch/0.6.1: + resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} + dev: false + + /bfj/7.1.0: + resolution: {integrity: sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==} + engines: {node: '>= 8.0.0'} + dependencies: + bluebird: 3.7.2 + check-types: 11.2.3 + hoopy: 0.1.4 + jsonpath: 1.1.1 + tryer: 1.0.1 + dev: false + + /big.js/5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + dev: false + + /binary-extensions/2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: false + + /binary-search-bounds/2.0.5: + resolution: {integrity: sha512-H0ea4Fd3lS1+sTEB2TgcLoK21lLhwEJzlQv3IN47pJS976Gx4zoWe0ak3q+uYh60ppQxg9F16Ri4tS1sfD4+jA==} + dev: false + + /bit-twiddle/1.0.2: + resolution: {integrity: sha512-B9UhK0DKFZhoTFcfvAzhqsjStvGJp9vYWf3+6SNTtdSQnvIgfkHbgHrg/e4+TH71N2GDu8tpmCVoyfrL1d7ntA==} + dev: false + + /bitmap-sdf/1.0.4: + resolution: {integrity: sha512-1G3U4n5JE6RAiALMxu0p1XmeZkTeCwGKykzsLTCqVzfSDaN6S7fKnkIkfejogz+iwqBWc0UYAIKnKHNN7pSfDg==} + dev: false + + /bl/2.2.1: + resolution: {integrity: sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==} + dependencies: + readable-stream: 2.3.8 + safe-buffer: 5.2.1 + dev: false + + /bluebird/3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + dev: false + + /body-parser/1.20.1: + resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.11.0 + raw-body: 2.5.1 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: false + + /bonjour-service/1.1.1: + resolution: {integrity: sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==} + dependencies: + array-flatten: 2.1.2 + dns-equal: 1.0.0 + fast-deep-equal: 3.1.3 + multicast-dns: 7.2.5 + dev: false + + /boolbase/1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: false + + /brace-expansion/1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + /brace-expansion/2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: false + + /braces/3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + + /browser-process-hrtime/1.0.0: + resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} + dev: false + + /browserslist/4.22.2: + resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001570 + electron-to-chromium: 1.4.614 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13_browserslist@4.22.2 + dev: false + + /bser/2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + dependencies: + node-int64: 0.4.0 + dev: false + + /buffer-from/1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: false + + /builtin-modules/3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + dev: false + + /bytes/3.0.0: + resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} + engines: {node: '>= 0.8'} + dev: false + + /bytes/3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + dev: false + + /cac/6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true + + /call-bind/1.0.5: + resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + dependencies: + function-bind: 1.1.2 + get-intrinsic: 1.2.2 + set-function-length: 1.1.1 + + /callsites/3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + /camel-case/4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + dependencies: + pascal-case: 3.1.2 + tslib: 2.6.2 + dev: false + + /camelcase-css/2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + dev: false + + /camelcase/5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: false + + /camelcase/6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: false + + /caniuse-api/3.0.0: + resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + dependencies: + browserslist: 4.22.2 + caniuse-lite: 1.0.30001570 + lodash.memoize: 4.1.2 + lodash.uniq: 4.5.0 + dev: false + + /caniuse-lite/1.0.30001570: + resolution: {integrity: sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw==} + dev: false + + /canvas-fit/1.5.0: + resolution: {integrity: sha512-onIcjRpz69/Hx5bB5HGbYKUF2uC6QT6Gp+pfpGm3A7mPfcluSLV5v4Zu+oflDUwLdUw0rLIBhUbi0v8hM4FJQQ==} + dependencies: + element-size: 1.1.1 + dev: false + + /case-sensitive-paths-webpack-plugin/2.4.0: + resolution: {integrity: sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==} + engines: {node: '>=4'} + dev: false + + /chai/4.3.10: + resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==} + engines: {node: '>=4'} + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + + /chalk/1.1.3: + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-styles: 2.2.1 + escape-string-regexp: 1.0.5 + has-ansi: 2.0.0 + strip-ansi: 3.0.1 + supports-color: 2.0.0 + dev: true + + /chalk/2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + /chalk/3.0.0: + resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: false + + /chalk/4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + /char-regex/1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + dev: false + + /char-regex/2.0.1: + resolution: {integrity: sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==} + engines: {node: '>=12.20'} + dev: false + + /check-error/1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /check-types/11.2.3: + resolution: {integrity: sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==} + dev: false + + /chokidar/3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /chrome-trace-event/1.0.3: + resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} + engines: {node: '>=6.0'} + dev: false + + /ci-info/3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + /cjs-module-lexer/1.2.3: + resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} + dev: false + + /clamp/1.0.1: + resolution: {integrity: sha512-kgMuFyE78OC6Dyu3Dy7vcx4uy97EIbVxJB/B0eJ3bUNAkwdNcxYzgKltnyADiYwsR7SEqkkUPsEUT//OVS6XMA==} + dev: false + + /clean-css/5.3.3: + resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} + engines: {node: '>= 10.0'} + dependencies: + source-map: 0.6.1 + dev: false + + /cliui/7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: false + + /clsx/1.2.1: + resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} + engines: {node: '>=6'} + dev: false + + /clsx/2.0.0: + resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==} + engines: {node: '>=6'} + dev: false + + /co/4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + dev: false + + /coa/2.0.2: + resolution: {integrity: sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==} + engines: {node: '>= 4.0'} + dependencies: + '@types/q': 1.5.8 + chalk: 2.4.2 + q: 1.5.1 + dev: false + + /collect-v8-coverage/1.0.2: + resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + dev: false + + /color-alpha/1.0.4: + resolution: {integrity: sha512-lr8/t5NPozTSqli+duAN+x+no/2WaKTeWvxhHGN+aXT6AJ8vPlzLa7UriyjWak0pSC2jHol9JgjBYnnHsGha9A==} + dependencies: + color-parse: 1.3.8 + dev: false + + /color-convert/1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + + /color-convert/2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + + /color-id/1.1.0: + resolution: {integrity: sha512-2iRtAn6dC/6/G7bBIo0uupVrIne1NsQJvJxZOBCzQOfk7jRq97feaDZ3RdzuHakRXXnHGNwglto3pqtRx1sX0g==} + dependencies: + clamp: 1.0.1 + dev: false + + /color-name/1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + /color-name/1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + /color-normalize/1.5.0: + resolution: {integrity: sha512-rUT/HDXMr6RFffrR53oX3HGWkDOP9goSAQGBkUaAYKjOE2JxozccdGyufageWDlInRAjm/jYPrf/Y38oa+7obw==} + dependencies: + clamp: 1.0.1 + color-rgba: 2.1.1 + dtype: 2.0.0 + dev: false + + /color-parse/1.3.8: + resolution: {integrity: sha512-1Y79qFv0n1xair3lNMTNeoFvmc3nirMVBij24zbs1f13+7fPpQClMg5b4AuKXLt3szj7BRlHMCXHplkce6XlmA==} + dependencies: + color-name: 1.1.4 + defined: 1.0.1 + is-plain-obj: 1.1.0 + dev: false + + /color-rgba/2.1.1: + resolution: {integrity: sha512-VaX97wsqrMwLSOR6H7rU1Doa2zyVdmShabKrPEIFywLlHoibgD3QW9Dw6fSqM4+H/LfjprDNAUUW31qEQcGzNw==} + dependencies: + clamp: 1.0.1 + color-parse: 1.3.8 + color-space: 1.16.0 + dev: false + + /color-space/1.16.0: + resolution: {integrity: sha512-A6WMiFzunQ8KEPFmj02OnnoUnqhmSaHaZ/0LVFcPTdlvm8+3aMJ5x1HRHy3bDHPkovkf4sS0f4wsVvwk71fKkg==} + dependencies: + hsluv: 0.0.3 + mumath: 3.3.4 + dev: false + + /colord/2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + dev: false + + /colorette/2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: false + + /combined-stream/1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + + /commander/2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + dev: false + + /commander/4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + dev: false + + /commander/7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + dev: false + + /commander/8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + dev: false + + /common-path-prefix/3.0.0: + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + dev: false + + /common-tags/1.8.2: + resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} + engines: {node: '>=4.0.0'} + + /commondir/1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + dev: false + + /compressible/2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: false + + /compression/1.7.4: + resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} + engines: {node: '>= 0.8.0'} + dependencies: + accepts: 1.3.8 + bytes: 3.0.0 + compressible: 2.0.18 + debug: 2.6.9 + on-headers: 1.0.2 + safe-buffer: 5.1.2 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + dev: false + + /concat-map/0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + /concat-stream/1.6.2: + resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} + engines: {'0': node >= 0.8} + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 2.3.8 + typedarray: 0.0.6 + dev: false + + /confusing-browser-globals/1.0.11: + resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} + dev: false + + /connect-history-api-fallback/2.0.0: + resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} + engines: {node: '>=0.8'} + dev: false + + /content-disposition/0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + dependencies: + safe-buffer: 5.2.1 + dev: false + + /content-type/1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + dev: false + + /convert-source-map/1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + dev: false + + /convert-source-map/2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + /cookie-signature/1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + dev: false + + /cookie/0.5.0: + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} + dev: false + + /core-js-compat/3.34.0: + resolution: {integrity: sha512-4ZIyeNbW/Cn1wkMMDy+mvrRUxrwFNjKwbhCfQpDd+eLgYipDqp8oGFGtLmhh18EDPKA0g3VUBYOxQGGwvWLVpA==} + dependencies: + browserslist: 4.22.2 + dev: false + + /core-js-pure/3.34.0: + resolution: {integrity: sha512-pmhivkYXkymswFfbXsANmBAewXx86UBfmagP+w0wkK06kLsLlTK5oQmsURPivzMkIBQiYq2cjamcZExIwlFQIg==} + requiresBuild: true + dev: false + + /core-js/3.34.0: + resolution: {integrity: sha512-aDdvlDder8QmY91H88GzNi9EtQi2TjvQhpCX6B1v/dAZHU1AuLgHvRh54RiOerpEhEW46Tkf+vgAViB/CWC0ag==} + requiresBuild: true + dev: false + + /core-util-is/1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + dev: false + + /cosmiconfig/6.0.0: + resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==} + engines: {node: '>=8'} + dependencies: + '@types/parse-json': 4.0.2 + import-fresh: 3.3.0 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.2 + dev: false + + /cosmiconfig/7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} + dependencies: + '@types/parse-json': 4.0.2 + import-fresh: 3.3.0 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.2 + dev: false + + /country-regex/1.1.0: + resolution: {integrity: sha512-iSPlClZP8vX7MC3/u6s3lrDuoQyhQukh5LyABJ3hvfzbQ3Yyayd4fp04zjLnfi267B/B2FkumcWWgrbban7sSA==} + dev: false + + /cross-spawn/7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + /crypto-random-string/2.0.0: + resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} + engines: {node: '>=8'} + dev: false + + /css-blank-pseudo/3.0.3_postcss@8.4.32: + resolution: {integrity: sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==} + engines: {node: ^12 || ^14 || >=16} + hasBin: true + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.32 + postcss-selector-parser: 6.0.13 + dev: false + + /css-declaration-sorter/6.4.1_postcss@8.4.32: + resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==} + engines: {node: ^10 || ^12 || >=14} + peerDependencies: + postcss: ^8.0.9 + dependencies: + postcss: 8.4.32 + dev: false + + /css-font-size-keywords/1.0.0: + resolution: {integrity: sha512-Q+svMDbMlelgCfH/RVDKtTDaf5021O486ZThQPIpahnIjUkMUslC+WuOQSWTgGSrNCH08Y7tYNEmmy0hkfMI8Q==} + dev: false + + /css-font-stretch-keywords/1.0.1: + resolution: {integrity: sha512-KmugPO2BNqoyp9zmBIUGwt58UQSfyk1X5DbOlkb2pckDXFSAfjsD5wenb88fNrD6fvS+vu90a/tsPpb9vb0SLg==} + dev: false + + /css-font-style-keywords/1.0.1: + resolution: {integrity: sha512-0Fn0aTpcDktnR1RzaBYorIxQily85M2KXRpzmxQPgh8pxUN9Fcn00I8u9I3grNr1QXVgCl9T5Imx0ZwKU973Vg==} + dev: false + + /css-font-weight-keywords/1.0.0: + resolution: {integrity: sha512-5So8/NH+oDD+EzsnF4iaG4ZFHQ3vaViePkL1ZbZ5iC/KrsCY+WHq/lvOgrtmuOQ9pBBZ1ADGpaf+A4lj1Z9eYA==} + dev: false + + /css-font/1.2.0: + resolution: {integrity: sha512-V4U4Wps4dPDACJ4WpgofJ2RT5Yqwe1lEH6wlOOaIxMi0gTjdIijsc5FmxQlZ7ZZyKQkkutqqvULOp07l9c7ssA==} + dependencies: + css-font-size-keywords: 1.0.0 + css-font-stretch-keywords: 1.0.1 + css-font-style-keywords: 1.0.1 + css-font-weight-keywords: 1.0.0 + css-global-keywords: 1.0.1 + css-system-font-keywords: 1.0.0 + pick-by-alias: 1.2.0 + string-split-by: 1.0.0 + unquote: 1.1.1 + dev: false + + /css-global-keywords/1.0.1: + resolution: {integrity: sha512-X1xgQhkZ9n94WDwntqst5D/FKkmiU0GlJSFZSV3kLvyJ1WC5VeyoXDOuleUD+SIuH9C7W05is++0Woh0CGfKjQ==} + dev: false + + /css-has-pseudo/3.0.4_postcss@8.4.32: + resolution: {integrity: sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==} + engines: {node: ^12 || ^14 || >=16} + hasBin: true + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.32 + postcss-selector-parser: 6.0.13 + dev: false + + /css-loader/6.8.1_webpack@5.89.0: + resolution: {integrity: sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + dependencies: + icss-utils: 5.1.0_postcss@8.4.32 + postcss: 8.4.32 + postcss-modules-extract-imports: 3.0.0_postcss@8.4.32 + postcss-modules-local-by-default: 4.0.3_postcss@8.4.32 + postcss-modules-scope: 3.0.0_postcss@8.4.32 + postcss-modules-values: 4.0.0_postcss@8.4.32 + postcss-value-parser: 4.2.0 + semver: 7.5.4 + webpack: 5.89.0 + dev: false + + /css-minimizer-webpack-plugin/3.4.1_webpack@5.89.0: + resolution: {integrity: sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==} + engines: {node: '>= 12.13.0'} + peerDependencies: + '@parcel/css': '*' + clean-css: '*' + csso: '*' + esbuild: '*' + webpack: ^5.0.0 + peerDependenciesMeta: + '@parcel/css': + optional: true + clean-css: + optional: true + csso: + optional: true + esbuild: + optional: true + dependencies: + cssnano: 5.1.15_postcss@8.4.32 + jest-worker: 27.5.1 + postcss: 8.4.32 + schema-utils: 4.2.0 + serialize-javascript: 6.0.1 + source-map: 0.6.1 + webpack: 5.89.0 + dev: false + + /css-prefers-color-scheme/6.0.3_postcss@8.4.32: + resolution: {integrity: sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==} + engines: {node: ^12 || ^14 || >=16} + hasBin: true + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.32 + dev: false + + /css-select-base-adapter/0.1.1: + resolution: {integrity: sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==} + dev: false + + /css-select/2.1.0: + resolution: {integrity: sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==} + dependencies: + boolbase: 1.0.0 + css-what: 3.4.2 + domutils: 1.7.0 + nth-check: 1.0.2 + dev: false + + /css-select/4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + dev: false + + /css-system-font-keywords/1.0.0: + resolution: {integrity: sha512-1umTtVd/fXS25ftfjB71eASCrYhilmEsvDEI6wG/QplnmlfmVM5HkZ/ZX46DT5K3eblFPgLUHt5BRCb0YXkSFA==} + dev: false + + /css-tree/1.0.0-alpha.37: + resolution: {integrity: sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==} + engines: {node: '>=8.0.0'} + dependencies: + mdn-data: 2.0.4 + source-map: 0.6.1 + dev: false + + /css-tree/1.1.3: + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} + dependencies: + mdn-data: 2.0.14 + source-map: 0.6.1 + dev: false + + /css-vendor/2.0.8: + resolution: {integrity: sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==} + dependencies: + '@babel/runtime': 7.23.6 + is-in-browser: 1.1.3 + dev: false + + /css-what/3.4.2: + resolution: {integrity: sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==} + engines: {node: '>= 6'} + dev: false + + /css-what/6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + dev: false + + /css.escape/1.5.1: + resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} + dev: false + + /css/3.0.0: + resolution: {integrity: sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==} + dependencies: + inherits: 2.0.4 + source-map: 0.6.1 + source-map-resolve: 0.6.0 + dev: false + + /csscolorparser/1.0.3: + resolution: {integrity: sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w==} + dev: false + + /cssdb/7.9.1: + resolution: {integrity: sha512-fqy6ZnNfpb8qAvTT0qijWyTsUmYThsDX2F2ctMG4ceI7mI4DtsMILSiMBiuuDnVIYTyWvCctdp9Nb08p/6m2SQ==} + dev: false + + /cssesc/3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: false + + /cssnano-preset-default/5.2.14_postcss@8.4.32: + resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + css-declaration-sorter: 6.4.1_postcss@8.4.32 + cssnano-utils: 3.1.0_postcss@8.4.32 + postcss: 8.4.32 + postcss-calc: 8.2.4_postcss@8.4.32 + postcss-colormin: 5.3.1_postcss@8.4.32 + postcss-convert-values: 5.1.3_postcss@8.4.32 + postcss-discard-comments: 5.1.2_postcss@8.4.32 + postcss-discard-duplicates: 5.1.0_postcss@8.4.32 + postcss-discard-empty: 5.1.1_postcss@8.4.32 + postcss-discard-overridden: 5.1.0_postcss@8.4.32 + postcss-merge-longhand: 5.1.7_postcss@8.4.32 + postcss-merge-rules: 5.1.4_postcss@8.4.32 + postcss-minify-font-values: 5.1.0_postcss@8.4.32 + postcss-minify-gradients: 5.1.1_postcss@8.4.32 + postcss-minify-params: 5.1.4_postcss@8.4.32 + postcss-minify-selectors: 5.2.1_postcss@8.4.32 + postcss-normalize-charset: 5.1.0_postcss@8.4.32 + postcss-normalize-display-values: 5.1.0_postcss@8.4.32 + postcss-normalize-positions: 5.1.1_postcss@8.4.32 + postcss-normalize-repeat-style: 5.1.1_postcss@8.4.32 + postcss-normalize-string: 5.1.0_postcss@8.4.32 + postcss-normalize-timing-functions: 5.1.0_postcss@8.4.32 + postcss-normalize-unicode: 5.1.1_postcss@8.4.32 + postcss-normalize-url: 5.1.0_postcss@8.4.32 + postcss-normalize-whitespace: 5.1.1_postcss@8.4.32 + postcss-ordered-values: 5.1.3_postcss@8.4.32 + postcss-reduce-initial: 5.1.2_postcss@8.4.32 + postcss-reduce-transforms: 5.1.0_postcss@8.4.32 + postcss-svgo: 5.1.0_postcss@8.4.32 + postcss-unique-selectors: 5.1.1_postcss@8.4.32 + dev: false + + /cssnano-utils/3.1.0_postcss@8.4.32: + resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.32 + dev: false + + /cssnano/5.1.15_postcss@8.4.32: + resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + cssnano-preset-default: 5.2.14_postcss@8.4.32 + lilconfig: 2.1.0 + postcss: 8.4.32 + yaml: 1.10.2 + dev: false + + /csso/4.2.0: + resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} + engines: {node: '>=8.0.0'} + dependencies: + css-tree: 1.1.3 + dev: false + + /cssom/0.3.8: + resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} + dev: false + + /cssom/0.4.4: + resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} + dev: false + + /cssstyle/2.3.0: + resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} + engines: {node: '>=8'} + dependencies: + cssom: 0.3.8 + dev: false + + /cssstyle/3.0.0: + resolution: {integrity: sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==} + engines: {node: '>=14'} + dependencies: + rrweb-cssom: 0.6.0 + + /csstype/3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + /d/1.0.1: + resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==} + dependencies: + es5-ext: 0.10.62 + type: 1.2.0 + dev: false + + /d3-array/1.2.4: + resolution: {integrity: sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==} + dev: false + + /d3-collection/1.0.7: + resolution: {integrity: sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==} + dev: false + + /d3-color/1.4.1: + resolution: {integrity: sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==} + dev: false + + /d3-dispatch/1.0.6: + resolution: {integrity: sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==} + dev: false + + /d3-force/1.2.1: + resolution: {integrity: sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==} + dependencies: + d3-collection: 1.0.7 + d3-dispatch: 1.0.6 + d3-quadtree: 1.0.7 + d3-timer: 1.0.10 + dev: false + + /d3-format/1.4.5: + resolution: {integrity: sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==} + dev: false + + /d3-geo-projection/2.9.0: + resolution: {integrity: sha512-ZULvK/zBn87of5rWAfFMc9mJOipeSo57O+BBitsKIXmU4rTVAnX1kSsJkE0R+TxY8pGNoM1nbyRRE7GYHhdOEQ==} + hasBin: true + dependencies: + commander: 2.20.3 + d3-array: 1.2.4 + d3-geo: 1.12.1 + resolve: 1.22.8 + dev: false + + /d3-geo/1.12.1: + resolution: {integrity: sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==} + dependencies: + d3-array: 1.2.4 + dev: false + + /d3-hierarchy/1.1.9: + resolution: {integrity: sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==} + dev: false + + /d3-interpolate/1.4.0: + resolution: {integrity: sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==} + dependencies: + d3-color: 1.4.1 + dev: false + + /d3-path/1.0.9: + resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} + dev: false + + /d3-quadtree/1.0.7: + resolution: {integrity: sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA==} + dev: false + + /d3-shape/1.3.7: + resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} + dependencies: + d3-path: 1.0.9 + dev: false + + /d3-time-format/2.3.0: + resolution: {integrity: sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==} + dependencies: + d3-time: 1.1.0 + dev: false + + /d3-time/1.1.0: + resolution: {integrity: sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==} + dev: false + + /d3-timer/1.0.10: + resolution: {integrity: sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==} + dev: false + + /damerau-levenshtein/1.0.8: + resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + dev: false + + /data-urls/2.0.0: + resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} + engines: {node: '>=10'} + dependencies: + abab: 2.0.6 + whatwg-mimetype: 2.3.0 + whatwg-url: 8.7.0 + dev: false + + /data-urls/4.0.0: + resolution: {integrity: sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==} + engines: {node: '>=14'} + dependencies: + abab: 2.0.6 + whatwg-mimetype: 3.0.0 + whatwg-url: 12.0.1 + + /debug/2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 + + /debug/3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + + /debug/4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + + /decimal.js/10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + + /decode-uri-component/0.2.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} + engines: {node: '>=0.10'} + dev: false + + /dedent/0.7.0: + resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} + dev: false + + /deep-eql/4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} + dependencies: + type-detect: 4.0.8 + dev: true + + /deep-equal/2.2.3: + resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + call-bind: 1.0.5 + es-get-iterator: 1.1.3 + get-intrinsic: 1.2.2 + is-arguments: 1.1.1 + is-array-buffer: 3.0.2 + is-date-object: 1.0.5 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + isarray: 2.0.5 + object-is: 1.1.5 + object-keys: 1.1.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.1 + side-channel: 1.0.4 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.1 + which-typed-array: 1.1.13 + dev: false + + /deep-is/0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + /deepmerge/4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + dev: false + + /default-gateway/6.0.3: + resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} + engines: {node: '>= 10'} + dependencies: + execa: 5.1.1 + dev: false + + /define-data-property/1.1.1: + resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + + /define-lazy-prop/2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + dev: false + + /define-properties/1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + has-property-descriptors: 1.0.1 + object-keys: 1.1.1 + + /defined/1.0.1: + resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==} + dev: false + + /delayed-stream/1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + /depd/1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + dev: false + + /depd/2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dev: false + + /dequal/2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + dev: false + + /destroy/1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dev: false + + /detect-kerning/2.1.2: + resolution: {integrity: sha512-I3JIbrnKPAntNLl1I6TpSQQdQ4AutYzv/sKMFKbepawV/hlH0GmYKhUoOEMd4xqaUHT+Bm0f4127lh5qs1m1tw==} + dev: false + + /detect-newline/3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + dev: false + + /detect-node/2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + dev: false + + /detect-port-alt/1.1.6: + resolution: {integrity: sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==} + engines: {node: '>= 4.2.1'} + hasBin: true + dependencies: + address: 1.2.2 + debug: 2.6.9 + transitivePeerDependencies: + - supports-color + dev: false + + /didyoumean/1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + dev: false + + /diff-sequences/27.5.1: + resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dev: false + + /diff-sequences/29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + /dir-glob/3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + + /dlv/1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + + /dns-equal/1.0.0: + resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==} + dev: false + + /dns-packet/5.6.1: + resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} + engines: {node: '>=6'} + dependencies: + '@leichtgewicht/ip-codec': 2.0.4 + dev: false + + /doctrine/2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + dependencies: + esutils: 2.0.3 + + /doctrine/3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + + /dom-accessibility-api/0.5.16: + resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} + dev: false + + /dom-converter/0.2.0: + resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} + dependencies: + utila: 0.4.0 + dev: false + + /dom-helpers/5.2.1: + resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} + dependencies: + '@babel/runtime': 7.23.6 + csstype: 3.1.3 + dev: false + + /dom-serializer/0.2.2: + resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==} + dependencies: + domelementtype: 2.3.0 + entities: 2.2.0 + dev: false + + /dom-serializer/1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + dev: false + + /domelementtype/1.3.1: + resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} + dev: false + + /domelementtype/2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: false + + /domexception/2.0.1: + resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} + engines: {node: '>=8'} + deprecated: Use your platform's native DOMException instead + dependencies: + webidl-conversions: 5.0.0 + dev: false + + /domexception/4.0.0: + resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} + engines: {node: '>=12'} + deprecated: Use your platform's native DOMException instead + dependencies: + webidl-conversions: 7.0.0 + + /domhandler/4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: false + + /domutils/1.7.0: + resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==} + dependencies: + dom-serializer: 0.2.2 + domelementtype: 1.3.1 + dev: false + + /domutils/2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + dev: false + + /dot-case/3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + dependencies: + no-case: 3.0.4 + tslib: 2.6.2 + dev: false + + /dotenv-expand/5.1.0: + resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==} + dev: false + + /dotenv/10.0.0: + resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==} + engines: {node: '>=10'} + dev: false + + /dotenv/16.3.1: + resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} + engines: {node: '>=12'} + dev: false + + /draw-svg-path/1.0.0: + resolution: {integrity: sha512-P8j3IHxcgRMcY6sDzr0QvJDLzBnJJqpTG33UZ2Pvp8rw0apCHhJCWqYprqrXjrgHnJ6tuhP1iTJSAodPDHxwkg==} + dependencies: + abs-svg-path: 0.1.1 + normalize-svg-path: 0.1.0 + dev: false + + /dtype/2.0.0: + resolution: {integrity: sha512-s2YVcLKdFGS0hpFqJaTwscsyt0E8nNFdmo73Ocd81xNPj4URI4rj6D60A+vFMIw7BXWlb4yRkEwfBqcZzPGiZg==} + engines: {node: '>= 0.8.0'} + dev: false + + /dup/1.0.0: + resolution: {integrity: sha512-Bz5jxMMC0wgp23Zm15ip1x8IhYRqJvF3nFC0UInJUDkN1z4uNPk9jTnfCUJXbOGiQ1JbXLQsiV41Fb+HXcj5BA==} + dev: false + + /duplexer/0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + dev: false + + /duplexify/3.7.1: + resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} + dependencies: + end-of-stream: 1.4.4 + inherits: 2.0.4 + readable-stream: 2.3.8 + stream-shift: 1.0.1 + dev: false + + /earcut/2.2.4: + resolution: {integrity: sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==} + dev: false + + /ee-first/1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + dev: false + + /ejs/3.1.9: + resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + jake: 10.8.7 + dev: false + + /electron-to-chromium/1.4.614: + resolution: {integrity: sha512-X4ze/9Sc3QWs6h92yerwqv7aB/uU8vCjZcrMjA8N9R1pjMFRe44dLsck5FzLilOYvcXuDn93B+bpGYyufc70gQ==} + dev: false + + /element-size/1.1.1: + resolution: {integrity: sha512-eaN+GMOq/Q+BIWy0ybsgpcYImjGIdNLyjLFJU4XsLHXYQao5jCNb36GyN6C2qwmDDYSfIBmKpPpr4VnBdLCsPQ==} + dev: false + + /elementary-circuits-directed-graph/1.3.1: + resolution: {integrity: sha512-ZEiB5qkn2adYmpXGnJKkxT8uJHlW/mxmBpmeqawEHzPxh9HkLD4/1mFYX5l0On+f6rcPIt8/EWlRU2Vo3fX6dQ==} + dependencies: + strongly-connected-components: 1.0.1 + dev: false + + /emittery/0.10.2: + resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==} + engines: {node: '>=12'} + dev: false + + /emittery/0.8.1: + resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==} + engines: {node: '>=10'} + dev: false + + /emoji-regex/8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: false + + /emoji-regex/9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: false + + /emojis-list/3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + dev: false + + /encodeurl/1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + dev: false + + /end-of-stream/1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: false + + /enhanced-resolve/5.15.0: + resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: false + + /entities/2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + dev: false + + /entities/4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + /error-ex/1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: false + + /error-stack-parser/2.1.4: + resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + dependencies: + stackframe: 1.3.4 + dev: false + + /es-abstract/1.22.3: + resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + arraybuffer.prototype.slice: 1.0.2 + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + es-set-tostringtag: 2.0.2 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.2 + get-symbol-description: 1.0.0 + globalthis: 1.0.3 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + has-proto: 1.0.1 + has-symbols: 1.0.3 + hasown: 2.0.0 + internal-slot: 1.0.6 + is-array-buffer: 3.0.2 + is-callable: 1.2.7 + is-negative-zero: 2.0.2 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + is-string: 1.0.7 + is-typed-array: 1.1.12 + is-weakref: 1.0.2 + object-inspect: 1.13.1 + object-keys: 1.1.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.1 + safe-array-concat: 1.0.1 + safe-regex-test: 1.0.0 + string.prototype.trim: 1.2.8 + string.prototype.trimend: 1.0.7 + string.prototype.trimstart: 1.0.7 + typed-array-buffer: 1.0.0 + typed-array-byte-length: 1.0.0 + typed-array-byte-offset: 1.0.0 + typed-array-length: 1.0.4 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.13 + + /es-array-method-boxes-properly/1.0.0: + resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} + dev: false + + /es-get-iterator/1.1.3: + resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + has-symbols: 1.0.3 + is-arguments: 1.1.1 + is-map: 2.0.2 + is-set: 2.0.2 + is-string: 1.0.7 + isarray: 2.0.5 + stop-iteration-iterator: 1.0.0 + dev: false + + /es-iterator-helpers/1.0.15: + resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==} + dependencies: + asynciterator.prototype: 1.0.0 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-set-tostringtag: 2.0.2 + function-bind: 1.1.2 + get-intrinsic: 1.2.2 + globalthis: 1.0.3 + has-property-descriptors: 1.0.1 + has-proto: 1.0.1 + has-symbols: 1.0.3 + internal-slot: 1.0.6 + iterator.prototype: 1.1.2 + safe-array-concat: 1.0.1 + dev: false + + /es-module-lexer/1.4.1: + resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} + dev: false + + /es-set-tostringtag/2.0.2: + resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + has-tostringtag: 1.0.0 + hasown: 2.0.0 + + /es-shim-unscopables/1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + dependencies: + hasown: 2.0.0 + + /es-to-primitive/1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + + /es5-ext/0.10.62: + resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==} + engines: {node: '>=0.10'} + requiresBuild: true + dependencies: + es6-iterator: 2.0.3 + es6-symbol: 3.1.3 + next-tick: 1.1.0 + dev: false + + /es6-iterator/2.0.3: + resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} + dependencies: + d: 1.0.1 + es5-ext: 0.10.62 + es6-symbol: 3.1.3 + dev: false + + /es6-symbol/3.1.3: + resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==} + dependencies: + d: 1.0.1 + ext: 1.7.0 + dev: false + + /es6-weak-map/2.0.3: + resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} + dependencies: + d: 1.0.1 + es5-ext: 0.10.62 + es6-iterator: 2.0.3 + es6-symbol: 3.1.3 + dev: false + + /esbuild/0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 + dev: true + + /esbuild/0.19.9: + resolution: {integrity: sha512-U9CHtKSy+EpPsEBa+/A2gMs/h3ylBC0H0KSqIg7tpztHerLi6nrrcoUJAkNCEPumx8yJ+Byic4BVwHgRbN0TBg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.19.9 + '@esbuild/android-arm64': 0.19.9 + '@esbuild/android-x64': 0.19.9 + '@esbuild/darwin-arm64': 0.19.9 + '@esbuild/darwin-x64': 0.19.9 + '@esbuild/freebsd-arm64': 0.19.9 + '@esbuild/freebsd-x64': 0.19.9 + '@esbuild/linux-arm': 0.19.9 + '@esbuild/linux-arm64': 0.19.9 + '@esbuild/linux-ia32': 0.19.9 + '@esbuild/linux-loong64': 0.19.9 + '@esbuild/linux-mips64el': 0.19.9 + '@esbuild/linux-ppc64': 0.19.9 + '@esbuild/linux-riscv64': 0.19.9 + '@esbuild/linux-s390x': 0.19.9 + '@esbuild/linux-x64': 0.19.9 + '@esbuild/netbsd-x64': 0.19.9 + '@esbuild/openbsd-x64': 0.19.9 + '@esbuild/sunos-x64': 0.19.9 + '@esbuild/win32-arm64': 0.19.9 + '@esbuild/win32-ia32': 0.19.9 + '@esbuild/win32-x64': 0.19.9 + dev: false + + /escalade/3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: false + + /escape-html/1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + dev: false + + /escape-string-regexp/1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + /escape-string-regexp/2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + /escape-string-regexp/4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + /escodegen/1.14.3: + resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==} + engines: {node: '>=4.0'} + hasBin: true + dependencies: + esprima: 4.0.1 + estraverse: 4.3.0 + esutils: 2.0.3 + optionator: 0.8.3 + optionalDependencies: + source-map: 0.6.1 + dev: false + + /escodegen/2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + dev: false + + /eslint-config-prettier/8.5.0_eslint@8.20.0: + resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.20.0 + dev: true + + /eslint-config-react-app/7.0.1_q2636ywdnrmvs5un2kxqkn4lue: + resolution: {integrity: sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==} + engines: {node: '>=14.0.0'} + peerDependencies: + eslint: ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@babel/core': 7.23.6 + '@babel/eslint-parser': 7.23.3_2mb5wq2uiqy5lxujuhf2jqpdtm + '@rushstack/eslint-patch': 1.6.1 + '@typescript-eslint/eslint-plugin': 5.62.0_iajr6sta5et5spskjqrh5nwwp4 + '@typescript-eslint/parser': 5.62.0_he2ccbldppg44uulnyq4rwocfa + babel-preset-react-app: 10.0.1 + confusing-browser-globals: 1.0.11 + eslint: 8.20.0 + eslint-plugin-flowtype: 8.0.3_eslint@8.20.0 + eslint-plugin-import: 2.26.0_sex26yq5itsczjzstvjqwixwzu + eslint-plugin-jest: 25.7.0_wo67eq66gzg5g5ncvux44u7jfm + eslint-plugin-jsx-a11y: 6.8.0_eslint@8.20.0 + eslint-plugin-react: 7.30.1_eslint@8.20.0 + eslint-plugin-react-hooks: 4.6.0_eslint@8.20.0 + eslint-plugin-testing-library: 5.11.1_he2ccbldppg44uulnyq4rwocfa + typescript: 4.7.4 + transitivePeerDependencies: + - '@babel/plugin-syntax-flow' + - '@babel/plugin-transform-react-jsx' + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - jest + - supports-color + dev: false + + /eslint-import-resolver-node/0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + dependencies: + debug: 3.2.7 + is-core-module: 2.13.1 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + + /eslint-module-utils/2.8.0_rb7h4ak3klo6ked2xs3xozwxti: + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 5.62.0_he2ccbldppg44uulnyq4rwocfa + debug: 3.2.7 + eslint: 8.20.0 + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + dev: false + + /eslint-module-utils/2.8.0_zzapvfuxxvayvghnggdw5rprw4: + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + debug: 3.2.7 + eslint: 8.20.0 + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-flowtype/8.0.3_eslint@8.20.0: + resolution: {integrity: sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@babel/plugin-syntax-flow': ^7.14.5 + '@babel/plugin-transform-react-jsx': ^7.14.9 + eslint: ^8.1.0 + dependencies: + eslint: 8.20.0 + lodash: 4.17.21 + string-natural-compare: 3.0.1 + dev: false + + /eslint-plugin-import/2.26.0_eslint@8.20.0: + resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + dependencies: + array-includes: 3.1.7 + array.prototype.flat: 1.3.2 + debug: 2.6.9 + doctrine: 2.1.0 + eslint: 8.20.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.0_zzapvfuxxvayvghnggdw5rprw4 + has: 1.0.4 + is-core-module: 2.13.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.values: 1.1.7 + resolve: 1.22.8 + tsconfig-paths: 3.15.0 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: true + + /eslint-plugin-import/2.26.0_sex26yq5itsczjzstvjqwixwzu: + resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + dependencies: + '@typescript-eslint/parser': 5.62.0_he2ccbldppg44uulnyq4rwocfa + array-includes: 3.1.7 + array.prototype.flat: 1.3.2 + debug: 2.6.9 + doctrine: 2.1.0 + eslint: 8.20.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.0_rb7h4ak3klo6ked2xs3xozwxti + has: 1.0.4 + is-core-module: 2.13.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.values: 1.1.7 + resolve: 1.22.8 + tsconfig-paths: 3.15.0 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: false + + /eslint-plugin-jest/25.7.0_wo67eq66gzg5g5ncvux44u7jfm: + resolution: {integrity: sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^4.0.0 || ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + jest: '*' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + jest: + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 5.62.0_iajr6sta5et5spskjqrh5nwwp4 + '@typescript-eslint/experimental-utils': 5.62.0_he2ccbldppg44uulnyq4rwocfa + eslint: 8.20.0 + jest: 27.5.1 + transitivePeerDependencies: + - supports-color + - typescript + dev: false + + /eslint-plugin-jsx-a11y/6.8.0_eslint@8.20.0: + resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} + engines: {node: '>=4.0'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + '@babel/runtime': 7.23.6 + aria-query: 5.3.0 + array-includes: 3.1.7 + array.prototype.flatmap: 1.3.2 + ast-types-flow: 0.0.8 + axe-core: 4.7.0 + axobject-query: 3.2.1 + damerau-levenshtein: 1.0.8 + emoji-regex: 9.2.2 + es-iterator-helpers: 1.0.15 + eslint: 8.20.0 + hasown: 2.0.0 + jsx-ast-utils: 3.3.5 + language-tags: 1.0.9 + minimatch: 3.1.2 + object.entries: 1.1.7 + object.fromentries: 2.0.7 + dev: false + + /eslint-plugin-prettier/4.2.1_g4fztgbwjyq2fvmcscny2sj6fy: + resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + eslint: '>=7.28.0' + eslint-config-prettier: '*' + prettier: '>=2.0.0' + peerDependenciesMeta: + eslint-config-prettier: + optional: true + dependencies: + eslint: 8.20.0 + eslint-config-prettier: 8.5.0_eslint@8.20.0 + prettier: 2.7.1 + prettier-linter-helpers: 1.0.0 + dev: true + + /eslint-plugin-react-hooks/4.6.0_eslint@8.20.0: + resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + dependencies: + eslint: 8.20.0 + dev: false + + /eslint-plugin-react/7.30.1_eslint@8.20.0: + resolution: {integrity: sha512-NbEvI9jtqO46yJA3wcRF9Mo0lF9T/jhdHqhCHXiXtD+Zcb98812wvokjWpU7Q4QH5edo6dmqrukxVvWWXHlsUg==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + array-includes: 3.1.7 + array.prototype.flatmap: 1.3.2 + doctrine: 2.1.0 + eslint: 8.20.0 + estraverse: 5.3.0 + jsx-ast-utils: 3.3.5 + minimatch: 3.1.2 + object.entries: 1.1.7 + object.fromentries: 2.0.7 + object.hasown: 1.1.3 + object.values: 1.1.7 + prop-types: 15.8.1 + resolve: 2.0.0-next.5 + semver: 6.3.1 + string.prototype.matchall: 4.0.10 + + /eslint-plugin-testing-library/5.11.1_he2ccbldppg44uulnyq4rwocfa: + resolution: {integrity: sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} + peerDependencies: + eslint: ^7.5.0 || ^8.0.0 + dependencies: + '@typescript-eslint/utils': 5.62.0_he2ccbldppg44uulnyq4rwocfa + eslint: 8.20.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: false + + /eslint-scope/5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: false + + /eslint-scope/7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + /eslint-utils/3.0.0_eslint@8.20.0: + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + dependencies: + eslint: 8.20.0 + eslint-visitor-keys: 2.1.0 + + /eslint-visitor-keys/2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + + /eslint-visitor-keys/3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + /eslint-webpack-plugin/3.2.0_ejt6vh6olitvcdjpv7g2kgu4fq: + resolution: {integrity: sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==} + engines: {node: '>= 12.13.0'} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + webpack: ^5.0.0 + dependencies: + '@types/eslint': 8.44.9 + eslint: 8.20.0 + jest-worker: 28.1.3 + micromatch: 4.0.5 + normalize-path: 3.0.0 + schema-utils: 4.2.0 + webpack: 5.89.0 + dev: false + + /eslint/8.20.0: + resolution: {integrity: sha512-d4ixhz5SKCa1D6SCPrivP7yYVi7nyD6A4vs6HIAul9ujBzcEmZVM3/0NN/yu5nKhmO1wjp5xQ46iRfmDGlOviA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint/eslintrc': 1.4.1 + '@humanwhocodes/config-array': 0.9.5 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-utils: 3.0.0_eslint@8.20.0 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + functional-red-black-tree: 1.0.1 + glob-parent: 6.0.2 + globals: 13.24.0 + ignore: 5.3.0 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.3 + regexpp: 3.2.0 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + text-table: 0.2.0 + v8-compile-cache: 2.4.0 + transitivePeerDependencies: + - supports-color + + /espree/9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.11.2 + acorn-jsx: 5.3.2_acorn@8.11.2 + eslint-visitor-keys: 3.4.3 + + /esprima/1.2.2: + resolution: {integrity: sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: false + + /esprima/4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: false + + /esquery/1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + + /esrecurse/4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + + /estraverse/4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: false + + /estraverse/5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + /estree-walker/1.0.1: + resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} + dev: false + + /esutils/2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + /etag/1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: false + + /eventemitter3/4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + dev: false + + /events/3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + dev: false + + /execa/5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: false + + /exit/0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + dev: false + + /expect/27.5.1: + resolution: {integrity: sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + jest-get-type: 27.5.1 + jest-matcher-utils: 27.5.1 + jest-message-util: 27.5.1 + dev: false + + /expect/29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + + /express/4.18.2: + resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} + engines: {node: '>= 0.10.0'} + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.1 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.5.0 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.2.0 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.1 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.7 + proxy-addr: 2.0.7 + qs: 6.11.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.18.0 + serve-static: 1.15.0 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + dev: false + + /ext/1.7.0: + resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} + dependencies: + type: 2.7.2 + dev: false + + /falafel/2.2.5: + resolution: {integrity: sha512-HuC1qF9iTnHDnML9YZAdCDQwT0yKl/U55K4XSUXqGAA2GLoafFgWRqdAbhWJxXaYD4pyoVxAJ8wH670jMpI9DQ==} + engines: {node: '>=0.4.0'} + dependencies: + acorn: 7.4.1 + isarray: 2.0.5 + dev: false + + /fast-deep-equal/3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + /fast-diff/1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + dev: true + + /fast-glob/3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + + /fast-isnumeric/1.1.4: + resolution: {integrity: sha512-1mM8qOr2LYz8zGaUdmiqRDiuue00Dxjgcb1NQR7TnhLVh6sQyngP9xvLo7Sl7LZpP/sk5eb+bcyWXw530NTBZw==} + dependencies: + is-string-blank: 1.0.1 + dev: false + + /fast-json-stable-stringify/2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + /fast-levenshtein/2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + /fastq/1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + dependencies: + reusify: 1.0.4 + + /faye-websocket/0.11.4: + resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} + engines: {node: '>=0.8.0'} + dependencies: + websocket-driver: 0.7.4 + dev: false + + /fb-watchman/2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + dependencies: + bser: 2.1.1 + dev: false + + /fflate/0.4.8: + resolution: {integrity: sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==} + dev: false + + /fflate/0.8.1: + resolution: {integrity: sha512-/exOvEuc+/iaUm105QIiOt4LpBdMTWsXxqR0HDF35vx3fmaKzw7354gTilCh5rkzEt8WYyG//ku3h3nRmd7CHQ==} + dev: true + + /file-entry-cache/6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.2.0 + + /file-loader/6.2.0_webpack@5.89.0: + resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.3.0 + webpack: 5.89.0 + dev: false + + /filelist/1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + dependencies: + minimatch: 5.1.6 + dev: false + + /filesize/8.0.7: + resolution: {integrity: sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==} + engines: {node: '>= 0.4.0'} + dev: false + + /fill-range/7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + + /finalhandler/1.2.0: + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: false + + /find-cache-dir/3.3.2: + resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} + engines: {node: '>=8'} + dependencies: + commondir: 1.0.1 + make-dir: 3.1.0 + pkg-dir: 4.2.0 + dev: false + + /find-root/1.1.0: + resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} + dev: false + + /find-up/3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} + dependencies: + locate-path: 3.0.0 + dev: false + + /find-up/4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: false + + /find-up/5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: false + + /flat-cache/3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.2.9 + keyv: 4.5.4 + rimraf: 3.0.2 + + /flatted/3.2.9: + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + + /flatten-vertex-data/1.0.2: + resolution: {integrity: sha512-BvCBFK2NZqerFTdMDgqfHBwxYWnxeCkwONsw6PvBMcUXqo8U/KDWwmXhqx1x2kLIg7DqIsJfOaJFOmlua3Lxuw==} + dependencies: + dtype: 2.0.0 + dev: false + + /follow-redirects/1.15.3: + resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: false + + /font-atlas/2.1.0: + resolution: {integrity: sha512-kP3AmvX+HJpW4w3d+PiPR2X6E1yvsBXt2yhuCw+yReO9F1WYhvZwx3c95DGZGwg9xYzDGrgJYa885xmVA+28Cg==} + dependencies: + css-font: 1.2.0 + dev: false + + /font-measure/1.2.2: + resolution: {integrity: sha512-mRLEpdrWzKe9hbfaF3Qpr06TAjquuBVP5cHy4b3hyeNdjc9i0PO6HniGsX5vjL5OWv7+Bd++NiooNpT/s8BvIA==} + dependencies: + css-font: 1.2.0 + dev: false + + /fontsource-roboto/4.0.0: + resolution: {integrity: sha512-zD6L8nvdWRcwSgp4ojxFchG+MPj8kXXQKDEAH9bfhbxy+lkpvpC1WgAK0lCa4dwobv+hvAe0uyHaawcgH7WH/g==} + deprecated: Package relocated. Please install and migrate to @fontsource/roboto. + dev: false + + /for-each/0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + + /fork-ts-checker-webpack-plugin/6.5.3_fvpmgmyd7l2fnahh4imoixva4a: + resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} + engines: {node: '>=10', yarn: '>=1.0.0'} + peerDependencies: + eslint: '>= 6' + typescript: '>= 2.7' + vue-template-compiler: '*' + webpack: '>= 4' + peerDependenciesMeta: + eslint: + optional: true + vue-template-compiler: + optional: true + dependencies: + '@babel/code-frame': 7.23.5 + '@types/json-schema': 7.0.15 + chalk: 4.1.2 + chokidar: 3.5.3 + cosmiconfig: 6.0.0 + deepmerge: 4.3.1 + eslint: 8.20.0 + fs-extra: 9.1.0 + glob: 7.2.3 + memfs: 3.5.3 + minimatch: 3.1.2 + schema-utils: 2.7.0 + semver: 7.5.4 + tapable: 1.1.3 + typescript: 4.7.4 + webpack: 5.89.0 + dev: false + + /form-data/3.0.1: + resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: false + + /form-data/4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + + /forwarded/0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + dev: false + + /fraction.js/4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + dev: false + + /fresh/0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + dev: false + + /from2/2.3.0: + resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.8 + dev: false + + /fs-extra/10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: false + + /fs-extra/9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: false + + /fs-monkey/1.0.5: + resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==} + dev: false + + /fs.realpath/1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + /fsevents/2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /function-bind/1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + /function.prototype.name/1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + functions-have-names: 1.2.3 + + /functional-red-black-tree/1.0.1: + resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} + + /functions-have-names/1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + /gensync/1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: false + + /geojson-vt/3.2.1: + resolution: {integrity: sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==} + dev: false + + /get-caller-file/2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: false + + /get-canvas-context/1.0.2: + resolution: {integrity: sha512-LnpfLf/TNzr9zVOGiIY6aKCz8EKuXmlYNV7CM2pUjBa/B+c2I15tS7KLySep75+FuerJdmArvJLcsAXWEy2H0A==} + dev: false + + /get-func-name/2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + dev: true + + /get-intrinsic/1.2.2: + resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + dependencies: + function-bind: 1.1.2 + has-proto: 1.0.1 + has-symbols: 1.0.3 + hasown: 2.0.0 + + /get-own-enumerable-property-symbols/3.0.2: + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + dev: false + + /get-package-type/0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + dev: false + + /get-stream/6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: false + + /get-symbol-description/1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + + /gl-mat4/1.2.0: + resolution: {integrity: sha512-sT5C0pwB1/e9G9AvAoLsoaJtbMGjfd/jfxo8jMCKqYYEnjZuFvqV5rehqar0538EmssjdDeiEWnKyBSTw7quoA==} + dev: false + + /gl-matrix/3.4.3: + resolution: {integrity: sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==} + dev: false + + /gl-text/1.3.1: + resolution: {integrity: sha512-/f5gcEMiZd+UTBJLTl3D+CkCB/0UFGTx3nflH8ZmyWcLkZhsZ1+Xx5YYkw2rgWAzgPeE35xCqBuHSoMKQVsR+w==} + dependencies: + bit-twiddle: 1.0.2 + color-normalize: 1.5.0 + css-font: 1.2.0 + detect-kerning: 2.1.2 + es6-weak-map: 2.0.3 + flatten-vertex-data: 1.0.2 + font-atlas: 2.1.0 + font-measure: 1.2.2 + gl-util: 3.1.3 + is-plain-obj: 1.1.0 + object-assign: 4.1.1 + parse-rect: 1.2.0 + parse-unit: 1.0.1 + pick-by-alias: 1.2.0 + regl: 2.1.0 + to-px: 1.0.1 + typedarray-pool: 1.2.0 + dev: false + + /gl-util/3.1.3: + resolution: {integrity: sha512-dvRTggw5MSkJnCbh74jZzSoTOGnVYK+Bt+Ckqm39CVcl6+zSsxqWk4lr5NKhkqXHL6qvZAU9h17ZF8mIskY9mA==} + dependencies: + is-browser: 2.1.0 + is-firefox: 1.0.3 + is-plain-obj: 1.1.0 + number-is-integer: 1.0.1 + object-assign: 4.1.1 + pick-by-alias: 1.2.0 + weak-map: 1.0.8 + dev: false + + /glob-parent/5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + + /glob-parent/6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + + /glob-to-regexp/0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + dev: false + + /glob/7.1.6: + resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: false + + /glob/7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + /global-modules/2.0.0: + resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} + engines: {node: '>=6'} + dependencies: + global-prefix: 3.0.0 + dev: false + + /global-prefix/3.0.0: + resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} + engines: {node: '>=6'} + dependencies: + ini: 1.3.8 + kind-of: 6.0.3 + which: 1.3.1 + dev: false + + /globals/11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: false + + /globals/13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + + /globalthis/1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.1 + + /globby/11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.0 + merge2: 1.4.1 + slash: 3.0.0 + + /glsl-inject-defines/1.0.3: + resolution: {integrity: sha512-W49jIhuDtF6w+7wCMcClk27a2hq8znvHtlGnrYkSWEr8tHe9eA2dcnohlcAmxLYBSpSSdzOkRdyPTrx9fw49+A==} + dependencies: + glsl-token-inject-block: 1.1.0 + glsl-token-string: 1.0.1 + glsl-tokenizer: 2.1.5 + dev: false + + /glsl-resolve/0.0.1: + resolution: {integrity: sha512-xxFNsfnhZTK9NBhzJjSBGX6IOqYpvBHxxmo+4vapiljyGNCY0Bekzn0firQkQrazK59c1hYxMDxYS8MDlhw4gA==} + dependencies: + resolve: 0.6.3 + xtend: 2.2.0 + dev: false + + /glsl-token-assignments/2.0.2: + resolution: {integrity: sha512-OwXrxixCyHzzA0U2g4btSNAyB2Dx8XrztY5aVUCjRSh4/D0WoJn8Qdps7Xub3sz6zE73W3szLrmWtQ7QMpeHEQ==} + dev: false + + /glsl-token-defines/1.0.0: + resolution: {integrity: sha512-Vb5QMVeLjmOwvvOJuPNg3vnRlffscq2/qvIuTpMzuO/7s5kT+63iL6Dfo2FYLWbzuiycWpbC0/KV0biqFwHxaQ==} + dependencies: + glsl-tokenizer: 2.1.5 + dev: false + + /glsl-token-depth/1.1.2: + resolution: {integrity: sha512-eQnIBLc7vFf8axF9aoi/xW37LSWd2hCQr/3sZui8aBJnksq9C7zMeUYHVJWMhFzXrBU7fgIqni4EhXVW4/krpg==} + dev: false + + /glsl-token-descope/1.0.2: + resolution: {integrity: sha512-kS2PTWkvi/YOeicVjXGgX5j7+8N7e56srNDEHDTVZ1dcESmbmpmgrnpjPcjxJjMxh56mSXYoFdZqb90gXkGjQw==} + dependencies: + glsl-token-assignments: 2.0.2 + glsl-token-depth: 1.1.2 + glsl-token-properties: 1.0.1 + glsl-token-scope: 1.1.2 + dev: false + + /glsl-token-inject-block/1.1.0: + resolution: {integrity: sha512-q/m+ukdUBuHCOtLhSr0uFb/qYQr4/oKrPSdIK2C4TD+qLaJvqM9wfXIF/OOBjuSA3pUoYHurVRNao6LTVVUPWA==} + dev: false + + /glsl-token-properties/1.0.1: + resolution: {integrity: sha512-dSeW1cOIzbuUoYH0y+nxzwK9S9O3wsjttkq5ij9ZGw0OS41BirKJzzH48VLm8qLg+au6b0sINxGC0IrGwtQUcA==} + dev: false + + /glsl-token-scope/1.1.2: + resolution: {integrity: sha512-YKyOMk1B/tz9BwYUdfDoHvMIYTGtVv2vbDSLh94PT4+f87z21FVdou1KNKgF+nECBTo0fJ20dpm0B1vZB1Q03A==} + dev: false + + /glsl-token-string/1.0.1: + resolution: {integrity: sha512-1mtQ47Uxd47wrovl+T6RshKGkRRCYWhnELmkEcUAPALWGTFe2XZpH3r45XAwL2B6v+l0KNsCnoaZCSnhzKEksg==} + dev: false + + /glsl-token-whitespace-trim/1.0.0: + resolution: {integrity: sha512-ZJtsPut/aDaUdLUNtmBYhaCmhIjpKNg7IgZSfX5wFReMc2vnj8zok+gB/3Quqs0TsBSX/fGnqUUYZDqyuc2xLQ==} + dev: false + + /glsl-tokenizer/2.1.5: + resolution: {integrity: sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==} + dependencies: + through2: 0.6.5 + dev: false + + /glslify-bundle/5.1.1: + resolution: {integrity: sha512-plaAOQPv62M1r3OsWf2UbjN0hUYAB7Aph5bfH58VxJZJhloRNbxOL9tl/7H71K7OLJoSJ2ZqWOKk3ttQ6wy24A==} + dependencies: + glsl-inject-defines: 1.0.3 + glsl-token-defines: 1.0.0 + glsl-token-depth: 1.1.2 + glsl-token-descope: 1.0.2 + glsl-token-scope: 1.1.2 + glsl-token-string: 1.0.1 + glsl-token-whitespace-trim: 1.0.0 + glsl-tokenizer: 2.1.5 + murmurhash-js: 1.0.0 + shallow-copy: 0.0.1 + dev: false + + /glslify-deps/1.3.2: + resolution: {integrity: sha512-7S7IkHWygJRjcawveXQjRXLO2FTjijPDYC7QfZyAQanY+yGLCFHYnPtsGT9bdyHiwPTw/5a1m1M9hamT2aBpag==} + dependencies: + '@choojs/findup': 0.2.1 + events: 3.3.0 + glsl-resolve: 0.0.1 + glsl-tokenizer: 2.1.5 + graceful-fs: 4.2.11 + inherits: 2.0.4 + map-limit: 0.0.1 + resolve: 1.22.8 + dev: false + + /glslify/7.1.1: + resolution: {integrity: sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==} + hasBin: true + dependencies: + bl: 2.2.1 + concat-stream: 1.6.2 + duplexify: 3.7.1 + falafel: 2.2.5 + from2: 2.3.0 + glsl-resolve: 0.0.1 + glsl-token-whitespace-trim: 1.0.0 + glslify-bundle: 5.1.1 + glslify-deps: 1.3.2 + minimist: 1.2.8 + resolve: 1.22.8 + stack-trace: 0.0.9 + static-eval: 2.1.0 + through2: 2.0.5 + xtend: 4.0.2 + dev: false + + /gopd/1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.2 + + /graceful-fs/4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + /graphemer/1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: false + + /grid-index/1.1.0: + resolution: {integrity: sha512-HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA==} + dev: false + + /gzip-size/6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + dependencies: + duplexer: 0.1.2 + dev: false + + /handle-thing/2.0.1: + resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + dev: false + + /harmony-reflect/1.6.2: + resolution: {integrity: sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==} + dev: false + + /has-ansi/2.0.0: + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: 2.1.1 + dev: true + + /has-bigints/1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + + /has-flag/3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + /has-flag/4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + /has-hover/1.0.1: + resolution: {integrity: sha512-0G6w7LnlcpyDzpeGUTuT0CEw05+QlMuGVk1IHNAlHrGJITGodjZu3x8BNDUMfKJSZXNB2ZAclqc1bvrd+uUpfg==} + dependencies: + is-browser: 2.1.0 + dev: false + + /has-passive-events/1.0.0: + resolution: {integrity: sha512-2vSj6IeIsgvsRMyeQ0JaCX5Q3lX4zMn5HpoVc7MEhQ6pv8Iq9rsXjsp+E5ZwaT7T0xhMT0KmU8gtt1EFVdbJiw==} + dependencies: + is-browser: 2.1.0 + dev: false + + /has-property-descriptors/1.0.1: + resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} + dependencies: + get-intrinsic: 1.2.2 + + /has-proto/1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + + /has-symbols/1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + /has-tostringtag/1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + + /has/1.0.4: + resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} + engines: {node: '>= 0.4.0'} + + /hasown/2.0.0: + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + + /he/1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: false + + /hoist-non-react-statics/3.3.2: + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + dependencies: + react-is: 16.13.1 + dev: false + + /hoopy/0.1.4: + resolution: {integrity: sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==} + engines: {node: '>= 6.0.0'} + dev: false + + /hpack.js/2.1.6: + resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + dependencies: + inherits: 2.0.4 + obuf: 1.1.2 + readable-stream: 2.3.8 + wbuf: 1.7.3 + dev: false + + /hsluv/0.0.3: + resolution: {integrity: sha512-08iL2VyCRbkQKBySkSh6m8zMUa3sADAxGVWs3Z1aPcUkTJeK0ETG4Fc27tEmQBGUAXZjIsXOZqBvacuVNSC/fQ==} + dev: false + + /html-encoding-sniffer/2.0.1: + resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} + engines: {node: '>=10'} + dependencies: + whatwg-encoding: 1.0.5 + dev: false + + /html-encoding-sniffer/3.0.0: + resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} + engines: {node: '>=12'} + dependencies: + whatwg-encoding: 2.0.0 + + /html-entities/2.4.0: + resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==} + dev: false + + /html-escaper/2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + /html-minifier-terser/6.1.0: + resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} + engines: {node: '>=12'} + hasBin: true + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.3 + commander: 8.3.0 + he: 1.2.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.26.0 + dev: false + + /html-webpack-plugin/5.5.4_webpack@5.89.0: + resolution: {integrity: sha512-3wNSaVVxdxcu0jd4FpQFoICdqgxs4zIQQvj+2yQKFfBOnLETQ6X5CDWdeasuGlSsooFlMkEioWDTqBv1wvw5Iw==} + engines: {node: '>=10.13.0'} + peerDependencies: + webpack: ^5.20.0 + dependencies: + '@types/html-minifier-terser': 6.1.0 + html-minifier-terser: 6.1.0 + lodash: 4.17.21 + pretty-error: 4.0.0 + tapable: 2.2.1 + webpack: 5.89.0 + dev: false + + /htmlparser2/6.1.0: + resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + domutils: 2.8.0 + entities: 2.2.0 + dev: false + + /http-deceiver/1.2.7: + resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} + dev: false + + /http-errors/1.6.3: + resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.3 + setprototypeof: 1.1.0 + statuses: 1.5.0 + dev: false + + /http-errors/2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: false + + /http-parser-js/0.5.8: + resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} + dev: false + + /http-proxy-agent/4.0.1: + resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} + engines: {node: '>= 6'} + dependencies: + '@tootallnate/once': 1.1.2 + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: false + + /http-proxy-agent/5.0.0: + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} + dependencies: + '@tootallnate/once': 2.0.0 + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + /http-proxy-middleware/2.0.6_@types+express@4.17.21: + resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/express': ^4.17.13 + peerDependenciesMeta: + '@types/express': + optional: true + dependencies: + '@types/express': 4.17.21 + '@types/http-proxy': 1.17.14 + http-proxy: 1.18.1 + is-glob: 4.0.3 + is-plain-obj: 3.0.0 + micromatch: 4.0.5 + transitivePeerDependencies: + - debug + dev: false + + /http-proxy/1.18.1: + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} + dependencies: + eventemitter3: 4.0.7 + follow-redirects: 1.15.3 + requires-port: 1.0.0 + transitivePeerDependencies: + - debug + dev: false + + /https-proxy-agent/5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + dependencies: + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + /human-signals/2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: false + + /hyphenate-style-name/1.0.4: + resolution: {integrity: sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==} + dev: false + + /iconv-lite/0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: false + + /iconv-lite/0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + + /icss-utils/5.1.0_postcss@8.4.32: + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.32 + dev: false + + /idb/7.1.1: + resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} + dev: false + + /identity-obj-proxy/3.0.0: + resolution: {integrity: sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==} + engines: {node: '>=4'} + dependencies: + harmony-reflect: 1.6.2 + dev: false + + /ieee754/1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + dev: false + + /ignore/5.3.0: + resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} + engines: {node: '>= 4'} + + /immer/9.0.21: + resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} + dev: false + + /import-fresh/3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + /import-local/3.1.0: + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + engines: {node: '>=8'} + hasBin: true + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + dev: false + + /imurmurhash/0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + /indent-string/4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + /inflight/1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + /inherits/2.0.3: + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} + dev: false + + /inherits/2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + /ini/1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: false + + /internal-slot/1.0.6: + resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + hasown: 2.0.0 + side-channel: 1.0.4 + + /ipaddr.js/1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + dev: false + + /ipaddr.js/2.1.0: + resolution: {integrity: sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==} + engines: {node: '>= 10'} + dev: false + + /is-arguments/1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + dev: false + + /is-array-buffer/3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 + + /is-arrayish/0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: false + + /is-async-function/2.0.0: + resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: false + + /is-bigint/1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + + /is-binary-path/2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: false + + /is-boolean-object/1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + + /is-browser/2.1.0: + resolution: {integrity: sha512-F5rTJxDQ2sW81fcfOR1GnCXT6sVJC104fCyfj+mjpwNEwaPYSn5fte5jiHmBg3DHsIoL/l8Kvw5VN5SsTRcRFQ==} + dev: false + + /is-callable/1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + /is-core-module/2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.0 + + /is-date-object/1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + + /is-docker/2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + dev: false + + /is-extglob/2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + /is-finalizationregistry/1.0.2: + resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + dependencies: + call-bind: 1.0.5 + dev: false + + /is-finite/1.1.0: + resolution: {integrity: sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==} + engines: {node: '>=0.10.0'} + dev: false + + /is-firefox/1.0.3: + resolution: {integrity: sha512-6Q9ITjvWIm0Xdqv+5U12wgOKEM2KoBw4Y926m0OFkvlCxnbG94HKAsVz8w3fWcfAS5YA2fJORXX1dLrkprCCxA==} + engines: {node: '>=0.10.0'} + dev: false + + /is-fullwidth-code-point/3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: false + + /is-generator-fn/2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + dev: false + + /is-generator-function/1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: false + + /is-glob/4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + + /is-iexplorer/1.0.0: + resolution: {integrity: sha512-YeLzceuwg3K6O0MLM3UyUUjKAlyULetwryFp1mHy1I5PfArK0AEqlfa+MR4gkJjcbuJXoDJCvXbyqZVf5CR2Sg==} + engines: {node: '>=0.10.0'} + dev: false + + /is-in-browser/1.1.3: + resolution: {integrity: sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==} + dev: false + + /is-map/2.0.2: + resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + dev: false + + /is-mobile/2.2.2: + resolution: {integrity: sha512-wW/SXnYJkTjs++tVK5b6kVITZpAZPtUrt9SF80vvxGiF/Oywal+COk1jlRkiVq15RFNEQKQY31TkV24/1T5cVg==} + dev: false + + /is-module/1.0.0: + resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + dev: false + + /is-negative-zero/2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} + + /is-number-object/1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + + /is-number/7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + /is-obj/1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} + engines: {node: '>=0.10.0'} + dev: false + + /is-plain-obj/1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + dev: false + + /is-plain-obj/3.0.0: + resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} + engines: {node: '>=10'} + dev: false + + /is-potential-custom-element-name/1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + + /is-regex/1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + + /is-regexp/1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + dev: false + + /is-root/2.1.0: + resolution: {integrity: sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==} + engines: {node: '>=6'} + dev: false + + /is-set/2.0.2: + resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} + dev: false + + /is-shared-array-buffer/1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + dependencies: + call-bind: 1.0.5 + + /is-stream/2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: false + + /is-string-blank/1.0.1: + resolution: {integrity: sha512-9H+ZBCVs3L9OYqv8nuUAzpcT9OTgMD1yAWrG7ihlnibdkbtB850heAmYWxHuXc4CHy4lKeK69tN+ny1K7gBIrw==} + dev: false + + /is-string/1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + + /is-svg-path/1.0.2: + resolution: {integrity: sha512-Lj4vePmqpPR1ZnRctHv8ltSh1OrSxHkhUkd7wi+VQdcdP15/KvQFyk7LhNuM7ZW0EVbJz8kZLVmL9quLrfq4Kg==} + dev: false + + /is-symbol/1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + + /is-typed-array/1.1.12: + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.13 + + /is-typedarray/1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + dev: false + + /is-weakmap/2.0.1: + resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} + dev: false + + /is-weakref/1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.5 + + /is-weakset/2.0.2: + resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + dev: false + + /is-wsl/2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + dev: false + + /isarray/0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + dev: false + + /isarray/1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + dev: false + + /isarray/2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + /isexe/2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + /istanbul-lib-coverage/3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + /istanbul-lib-instrument/5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + dependencies: + '@babel/core': 7.23.6 + '@babel/parser': 7.23.6 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: false + + /istanbul-lib-report/3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + + /istanbul-lib-source-maps/4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + dependencies: + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + + /istanbul-reports/3.1.6: + resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + + /iterator.prototype/1.1.2: + resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} + dependencies: + define-properties: 1.2.1 + get-intrinsic: 1.2.2 + has-symbols: 1.0.3 + reflect.getprototypeof: 1.0.4 + set-function-name: 2.0.1 + dev: false + + /jake/10.8.7: + resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} + engines: {node: '>=10'} + hasBin: true + dependencies: + async: 3.2.5 + chalk: 4.1.2 + filelist: 1.0.4 + minimatch: 3.1.2 + dev: false + + /jest-changed-files/27.5.1: + resolution: {integrity: sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + execa: 5.1.1 + throat: 6.0.2 + dev: false + + /jest-circus/27.5.1: + resolution: {integrity: sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/environment': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 16.11.45 + chalk: 4.1.2 + co: 4.6.0 + dedent: 0.7.0 + expect: 27.5.1 + is-generator-fn: 2.1.0 + jest-each: 27.5.1 + jest-matcher-utils: 27.5.1 + jest-message-util: 27.5.1 + jest-runtime: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + pretty-format: 27.5.1 + slash: 3.0.0 + stack-utils: 2.0.6 + throat: 6.0.2 + transitivePeerDependencies: + - supports-color + dev: false + + /jest-cli/27.5.1: + resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + import-local: 3.1.0 + jest-config: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + prompts: 2.4.2 + yargs: 16.2.0 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + dev: false + + /jest-config/27.5.1: + resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + ts-node: '>=9.0.0' + peerDependenciesMeta: + ts-node: + optional: true + dependencies: + '@babel/core': 7.23.6 + '@jest/test-sequencer': 27.5.1 + '@jest/types': 27.5.1 + babel-jest: 27.5.1_@babel+core@7.23.6 + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 27.5.1 + jest-environment-jsdom: 27.5.1 + jest-environment-node: 27.5.1 + jest-get-type: 27.5.1 + jest-jasmine2: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-runner: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + micromatch: 4.0.5 + parse-json: 5.2.0 + pretty-format: 27.5.1 + slash: 3.0.0 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + dev: false + + /jest-diff/27.5.1: + resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + chalk: 4.1.2 + diff-sequences: 27.5.1 + jest-get-type: 27.5.1 + pretty-format: 27.5.1 + dev: false + + /jest-diff/29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + /jest-docblock/27.5.1: + resolution: {integrity: sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + detect-newline: 3.1.0 + dev: false + + /jest-each/27.5.1: + resolution: {integrity: sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + chalk: 4.1.2 + jest-get-type: 27.5.1 + jest-util: 27.5.1 + pretty-format: 27.5.1 + dev: false + + /jest-environment-jsdom/27.5.1: + resolution: {integrity: sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/environment': 27.5.1 + '@jest/fake-timers': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 16.11.45 + jest-mock: 27.5.1 + jest-util: 27.5.1 + jsdom: 16.7.0 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + dev: false + + /jest-environment-node/27.5.1: + resolution: {integrity: sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/environment': 27.5.1 + '@jest/fake-timers': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 16.11.45 + jest-mock: 27.5.1 + jest-util: 27.5.1 + dev: false + + /jest-get-type/27.5.1: + resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dev: false + + /jest-get-type/29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + /jest-haste-map/27.5.1: + resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + '@types/graceful-fs': 4.1.9 + '@types/node': 16.11.45 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 27.5.1 + jest-serializer: 27.5.1 + jest-util: 27.5.1 + jest-worker: 27.5.1 + micromatch: 4.0.5 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /jest-jasmine2/27.5.1: + resolution: {integrity: sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/environment': 27.5.1 + '@jest/source-map': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 16.11.45 + chalk: 4.1.2 + co: 4.6.0 + expect: 27.5.1 + is-generator-fn: 2.1.0 + jest-each: 27.5.1 + jest-matcher-utils: 27.5.1 + jest-message-util: 27.5.1 + jest-runtime: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + pretty-format: 27.5.1 + throat: 6.0.2 + transitivePeerDependencies: + - supports-color + dev: false + + /jest-leak-detector/27.5.1: + resolution: {integrity: sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + jest-get-type: 27.5.1 + pretty-format: 27.5.1 + dev: false + + /jest-matcher-utils/27.5.1: + resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + chalk: 4.1.2 + jest-diff: 27.5.1 + jest-get-type: 27.5.1 + pretty-format: 27.5.1 + dev: false + + /jest-matcher-utils/29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + /jest-message-util/27.5.1: + resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@babel/code-frame': 7.23.5 + '@jest/types': 27.5.1 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.5 + pretty-format: 27.5.1 + slash: 3.0.0 + stack-utils: 2.0.6 + dev: false + + /jest-message-util/28.1.3: + resolution: {integrity: sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + dependencies: + '@babel/code-frame': 7.23.5 + '@jest/types': 28.1.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.5 + pretty-format: 28.1.3 + slash: 3.0.0 + stack-utils: 2.0.6 + dev: false + + /jest-message-util/29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/code-frame': 7.23.5 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.5 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + + /jest-mock/27.5.1: + resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + '@types/node': 16.11.45 + dev: false + + /jest-pnp-resolver/1.2.3_jest-resolve@27.5.1: + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + dependencies: + jest-resolve: 27.5.1 + dev: false + + /jest-regex-util/27.5.1: + resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dev: false + + /jest-regex-util/28.0.2: + resolution: {integrity: sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + dev: false + + /jest-resolve-dependencies/27.5.1: + resolution: {integrity: sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + jest-regex-util: 27.5.1 + jest-snapshot: 27.5.1 + transitivePeerDependencies: + - supports-color + dev: false + + /jest-resolve/27.5.1: + resolution: {integrity: sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + chalk: 4.1.2 + graceful-fs: 4.2.11 + jest-haste-map: 27.5.1 + jest-pnp-resolver: 1.2.3_jest-resolve@27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + resolve: 1.22.8 + resolve.exports: 1.1.1 + slash: 3.0.0 + dev: false + + /jest-runner/27.5.1: + resolution: {integrity: sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/console': 27.5.1 + '@jest/environment': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 16.11.45 + chalk: 4.1.2 + emittery: 0.8.1 + graceful-fs: 4.2.11 + jest-docblock: 27.5.1 + jest-environment-jsdom: 27.5.1 + jest-environment-node: 27.5.1 + jest-haste-map: 27.5.1 + jest-leak-detector: 27.5.1 + jest-message-util: 27.5.1 + jest-resolve: 27.5.1 + jest-runtime: 27.5.1 + jest-util: 27.5.1 + jest-worker: 27.5.1 + source-map-support: 0.5.21 + throat: 6.0.2 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + dev: false + + /jest-runtime/27.5.1: + resolution: {integrity: sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/environment': 27.5.1 + '@jest/fake-timers': 27.5.1 + '@jest/globals': 27.5.1 + '@jest/source-map': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + chalk: 4.1.2 + cjs-module-lexer: 1.2.3 + collect-v8-coverage: 1.0.2 + execa: 5.1.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-haste-map: 27.5.1 + jest-message-util: 27.5.1 + jest-mock: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + slash: 3.0.0 + strip-bom: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: false + + /jest-serializer/27.5.1: + resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@types/node': 16.11.45 + graceful-fs: 4.2.11 + dev: false + + /jest-snapshot/27.5.1: + resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@babel/core': 7.23.6 + '@babel/generator': 7.23.6 + '@babel/plugin-syntax-typescript': 7.23.3_@babel+core@7.23.6 + '@babel/traverse': 7.23.6 + '@babel/types': 7.23.6 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/babel__traverse': 7.20.4 + '@types/prettier': 2.7.3 + babel-preset-current-node-syntax: 1.0.1_@babel+core@7.23.6 + chalk: 4.1.2 + expect: 27.5.1 + graceful-fs: 4.2.11 + jest-diff: 27.5.1 + jest-get-type: 27.5.1 + jest-haste-map: 27.5.1 + jest-matcher-utils: 27.5.1 + jest-message-util: 27.5.1 + jest-util: 27.5.1 + natural-compare: 1.4.0 + pretty-format: 27.5.1 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + dev: false + + /jest-util/27.5.1: + resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + '@types/node': 16.11.45 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + dev: false + + /jest-util/28.1.3: + resolution: {integrity: sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + dependencies: + '@jest/types': 28.1.3 + '@types/node': 16.11.45 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + dev: false + + /jest-util/29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + '@types/node': 16.11.45 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + /jest-validate/27.5.1: + resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 27.5.1 + leven: 3.1.0 + pretty-format: 27.5.1 + dev: false + + /jest-watch-typeahead/1.1.0_jest@27.5.1: + resolution: {integrity: sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + jest: ^27.0.0 || ^28.0.0 + dependencies: + ansi-escapes: 4.3.2 + chalk: 4.1.2 + jest: 27.5.1 + jest-regex-util: 28.0.2 + jest-watcher: 28.1.3 + slash: 4.0.0 + string-length: 5.0.1 + strip-ansi: 7.1.0 + dev: false + + /jest-watcher/27.5.1: + resolution: {integrity: sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 16.11.45 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + jest-util: 27.5.1 + string-length: 4.0.2 + dev: false + + /jest-watcher/28.1.3: + resolution: {integrity: sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + dependencies: + '@jest/test-result': 28.1.3 + '@jest/types': 28.1.3 + '@types/node': 16.11.45 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.10.2 + jest-util: 28.1.3 + string-length: 4.0.2 + dev: false + + /jest-worker/26.6.2: + resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/node': 16.11.45 + merge-stream: 2.0.0 + supports-color: 7.2.0 + dev: false + + /jest-worker/27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/node': 16.11.45 + merge-stream: 2.0.0 + supports-color: 8.1.1 + dev: false + + /jest-worker/28.1.3: + resolution: {integrity: sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + dependencies: + '@types/node': 16.11.45 + merge-stream: 2.0.0 + supports-color: 8.1.1 + dev: false + + /jest/27.5.1: + resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 27.5.1 + import-local: 3.1.0 + jest-cli: 27.5.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + dev: false + + /jiti/1.21.0: + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + hasBin: true + dev: false + + /js-tokens/4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + /js-yaml/3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: false + + /js-yaml/4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + + /jsdom/16.7.0: + resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} + engines: {node: '>=10'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + dependencies: + abab: 2.0.6 + acorn: 8.11.2 + acorn-globals: 6.0.0 + cssom: 0.4.4 + cssstyle: 2.3.0 + data-urls: 2.0.0 + decimal.js: 10.4.3 + domexception: 2.0.1 + escodegen: 2.1.0 + form-data: 3.0.1 + html-encoding-sniffer: 2.0.1 + http-proxy-agent: 4.0.1 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.7 + parse5: 6.0.1 + saxes: 5.0.1 + symbol-tree: 3.2.4 + tough-cookie: 4.1.3 + w3c-hr-time: 1.0.2 + w3c-xmlserializer: 2.0.0 + webidl-conversions: 6.1.0 + whatwg-encoding: 1.0.5 + whatwg-mimetype: 2.3.0 + whatwg-url: 8.7.0 + ws: 7.5.9 + xml-name-validator: 3.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: false + + /jsdom/22.1.0: + resolution: {integrity: sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==} + engines: {node: '>=16'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + 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.7 + parse5: 7.1.2 + rrweb-cssom: 0.6.0 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 4.1.3 + 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.15.1 + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + /jsesc/0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + dev: false + + /jsesc/2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: false + + /json-buffer/3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + /json-parse-even-better-errors/2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: false + + /json-schema-traverse/0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + /json-schema-traverse/1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: false + + /json-schema/0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + dev: false + + /json-stable-stringify-without-jsonify/1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + /json5/1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + dependencies: + minimist: 1.2.8 + + /json5/2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: false + + /jsonc-parser/3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: true + + /jsonfile/6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + + /jsonpath/1.1.1: + resolution: {integrity: sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==} + dependencies: + esprima: 1.2.2 + static-eval: 2.0.2 + underscore: 1.12.1 + dev: false + + /jsonpointer/5.0.1: + resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} + engines: {node: '>=0.10.0'} + dev: false + + /jss-plugin-camel-case/10.10.0: + resolution: {integrity: sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw==} + dependencies: + '@babel/runtime': 7.23.6 + hyphenate-style-name: 1.0.4 + jss: 10.10.0 + dev: false + + /jss-plugin-default-unit/10.10.0: + resolution: {integrity: sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ==} + dependencies: + '@babel/runtime': 7.23.6 + jss: 10.10.0 + dev: false + + /jss-plugin-global/10.10.0: + resolution: {integrity: sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A==} + dependencies: + '@babel/runtime': 7.23.6 + jss: 10.10.0 + dev: false + + /jss-plugin-nested/10.10.0: + resolution: {integrity: sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA==} + dependencies: + '@babel/runtime': 7.23.6 + jss: 10.10.0 + tiny-warning: 1.0.3 + dev: false + + /jss-plugin-props-sort/10.10.0: + resolution: {integrity: sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg==} + dependencies: + '@babel/runtime': 7.23.6 + jss: 10.10.0 + dev: false + + /jss-plugin-rule-value-function/10.10.0: + resolution: {integrity: sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g==} + dependencies: + '@babel/runtime': 7.23.6 + jss: 10.10.0 + tiny-warning: 1.0.3 + dev: false + + /jss-plugin-vendor-prefixer/10.10.0: + resolution: {integrity: sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg==} + dependencies: + '@babel/runtime': 7.23.6 + css-vendor: 2.0.8 + jss: 10.10.0 + dev: false + + /jss/10.10.0: + resolution: {integrity: sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==} + dependencies: + '@babel/runtime': 7.23.6 + csstype: 3.1.3 + is-in-browser: 1.1.3 + tiny-warning: 1.0.3 + dev: false + + /jsx-ast-utils/3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} + dependencies: + array-includes: 3.1.7 + array.prototype.flat: 1.3.2 + object.assign: 4.1.5 + object.values: 1.1.7 + + /kdbush/3.0.0: + resolution: {integrity: sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==} + dev: false + + /keyv/4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + + /kind-of/6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: false + + /kleur/3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + dev: false + + /klona/2.0.6: + resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} + engines: {node: '>= 8'} + dev: false + + /language-subtag-registry/0.3.22: + resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} + dev: false + + /language-tags/1.0.9: + resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} + engines: {node: '>=0.10'} + dependencies: + language-subtag-registry: 0.3.22 + dev: false + + /launch-editor/2.6.1: + resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==} + dependencies: + picocolors: 1.0.0 + shell-quote: 1.8.1 + dev: false + + /leven/3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + dev: false + + /levn/0.3.0: + resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.1.2 + type-check: 0.3.2 + dev: false + + /levn/0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + /lilconfig/2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + dev: false + + /lilconfig/3.0.0: + resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} + engines: {node: '>=14'} + dev: false + + /lines-and-columns/1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: false + + /loader-runner/4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + dev: false + + /loader-utils/2.0.4: + resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} + engines: {node: '>=8.9.0'} + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 2.2.3 + dev: false + + /loader-utils/3.2.1: + resolution: {integrity: sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==} + engines: {node: '>= 12.13.0'} + dev: false + + /local-pkg/0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + dev: true + + /locate-path/3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} + dependencies: + p-locate: 3.0.0 + path-exists: 3.0.0 + dev: false + + /locate-path/5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: false + + /locate-path/6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: false + + /lodash-es/4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + dev: false + + /lodash.debounce/4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + dev: false + + /lodash.memoize/4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + dev: false + + /lodash.merge/4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + /lodash.sortby/4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + dev: false + + /lodash.uniq/4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + dev: false + + /lodash/4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + /loglevel-colored-level-prefix/1.0.0: + resolution: {integrity: sha512-u45Wcxxc+SdAlh4yeF/uKlC1SPUPCy0gullSNKXod5I4bmifzk+Q4lSLExNEVn19tGaJipbZ4V4jbFn79/6mVA==} + dependencies: + chalk: 1.1.3 + loglevel: 1.8.1 + dev: true + + /loglevel/1.8.1: + resolution: {integrity: sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==} + engines: {node: '>= 0.6.0'} + dev: true + + /loose-envify/1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + dependencies: + js-tokens: 4.0.0 + + /loupe/2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /lower-case/2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + dependencies: + tslib: 2.6.2 + dev: false + + /lru-cache/5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: false + + /lru-cache/6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + + /lz-string/1.5.0: + resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} + hasBin: true + dev: false + + /magic-string/0.25.9: + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + dependencies: + sourcemap-codec: 1.4.8 + dev: false + + /magic-string/0.30.5: + resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /make-dir/3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.1 + dev: false + + /make-dir/4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + dependencies: + semver: 7.5.4 + + /makeerror/1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + dependencies: + tmpl: 1.0.5 + dev: false + + /map-limit/0.0.1: + resolution: {integrity: sha512-pJpcfLPnIF/Sk3taPW21G/RQsEEirGaFpCW3oXRwH9dnFHPHNGjNyvh++rdmC2fNqEaTw2MhYJraoJWAHx8kEg==} + dependencies: + once: 1.3.3 + dev: false + + /mapbox-gl/1.10.1: + resolution: {integrity: sha512-0aHt+lFUpYfvh0kMIqXqNXqoYMuhuAsMlw87TbhWrw78Tx2zfuPI0Lx31/YPUgJ+Ire0tzQ4JnuBL7acDNXmMg==} + engines: {node: '>=6.4.0'} + dependencies: + '@mapbox/geojson-rewind': 0.5.2 + '@mapbox/geojson-types': 1.0.2 + '@mapbox/jsonlint-lines-primitives': 2.0.2 + '@mapbox/mapbox-gl-supported': 1.5.0_mapbox-gl@1.10.1 + '@mapbox/point-geometry': 0.1.0 + '@mapbox/tiny-sdf': 1.2.5 + '@mapbox/unitbezier': 0.0.0 + '@mapbox/vector-tile': 1.3.1 + '@mapbox/whoots-js': 3.1.0 + csscolorparser: 1.0.3 + earcut: 2.2.4 + geojson-vt: 3.2.1 + gl-matrix: 3.4.3 + grid-index: 1.1.0 + minimist: 1.2.8 + murmurhash-js: 1.0.0 + pbf: 3.2.1 + potpack: 1.0.2 + quickselect: 2.0.0 + rw: 1.3.3 + supercluster: 7.1.5 + tinyqueue: 2.0.3 + vt-pbf: 3.1.3 + dev: false + + /math-log2/1.0.1: + resolution: {integrity: sha512-9W0yGtkaMAkf74XGYVy4Dqw3YUMnTNB2eeiw9aQbUl4A3KmuCEHTt2DgAB07ENzOYAjsYSAYufkAq0Zd+jU7zA==} + engines: {node: '>=0.10.0'} + dev: false + + /mdn-data/2.0.14: + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + dev: false + + /mdn-data/2.0.4: + resolution: {integrity: sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==} + dev: false + + /media-typer/0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + dev: false + + /memfs/3.5.3: + resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + engines: {node: '>= 4.0.0'} + dependencies: + fs-monkey: 1.0.5 + dev: false + + /merge-descriptors/1.0.1: + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + dev: false + + /merge-stream/2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: false + + /merge2/1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + /methods/1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + dev: false + + /micromatch/4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + + /mime-db/1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + /mime-types/2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + + /mime/1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + dev: false + + /mimic-fn/2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: false + + /min-indent/1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + dev: false + + /mini-css-extract-plugin/2.7.6_webpack@5.89.0: + resolution: {integrity: sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + dependencies: + schema-utils: 4.2.0 + webpack: 5.89.0 + dev: false + + /minimalistic-assert/1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + dev: false + + /minimatch/3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + + /minimatch/5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: false + + /minimist/1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + /mkdirp/0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: false + + /mlly/1.4.2: + resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} + dependencies: + acorn: 8.11.2 + pathe: 1.1.1 + pkg-types: 1.0.3 + ufo: 1.3.2 + dev: true + + /mouse-change/1.4.0: + resolution: {integrity: sha512-vpN0s+zLL2ykyyUDh+fayu9Xkor5v/zRD9jhSqjRS1cJTGS0+oakVZzNm5n19JvvEj0you+MXlYTpNxUDQUjkQ==} + dependencies: + mouse-event: 1.0.5 + dev: false + + /mouse-event-offset/3.0.2: + resolution: {integrity: sha512-s9sqOs5B1Ykox3Xo8b3Ss2IQju4UwlW6LSR+Q5FXWpprJ5fzMLefIIItr3PH8RwzfGy6gxs/4GAmiNuZScE25w==} + dev: false + + /mouse-event/1.0.5: + resolution: {integrity: sha512-ItUxtL2IkeSKSp9cyaX2JLUuKk2uMoxBg4bbOWVd29+CskYJR9BGsUqtXenNzKbnDshvupjUewDIYVrOB6NmGw==} + dev: false + + /mouse-wheel/1.2.0: + resolution: {integrity: sha512-+OfYBiUOCTWcTECES49neZwL5AoGkXE+lFjIvzwNCnYRlso+EnfvovcBxGoyQ0yQt806eSPjS675K0EwWknXmw==} + dependencies: + right-now: 1.0.0 + signum: 1.0.0 + to-px: 1.0.1 + dev: false + + /mrmime/1.0.1: + resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} + engines: {node: '>=10'} + dev: true + + /ms/2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + /ms/2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + /ms/2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + /multicast-dns/7.2.5: + resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} + hasBin: true + dependencies: + dns-packet: 5.6.1 + thunky: 1.1.0 + dev: false + + /mumath/3.3.4: + resolution: {integrity: sha512-VAFIOG6rsxoc7q/IaY3jdjmrsuX9f15KlRLYTHmixASBZkZEKC1IFqE2BC5CdhXmK6WLM1Re33z//AGmeRI6FA==} + deprecated: Redundant dependency in your project. + dependencies: + almost-equal: 1.1.0 + dev: false + + /murmurhash-js/1.0.0: + resolution: {integrity: sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==} + dev: false + + /mz/2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + dev: false + + /nanoclone/0.2.1: + resolution: {integrity: sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==} + dev: false + + /nanoid/3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + /native-promise-only/0.8.1: + resolution: {integrity: sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg==} + dev: false + + /natural-compare-lite/1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + dev: false + + /natural-compare/1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + /needle/2.9.1: + resolution: {integrity: sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==} + engines: {node: '>= 4.4.x'} + hasBin: true + dependencies: + debug: 3.2.7 + iconv-lite: 0.4.24 + sax: 1.3.0 + transitivePeerDependencies: + - supports-color + dev: false + + /negotiator/0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + dev: false + + /neo-async/2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + dev: false + + /next-tick/1.1.0: + resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} + dev: false + + /no-case/3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + dependencies: + lower-case: 2.0.2 + tslib: 2.6.2 + dev: false + + /node-forge/1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} + dev: false + + /node-int64/0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + dev: false + + /node-releases/2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + dev: false + + /normalize-path/3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: false + + /normalize-range/0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + dev: false + + /normalize-svg-path/0.1.0: + resolution: {integrity: sha512-1/kmYej2iedi5+ROxkRESL/pI02pkg0OBnaR4hJkSIX6+ORzepwbuUXfrdZaPjysTsJInj0Rj5NuX027+dMBvA==} + dev: false + + /normalize-svg-path/1.1.0: + resolution: {integrity: sha512-r9KHKG2UUeB5LoTouwDzBy2VxXlHsiM6fyLQvnJa0S5hrhzqElH/CH7TUGhT1fVvIYBIKf3OpY4YJ4CK+iaqHg==} + dependencies: + svg-arc-to-cubic-bezier: 3.2.0 + dev: false + + /normalize-url/6.1.0: + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} + dev: false + + /npm-run-path/4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: false + + /nth-check/1.0.2: + resolution: {integrity: sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==} + dependencies: + boolbase: 1.0.0 + dev: false + + /nth-check/2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + dev: false + + /number-is-integer/1.0.1: + resolution: {integrity: sha512-Dq3iuiFBkrbmuQjGFFF3zckXNCQoSD37/SdSbgcBailUx6knDvDwb5CympBgcoWHy36sfS12u74MHYkXyHq6bg==} + engines: {node: '>=0.10.0'} + dependencies: + is-finite: 1.1.0 + dev: false + + /nwsapi/2.2.7: + resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==} + + /object-assign/4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + /object-hash/3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + dev: false + + /object-inspect/1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + + /object-is/1.1.5: + resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + dev: false + + /object-keys/1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + /object.assign/4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + + /object.entries/1.1.7: + resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + + /object.fromentries/2.0.7: + resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + + /object.getownpropertydescriptors/2.1.7: + resolution: {integrity: sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==} + engines: {node: '>= 0.8'} + dependencies: + array.prototype.reduce: 1.0.6 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + safe-array-concat: 1.0.1 + dev: false + + /object.hasown/1.1.3: + resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} + dependencies: + define-properties: 1.2.1 + es-abstract: 1.22.3 + + /object.values/1.1.7: + resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + + /obuf/1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + dev: false + + /on-finished/2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 + dev: false + + /on-headers/1.0.2: + resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} + engines: {node: '>= 0.8'} + dev: false + + /once/1.3.3: + resolution: {integrity: sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==} + dependencies: + wrappy: 1.0.2 + dev: false + + /once/1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + + /onetime/5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: false + + /open/8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + dev: false + + /optionator/0.8.3: + resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} + engines: {node: '>= 0.8.0'} + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.3.0 + prelude-ls: 1.1.2 + type-check: 0.3.2 + word-wrap: 1.2.5 + dev: false + + /optionator/0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + + /p-limit/2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: false + + /p-limit/3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: false + + /p-limit/4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + yocto-queue: 1.0.0 + dev: true + + /p-locate/3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} + dependencies: + p-limit: 2.3.0 + dev: false + + /p-locate/4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: false + + /p-locate/5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: false + + /p-retry/4.6.2: + resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} + engines: {node: '>=8'} + dependencies: + '@types/retry': 0.12.0 + retry: 0.13.1 + dev: false + + /p-try/2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: false + + /param-case/3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + dependencies: + dot-case: 3.0.4 + tslib: 2.6.2 + dev: false + + /parent-module/1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + + /parenthesis/3.1.8: + resolution: {integrity: sha512-KF/U8tk54BgQewkJPvB4s/US3VQY68BRDpH638+7O/n58TpnwiwnOtGIOsT2/i+M78s61BBpeC83STB88d8sqw==} + dev: false + + /parse-json/5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.23.5 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: false + + /parse-rect/1.2.0: + resolution: {integrity: sha512-4QZ6KYbnE6RTwg9E0HpLchUM9EZt6DnDxajFZZDSV4p/12ZJEvPO702DZpGvRYEPo00yKDys7jASi+/w7aO8LA==} + dependencies: + pick-by-alias: 1.2.0 + dev: false + + /parse-svg-path/0.1.2: + resolution: {integrity: sha512-JyPSBnkTJ0AI8GGJLfMXvKq42cj5c006fnLz6fXy6zfoVjJizi8BNTpu8on8ziI1cKy9d9DGNuY17Ce7wuejpQ==} + dev: false + + /parse-unit/1.0.1: + resolution: {integrity: sha512-hrqldJHokR3Qj88EIlV/kAyAi/G5R2+R56TBANxNMy0uPlYcttx0jnMW6Yx5KsKPSbC3KddM/7qQm3+0wEXKxg==} + dev: false + + /parse5/6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + dev: false + + /parse5/7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + dependencies: + entities: 4.5.0 + + /parseurl/1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + dev: false + + /pascal-case/3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + dependencies: + no-case: 3.0.4 + tslib: 2.6.2 + dev: false + + /path-exists/3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + dev: false + + /path-exists/4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: false + + /path-is-absolute/1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + /path-key/3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + /path-parse/1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + /path-to-regexp/0.1.7: + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + dev: false + + /path-type/4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + /pathe/1.1.1: + resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} + dev: true + + /pathval/1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + dev: true + + /pbf/3.2.1: + resolution: {integrity: sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==} + hasBin: true + dependencies: + ieee754: 1.2.1 + resolve-protobuf-schema: 2.1.0 + dev: false + + /performance-now/2.1.0: + resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} + dev: false + + /pick-by-alias/1.2.0: + resolution: {integrity: sha512-ESj2+eBxhGrcA1azgHs7lARG5+5iLakc/6nlfbpjcLl00HuuUOIuORhYXN4D1HfvMSKuVtFQjAlnwi1JHEeDIw==} + dev: false + + /picocolors/0.2.1: + resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==} + dev: false + + /picocolors/1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + /picomatch/2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + /pify/2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + dev: false + + /pirates/4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + dev: false + + /pkg-dir/4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + dev: false + + /pkg-types/1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + dependencies: + jsonc-parser: 3.2.0 + mlly: 1.4.2 + pathe: 1.1.1 + dev: true + + /pkg-up/3.1.0: + resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} + engines: {node: '>=8'} + dependencies: + find-up: 3.0.0 + dev: false + + /plotly.js/2.13.2: + resolution: {integrity: sha512-P/iVWM7ll6t/qE+M4EgRyIJmsXuoojq+vRX8a5XQwI0VJEeIaB5sdHlO93AzRzPU26GMh7D4VSM+FPvk4T+bkQ==} + dependencies: + '@plotly/d3': 3.8.0 + '@plotly/d3-sankey': 0.7.2 + '@plotly/d3-sankey-circular': 0.33.1 + '@turf/area': 6.5.0 + '@turf/bbox': 6.5.0 + '@turf/centroid': 6.5.0 + canvas-fit: 1.5.0 + color-alpha: 1.0.4 + color-normalize: 1.5.0 + color-parse: 1.3.8 + color-rgba: 2.1.1 + country-regex: 1.1.0 + d3-force: 1.2.1 + d3-format: 1.4.5 + d3-geo: 1.12.1 + d3-geo-projection: 2.9.0 + d3-hierarchy: 1.1.9 + d3-interpolate: 1.4.0 + d3-time: 1.1.0 + d3-time-format: 2.3.0 + fast-isnumeric: 1.1.4 + gl-mat4: 1.2.0 + gl-text: 1.3.1 + glslify: 7.1.1 + has-hover: 1.0.1 + has-passive-events: 1.0.0 + is-mobile: 2.2.2 + mapbox-gl: 1.10.1 + mouse-change: 1.4.0 + mouse-event-offset: 3.0.2 + mouse-wheel: 1.2.0 + native-promise-only: 0.8.1 + parse-svg-path: 0.1.2 + point-in-polygon: 1.1.0 + polybooljs: 1.2.0 + probe-image-size: 7.2.3 + regl: /@plotly/regl/2.1.2 + regl-error2d: 2.0.12 + regl-line2d: 3.1.2 + regl-scatter2d: 3.2.9 + regl-splom: 1.0.14 + strongly-connected-components: 1.0.1 + superscript-text: 1.0.0 + svg-path-sdf: 1.1.3 + tinycolor2: 1.6.0 + to-px: 1.0.1 + topojson-client: 3.1.0 + webgl-context: 2.2.0 + world-calendars: 1.0.3 + transitivePeerDependencies: + - supports-color + dev: false + + /point-in-polygon/1.1.0: + resolution: {integrity: sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw==} + dev: false + + /polybooljs/1.2.0: + resolution: {integrity: sha512-mKjR5nolISvF+q2BtC1fi/llpxBPTQ3wLWN8+ldzdw2Hocpc8C72ZqnamCM4Z6z+68GVVjkeM01WJegQmZ8MEQ==} + dev: false + + /postcss-attribute-case-insensitive/5.0.2_postcss@8.4.32: + resolution: {integrity: sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.32 + postcss-selector-parser: 6.0.13 + dev: false + + /postcss-browser-comments/4.0.0_ba4woul6mywbpyfkuif7dum7bq: + resolution: {integrity: sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==} + engines: {node: '>=8'} + peerDependencies: + browserslist: '>=4' + postcss: '>=8' + dependencies: + browserslist: 4.22.2 + postcss: 8.4.32 + dev: false + + /postcss-calc/8.2.4_postcss@8.4.32: + resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==} + peerDependencies: + postcss: ^8.2.2 + dependencies: + postcss: 8.4.32 + postcss-selector-parser: 6.0.13 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-clamp/4.1.0_postcss@8.4.32: + resolution: {integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==} + engines: {node: '>=7.6.0'} + peerDependencies: + postcss: ^8.4.6 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-color-functional-notation/4.2.4_postcss@8.4.32: + resolution: {integrity: sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-color-hex-alpha/8.0.4_postcss@8.4.32: + resolution: {integrity: sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-color-rebeccapurple/7.1.1_postcss@8.4.32: + resolution: {integrity: sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-colormin/5.3.1_postcss@8.4.32: + resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.22.2 + caniuse-api: 3.0.0 + colord: 2.9.3 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-convert-values/5.1.3_postcss@8.4.32: + resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.22.2 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-custom-media/8.0.2_postcss@8.4.32: + resolution: {integrity: sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.3 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-custom-properties/12.1.11_postcss@8.4.32: + resolution: {integrity: sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-custom-selectors/6.0.3_postcss@8.4.32: + resolution: {integrity: sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.3 + dependencies: + postcss: 8.4.32 + postcss-selector-parser: 6.0.13 + dev: false + + /postcss-dir-pseudo-class/6.0.5_postcss@8.4.32: + resolution: {integrity: sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.32 + postcss-selector-parser: 6.0.13 + dev: false + + /postcss-discard-comments/5.1.2_postcss@8.4.32: + resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.32 + dev: false + + /postcss-discard-duplicates/5.1.0_postcss@8.4.32: + resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.32 + dev: false + + /postcss-discard-empty/5.1.1_postcss@8.4.32: + resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.32 + dev: false + + /postcss-discard-overridden/5.1.0_postcss@8.4.32: + resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.32 + dev: false + + /postcss-double-position-gradients/3.1.2_postcss@8.4.32: + resolution: {integrity: sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.32 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-env-function/4.0.6_postcss@8.4.32: + resolution: {integrity: sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-flexbugs-fixes/5.0.2_postcss@8.4.32: + resolution: {integrity: sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==} + peerDependencies: + postcss: ^8.1.4 + dependencies: + postcss: 8.4.32 + dev: false + + /postcss-focus-visible/6.0.4_postcss@8.4.32: + resolution: {integrity: sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.32 + postcss-selector-parser: 6.0.13 + dev: false + + /postcss-focus-within/5.0.4_postcss@8.4.32: + resolution: {integrity: sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.32 + postcss-selector-parser: 6.0.13 + dev: false + + /postcss-font-variant/5.0.0_postcss@8.4.32: + resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.32 + dev: false + + /postcss-gap-properties/3.0.5_postcss@8.4.32: + resolution: {integrity: sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.32 + dev: false + + /postcss-image-set-function/4.0.7_postcss@8.4.32: + resolution: {integrity: sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-import/15.1.0_postcss@8.4.32: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.8 + dev: false + + /postcss-initial/4.0.1_postcss@8.4.32: + resolution: {integrity: sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.32 + dev: false + + /postcss-js/4.0.1_postcss@8.4.32: + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.32 + dev: false + + /postcss-lab-function/4.2.1_postcss@8.4.32: + resolution: {integrity: sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.32 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-load-config/4.0.2_postcss@8.4.32: + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 3.0.0 + postcss: 8.4.32 + yaml: 2.3.4 + dev: false + + /postcss-loader/6.2.1_hfpraupt2pe3xbtlpibhgempbm: + resolution: {integrity: sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==} + engines: {node: '>= 12.13.0'} + peerDependencies: + postcss: ^7.0.0 || ^8.0.1 + webpack: ^5.0.0 + dependencies: + cosmiconfig: 7.1.0 + klona: 2.0.6 + postcss: 8.4.32 + semver: 7.5.4 + webpack: 5.89.0 + dev: false + + /postcss-logical/5.0.4_postcss@8.4.32: + resolution: {integrity: sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.32 + dev: false + + /postcss-media-minmax/5.0.0_postcss@8.4.32: + resolution: {integrity: sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.32 + dev: false + + /postcss-merge-longhand/5.1.7_postcss@8.4.32: + resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + stylehacks: 5.1.1_postcss@8.4.32 + dev: false + + /postcss-merge-rules/5.1.4_postcss@8.4.32: + resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.22.2 + caniuse-api: 3.0.0 + cssnano-utils: 3.1.0_postcss@8.4.32 + postcss: 8.4.32 + postcss-selector-parser: 6.0.13 + dev: false + + /postcss-minify-font-values/5.1.0_postcss@8.4.32: + resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-minify-gradients/5.1.1_postcss@8.4.32: + resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + colord: 2.9.3 + cssnano-utils: 3.1.0_postcss@8.4.32 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-minify-params/5.1.4_postcss@8.4.32: + resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.22.2 + cssnano-utils: 3.1.0_postcss@8.4.32 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-minify-selectors/5.2.1_postcss@8.4.32: + resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.32 + postcss-selector-parser: 6.0.13 + dev: false + + /postcss-modules-extract-imports/3.0.0_postcss@8.4.32: + resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.32 + dev: false + + /postcss-modules-local-by-default/4.0.3_postcss@8.4.32: + resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + icss-utils: 5.1.0_postcss@8.4.32 + postcss: 8.4.32 + postcss-selector-parser: 6.0.13 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-modules-scope/3.0.0_postcss@8.4.32: + resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.32 + postcss-selector-parser: 6.0.13 + dev: false + + /postcss-modules-values/4.0.0_postcss@8.4.32: + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + icss-utils: 5.1.0_postcss@8.4.32 + postcss: 8.4.32 + dev: false + + /postcss-nested/6.0.1_postcss@8.4.32: + resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + dependencies: + postcss: 8.4.32 + postcss-selector-parser: 6.0.13 + dev: false + + /postcss-nesting/10.2.0_postcss@8.4.32: + resolution: {integrity: sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + '@csstools/selector-specificity': 2.2.0_c3vcbepomgmxc74cgtawpgpkyi + postcss: 8.4.32 + postcss-selector-parser: 6.0.13 + dev: false + + /postcss-normalize-charset/5.1.0_postcss@8.4.32: + resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.32 + dev: false + + /postcss-normalize-display-values/5.1.0_postcss@8.4.32: + resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-normalize-positions/5.1.1_postcss@8.4.32: + resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-normalize-repeat-style/5.1.1_postcss@8.4.32: + resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-normalize-string/5.1.0_postcss@8.4.32: + resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-normalize-timing-functions/5.1.0_postcss@8.4.32: + resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-normalize-unicode/5.1.1_postcss@8.4.32: + resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.22.2 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-normalize-url/5.1.0_postcss@8.4.32: + resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + normalize-url: 6.1.0 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-normalize-whitespace/5.1.1_postcss@8.4.32: + resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-normalize/10.0.1_ba4woul6mywbpyfkuif7dum7bq: + resolution: {integrity: sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==} + engines: {node: '>= 12'} + peerDependencies: + browserslist: '>= 4' + postcss: '>= 8' + dependencies: + '@csstools/normalize.css': 12.0.0 + browserslist: 4.22.2 + postcss: 8.4.32 + postcss-browser-comments: 4.0.0_ba4woul6mywbpyfkuif7dum7bq + sanitize.css: 13.0.0 + dev: false + + /postcss-opacity-percentage/1.1.3_postcss@8.4.32: + resolution: {integrity: sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.32 + dev: false + + /postcss-ordered-values/5.1.3_postcss@8.4.32: + resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + cssnano-utils: 3.1.0_postcss@8.4.32 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-overflow-shorthand/3.0.4_postcss@8.4.32: + resolution: {integrity: sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-page-break/3.0.4_postcss@8.4.32: + resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==} + peerDependencies: + postcss: ^8 + dependencies: + postcss: 8.4.32 + dev: false + + /postcss-place/7.0.5_postcss@8.4.32: + resolution: {integrity: sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-preset-env/7.8.3_postcss@8.4.32: + resolution: {integrity: sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + '@csstools/postcss-cascade-layers': 1.1.1_postcss@8.4.32 + '@csstools/postcss-color-function': 1.1.1_postcss@8.4.32 + '@csstools/postcss-font-format-keywords': 1.0.1_postcss@8.4.32 + '@csstools/postcss-hwb-function': 1.0.2_postcss@8.4.32 + '@csstools/postcss-ic-unit': 1.0.1_postcss@8.4.32 + '@csstools/postcss-is-pseudo-class': 2.0.7_postcss@8.4.32 + '@csstools/postcss-nested-calc': 1.0.0_postcss@8.4.32 + '@csstools/postcss-normalize-display-values': 1.0.1_postcss@8.4.32 + '@csstools/postcss-oklab-function': 1.1.1_postcss@8.4.32 + '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.32 + '@csstools/postcss-stepped-value-functions': 1.0.1_postcss@8.4.32 + '@csstools/postcss-text-decoration-shorthand': 1.0.0_postcss@8.4.32 + '@csstools/postcss-trigonometric-functions': 1.0.2_postcss@8.4.32 + '@csstools/postcss-unset-value': 1.0.2_postcss@8.4.32 + autoprefixer: 10.4.16_postcss@8.4.32 + browserslist: 4.22.2 + css-blank-pseudo: 3.0.3_postcss@8.4.32 + css-has-pseudo: 3.0.4_postcss@8.4.32 + css-prefers-color-scheme: 6.0.3_postcss@8.4.32 + cssdb: 7.9.1 + postcss: 8.4.32 + postcss-attribute-case-insensitive: 5.0.2_postcss@8.4.32 + postcss-clamp: 4.1.0_postcss@8.4.32 + postcss-color-functional-notation: 4.2.4_postcss@8.4.32 + postcss-color-hex-alpha: 8.0.4_postcss@8.4.32 + postcss-color-rebeccapurple: 7.1.1_postcss@8.4.32 + postcss-custom-media: 8.0.2_postcss@8.4.32 + postcss-custom-properties: 12.1.11_postcss@8.4.32 + postcss-custom-selectors: 6.0.3_postcss@8.4.32 + postcss-dir-pseudo-class: 6.0.5_postcss@8.4.32 + postcss-double-position-gradients: 3.1.2_postcss@8.4.32 + postcss-env-function: 4.0.6_postcss@8.4.32 + postcss-focus-visible: 6.0.4_postcss@8.4.32 + postcss-focus-within: 5.0.4_postcss@8.4.32 + postcss-font-variant: 5.0.0_postcss@8.4.32 + postcss-gap-properties: 3.0.5_postcss@8.4.32 + postcss-image-set-function: 4.0.7_postcss@8.4.32 + postcss-initial: 4.0.1_postcss@8.4.32 + postcss-lab-function: 4.2.1_postcss@8.4.32 + postcss-logical: 5.0.4_postcss@8.4.32 + postcss-media-minmax: 5.0.0_postcss@8.4.32 + postcss-nesting: 10.2.0_postcss@8.4.32 + postcss-opacity-percentage: 1.1.3_postcss@8.4.32 + postcss-overflow-shorthand: 3.0.4_postcss@8.4.32 + postcss-page-break: 3.0.4_postcss@8.4.32 + postcss-place: 7.0.5_postcss@8.4.32 + postcss-pseudo-class-any-link: 7.1.6_postcss@8.4.32 + postcss-replace-overflow-wrap: 4.0.0_postcss@8.4.32 + postcss-selector-not: 6.0.1_postcss@8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-pseudo-class-any-link/7.1.6_postcss@8.4.32: + resolution: {integrity: sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.32 + postcss-selector-parser: 6.0.13 + dev: false + + /postcss-reduce-initial/5.1.2_postcss@8.4.32: + resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.22.2 + caniuse-api: 3.0.0 + postcss: 8.4.32 + dev: false + + /postcss-reduce-transforms/5.1.0_postcss@8.4.32: + resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-replace-overflow-wrap/4.0.0_postcss@8.4.32: + resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==} + peerDependencies: + postcss: ^8.0.3 + dependencies: + postcss: 8.4.32 + dev: false + + /postcss-selector-not/6.0.1_postcss@8.4.32: + resolution: {integrity: sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.32 + postcss-selector-parser: 6.0.13 + dev: false + + /postcss-selector-parser/6.0.13: + resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: false + + /postcss-svgo/5.1.0_postcss@8.4.32: + resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + svgo: 2.8.0 + dev: false + + /postcss-unique-selectors/5.1.1_postcss@8.4.32: + resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.32 + postcss-selector-parser: 6.0.13 + dev: false + + /postcss-value-parser/4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + dev: false + + /postcss/7.0.39: + resolution: {integrity: sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==} + engines: {node: '>=6.0.0'} + dependencies: + picocolors: 0.2.1 + source-map: 0.6.1 + dev: false + + /postcss/8.4.32: + resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + + /posthog-js/1.96.1: + resolution: {integrity: sha512-kv1vQqYMt2BV3YHS+wxsbGuP+tz+M3y1AzNhz8TfkpY1HT8W/ONT0i0eQpeRr9Y+d4x/fZ6M4cXG5GMvi9lRCA==} + dependencies: + fflate: 0.4.8 + dev: false + + /potpack/1.0.2: + resolution: {integrity: sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==} + dev: false + + /prelude-ls/1.1.2: + resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} + engines: {node: '>= 0.8.0'} + dev: false + + /prelude-ls/1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + /prettier-eslint/15.0.1: + resolution: {integrity: sha512-mGOWVHixSvpZWARqSDXbdtTL54mMBxc5oQYQ6RAqy8jecuNJBgN3t9E5a81G66F8x8fsKNiR1HWaBV66MJDOpg==} + engines: {node: '>=10.0.0'} + dependencies: + '@types/eslint': 8.44.9 + '@types/prettier': 2.7.3 + '@typescript-eslint/parser': 5.62.0_he2ccbldppg44uulnyq4rwocfa + common-tags: 1.8.2 + dlv: 1.1.3 + eslint: 8.20.0 + indent-string: 4.0.0 + lodash.merge: 4.6.2 + loglevel-colored-level-prefix: 1.0.0 + prettier: 2.7.1 + pretty-format: 23.6.0 + require-relative: 0.8.7 + typescript: 4.7.4 + vue-eslint-parser: 8.3.0_eslint@8.20.0 + transitivePeerDependencies: + - supports-color + dev: true + + /prettier-linter-helpers/1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + dependencies: + fast-diff: 1.3.0 + dev: true + + /prettier/2.7.1: + resolution: {integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + + /pretty-bytes/5.6.0: + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} + engines: {node: '>=6'} + dev: false + + /pretty-error/4.0.0: + resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} + dependencies: + lodash: 4.17.21 + renderkid: 3.0.0 + dev: false + + /pretty-format/23.6.0: + resolution: {integrity: sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==} + dependencies: + ansi-regex: 3.0.1 + ansi-styles: 3.2.1 + dev: true + + /pretty-format/27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + dev: false + + /pretty-format/28.1.3: + resolution: {integrity: sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + dependencies: + '@jest/schemas': 28.1.3 + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: false + + /pretty-format/29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.2.0 + + /probe-image-size/7.2.3: + resolution: {integrity: sha512-HubhG4Rb2UH8YtV4ba0Vp5bQ7L78RTONYu/ujmCu5nBI8wGv24s4E9xSKBi0N1MowRpxk76pFCpJtW0KPzOK0w==} + dependencies: + lodash.merge: 4.6.2 + needle: 2.9.1 + stream-parser: 0.3.1 + transitivePeerDependencies: + - supports-color + dev: false + + /process-nextick-args/2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + dev: false + + /promise/8.3.0: + resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==} + dependencies: + asap: 2.0.6 + dev: false + + /prompts/2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + dev: false + + /prop-types/15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + + /property-expr/2.0.6: + resolution: {integrity: sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==} + dev: false + + /protocol-buffers-schema/3.6.0: + resolution: {integrity: sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==} + dev: false + + /proxy-addr/2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: false + + /psl/1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + + /punycode/2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + /q/1.5.1: + resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} + engines: {node: '>=0.6.0', teleport: '>=0.2.0'} + dev: false + + /qs/6.11.0: + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.4 + dev: false + + /querystringify/2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + + /queue-microtask/1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + /quickselect/2.0.0: + resolution: {integrity: sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==} + dev: false + + /raf/3.4.1: + resolution: {integrity: sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==} + dependencies: + performance-now: 2.1.0 + dev: false + + /randombytes/2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + dependencies: + safe-buffer: 5.2.1 + dev: false + + /range-parser/1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + dev: false + + /raw-body/2.5.1: + resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: false + + /react-app-polyfill/3.0.0: + resolution: {integrity: sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==} + engines: {node: '>=14'} + dependencies: + core-js: 3.34.0 + object-assign: 4.1.1 + promise: 8.3.0 + raf: 3.4.1 + regenerator-runtime: 0.13.11 + whatwg-fetch: 3.6.20 + dev: false + + /react-dev-utils/12.0.1_fvpmgmyd7l2fnahh4imoixva4a: + resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=2.7' + webpack: '>=4' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@babel/code-frame': 7.23.5 + address: 1.2.2 + browserslist: 4.22.2 + chalk: 4.1.2 + cross-spawn: 7.0.3 + detect-port-alt: 1.1.6 + escape-string-regexp: 4.0.0 + filesize: 8.0.7 + find-up: 5.0.0 + fork-ts-checker-webpack-plugin: 6.5.3_fvpmgmyd7l2fnahh4imoixva4a + global-modules: 2.0.0 + globby: 11.1.0 + gzip-size: 6.0.0 + immer: 9.0.21 + is-root: 2.1.0 + loader-utils: 3.2.1 + open: 8.4.2 + pkg-up: 3.1.0 + prompts: 2.4.2 + react-error-overlay: 6.0.11 + recursive-readdir: 2.2.3 + shell-quote: 1.8.1 + strip-ansi: 6.0.1 + text-table: 0.2.0 + typescript: 4.7.4 + webpack: 5.89.0 + transitivePeerDependencies: + - eslint + - supports-color + - vue-template-compiler + dev: false + + /react-dom/18.2.0_react@18.2.0: + resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + peerDependencies: + react: ^18.2.0 + dependencies: + loose-envify: 1.4.0 + react: 18.2.0 + scheduler: 0.23.0 + dev: false + + /react-error-overlay/6.0.11: + resolution: {integrity: sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==} + dev: false + + /react-ga4/1.4.1: + resolution: {integrity: sha512-ioBMEIxd4ePw4YtaloTUgqhQGqz5ebDdC4slEpLgy2sLx1LuZBC9iYCwDymTXzcntw6K1dHX183ulP32nNdG7w==} + dev: false + + /react-hook-form/7.33.1_react@18.2.0: + resolution: {integrity: sha512-ydTfTxEJdvgjCZBj5DDXRc58oTEfnFupEwwTAQ9FSKzykEJkX+3CiAkGtAMiZG7IPWHuzgT6AOBfogiKhUvKgg==} + engines: {node: '>=12.22.0'} + peerDependencies: + react: ^16.8.0 || ^17 || ^18 + dependencies: + react: 18.2.0 + dev: false + + /react-is/16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + /react-is/17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + dev: false + + /react-is/18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + + /react-plotly.js/2.5.1_3gwbzzxlhcfw4vshlyzpaxc2g4: + resolution: {integrity: sha512-Oya14whSHvPsYXdI0nHOGs1pZhMzV2edV7HAW1xFHD58Y73m/LbG2Encvyz1tztL0vfjph0JNhiwO8cGBJnlhg==} + peerDependencies: + plotly.js: '>1.34.0' + react: '>0.13.0' + dependencies: + plotly.js: 2.13.2 + prop-types: 15.8.1 + react: 18.2.0 + dev: false + + /react-refresh/0.11.0: + resolution: {integrity: sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==} + engines: {node: '>=0.10.0'} + dev: false + + /react-refresh/0.14.0: + resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} + engines: {node: '>=0.10.0'} + dev: false + + /react-scripts/5.0.1_legnkqzp7ghso7ex3mqhmamure: + resolution: {integrity: sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==} + engines: {node: '>=14.0.0'} + hasBin: true + peerDependencies: + eslint: '*' + react: '>= 16' + typescript: ^3.2.1 || ^4 + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@babel/core': 7.23.6 + '@pmmmwh/react-refresh-webpack-plugin': 0.5.11_ev4oxbhxvy7gejzghfffkx2g7i + '@svgr/webpack': 5.5.0 + babel-jest: 27.5.1_@babel+core@7.23.6 + babel-loader: 8.3.0_3sdrczqd3quysbsl2nlxak54n4 + babel-plugin-named-asset-import: 0.3.8_@babel+core@7.23.6 + babel-preset-react-app: 10.0.1 + bfj: 7.1.0 + browserslist: 4.22.2 + camelcase: 6.3.0 + case-sensitive-paths-webpack-plugin: 2.4.0 + css-loader: 6.8.1_webpack@5.89.0 + css-minimizer-webpack-plugin: 3.4.1_webpack@5.89.0 + dotenv: 10.0.0 + dotenv-expand: 5.1.0 + eslint: 8.20.0 + eslint-config-react-app: 7.0.1_q2636ywdnrmvs5un2kxqkn4lue + eslint-webpack-plugin: 3.2.0_ejt6vh6olitvcdjpv7g2kgu4fq + file-loader: 6.2.0_webpack@5.89.0 + fs-extra: 10.1.0 + html-webpack-plugin: 5.5.4_webpack@5.89.0 + identity-obj-proxy: 3.0.0 + jest: 27.5.1 + jest-resolve: 27.5.1 + jest-watch-typeahead: 1.1.0_jest@27.5.1 + mini-css-extract-plugin: 2.7.6_webpack@5.89.0 + postcss: 8.4.32 + postcss-flexbugs-fixes: 5.0.2_postcss@8.4.32 + postcss-loader: 6.2.1_hfpraupt2pe3xbtlpibhgempbm + postcss-normalize: 10.0.1_ba4woul6mywbpyfkuif7dum7bq + postcss-preset-env: 7.8.3_postcss@8.4.32 + prompts: 2.4.2 + react: 18.2.0 + react-app-polyfill: 3.0.0 + react-dev-utils: 12.0.1_fvpmgmyd7l2fnahh4imoixva4a + react-refresh: 0.11.0 + resolve: 1.22.8 + resolve-url-loader: 4.0.0 + sass-loader: 12.6.0_webpack@5.89.0 + semver: 7.5.4 + source-map-loader: 3.0.2_webpack@5.89.0 + style-loader: 3.3.3_webpack@5.89.0 + tailwindcss: 3.3.6 + terser-webpack-plugin: 5.3.9_webpack@5.89.0 + typescript: 4.7.4 + webpack: 5.89.0 + webpack-dev-server: 4.15.1_webpack@5.89.0 + webpack-manifest-plugin: 4.1.1_webpack@5.89.0 + workbox-webpack-plugin: 6.6.0_webpack@5.89.0 + optionalDependencies: + fsevents: 2.3.3 + transitivePeerDependencies: + - '@babel/plugin-syntax-flow' + - '@babel/plugin-transform-react-jsx' + - '@parcel/css' + - '@swc/core' + - '@types/babel__core' + - '@types/webpack' + - bufferutil + - canvas + - clean-css + - csso + - debug + - esbuild + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - fibers + - node-notifier + - node-sass + - rework + - rework-visit + - sass + - sass-embedded + - sockjs-client + - supports-color + - ts-node + - type-fest + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + - webpack-hot-middleware + - webpack-plugin-serve + dev: false + + /react-top-loading-bar/2.1.0_react@18.2.0: + resolution: {integrity: sha512-07IPCC4fThfkH5PHm7d49s9UAq2rpy4RAyD+5gtwtBbBrwxkvcff7ZlbCgzrBXq8AvcGafDkpjcGdntJ4F0O9A==} + engines: {node: '>=10'} + peerDependencies: + react: ^16 || ^17 + dependencies: + react: 18.2.0 + dev: false + + /react-transition-group/4.4.5_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==} + peerDependencies: + react: '>=16.6.0' + react-dom: '>=16.6.0' + dependencies: + '@babel/runtime': 7.23.6 + dom-helpers: 5.2.1 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + dev: false + + /react/18.2.0: + resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + engines: {node: '>=0.10.0'} + dependencies: + loose-envify: 1.4.0 + dev: false + + /read-cache/1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + dependencies: + pify: 2.3.0 + dev: false + + /readable-stream/1.0.34: + resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 0.0.1 + string_decoder: 0.10.31 + dev: false + + /readable-stream/2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + dev: false + + /readable-stream/3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: false + + /readdirp/3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: false + + /recursive-readdir/2.2.3: + resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==} + engines: {node: '>=6.0.0'} + dependencies: + minimatch: 3.1.2 + dev: false + + /redent/3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + dev: false + + /reflect.getprototypeof/1.0.4: + resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + globalthis: 1.0.3 + which-builtin-type: 1.1.3 + dev: false + + /regenerate-unicode-properties/10.1.1: + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + engines: {node: '>=4'} + dependencies: + regenerate: 1.4.2 + dev: false + + /regenerate/1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + dev: false + + /regenerator-runtime/0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + dev: false + + /regenerator-runtime/0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + dev: false + + /regenerator-transform/0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + dependencies: + '@babel/runtime': 7.23.6 + dev: false + + /regex-parser/2.2.11: + resolution: {integrity: sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==} + dev: false + + /regexp.prototype.flags/1.5.1: + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + set-function-name: 2.0.1 + + /regexpp/3.2.0: + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} + + /regexpu-core/5.3.2: + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} + dependencies: + '@babel/regjsgen': 0.8.0 + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.1 + regjsparser: 0.9.1 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.1.0 + dev: false + + /regjsparser/0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + dependencies: + jsesc: 0.5.0 + dev: false + + /regl-error2d/2.0.12: + resolution: {integrity: sha512-r7BUprZoPO9AbyqM5qlJesrSRkl+hZnVKWKsVp7YhOl/3RIpi4UDGASGJY0puQ96u5fBYw/OlqV24IGcgJ0McA==} + dependencies: + array-bounds: 1.0.1 + color-normalize: 1.5.0 + flatten-vertex-data: 1.0.2 + object-assign: 4.1.1 + pick-by-alias: 1.2.0 + to-float32: 1.1.0 + update-diff: 1.1.0 + dev: false + + /regl-line2d/3.1.2: + resolution: {integrity: sha512-nmT7WWS/WxmXAQMkgaMKWXaVmwJ65KCrjbqHGOUjjqQi6shfT96YbBOvelXwO9hG7/hjvbzjtQ2UO0L3e7YaXQ==} + dependencies: + array-bounds: 1.0.1 + array-find-index: 1.0.2 + array-normalize: 1.1.4 + color-normalize: 1.5.0 + earcut: 2.2.4 + es6-weak-map: 2.0.3 + flatten-vertex-data: 1.0.2 + glslify: 7.1.1 + object-assign: 4.1.1 + parse-rect: 1.2.0 + pick-by-alias: 1.2.0 + to-float32: 1.1.0 + dev: false + + /regl-scatter2d/3.2.9: + resolution: {integrity: sha512-PNrXs+xaCClKpiB2b3HZ2j3qXQXhC5kcTh/Nfgx9rLO0EpEhab0BSQDqAsbdbpdf+pSHSJvbgitB7ulbGeQ+Fg==} + dependencies: + '@plotly/point-cluster': 3.1.9 + array-range: 1.0.1 + array-rearrange: 2.2.2 + clamp: 1.0.1 + color-id: 1.1.0 + color-normalize: 1.5.0 + color-rgba: 2.1.1 + flatten-vertex-data: 1.0.2 + glslify: 7.1.1 + is-iexplorer: 1.0.0 + object-assign: 4.1.1 + parse-rect: 1.2.0 + pick-by-alias: 1.2.0 + to-float32: 1.1.0 + update-diff: 1.1.0 + dev: false + + /regl-splom/1.0.14: + resolution: {integrity: sha512-OiLqjmPRYbd7kDlHC6/zDf6L8lxgDC65BhC8JirhP4ykrK4x22ZyS+BnY8EUinXKDeMgmpRwCvUmk7BK4Nweuw==} + dependencies: + array-bounds: 1.0.1 + array-range: 1.0.1 + color-alpha: 1.0.4 + flatten-vertex-data: 1.0.2 + parse-rect: 1.2.0 + pick-by-alias: 1.2.0 + raf: 3.4.1 + regl-scatter2d: 3.2.9 + dev: false + + /regl/2.1.0: + resolution: {integrity: sha512-oWUce/aVoEvW5l2V0LK7O5KJMzUSKeiOwFuJehzpSFd43dO5spP9r+sSUfhKtsky4u6MCqWJaRL+abzExynfTg==} + dev: false + + /relateurl/0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} + dev: false + + /renderkid/3.0.0: + resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} + dependencies: + css-select: 4.3.0 + dom-converter: 0.2.0 + htmlparser2: 6.1.0 + lodash: 4.17.21 + strip-ansi: 6.0.1 + dev: false + + /require-directory/2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: false + + /require-from-string/2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: false + + /require-relative/0.8.7: + resolution: {integrity: sha512-AKGr4qvHiryxRb19m3PsLRGuKVAbJLUD7E6eOaHkfKhwc+vSgVOCY5xNvm9EkolBKTOf0GrQAZKLimOCz81Khg==} + dev: true + + /requires-port/1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + + /resolve-cwd/3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + dependencies: + resolve-from: 5.0.0 + dev: false + + /resolve-from/4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + /resolve-from/5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + dev: false + + /resolve-protobuf-schema/2.1.0: + resolution: {integrity: sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==} + dependencies: + protocol-buffers-schema: 3.6.0 + dev: false + + /resolve-url-loader/4.0.0: + resolution: {integrity: sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==} + engines: {node: '>=8.9'} + peerDependencies: + rework: 1.0.1 + rework-visit: 1.0.0 + peerDependenciesMeta: + rework: + optional: true + rework-visit: + optional: true + dependencies: + adjust-sourcemap-loader: 4.0.0 + convert-source-map: 1.9.0 + loader-utils: 2.0.4 + postcss: 7.0.39 + source-map: 0.6.1 + dev: false + + /resolve.exports/1.1.1: + resolution: {integrity: sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==} + engines: {node: '>=10'} + dev: false + + /resolve/0.6.3: + resolution: {integrity: sha512-UHBY3viPlJKf85YijDUcikKX6tmF4SokIDp518ZDVT92JNDcG5uKIthaT/owt3Sar0lwtOafsQuwrg22/v2Dwg==} + dev: false + + /resolve/1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + /resolve/2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + /retry/0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + dev: false + + /reusify/1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + /right-now/1.0.0: + resolution: {integrity: sha512-DA8+YS+sMIVpbsuKgy+Z67L9Lxb1p05mNxRpDPNksPDEFir4vmBlUtuN9jkTGn9YMMdlBuK7XQgFiz6ws+yhSg==} + dev: false + + /rimraf/3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + + /rollup-plugin-terser/7.0.2_rollup@2.79.1: + resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} + deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser + peerDependencies: + rollup: ^2.0.0 + dependencies: + '@babel/code-frame': 7.23.5 + jest-worker: 26.6.2 + rollup: 2.79.1 + serialize-javascript: 4.0.0 + terser: 5.26.0 + dev: false + + /rollup/2.79.1: + resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} + engines: {node: '>=10.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /rollup/3.29.4: + resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /rollup/4.9.1: + resolution: {integrity: sha512-pgPO9DWzLoW/vIhlSoDByCzcpX92bKEorbgXuZrqxByte3JFk2xSW2JEeAcyLc9Ru9pqcNNW+Ob7ntsk2oT/Xw==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.9.1 + '@rollup/rollup-android-arm64': 4.9.1 + '@rollup/rollup-darwin-arm64': 4.9.1 + '@rollup/rollup-darwin-x64': 4.9.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.9.1 + '@rollup/rollup-linux-arm64-gnu': 4.9.1 + '@rollup/rollup-linux-arm64-musl': 4.9.1 + '@rollup/rollup-linux-riscv64-gnu': 4.9.1 + '@rollup/rollup-linux-x64-gnu': 4.9.1 + '@rollup/rollup-linux-x64-musl': 4.9.1 + '@rollup/rollup-win32-arm64-msvc': 4.9.1 + '@rollup/rollup-win32-ia32-msvc': 4.9.1 + '@rollup/rollup-win32-x64-msvc': 4.9.1 + fsevents: 2.3.3 + dev: false + + /rrweb-cssom/0.6.0: + resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} + + /run-parallel/1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + + /rw/1.3.3: + resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} + dev: false + + /safe-array-concat/1.0.1: + resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + has-symbols: 1.0.3 + isarray: 2.0.5 + + /safe-buffer/5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + dev: false + + /safe-buffer/5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: false + + /safe-regex-test/1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-regex: 1.1.4 + + /safer-buffer/2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + /sanitize.css/13.0.0: + resolution: {integrity: sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==} + dev: false + + /sass-loader/12.6.0_webpack@5.89.0: + resolution: {integrity: sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==} + engines: {node: '>= 12.13.0'} + peerDependencies: + fibers: '>= 3.1.0' + node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + sass: ^1.3.0 + sass-embedded: '*' + webpack: ^5.0.0 + peerDependenciesMeta: + fibers: + optional: true + node-sass: + optional: true + sass: + optional: true + sass-embedded: + optional: true + dependencies: + klona: 2.0.6 + neo-async: 2.6.2 + webpack: 5.89.0 + dev: false + + /sax/1.2.4: + resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + dev: false + + /sax/1.3.0: + resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} + dev: false + + /saxes/5.0.1: + resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} + engines: {node: '>=10'} + dependencies: + xmlchars: 2.2.0 + dev: false + + /saxes/6.0.0: + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} + dependencies: + xmlchars: 2.2.0 + + /scheduler/0.23.0: + resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + dependencies: + loose-envify: 1.4.0 + dev: false + + /schema-utils/2.7.0: + resolution: {integrity: sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==} + engines: {node: '>= 8.9.0'} + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + ajv-keywords: 3.5.2_ajv@6.12.6 + dev: false + + /schema-utils/2.7.1: + resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==} + engines: {node: '>= 8.9.0'} + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + ajv-keywords: 3.5.2_ajv@6.12.6 + dev: false + + /schema-utils/3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + ajv-keywords: 3.5.2_ajv@6.12.6 + dev: false + + /schema-utils/4.2.0: + resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} + engines: {node: '>= 12.13.0'} + dependencies: + '@types/json-schema': 7.0.15 + ajv: 8.12.0 + ajv-formats: 2.1.1 + ajv-keywords: 5.1.0_ajv@8.12.0 + dev: false + + /select-hose/2.0.0: + resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} + dev: false + + /selfsigned/2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} + engines: {node: '>=10'} + dependencies: + '@types/node-forge': 1.3.10 + node-forge: 1.3.1 + dev: false + + /semver/6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + /semver/7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + + /send/0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + dev: false + + /serialize-javascript/4.0.0: + resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} + dependencies: + randombytes: 2.1.0 + dev: false + + /serialize-javascript/6.0.1: + resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} + dependencies: + randombytes: 2.1.0 + dev: false + + /serve-index/1.9.1: + resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} + engines: {node: '>= 0.8.0'} + dependencies: + accepts: 1.3.8 + batch: 0.6.1 + debug: 2.6.9 + escape-html: 1.0.3 + http-errors: 1.6.3 + mime-types: 2.1.35 + parseurl: 1.3.3 + transitivePeerDependencies: + - supports-color + dev: false + + /serve-static/1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.18.0 + transitivePeerDependencies: + - supports-color + dev: false + + /set-function-length/1.1.1: + resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + + /set-function-name/2.0.1: + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.1 + + /setprototypeof/1.1.0: + resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} + dev: false + + /setprototypeof/1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: false + + /shallow-copy/0.0.1: + resolution: {integrity: sha512-b6i4ZpVuUxB9h5gfCxPiusKYkqTMOjEbBs4wMaFbkfia4yFv92UKZ6Df8WXcKbn08JNL/abvg3FnMAOfakDvUw==} + dev: false + + /shebang-command/2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + + /shebang-regex/3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + /shell-quote/1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + dev: false + + /side-channel/1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + object-inspect: 1.13.1 + + /siginfo/2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + dev: true + + /signal-exit/3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: false + + /signum/1.0.0: + resolution: {integrity: sha512-yodFGwcyt59XRh7w5W3jPcIQb3Bwi21suEfT7MAWnBX3iCdklJpgDgvGT9o04UonglZN5SNMfJFkHIR/jO8GHw==} + dev: false + + /sirv/2.0.3: + resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==} + engines: {node: '>= 10'} + dependencies: + '@polka/url': 1.0.0-next.24 + mrmime: 1.0.1 + totalist: 3.0.1 + dev: true + + /sisteransi/1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: false + + /slash/3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + /slash/4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + dev: false + + /sockjs/0.3.24: + resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} + dependencies: + faye-websocket: 0.11.4 + uuid: 8.3.2 + websocket-driver: 0.7.4 + dev: false + + /source-list-map/2.0.1: + resolution: {integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==} + dev: false + + /source-map-js/1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + + /source-map-loader/3.0.2_webpack@5.89.0: + resolution: {integrity: sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + dependencies: + abab: 2.0.6 + iconv-lite: 0.6.3 + source-map-js: 1.0.2 + webpack: 5.89.0 + dev: false + + /source-map-resolve/0.6.0: + resolution: {integrity: sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==} + deprecated: See https://github.com/lydell/source-map-resolve#deprecated + dependencies: + atob: 2.1.2 + decode-uri-component: 0.2.2 + dev: false + + /source-map-support/0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: false + + /source-map/0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + dev: false + + /source-map/0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + /source-map/0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + dev: false + + /source-map/0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + dependencies: + whatwg-url: 7.1.0 + dev: false + + /sourcemap-codec/1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + deprecated: Please use @jridgewell/sourcemap-codec instead + dev: false + + /spdy-transport/3.0.0: + resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} + dependencies: + debug: 4.3.4 + detect-node: 2.1.0 + hpack.js: 2.1.6 + obuf: 1.1.2 + readable-stream: 3.6.2 + wbuf: 1.7.3 + transitivePeerDependencies: + - supports-color + dev: false + + /spdy/4.0.2: + resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} + engines: {node: '>=6.0.0'} + dependencies: + debug: 4.3.4 + handle-thing: 2.0.1 + http-deceiver: 1.2.7 + select-hose: 2.0.0 + spdy-transport: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: false + + /sprintf-js/1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: false + + /stable/0.1.8: + resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} + deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' + dev: false + + /stack-trace/0.0.9: + resolution: {integrity: sha512-vjUc6sfgtgY0dxCdnc40mK6Oftjo9+2K8H/NG81TMhgL392FtiPA9tn9RLyTxXmTLPJPjF3VyzFp6bsWFLisMQ==} + dev: false + + /stack-utils/2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + dependencies: + escape-string-regexp: 2.0.0 + + /stackback/0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + dev: true + + /stackframe/1.3.4: + resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} + dev: false + + /static-eval/2.0.2: + resolution: {integrity: sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==} + dependencies: + escodegen: 1.14.3 + dev: false + + /static-eval/2.1.0: + resolution: {integrity: sha512-agtxZ/kWSsCkI5E4QifRwsaPs0P0JmZV6dkLz6ILYfFYQGn+5plctanRN+IC8dJRiFkyXHrwEE3W9Wmx67uDbw==} + dependencies: + escodegen: 1.14.3 + dev: false + + /statuses/1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: false + + /statuses/2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + dev: false + + /std-env/3.6.0: + resolution: {integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg==} + dev: true + + /stop-iteration-iterator/1.0.0: + resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} + engines: {node: '>= 0.4'} + dependencies: + internal-slot: 1.0.6 + dev: false + + /stream-parser/0.3.1: + resolution: {integrity: sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==} + dependencies: + debug: 2.6.9 + transitivePeerDependencies: + - supports-color + dev: false + + /stream-shift/1.0.1: + resolution: {integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==} + dev: false + + /string-length/4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + dev: false + + /string-length/5.0.1: + resolution: {integrity: sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==} + engines: {node: '>=12.20'} + dependencies: + char-regex: 2.0.1 + strip-ansi: 7.1.0 + dev: false + + /string-natural-compare/3.0.1: + resolution: {integrity: sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==} + dev: false + + /string-split-by/1.0.0: + resolution: {integrity: sha512-KaJKY+hfpzNyet/emP81PJA9hTVSfxNLS9SFTWxdCnnW1/zOOwiV248+EfoX7IQFcBaOp4G5YE6xTJMF+pLg6A==} + dependencies: + parenthesis: 3.1.8 + dev: false + + /string-width/4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: false + + /string.prototype.matchall/4.0.10: + resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + has-symbols: 1.0.3 + internal-slot: 1.0.6 + regexp.prototype.flags: 1.5.1 + set-function-name: 2.0.1 + side-channel: 1.0.4 + + /string.prototype.trim/1.2.8: + resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + + /string.prototype.trimend/1.0.7: + resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + + /string.prototype.trimstart/1.0.7: + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + + /string_decoder/0.10.31: + resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} + dev: false + + /string_decoder/1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + dependencies: + safe-buffer: 5.1.2 + dev: false + + /string_decoder/1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + dev: false + + /stringify-object/3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} + dependencies: + get-own-enumerable-property-symbols: 3.0.2 + is-obj: 1.0.1 + is-regexp: 1.0.0 + dev: false + + /strip-ansi/3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: 2.1.1 + dev: true + + /strip-ansi/6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + + /strip-ansi/7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + dev: false + + /strip-bom/3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + /strip-bom/4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + dev: false + + /strip-comments/2.0.1: + resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==} + engines: {node: '>=10'} + dev: false + + /strip-final-newline/2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: false + + /strip-indent/3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + dependencies: + min-indent: 1.0.1 + dev: false + + /strip-json-comments/3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + /strip-literal/1.3.0: + resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} + dependencies: + acorn: 8.11.2 + dev: true + + /strongly-connected-components/1.0.1: + resolution: {integrity: sha512-i0TFx4wPcO0FwX+4RkLJi1MxmcTv90jNZgxMu9XRnMXMeFUY1VJlIoXpZunPUvUUqbCT1pg5PEkFqqpcaElNaA==} + dev: false + + /style-loader/3.3.3_webpack@5.89.0: + resolution: {integrity: sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + dependencies: + webpack: 5.89.0 + dev: false + + /stylehacks/5.1.1_postcss@8.4.32: + resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.22.2 + postcss: 8.4.32 + postcss-selector-parser: 6.0.13 + dev: false + + /stylis/4.2.0: + resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} + dev: false + + /sucrase/3.34.0: + resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} + engines: {node: '>=8'} + hasBin: true + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + commander: 4.1.1 + glob: 7.1.6 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + dev: false + + /supercluster/7.1.5: + resolution: {integrity: sha512-EulshI3pGUM66o6ZdH3ReiFcvHpM3vAigyK+vcxdjpJyEbIIrtbmBdY23mGgnI24uXiGFvrGq9Gkum/8U7vJWg==} + dependencies: + kdbush: 3.0.0 + dev: false + + /superscript-text/1.0.0: + resolution: {integrity: sha512-gwu8l5MtRZ6koO0icVTlmN5pm7Dhh1+Xpe9O4x6ObMAsW+3jPbW14d1DsBq1F4wiI+WOFjXF35pslgec/G8yCQ==} + dev: false + + /supports-color/2.0.0: + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} + engines: {node: '>=0.8.0'} + dev: true + + /supports-color/5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + + /supports-color/7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + + /supports-color/8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + dev: false + + /supports-hyperlinks/2.3.0: + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + dev: false + + /supports-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + /svg-arc-to-cubic-bezier/3.2.0: + resolution: {integrity: sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g==} + dev: false + + /svg-parser/2.0.4: + resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} + dev: false + + /svg-path-bounds/1.0.2: + resolution: {integrity: sha512-H4/uAgLWrppIC0kHsb2/dWUYSmb4GE5UqH06uqWBcg6LBjX2fu0A8+JrO2/FJPZiSsNOKZAhyFFgsLTdYUvSqQ==} + dependencies: + abs-svg-path: 0.1.1 + is-svg-path: 1.0.2 + normalize-svg-path: 1.1.0 + parse-svg-path: 0.1.2 + dev: false + + /svg-path-sdf/1.1.3: + resolution: {integrity: sha512-vJJjVq/R5lSr2KLfVXVAStktfcfa1pNFjFOgyJnzZFXlO/fDZ5DmM8FpnSKKzLPfEYTVeXuVBTHF296TpxuJVg==} + dependencies: + bitmap-sdf: 1.0.4 + draw-svg-path: 1.0.0 + is-svg-path: 1.0.2 + parse-svg-path: 0.1.2 + svg-path-bounds: 1.0.2 + dev: false + + /svgo/1.3.2: + resolution: {integrity: sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==} + engines: {node: '>=4.0.0'} + deprecated: This SVGO version is no longer supported. Upgrade to v2.x.x. + hasBin: true + dependencies: + chalk: 2.4.2 + coa: 2.0.2 + css-select: 2.1.0 + css-select-base-adapter: 0.1.1 + css-tree: 1.0.0-alpha.37 + csso: 4.2.0 + js-yaml: 3.14.1 + mkdirp: 0.5.6 + object.values: 1.1.7 + sax: 1.2.4 + stable: 0.1.8 + unquote: 1.1.1 + util.promisify: 1.0.1 + dev: false + + /svgo/2.8.0: + resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} + engines: {node: '>=10.13.0'} + hasBin: true + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 4.3.0 + css-tree: 1.1.3 + csso: 4.2.0 + picocolors: 1.0.0 + stable: 0.1.8 + dev: false + + /symbol-tree/3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + + /tailwindcss/3.3.6: + resolution: {integrity: sha512-AKjF7qbbLvLaPieoKeTjG1+FyNZT6KaJMJPFeQyLfIp7l82ggH1fbHJSsYIvnbTFQOlkh+gBYpyby5GT1LIdLw==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.5.3 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.0 + lilconfig: 2.1.0 + micromatch: 4.0.5 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.0.0 + postcss: 8.4.32 + postcss-import: 15.1.0_postcss@8.4.32 + postcss-js: 4.0.1_postcss@8.4.32 + postcss-load-config: 4.0.2_postcss@8.4.32 + postcss-nested: 6.0.1_postcss@8.4.32 + postcss-selector-parser: 6.0.13 + resolve: 1.22.8 + sucrase: 3.34.0 + transitivePeerDependencies: + - ts-node + dev: false + + /tapable/1.1.3: + resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} + engines: {node: '>=6'} + dev: false + + /tapable/2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + dev: false + + /temp-dir/2.0.0: + resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} + engines: {node: '>=8'} + dev: false + + /tempy/0.6.0: + resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==} + engines: {node: '>=10'} + dependencies: + is-stream: 2.0.1 + temp-dir: 2.0.0 + type-fest: 0.16.0 + unique-string: 2.0.0 + dev: false + + /terminal-link/2.1.1: + resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} + engines: {node: '>=8'} + dependencies: + ansi-escapes: 4.3.2 + supports-hyperlinks: 2.3.0 + dev: false + + /terser-webpack-plugin/5.3.9_webpack@5.89.0: + resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + dependencies: + '@jridgewell/trace-mapping': 0.3.20 + jest-worker: 27.5.1 + schema-utils: 3.3.0 + serialize-javascript: 6.0.1 + terser: 5.26.0 + webpack: 5.89.0 + dev: false + + /terser/5.26.0: + resolution: {integrity: sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.5 + acorn: 8.11.2 + commander: 2.20.3 + source-map-support: 0.5.21 + dev: false + + /test-exclude/6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + + /text-table/0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + /thenify-all/1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + dependencies: + thenify: 3.3.1 + dev: false + + /thenify/3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + dependencies: + any-promise: 1.3.0 + dev: false + + /throat/6.0.2: + resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==} + dev: false + + /through2/0.6.5: + resolution: {integrity: sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==} + dependencies: + readable-stream: 1.0.34 + xtend: 4.0.2 + dev: false + + /through2/2.0.5: + resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + dependencies: + readable-stream: 2.3.8 + xtend: 4.0.2 + dev: false + + /thunky/1.1.0: + resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} + dev: false + + /tiny-warning/1.0.3: + resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} + dev: false + + /tinybench/2.5.1: + resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} + dev: true + + /tinycolor2/1.6.0: + resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} + dev: false + + /tinypool/0.5.0: + resolution: {integrity: sha512-paHQtnrlS1QZYKF/GnLoOM/DN9fqaGOFbCbxzAhwniySnzl9Ebk8w73/dd34DAhe/obUbPAOldTyYXQZxnPBPQ==} + engines: {node: '>=14.0.0'} + dev: true + + /tinyqueue/2.0.3: + resolution: {integrity: sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==} + dev: false + + /tinyspy/2.2.0: + resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} + engines: {node: '>=14.0.0'} + dev: true + + /tmpl/1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + dev: false + + /to-fast-properties/2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: false + + /to-float32/1.1.0: + resolution: {integrity: sha512-keDnAusn/vc+R3iEiSDw8TOF7gPiTLdK1ArvWtYbJQiVfmRg6i/CAvbKq3uIS0vWroAC7ZecN3DjQKw3aSklUg==} + dev: false + + /to-px/1.0.1: + resolution: {integrity: sha512-2y3LjBeIZYL19e5gczp14/uRWFDtDUErJPVN3VU9a7SJO+RjGRtYR47aMN2bZgGlxvW4ZcEz2ddUPVHXcMfuXw==} + dependencies: + parse-unit: 1.0.1 + dev: false + + /to-regex-range/5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + + /toidentifier/1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + dev: false + + /topojson-client/3.1.0: + resolution: {integrity: sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==} + hasBin: true + dependencies: + commander: 2.20.3 + dev: false + + /toposort/2.0.2: + resolution: {integrity: sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==} + dev: false + + /totalist/3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + dev: true + + /tough-cookie/4.1.3: + resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==} + engines: {node: '>=6'} + dependencies: + psl: 1.9.0 + punycode: 2.3.1 + universalify: 0.2.0 + url-parse: 1.5.10 + + /tr46/1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + dependencies: + punycode: 2.3.1 + dev: false + + /tr46/2.1.0: + resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} + engines: {node: '>=8'} + dependencies: + punycode: 2.3.1 + dev: false + + /tr46/4.1.1: + resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==} + engines: {node: '>=14'} + dependencies: + punycode: 2.3.1 + + /tryer/1.0.1: + resolution: {integrity: sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==} + dev: false + + /ts-interface-checker/0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + dev: false + + /tsconfig-paths/3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + + /tslib/1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + + /tslib/2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + dev: false + + /tsutils/3.21.0_typescript@4.7.4: + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + dependencies: + tslib: 1.14.1 + typescript: 4.7.4 + + /type-check/0.3.2: + resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.1.2 + dev: false + + /type-check/0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + + /type-detect/4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + + /type-fest/0.16.0: + resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} + engines: {node: '>=10'} + dev: false + + /type-fest/0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + /type-fest/0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + dev: false + + /type-is/1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: false + + /type/1.2.0: + resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==} + dev: false + + /type/2.7.2: + resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} + dev: false + + /typed-array-buffer/1.0.0: + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 + + /typed-array-byte-length/1.0.0: + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + + /typed-array-byte-offset/1.0.0: + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + + /typed-array-length/1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + dependencies: + call-bind: 1.0.5 + for-each: 0.3.3 + is-typed-array: 1.1.12 + + /typedarray-pool/1.2.0: + resolution: {integrity: sha512-YTSQbzX43yvtpfRtIDAYygoYtgT+Rpjuxy9iOpczrjpXLgGoyG7aS5USJXV2d3nn8uHTeb9rXDvzS27zUg5KYQ==} + dependencies: + bit-twiddle: 1.0.2 + dup: 1.0.0 + dev: false + + /typedarray-to-buffer/3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + dependencies: + is-typedarray: 1.0.0 + dev: false + + /typedarray/0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + dev: false + + /typescript-eslint/0.0.1-alpha.0: + resolution: {integrity: sha512-1hNKM37dAWML/2ltRXupOq2uqcdRQyDFphl+341NTPXFLLLiDhErXx8VtaSLh3xP7SyHZdcCgpt9boYYVb3fQg==} + dev: true + + /typescript/4.7.4: + resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==} + engines: {node: '>=4.2.0'} + hasBin: true + + /ufo/1.3.2: + resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} + dev: true + + /unbox-primitive/1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.5 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + + /underscore/1.12.1: + resolution: {integrity: sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==} + dev: false + + /unicode-canonical-property-names-ecmascript/2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + dev: false + + /unicode-match-property-ecmascript/2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.0 + unicode-property-aliases-ecmascript: 2.1.0 + dev: false + + /unicode-match-property-value-ecmascript/2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} + dev: false + + /unicode-property-aliases-ecmascript/2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + dev: false + + /unique-string/2.0.0: + resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} + engines: {node: '>=8'} + dependencies: + crypto-random-string: 2.0.0 + dev: false + + /universalify/0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + + /universalify/2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: false + + /unpipe/1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: false + + /unquote/1.1.1: + resolution: {integrity: sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==} + dev: false + + /upath/1.2.0: + resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} + engines: {node: '>=4'} + dev: false + + /update-browserslist-db/1.0.13_browserslist@4.22.2: + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.22.2 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: false + + /update-diff/1.1.0: + resolution: {integrity: sha512-rCiBPiHxZwT4+sBhEbChzpO5hYHjm91kScWgdHf4Qeafs6Ba7MBl+d9GlGv72bcTZQO0sLmtQS1pHSWoCLtN/A==} + dev: false + + /uri-js/4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.1 + + /url-parse/1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + + /util-deprecate/1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: false + + /util.promisify/1.0.1: + resolution: {integrity: sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==} + dependencies: + define-properties: 1.2.1 + es-abstract: 1.22.3 + has-symbols: 1.0.3 + object.getownpropertydescriptors: 2.1.7 + dev: false + + /utila/0.4.0: + resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} + dev: false + + /utils-merge/1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + dev: false + + /uuid/8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + dev: false + + /v8-compile-cache/2.4.0: + resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==} + + /v8-to-istanbul/8.1.1: + resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==} + engines: {node: '>=10.12.0'} + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 1.9.0 + source-map: 0.7.4 + dev: false + + /v8-to-istanbul/9.2.0: + resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + engines: {node: '>=10.12.0'} + dependencies: + '@jridgewell/trace-mapping': 0.3.20 + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 2.0.0 + dev: true + + /vary/1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: false + + /vite-node/0.32.4_@types+node@16.11.45: + resolution: {integrity: sha512-L2gIw+dCxO0LK14QnUMoqSYpa9XRGnTTTDjW2h19Mr+GR0EFj4vx52W41gFXfMLqpA00eK4ZjOVYo1Xk//LFEw==} + engines: {node: '>=v14.18.0'} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + mlly: 1.4.2 + pathe: 1.1.1 + picocolors: 1.0.0 + vite: 4.5.1_@types+node@16.11.45 + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite/4.5.1_@types+node@16.11.45: + resolution: {integrity: sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 16.11.45 + esbuild: 0.18.20 + postcss: 8.4.32 + rollup: 3.29.4 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vite/5.0.10_@types+node@16.11.45: + resolution: {integrity: sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 16.11.45 + esbuild: 0.19.9 + postcss: 8.4.32 + rollup: 4.9.1 + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /vitest/0.32.4_o6kyuis2qfnfbtw6d3u5hromrm: + resolution: {integrity: sha512-3czFm8RnrsWwIzVDu/Ca48Y/M+qh3vOnF16czJm98Q/AN1y3B6PBsyV8Re91Ty5s7txKNjEhpgtGPcfdbh2MZg==} + engines: {node: '>=v14.18.0'} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@vitest/browser': '*' + '@vitest/ui': '*' + happy-dom: '*' + jsdom: '*' + playwright: '*' + safaridriver: '*' + webdriverio: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + playwright: + optional: true + safaridriver: + optional: true + webdriverio: + optional: true + dependencies: + '@types/chai': 4.3.11 + '@types/chai-subset': 1.3.5 + '@types/node': 16.11.45 + '@vitest/expect': 0.32.4 + '@vitest/runner': 0.32.4 + '@vitest/snapshot': 0.32.4 + '@vitest/spy': 0.32.4 + '@vitest/ui': 0.32.4_vitest@0.32.4 + '@vitest/utils': 0.32.4 + acorn: 8.11.2 + acorn-walk: 8.3.1 + cac: 6.7.14 + chai: 4.3.10 + debug: 4.3.4 + jsdom: 22.1.0 + local-pkg: 0.4.3 + magic-string: 0.30.5 + pathe: 1.1.1 + picocolors: 1.0.0 + std-env: 3.6.0 + strip-literal: 1.3.0 + tinybench: 2.5.1 + tinypool: 0.5.0 + vite: 4.5.1_@types+node@16.11.45 + vite-node: 0.32.4_@types+node@16.11.45 + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vt-pbf/3.1.3: + resolution: {integrity: sha512-2LzDFzt0mZKZ9IpVF2r69G9bXaP2Q2sArJCmcCgvfTdCCZzSyz4aCLoQyUilu37Ll56tCblIZrXFIjNUpGIlmA==} + dependencies: + '@mapbox/point-geometry': 0.1.0 + '@mapbox/vector-tile': 1.3.1 + pbf: 3.2.1 + dev: false + + /vue-eslint-parser/8.3.0_eslint@8.20.0: + resolution: {integrity: sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + debug: 4.3.4 + eslint: 8.20.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + lodash: 4.17.21 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + dev: true + + /w3c-hr-time/1.0.2: + resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} + deprecated: Use your platform's native performance.now() and performance.timeOrigin. + dependencies: + browser-process-hrtime: 1.0.0 + dev: false + + /w3c-xmlserializer/2.0.0: + resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} + engines: {node: '>=10'} + dependencies: + xml-name-validator: 3.0.0 + dev: false + + /w3c-xmlserializer/4.0.0: + resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==} + engines: {node: '>=14'} + dependencies: + xml-name-validator: 4.0.0 + + /walker/1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + dependencies: + makeerror: 1.0.12 + dev: false + + /watchpack/2.4.0: + resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} + engines: {node: '>=10.13.0'} + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + dev: false + + /wbuf/1.7.3: + resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} + dependencies: + minimalistic-assert: 1.0.1 + dev: false + + /weak-map/1.0.8: + resolution: {integrity: sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw==} + dev: false + + /web-vitals/3.0.3: + resolution: {integrity: sha512-8K6cl3alkVhwv7RQm3WAWFzvP9dBTH4CwOE7G3DfQDEnBJTdtNgX5XMqgE7aE79wac/kJ8fHWftUfH3AVxxbBw==} + dev: false + + /webgl-context/2.2.0: + resolution: {integrity: sha512-q/fGIivtqTT7PEoF07axFIlHNk/XCPaYpq64btnepopSWvKNFkoORlQYgqDigBIuGA1ExnFd/GnSUnBNEPQY7Q==} + dependencies: + get-canvas-context: 1.0.2 + dev: false + + /webidl-conversions/4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + dev: false + + /webidl-conversions/5.0.0: + resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} + engines: {node: '>=8'} + dev: false + + /webidl-conversions/6.1.0: + resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} + engines: {node: '>=10.4'} + dev: false + + /webidl-conversions/7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + + /webpack-dev-middleware/5.3.3_webpack@5.89.0: + resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + dependencies: + colorette: 2.0.20 + memfs: 3.5.3 + mime-types: 2.1.35 + range-parser: 1.2.1 + schema-utils: 4.2.0 + webpack: 5.89.0 + dev: false + + /webpack-dev-server/4.15.1_webpack@5.89.0: + resolution: {integrity: sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==} + engines: {node: '>= 12.13.0'} + hasBin: true + peerDependencies: + webpack: ^4.37.0 || ^5.0.0 + webpack-cli: '*' + peerDependenciesMeta: + webpack: + optional: true + webpack-cli: + optional: true + dependencies: + '@types/bonjour': 3.5.13 + '@types/connect-history-api-fallback': 1.5.4 + '@types/express': 4.17.21 + '@types/serve-index': 1.9.4 + '@types/serve-static': 1.15.5 + '@types/sockjs': 0.3.36 + '@types/ws': 8.5.10 + ansi-html-community: 0.0.8 + bonjour-service: 1.1.1 + chokidar: 3.5.3 + colorette: 2.0.20 + compression: 1.7.4 + connect-history-api-fallback: 2.0.0 + default-gateway: 6.0.3 + express: 4.18.2 + graceful-fs: 4.2.11 + html-entities: 2.4.0 + http-proxy-middleware: 2.0.6_@types+express@4.17.21 + ipaddr.js: 2.1.0 + launch-editor: 2.6.1 + open: 8.4.2 + p-retry: 4.6.2 + rimraf: 3.0.2 + schema-utils: 4.2.0 + selfsigned: 2.4.1 + serve-index: 1.9.1 + sockjs: 0.3.24 + spdy: 4.0.2 + webpack: 5.89.0 + webpack-dev-middleware: 5.3.3_webpack@5.89.0 + ws: 8.15.1 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: false + + /webpack-manifest-plugin/4.1.1_webpack@5.89.0: + resolution: {integrity: sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==} + engines: {node: '>=12.22.0'} + peerDependencies: + webpack: ^4.44.2 || ^5.47.0 + dependencies: + tapable: 2.2.1 + webpack: 5.89.0 + webpack-sources: 2.3.1 + dev: false + + /webpack-sources/1.4.3: + resolution: {integrity: sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==} + dependencies: + source-list-map: 2.0.1 + source-map: 0.6.1 + dev: false + + /webpack-sources/2.3.1: + resolution: {integrity: sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==} + engines: {node: '>=10.13.0'} + dependencies: + source-list-map: 2.0.1 + source-map: 0.6.1 + dev: false + + /webpack-sources/3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + dev: false + + /webpack/5.89.0: + resolution: {integrity: sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.5 + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/wasm-edit': 1.11.6 + '@webassemblyjs/wasm-parser': 1.11.6 + acorn: 8.11.2 + acorn-import-assertions: 1.9.0_acorn@8.11.2 + browserslist: 4.22.2 + chrome-trace-event: 1.0.3 + enhanced-resolve: 5.15.0 + es-module-lexer: 1.4.1 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.3.0 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.9_webpack@5.89.0 + watchpack: 2.4.0 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + dev: false + + /websocket-driver/0.7.4: + resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} + engines: {node: '>=0.8.0'} + dependencies: + http-parser-js: 0.5.8 + safe-buffer: 5.2.1 + websocket-extensions: 0.1.4 + dev: false + + /websocket-extensions/0.1.4: + resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} + engines: {node: '>=0.8.0'} + dev: false + + /whatwg-encoding/1.0.5: + resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} + dependencies: + iconv-lite: 0.4.24 + dev: false + + /whatwg-encoding/2.0.0: + resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} + engines: {node: '>=12'} + dependencies: + iconv-lite: 0.6.3 + + /whatwg-fetch/3.6.20: + resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} + dev: false + + /whatwg-mimetype/2.3.0: + resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} + dev: false + + /whatwg-mimetype/3.0.0: + resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} + engines: {node: '>=12'} + + /whatwg-url/12.0.1: + resolution: {integrity: sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==} + engines: {node: '>=14'} + dependencies: + tr46: 4.1.1 + webidl-conversions: 7.0.0 + + /whatwg-url/7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + dev: false + + /whatwg-url/8.7.0: + resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} + engines: {node: '>=10'} + dependencies: + lodash: 4.17.21 + tr46: 2.1.0 + webidl-conversions: 6.1.0 + dev: false + + /which-boxed-primitive/1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + + /which-builtin-type/1.1.3: + resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} + engines: {node: '>= 0.4'} + dependencies: + function.prototype.name: 1.1.6 + has-tostringtag: 1.0.0 + is-async-function: 2.0.0 + is-date-object: 1.0.5 + is-finalizationregistry: 1.0.2 + is-generator-function: 1.0.10 + is-regex: 1.1.4 + is-weakref: 1.0.2 + isarray: 2.0.5 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.1 + which-typed-array: 1.1.13 + dev: false + + /which-collection/1.0.1: + resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + dependencies: + is-map: 2.0.2 + is-set: 2.0.2 + is-weakmap: 2.0.1 + is-weakset: 2.0.2 + dev: false + + /which-typed-array/1.1.13: + resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + + /which/1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: false + + /which/2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + + /why-is-node-running/2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + + /word-wrap/1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + dev: false + + /workbox-background-sync/6.6.0: + resolution: {integrity: sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==} + dependencies: + idb: 7.1.1 + workbox-core: 6.6.0 + dev: false + + /workbox-broadcast-update/6.6.0: + resolution: {integrity: sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==} + dependencies: + workbox-core: 6.6.0 + dev: false + + /workbox-build/6.6.0: + resolution: {integrity: sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==} + engines: {node: '>=10.0.0'} + dependencies: + '@apideck/better-ajv-errors': 0.3.6_ajv@8.12.0 + '@babel/core': 7.23.6 + '@babel/preset-env': 7.23.6_@babel+core@7.23.6 + '@babel/runtime': 7.23.6 + '@rollup/plugin-babel': 5.3.1_jwy5m3qlkfrooq4gkpa74wm5ga + '@rollup/plugin-node-resolve': 11.2.1_rollup@2.79.1 + '@rollup/plugin-replace': 2.4.2_rollup@2.79.1 + '@surma/rollup-plugin-off-main-thread': 2.2.3 + ajv: 8.12.0 + common-tags: 1.8.2 + fast-json-stable-stringify: 2.1.0 + fs-extra: 9.1.0 + glob: 7.2.3 + lodash: 4.17.21 + pretty-bytes: 5.6.0 + rollup: 2.79.1 + rollup-plugin-terser: 7.0.2_rollup@2.79.1 + source-map: 0.8.0-beta.0 + stringify-object: 3.3.0 + strip-comments: 2.0.1 + tempy: 0.6.0 + upath: 1.2.0 + workbox-background-sync: 6.6.0 + workbox-broadcast-update: 6.6.0 + workbox-cacheable-response: 6.6.0 + workbox-core: 6.6.0 + workbox-expiration: 6.6.0 + workbox-google-analytics: 6.6.0 + workbox-navigation-preload: 6.6.0 + workbox-precaching: 6.6.0 + workbox-range-requests: 6.6.0 + workbox-recipes: 6.6.0 + workbox-routing: 6.6.0 + workbox-strategies: 6.6.0 + workbox-streams: 6.6.0 + workbox-sw: 6.6.0 + workbox-window: 6.6.0 + transitivePeerDependencies: + - '@types/babel__core' + - supports-color + dev: false + + /workbox-cacheable-response/6.6.0: + resolution: {integrity: sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==} + deprecated: workbox-background-sync@6.6.0 + dependencies: + workbox-core: 6.6.0 + dev: false + + /workbox-core/6.6.0: + resolution: {integrity: sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==} + dev: false + + /workbox-expiration/6.6.0: + resolution: {integrity: sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==} + dependencies: + idb: 7.1.1 + workbox-core: 6.6.0 + dev: false + + /workbox-google-analytics/6.6.0: + resolution: {integrity: sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==} + dependencies: + workbox-background-sync: 6.6.0 + workbox-core: 6.6.0 + workbox-routing: 6.6.0 + workbox-strategies: 6.6.0 + dev: false + + /workbox-navigation-preload/6.6.0: + resolution: {integrity: sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==} + dependencies: + workbox-core: 6.6.0 + dev: false + + /workbox-precaching/6.6.0: + resolution: {integrity: sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==} + dependencies: + workbox-core: 6.6.0 + workbox-routing: 6.6.0 + workbox-strategies: 6.6.0 + dev: false + + /workbox-range-requests/6.6.0: + resolution: {integrity: sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==} + dependencies: + workbox-core: 6.6.0 + dev: false + + /workbox-recipes/6.6.0: + resolution: {integrity: sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==} + dependencies: + workbox-cacheable-response: 6.6.0 + workbox-core: 6.6.0 + workbox-expiration: 6.6.0 + workbox-precaching: 6.6.0 + workbox-routing: 6.6.0 + workbox-strategies: 6.6.0 + dev: false + + /workbox-routing/6.6.0: + resolution: {integrity: sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==} + dependencies: + workbox-core: 6.6.0 + dev: false + + /workbox-strategies/6.6.0: + resolution: {integrity: sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==} + dependencies: + workbox-core: 6.6.0 + dev: false + + /workbox-streams/6.6.0: + resolution: {integrity: sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==} + dependencies: + workbox-core: 6.6.0 + workbox-routing: 6.6.0 + dev: false + + /workbox-sw/6.6.0: + resolution: {integrity: sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==} + dev: false + + /workbox-webpack-plugin/6.6.0_webpack@5.89.0: + resolution: {integrity: sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==} + engines: {node: '>=10.0.0'} + peerDependencies: + webpack: ^4.4.0 || ^5.9.0 + dependencies: + fast-json-stable-stringify: 2.1.0 + pretty-bytes: 5.6.0 + upath: 1.2.0 + webpack: 5.89.0 + webpack-sources: 1.4.3 + workbox-build: 6.6.0 + transitivePeerDependencies: + - '@types/babel__core' + - supports-color + dev: false + + /workbox-window/6.6.0: + resolution: {integrity: sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==} + dependencies: + '@types/trusted-types': 2.0.7 + workbox-core: 6.6.0 + dev: false + + /world-calendars/1.0.3: + resolution: {integrity: sha512-sAjLZkBnsbHkHWVhrsCU5Sa/EVuf9QqgvrN8zyJ2L/F9FR9Oc6CvVK0674+PGAtmmmYQMH98tCUSO4QLQv3/TQ==} + dependencies: + object-assign: 4.1.1 + dev: false + + /wrap-ansi/7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: false + + /wrappy/1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + /write-file-atomic/3.0.3: + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + dependencies: + imurmurhash: 0.1.4 + is-typedarray: 1.0.0 + signal-exit: 3.0.7 + typedarray-to-buffer: 3.1.5 + dev: false + + /ws/7.5.9: + resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: false + + /ws/8.15.1: + resolution: {integrity: sha512-W5OZiCjXEmk0yZ66ZN82beM5Sz7l7coYxpRkzS+p9PP+ToQry8szKh+61eNktr7EA9DOwvFGhfC605jDHbP6QQ==} + 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 + + /xml-name-validator/3.0.0: + resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} + dev: false + + /xml-name-validator/4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + + /xmlchars/2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + + /xtend/2.2.0: + resolution: {integrity: sha512-SLt5uylT+4aoXxXuwtQp5ZnMMzhDb1Xkg4pEqc00WUJCQifPfV9Ub1VrNhp9kXkrjZD2I2Hl8WnjP37jzZLPZw==} + engines: {node: '>=0.4'} + dev: false + + /xtend/4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + dev: false + + /y18n/5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: false + + /yallist/3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: false + + /yallist/4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + /yaml/1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + dev: false + + /yaml/2.3.4: + resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} + engines: {node: '>= 14'} + dev: false + + /yargs-parser/20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + dev: false + + /yargs/16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + dependencies: + cliui: 7.0.4 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 20.2.9 + dev: false + + /yocto-queue/0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: false + + /yocto-queue/1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: true + + /yup/0.32.11: + resolution: {integrity: sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg==} + engines: {node: '>=10'} + dependencies: + '@babel/runtime': 7.23.6 + '@types/lodash': 4.14.202 + lodash: 4.17.21 + lodash-es: 4.17.21 + nanoclone: 0.2.1 + property-expr: 2.0.6 + toposort: 2.0.2 + dev: false diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 0d9c4149..10f7d504 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -145,7 +145,7 @@ function App(): React.ReactElement { const theme = useTheme(); return (
- + {/* */}
@@ -153,7 +153,7 @@ function App(): React.ReactElement { - + {/* */}
); } @@ -182,10 +182,10 @@ export default function ToggleColorMode() { ); return ( - - + // + // - - + // + // ); } diff --git a/frontend/src/components/fields/Database.tsx b/frontend/src/components/fields/Database.tsx index 28f5d2d8..77c82014 100644 --- a/frontend/src/components/fields/Database.tsx +++ b/frontend/src/components/fields/Database.tsx @@ -1,8 +1,7 @@ -import React from "react"; -import FormControl from "@mui/material/FormControl"; -import InputLabel from "@mui/material/InputLabel"; -import MenuItem from "@mui/material/MenuItem"; -import Select from "@mui/material/Select"; +import Option from "@mui/joy/Option"; +import Select from "@mui/joy/Select"; +import FormLabel from "@mui/joy/FormLabel"; +import FormControl from "@mui/joy/FormControl"; import { Control, Controller } from "react-hook-form"; import { Database as TDatabase, FormValues } from "../types"; @@ -12,10 +11,8 @@ interface DatabaseProps { export const Database: React.FC = ({ control }) => { return ( - - - Database - + + Database = ({ control }) => { )} /> diff --git a/frontend/src/components/fields/Mode.tsx b/frontend/src/components/fields/Mode.tsx index dd28235f..bde4fa4c 100644 --- a/frontend/src/components/fields/Mode.tsx +++ b/frontend/src/components/fields/Mode.tsx @@ -1,8 +1,9 @@ import React from "react"; -import FormControl from "@mui/material/FormControl"; -import InputLabel from "@mui/material/InputLabel"; -import MenuItem from "@mui/material/MenuItem"; -import Select from "@mui/material/Select"; +import FormControl from "@mui/joy/FormControl"; +import FormLabel from "@mui/joy/FormLabel"; +import Select from "@mui/joy/Select"; +import Option from "@mui/joy/Option"; + import { Control, Controller } from "react-hook-form"; import { FormValues } from "../types"; interface DatabaseProps { @@ -11,10 +12,8 @@ interface DatabaseProps { export const Mode: React.FC = ({ control }) => { return ( - - - Mode - + + Mode = ({ control }) => { )} /> diff --git a/frontend/src/components/fields/MoleculeSelector/MoleculeSelector.tsx b/frontend/src/components/fields/MoleculeSelector/MoleculeSelector.tsx index a7dd9731..9b68b9da 100644 --- a/frontend/src/components/fields/MoleculeSelector/MoleculeSelector.tsx +++ b/frontend/src/components/fields/MoleculeSelector/MoleculeSelector.tsx @@ -1,6 +1,7 @@ import React, { useEffect, useState } from "react"; -import TextField from "@mui/material/TextField"; -import Autocomplete from "@mui/material/Autocomplete"; +import FormControl from "@mui/joy/FormControl"; +import FormLabel from "@mui/joy/FormLabel"; +import Autocomplete from "@mui/joy/Autocomplete"; import { Control, FieldError } from "react-hook-form"; import { addSubscriptsToMolecule, @@ -15,6 +16,7 @@ import { moleculeOptionsHitemp, } from "./molecules"; + export interface MoleculeSelectorProps { validationError?: FieldError; onChange: (...event: string[]) => void; @@ -49,37 +51,32 @@ export const MoleculeSelector: React.FC = ({ }, [isNonEquilibrium, databaseWatch]); return ( - - addSubscriptsToMolecule(molecule) - )} - renderInput={(params) => ( - - )} - value={addSubscriptsToMolecule(value || "")} - inputValue={input} - onInputChange={(_, newInput) => { - setInput(addSubscriptsToMolecule(newInput.toUpperCase())); - }} - renderOption={(props, value) => { - return
  • {addSubscriptsToMolecule(value)}
  • ; - }} - onChange={( - _: React.SyntheticEvent, - value: string | null - ) => { - const newMolecule = value ? removeSubscriptsFromMolecule(value) : ""; - onChange(newMolecule); - }} - /> + + Molecule + + addSubscriptsToMolecule(molecule) + )} + error={validationError !== undefined} + autoFocus={autofocus} + value={addSubscriptsToMolecule(value || "")} + inputValue={input} + onInputChange={(_, newInput) => { + setInput(addSubscriptsToMolecule(newInput.toUpperCase())); + }} + renderOption={(props, value) => { + return
  • {addSubscriptsToMolecule(value)}
  • ; + }} + onChange={( + _: React.SyntheticEvent, + value: string | null + ) => { + const newMolecule = value ? removeSubscriptsFromMolecule(value) : ""; + onChange(newMolecule); + }} + /> +
    ); }; diff --git a/frontend/src/components/fields/PathLength.tsx b/frontend/src/components/fields/PathLength.tsx index 6bd2379d..d7abbc87 100644 --- a/frontend/src/components/fields/PathLength.tsx +++ b/frontend/src/components/fields/PathLength.tsx @@ -1,6 +1,8 @@ -import React, { ReactNode } from "react"; -import TextField from "@mui/material/TextField"; - +import React from "react"; +import Input from "@mui/joy/Input"; +import FormControl from "@mui/joy/FormControl"; +import FormLabel from "@mui/joy/FormLabel"; +import FormHelperText from "@mui/joy/FormHelperText"; import { Control, Controller } from "react-hook-form"; import { FormValues } from "../types"; interface TGasProps { @@ -9,21 +11,24 @@ interface TGasProps { export const PathLength: React.FC = ({ control }) => ( ( - + + Path Length + + {formState.errors?.path_length ? ( + + {formState.errors?.path_length?.message} + + ) : null} + )} name="path_length" control={control} diff --git a/frontend/src/components/fields/Pressure.tsx b/frontend/src/components/fields/Pressure.tsx index f5531ec7..ac7fe70f 100644 --- a/frontend/src/components/fields/Pressure.tsx +++ b/frontend/src/components/fields/Pressure.tsx @@ -1,6 +1,7 @@ import React, { ReactNode } from "react"; -import TextField from "@mui/material/TextField"; - +import FormControl from "@mui/joy/FormControl"; +import FormLabel from "@mui/joy/FormLabel"; +import Input from "@mui/joy/Input"; import { Control, Controller } from "react-hook-form"; import { FormValues } from "../types"; interface TGasProps { @@ -9,21 +10,18 @@ interface TGasProps { export const Pressure: React.FC = ({ control }) => ( ( - + + Pressure + + )} name="pressure" control={control} diff --git a/frontend/src/components/fields/Species/Species.tsx b/frontend/src/components/fields/Species/Species.tsx index bb182617..991b641b 100644 --- a/frontend/src/components/fields/Species/Species.tsx +++ b/frontend/src/components/fields/Species/Species.tsx @@ -1,9 +1,12 @@ +import FormControl from "@mui/joy/FormControl"; +import FormLabel from "@mui/joy/FormLabel"; import React from "react"; import AddIcon from "@mui/icons-material/Add"; import CloseIcon from "@mui/icons-material/Close"; import IconButton from "@mui/material/IconButton"; import Grid from "@mui/material/Grid"; -import TextField from "@mui/material/TextField"; +import Input from "@mui/joy/Input"; + import { Controller, Control, useFieldArray } from "react-hook-form"; import { MoleculeSelector } from "../MoleculeSelector/MoleculeSelector"; import { Database, FormValues } from "../../types"; @@ -48,21 +51,21 @@ export const Species: React.FC = ({ name={`species.${index}.mole_fraction` as const} control={control} render={({ field: { onChange, value }, formState }) => ( - { - onChange(parseFloat(e.target.value)); - }} - /> + + Path Length + { + onChange(parseFloat(e.target.value)); + }} + /> + )} /> diff --git a/frontend/src/components/fields/TGas.tsx b/frontend/src/components/fields/TGas.tsx index bc3a716a..3e8a5562 100644 --- a/frontend/src/components/fields/TGas.tsx +++ b/frontend/src/components/fields/TGas.tsx @@ -1,34 +1,35 @@ +import Input from "@mui/joy/Input"; +import FormControl from "@mui/joy/FormControl"; +import FormLabel from "@mui/joy/FormLabel"; import React, { ReactNode } from "react"; -import TextField from "@mui/material/TextField"; import InputAdornment from "@mui/material/InputAdornment"; import { Control, Controller } from "react-hook-form"; import { FormValues } from "../types"; + interface TGasProps { control: Control; } export const TGas: React.FC = ({ control }) => ( ( - K, - }} - helperText={formState.errors?.tgas?.message as ReactNode} - onKeyPress={(event) => { - if (event?.key === "-" || event?.key === "+") { - event.preventDefault(); - } - }} - /> + + TGas + K} + onKeyPress={(event: any) => { + if (event?.key === "-" || event?.key === "+") { + event.preventDefault(); + } + }} + /> + )} name="tgas" control={control} diff --git a/frontend/src/components/fields/TRot.tsx b/frontend/src/components/fields/TRot.tsx index a96ab004..c53b9e4e 100644 --- a/frontend/src/components/fields/TRot.tsx +++ b/frontend/src/components/fields/TRot.tsx @@ -1,35 +1,40 @@ +// import React, { ReactNode } from "react"; +// import TextField from "@mui/material/TextField"; +// import InputAdornment from "@mui/material/InputAdornment"; +// import { Control, Controller } from "react-hook-form"; +// import { FormValues } from "../types"; +import Input from "@mui/joy/Input"; +import FormControl from "@mui/joy/FormControl"; +import FormLabel from "@mui/joy/FormLabel"; import React, { ReactNode } from "react"; -import TextField from "@mui/material/TextField"; import InputAdornment from "@mui/material/InputAdornment"; import { Control, Controller } from "react-hook-form"; import { FormValues } from "../types"; + interface TRotProps { control: Control; } export const TRot: React.FC = ({ control }) => ( ( - K, - }} - inputProps={{ "data-testid": "trot-testid" }} - helperText={formState.errors?.trot?.message as ReactNode} - onKeyPress={(event) => { - if (event?.key === "-" || event?.key === "+") { - event.preventDefault(); - } - }} - /> + + TGas + K} + onKeyPress={(event: any) => { + if (event?.key === "-" || event?.key === "+") { + event.preventDefault(); + } + }} + /> + )} name="trot" control={control} diff --git a/frontend/src/components/fields/TVib.tsx b/frontend/src/components/fields/TVib.tsx index 2b154711..fc248a5d 100644 --- a/frontend/src/components/fields/TVib.tsx +++ b/frontend/src/components/fields/TVib.tsx @@ -1,5 +1,7 @@ +import Input from "@mui/joy/Input"; +import FormControl from "@mui/joy/FormControl"; +import FormLabel from "@mui/joy/FormLabel"; import React, { ReactNode } from "react"; -import TextField from "@mui/material/TextField"; import InputAdornment from "@mui/material/InputAdornment"; import { Control, Controller } from "react-hook-form"; import { FormValues } from "../types"; @@ -9,27 +11,24 @@ interface TVibProps { export const TVib: React.FC = ({ control }) => ( ( - K, - }} - inputProps={{ "data-testid": "tvib-testid" }} - helperText={formState.errors?.tvib?.message as ReactNode} - onKeyPress={(event) => { - if (event?.key === "-" || event?.key === "+") { - event.preventDefault(); - } - }} - /> + + TVib + K} + onKeyPress={(event: any) => { + if (event?.key === "-" || event?.key === "+") { + event.preventDefault(); + } + }} + /> + )} name="tvib" control={control} diff --git a/frontend/src/components/fields/WavenumberRangeSlider.tsx b/frontend/src/components/fields/WavenumberRangeSlider.tsx index 319b418e..b613b161 100644 --- a/frontend/src/components/fields/WavenumberRangeSlider.tsx +++ b/frontend/src/components/fields/WavenumberRangeSlider.tsx @@ -1,7 +1,7 @@ import React from "react"; import Typography from "@mui/material/Typography"; -import Slider from "@mui/material/Slider"; -import Input from "@mui/material/Input"; +import Slider from "@mui/joy/Slider"; +import Input from "@mui/joy/Input"; import { Control, Controller, UseFormSetValue } from "react-hook-form"; import Grid from "@mui/material/Grid"; import { makeStyles } from "@mui/styles"; @@ -27,8 +27,8 @@ export const WavenumberRangeSlider: React.FC = ({ isUnitChanged, }) => { const classes = useStyles(); - const [lowerRange, setLowerRange] = React.useState(1900); - const [upperRange, setUpperRange] = React.useState(2300); + const [lowerRange, setLowerRange] = React.useState(1900); + const [upperRange, setUpperRange] = React.useState(2300); React.useEffect(() => { setValue("min_wavenumber_range", lowerRange === "" ? minRange : lowerRange); setValue("max_wavenumber_range", upperRange === "" ? maxRange : upperRange); @@ -58,22 +58,15 @@ export const WavenumberRangeSlider: React.FC = ({ | FormValues["max_wavenumber_range"] ) => ( onChange(e.target.value === "" ? "" : Number(e.target.value)) } onBlur={handleBlur} - inputProps={{ - step: "any", - min: minRange, - max: maxRange, - type: "number", - "aria-labelledby": "input-slider", - }} + /> ); @@ -83,7 +76,7 @@ export const WavenumberRangeSlider: React.FC = ({ {isUnitChanged ? " Wavelength range (nm)" : " Wavenumber range (cm⁻¹)"} - + = ({ max={maxRange} /> - + Date: Fri, 22 Dec 2023 20:28:09 +0530 Subject: [PATCH 02/27] feat: adding ui updates --- frontend/.gitignore | 4 +- frontend/src/App.tsx | 17 +- .../src/components/DownloadSpecButton.tsx | 2 +- frontend/src/components/Form.tsx | 266 +++++++++--------- frontend/src/components/Plot.tsx | 4 +- frontend/src/components/PlotSpectra.tsx | 20 +- .../components/fields/CalSpectrumButton.tsx | 11 +- frontend/src/components/fields/PathLength.tsx | 17 +- .../src/components/fields/PathLengthUnits.tsx | 31 +- frontend/src/components/fields/Pressure.tsx | 19 ++ .../src/components/fields/PressureUnits.tsx | 37 +-- .../src/components/fields/SimulateSlit.tsx | 60 ++-- .../src/components/fields/Species/Species.tsx | 22 +- frontend/src/components/fields/TGas.tsx | 10 + frontend/src/components/fields/TRot.tsx | 15 +- frontend/src/components/fields/TVib.tsx | 10 + .../src/components/fields/WaveLengthUnits.tsx | 23 +- .../fields/WavenumberRangeSlider.tsx | 3 - frontend/src/env.d.ts | 10 + frontend/tsconfig.json | 3 +- 20 files changed, 339 insertions(+), 245 deletions(-) create mode 100644 frontend/src/env.d.ts diff --git a/frontend/.gitignore b/frontend/.gitignore index 0a04da1f..64bf1c0a 100644 --- a/frontend/.gitignore +++ b/frontend/.gitignore @@ -22,5 +22,5 @@ npm-debug.log* yarn-debug.log* yarn-error.log* -# RADIS App logo type declaration -!./src/.radis.d.ts +# type declaration +!*.d.ts \ No newline at end of file diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 10f7d504..757b6730 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -146,13 +146,14 @@ function App(): React.ReactElement { return (
    {/* */} - -
    - - - - - + +
    + + + + + + {/* */}
    ); @@ -184,7 +185,7 @@ export default function ToggleColorMode() { return ( // // - + // // ); diff --git a/frontend/src/components/DownloadSpecButton.tsx b/frontend/src/components/DownloadSpecButton.tsx index 77dff3c0..dfcd295b 100644 --- a/frontend/src/components/DownloadSpecButton.tsx +++ b/frontend/src/components/DownloadSpecButton.tsx @@ -1,5 +1,5 @@ import React from "react"; -import Button from "@mui/material/Button"; +import Button from "@mui/joy/Button"; interface DownloadSpecButtonProps { disabled: boolean; diff --git a/frontend/src/components/Form.tsx b/frontend/src/components/Form.tsx index 83890753..437f6b7d 100644 --- a/frontend/src/components/Form.tsx +++ b/frontend/src/components/Form.tsx @@ -4,8 +4,9 @@ import { Controller, useForm } from "react-hook-form"; import axios from "axios"; import { yupResolver } from "@hookform/resolvers/yup"; import FormControlLabel from "@mui/material/FormControlLabel"; -import Switch from "@mui/material/Switch"; -import Button from "@mui/material/Button"; +// import Switch from "@mui/material/Switch"; +// import Button from "@mui/material/Button"; +import Button from "@mui/joy/Button"; import ReactGA from "react-ga4"; import { PlotSettings, Spectrum } from "../constants"; import { formSchema } from "../modules/form-schema"; @@ -26,6 +27,7 @@ import { PressureUnit } from "./fields/PressureUnits"; import { PathLengthUnit } from "./fields/PathLengthUnits"; import { WaveLengthUnit } from "./fields/WaveLengthUnits"; import { DownloadTxtButton } from "./DownloadTxtButton"; +import Switch from "@mui/joy/Switch"; export interface Response { data?: T; error?: string; @@ -135,136 +137,134 @@ export const Form: React.FunctionComponent = ({ setDisableDownloadButton(true); setLoading(true); setError(undefined); + const apiEndpoint = import.meta.env.VITE_API_ENDPOINT; + if (endpoint === "calculate-spectrum") { + /*#########GOOGLE_ANALYTICS_EVENT_TRACKING###############*/ + ReactGA.event({ + category: "calculate", + action: "click_calculate", + label: "calculate_spectrum", + }); + /*#########GOOGLE_ANALYTICS_EVENT_TRACKING###############*/ + setProgress(30); - import(/* webpackIgnore: true */ "./config.js").then(async (module) => { - if (endpoint === "calculate-spectrum") { - /*#########GOOGLE_ANALYTICS_EVENT_TRACKING###############*/ - ReactGA.event({ - category: "calculate", - action: "click_calculate", - label: "calculate_spectrum", - }); - /*#########GOOGLE_ANALYTICS_EVENT_TRACKING###############*/ - setProgress(30); - - const rawResponse = await axios({ - url: module.apiEndpoint + `calculate-spectrum`, - method: "POST", - data: data, - headers: { - "Content-Type": "application/json", - }, - }); - if ( - rawResponse.data.data === undefined && - rawResponse.data.error === undefined - ) { - handleBadResponse("Bad response from backend!"); + const rawResponse = await axios({ + url: apiEndpoint + `calculate-spectrum`, + method: "POST", + data: data, + headers: { + "Content-Type": "application/json", + }, + }); + if ( + rawResponse.data.data === undefined && + rawResponse.data.error === undefined + ) { + handleBadResponse("Bad response from backend!"); + setDisableDownloadButton(true); + } else { + const response = await rawResponse.data; + if (response.error) { + handleBadResponse(response.error); setDisableDownloadButton(true); } else { - const response = await rawResponse.data; - if (response.error) { - handleBadResponse(response.error); - setDisableDownloadButton(true); - } else { - setSpectra([ - ...(appendSpectrum ? spectra : []), - { - species: data.species.map((s) => ({ ...s })), - database: data.database, - tgas: data.tgas, - trot: data.trot, - tvib: data.tvib, - pressure: data.pressure, - pressure_units: data.pressure_units, - wavelength_units: data.wavelength_units, - ...response.data, - }, - ]); - setDisableAddToPlotButton(false); - setPlotSettings({ - mode: data.mode, - units: data.mode.startsWith("absorbance") - ? "-ln(I/I0)" - : response.data.units, - }); - setDisableDownloadButton(false); - } + setSpectra([ + ...(appendSpectrum ? spectra : []), + { + species: data.species.map((s) => ({ ...s })), + database: data.database, + tgas: data.tgas, + trot: data.trot, + tvib: data.tvib, + pressure: data.pressure, + pressure_units: data.pressure_units, + wavelength_units: data.wavelength_units, + ...response.data, + }, + ]); + setDisableAddToPlotButton(false); + setPlotSettings({ + mode: data.mode, + units: data.mode.startsWith("absorbance") + ? "-ln(I/I0)" + : response.data.units, + }); + setDisableDownloadButton(false); } - - setProgress(100); - setLoading(false); - /*#########GOOGLE_ANALYTICS_EVENT_TRACKING###############*/ - ReactGA.event({ - category: "calculate", - action: "click_calculate_successful", - label: "calculate_spectrum_successful", - }); - /*#########GOOGLE_ANALYTICS_EVENT_TRACKING###############*/ } - if (endpoint === "download-spectrum" || endpoint === "download-txt") { - /*#########GOOGLE_ANALYTICS_EVENT_TRACKING###############*/ - ReactGA.event({ - category: "file_download", - action: "click_download", - label: "download_spectrum_file", - }); - /*#########GOOGLE_ANALYTICS_EVENT_TRACKING###############*/ - setProgress(30); - setLoading(false); - let serverFullUrl: string; - if (endpoint === "download-spectrum") { - serverFullUrl = module.apiEndpoint + `download-spectrum`; - } else { - serverFullUrl = module.apiEndpoint + `download-txt`; - } - const rawResponse = await axios({ - url: serverFullUrl, - method: "POST", - responseType: "blob", - data: data, - headers: { - "Content-Type": "application/json", - }, - }); + setProgress(100); + setLoading(false); + /*#########GOOGLE_ANALYTICS_EVENT_TRACKING###############*/ + ReactGA.event({ + category: "calculate", + action: "click_calculate_successful", + label: "calculate_spectrum_successful", + }); + /*#########GOOGLE_ANALYTICS_EVENT_TRACKING###############*/ + } - const url = window.URL.createObjectURL(new Blob([rawResponse.data])); - const link = document.createElement("a"); - link.href = url; - if (endpoint === "download-spectrum") { - link.setAttribute( - "download", - `${data.database}_${molecules}_${data.min_wavenumber_range}_${data.max_wavenumber_range}cm-1_${data.tgas}K_${data.pressure}atm.spec` - ); - } - if (endpoint === "download-txt") { - link.setAttribute( - "download", - `${data.database}_${molecules}_${data.min_wavenumber_range}_${data.max_wavenumber_range}cm-1_${data.tgas}K_${data.pressure}atm.csv` - ); - } + if (endpoint === "download-spectrum" || endpoint === "download-txt") { + /*#########GOOGLE_ANALYTICS_EVENT_TRACKING###############*/ + ReactGA.event({ + category: "file_download", + action: "click_download", + label: "download_spectrum_file", + }); + /*#########GOOGLE_ANALYTICS_EVENT_TRACKING###############*/ + setProgress(30); + setLoading(false); + let serverFullUrl: string; + if (endpoint === "download-spectrum") { + serverFullUrl = apiEndpoint + `download-spectrum`; + } else { + serverFullUrl = apiEndpoint + `download-txt`; + } + const rawResponse = await axios({ + url: serverFullUrl, + method: "POST", + responseType: "blob", + data: data, + headers: { + "Content-Type": "application/json", + }, + }); - document.body.appendChild(link); - link.click(); - setDisableDownloadButton(false); - const response = await rawResponse.data; - if (response.error) { - handleBadResponse(response.error); - } else { - setDisableDownloadButton(false); - } + const url = window.URL.createObjectURL(new Blob([rawResponse.data])); + const link = document.createElement("a"); + link.href = url; + if (endpoint === "download-spectrum") { + link.setAttribute( + "download", + `${data.database}_${molecules}_${data.min_wavenumber_range}_${data.max_wavenumber_range}cm-1_${data.tgas}K_${data.pressure}atm.spec` + ); + } + if (endpoint === "download-txt") { + link.setAttribute( + "download", + `${data.database}_${molecules}_${data.min_wavenumber_range}_${data.max_wavenumber_range}cm-1_${data.tgas}K_${data.pressure}atm.csv` + ); + } + + document.body.appendChild(link); + link.click(); + setDisableDownloadButton(false); + const response = await rawResponse.data; + if (response.error) { + handleBadResponse(response.error); + } else { setDisableDownloadButton(false); - setProgress(100); - /*#########GOOGLE_ANALYTICS_EVENT_TRACKING###############*/ - ReactGA.event({ - category: "file_download", - action: "click_download_successful", - label: "download_spectrum_file_successful", - }); - /*#########GOOGLE_ANALYTICS_EVENT_TRACKING###############*/ } - }); + setDisableDownloadButton(false); + setProgress(100); + /*#########GOOGLE_ANALYTICS_EVENT_TRACKING###############*/ + ReactGA.event({ + category: "file_download", + action: "click_download_successful", + label: "download_spectrum_file_successful", + }); + /*#########GOOGLE_ANALYTICS_EVENT_TRACKING###############*/ + } }; useEffect(() => { @@ -282,6 +282,7 @@ export const Form: React.FunctionComponent = ({ label="Use non-equilibrium calculations" control={ setIsNonEquilibrium(event.target.checked)} @@ -301,11 +302,13 @@ export const Form: React.FunctionComponent = ({ label="Apply Instrumental Slit Function" control={ { + onChange={(event: any) => { + console.log(event.target.checked); setUseSlit(event.target.checked); - field.onChange(value); + field.onChange(event.target.checked); if (event.target.checked) { setValue("simulate_slit", 5); } else { @@ -342,6 +345,7 @@ export const Form: React.FunctionComponent = ({ + @@ -359,29 +363,21 @@ export const Form: React.FunctionComponent = ({ ) : null} - + - - - + {isNonEquilibrium ? ( <> - - - ) : ( <> - - - )} @@ -420,8 +416,6 @@ export const Form: React.FunctionComponent = ({ ); diff --git a/frontend/src/components/fields/PathLength.tsx b/frontend/src/components/fields/PathLength.tsx index d7abbc87..a7c50e7f 100644 --- a/frontend/src/components/fields/PathLength.tsx +++ b/frontend/src/components/fields/PathLength.tsx @@ -5,6 +5,8 @@ import FormLabel from "@mui/joy/FormLabel"; import FormHelperText from "@mui/joy/FormHelperText"; import { Control, Controller } from "react-hook-form"; import { FormValues } from "../types"; +import { PathLengthUnit } from "./PathLengthUnits"; +import Divider from "@mui/joy/Divider"; interface TGasProps { control: Control; } @@ -20,11 +22,20 @@ export const PathLength: React.FC = ({ control }) => ( onChange={field.onChange} value={field.value} error={!!formState.errors?.path_length} + endDecorator={ + + + + + } + sx={{ width: 200 }} /> {formState.errors?.path_length ? ( - + {formState.errors?.path_length?.message} ) : null} diff --git a/frontend/src/components/fields/PathLengthUnits.tsx b/frontend/src/components/fields/PathLengthUnits.tsx index 1740834e..b56398b1 100644 --- a/frontend/src/components/fields/PathLengthUnits.tsx +++ b/frontend/src/components/fields/PathLengthUnits.tsx @@ -1,7 +1,7 @@ -import React from "react"; -import FormControl from "@mui/material/FormControl"; -import MenuItem from "@mui/material/MenuItem"; -import Select from "@mui/material/Select"; +import Option from "@mui/joy/Option"; +import Select from "@mui/joy/Select"; +import FormLabel from "@mui/joy/FormLabel"; +import FormControl from "@mui/joy/FormControl"; import { Control, Controller } from "react-hook-form"; import { FormValues } from "../types"; @@ -11,7 +11,7 @@ interface PathLengthUnitsProps { export const PathLengthUnit: React.FC = ({ control }) => { return ( - + = ({ control }) => { )} /> diff --git a/frontend/src/components/fields/Pressure.tsx b/frontend/src/components/fields/Pressure.tsx index ac7fe70f..7809486a 100644 --- a/frontend/src/components/fields/Pressure.tsx +++ b/frontend/src/components/fields/Pressure.tsx @@ -1,9 +1,12 @@ import React, { ReactNode } from "react"; import FormControl from "@mui/joy/FormControl"; import FormLabel from "@mui/joy/FormLabel"; +import FormHelperText from "@mui/joy/FormHelperText"; import Input from "@mui/joy/Input"; import { Control, Controller } from "react-hook-form"; import { FormValues } from "../types"; +import { PressureUnit } from "./PressureUnits"; +import Divider from "@mui/joy/Divider"; interface TGasProps { control: Control; } @@ -20,7 +23,23 @@ export const Pressure: React.FC = ({ control }) => ( onChange={field.onChange} value={field.value} error={!!formState.errors?.pressure} + endDecorator={ + + + + + } + sx={{ width: 200 }} /> + {formState.errors?.pressure ? ( + + {formState.errors?.pressure?.message} + + ) : null} )} name="pressure" diff --git a/frontend/src/components/fields/PressureUnits.tsx b/frontend/src/components/fields/PressureUnits.tsx index cb331def..3ea9e536 100644 --- a/frontend/src/components/fields/PressureUnits.tsx +++ b/frontend/src/components/fields/PressureUnits.tsx @@ -1,7 +1,7 @@ -import React from "react"; -import FormControl from "@mui/material/FormControl"; -import MenuItem from "@mui/material/MenuItem"; -import Select from "@mui/material/Select"; +import Option from "@mui/joy/Option"; +import Select from "@mui/joy/Select"; +// import FormLabel from "@mui/joy/FormLabel"; +import FormControl from "@mui/joy/FormControl"; import { Control, Controller } from "react-hook-form"; import { FormValues } from "../types"; @@ -11,7 +11,7 @@ interface PressureUnitsProps { export const PressureUnit: React.FC = ({ control }) => { return ( - + = ({ control }) => { )} /> diff --git a/frontend/src/components/fields/SimulateSlit.tsx b/frontend/src/components/fields/SimulateSlit.tsx index a514bf6e..24d36ddb 100644 --- a/frontend/src/components/fields/SimulateSlit.tsx +++ b/frontend/src/components/fields/SimulateSlit.tsx @@ -1,5 +1,8 @@ import React from "react"; -import TextField from "@mui/material/TextField"; +import Input from "@mui/joy/Input"; +import FormControl from "@mui/joy/FormControl"; +import FormLabel from "@mui/joy/FormLabel"; +import FormHelperText from "@mui/joy/FormHelperText"; import InputAdornment from "@mui/material/InputAdornment"; import { Control, Controller } from "react-hook-form"; import { FormValues } from "../types"; @@ -13,30 +16,39 @@ export const SimulateSlit: React.FC = ({ }) => ( ( - nm - ) : ( - cm-1 - ), - }} - helperText={formState.errors?.simulate_slit?.message} - onKeyPress={(event) => { - if (event?.key === "-" || event?.key === "+") { - event.preventDefault(); + + Slit Size + nm + ) : ( + cm-1 + ) } - }} - /> + onKeyPress={(event) => { + if (event?.key === "-" || event?.key === "+") { + event.preventDefault(); + } + }} + /> + {formState.errors?.simulate_slit ? ( + + {formState.errors?.simulate_slit?.message} + + ) : null} + )} name="simulate_slit" control={control} diff --git a/frontend/src/components/fields/Species/Species.tsx b/frontend/src/components/fields/Species/Species.tsx index 991b641b..efb02460 100644 --- a/frontend/src/components/fields/Species/Species.tsx +++ b/frontend/src/components/fields/Species/Species.tsx @@ -1,5 +1,6 @@ import FormControl from "@mui/joy/FormControl"; import FormLabel from "@mui/joy/FormLabel"; +import FormHelperText from "@mui/joy/FormHelperText"; import React from "react"; import AddIcon from "@mui/icons-material/Add"; import CloseIcon from "@mui/icons-material/Close"; @@ -38,7 +39,9 @@ export const Species: React.FC = ({ validationError={formState.errors?.species?.[index]?.molecule} control={control} value={field.value} - onChange={field.onChange} + onChange={(_, value) => { + field.onChange(value); + }} autofocus={index !== 0} isNonEquilibrium={isNonEquilibrium} databaseWatch={databaseWatch} @@ -52,19 +55,28 @@ export const Species: React.FC = ({ control={control} render={({ field: { onChange, value }, formState }) => ( - Path Length + Mole Fraction { onChange(parseFloat(e.target.value)); }} /> + {formState.errors?.species?.[index]?.mole_fraction ? ( + + { + formState.errors?.species?.[index]?.mole_fraction + ?.message + } + + ) : null} )} /> diff --git a/frontend/src/components/fields/TGas.tsx b/frontend/src/components/fields/TGas.tsx index 3e8a5562..f2c1ee7d 100644 --- a/frontend/src/components/fields/TGas.tsx +++ b/frontend/src/components/fields/TGas.tsx @@ -1,6 +1,7 @@ import Input from "@mui/joy/Input"; import FormControl from "@mui/joy/FormControl"; import FormLabel from "@mui/joy/FormLabel"; +import FormHelperText from "@mui/joy/FormHelperText"; import React, { ReactNode } from "react"; import InputAdornment from "@mui/material/InputAdornment"; import { Control, Controller } from "react-hook-form"; @@ -29,6 +30,15 @@ export const TGas: React.FC = ({ control }) => ( } }} /> + {formState.errors?.tgas ? ( + + {formState.errors?.tgas?.message} + + ) : null} )} name="tgas" diff --git a/frontend/src/components/fields/TRot.tsx b/frontend/src/components/fields/TRot.tsx index c53b9e4e..a754c2ba 100644 --- a/frontend/src/components/fields/TRot.tsx +++ b/frontend/src/components/fields/TRot.tsx @@ -1,11 +1,7 @@ -// import React, { ReactNode } from "react"; -// import TextField from "@mui/material/TextField"; -// import InputAdornment from "@mui/material/InputAdornment"; -// import { Control, Controller } from "react-hook-form"; -// import { FormValues } from "../types"; import Input from "@mui/joy/Input"; import FormControl from "@mui/joy/FormControl"; import FormLabel from "@mui/joy/FormLabel"; +import FormHelperText from "@mui/joy/FormHelperText"; import React, { ReactNode } from "react"; import InputAdornment from "@mui/material/InputAdornment"; import { Control, Controller } from "react-hook-form"; @@ -34,6 +30,15 @@ export const TRot: React.FC = ({ control }) => ( } }} /> + {formState.errors?.trot ? ( + + {formState.errors?.trot?.message} + + ) : null} )} name="trot" diff --git a/frontend/src/components/fields/TVib.tsx b/frontend/src/components/fields/TVib.tsx index fc248a5d..504145a2 100644 --- a/frontend/src/components/fields/TVib.tsx +++ b/frontend/src/components/fields/TVib.tsx @@ -1,6 +1,7 @@ import Input from "@mui/joy/Input"; import FormControl from "@mui/joy/FormControl"; import FormLabel from "@mui/joy/FormLabel"; +import FormHelperText from "@mui/joy/FormHelperText"; import React, { ReactNode } from "react"; import InputAdornment from "@mui/material/InputAdornment"; import { Control, Controller } from "react-hook-form"; @@ -28,6 +29,15 @@ export const TVib: React.FC = ({ control }) => ( } }} /> + {formState.errors?.tvib ? ( + + {formState.errors?.tvib?.message} + + ) : null} )} name="tvib" diff --git a/frontend/src/components/fields/WaveLengthUnits.tsx b/frontend/src/components/fields/WaveLengthUnits.tsx index d177f23a..a28c03a3 100644 --- a/frontend/src/components/fields/WaveLengthUnits.tsx +++ b/frontend/src/components/fields/WaveLengthUnits.tsx @@ -1,8 +1,6 @@ -import React from "react"; -import FormControl from "@mui/material/FormControl"; - -import MenuItem from "@mui/material/MenuItem"; -import Select from "@mui/material/Select"; +import Option from "@mui/joy/Option"; +import Select from "@mui/joy/Select"; +import FormControl from "@mui/joy/FormControl"; import { Control, Controller } from "react-hook-form"; import { FormValues } from "../types"; @@ -12,7 +10,7 @@ interface WaveLengthUnProps { export const WaveLengthUnit: React.FC = ({ control }) => { return ( - + = ({ control }) => { )} /> diff --git a/frontend/src/components/fields/WavenumberRangeSlider.tsx b/frontend/src/components/fields/WavenumberRangeSlider.tsx index b613b161..fe2ee872 100644 --- a/frontend/src/components/fields/WavenumberRangeSlider.tsx +++ b/frontend/src/components/fields/WavenumberRangeSlider.tsx @@ -59,14 +59,11 @@ export const WavenumberRangeSlider: React.FC = ({ ) => ( onChange(e.target.value === "" ? "" : Number(e.target.value)) } onBlur={handleBlur} - /> ); diff --git a/frontend/src/env.d.ts b/frontend/src/env.d.ts new file mode 100644 index 00000000..99e26006 --- /dev/null +++ b/frontend/src/env.d.ts @@ -0,0 +1,10 @@ +/// + +interface ImportMetaEnv { + readonly VITE_APP_TITLE: string; + // more env variables... +} + +interface ImportMeta { + readonly env: ImportMetaEnv; +} diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json index 7a3523bf..c07a1bf2 100644 --- a/frontend/tsconfig.json +++ b/frontend/tsconfig.json @@ -4,7 +4,8 @@ "lib": [ "dom", "dom.iterable", - "esnext" + "esnext", + "WebWorker" ], "allowJs": true, "skipLibCheck": true, From c3142d2b0e3bb0ef9a961394c0a112cc873954dd Mon Sep 17 00:00:00 2001 From: Arunava Basu Date: Fri, 22 Dec 2023 20:49:41 +0530 Subject: [PATCH 03/27] feat: adding ui updates --- frontend/src/components/Form.tsx | 9 +++----- .../src/components/fields/PathLengthUnits.tsx | 1 - .../src/components/fields/Species/Species.tsx | 2 +- .../src/components/fields/WaveLengthUnits.tsx | 8 ++++++- .../fields/WavenumberRangeSlider.tsx | 22 ++++++++++++++----- 5 files changed, 27 insertions(+), 15 deletions(-) diff --git a/frontend/src/components/Form.tsx b/frontend/src/components/Form.tsx index 437f6b7d..fb74b20e 100644 --- a/frontend/src/components/Form.tsx +++ b/frontend/src/components/Form.tsx @@ -282,6 +282,7 @@ export const Form: React.FunctionComponent = ({ label="Use non-equilibrium calculations" control={ = ({ label="Apply Instrumental Slit Function" control={ = ({ - + = ({ /> - - - - - diff --git a/frontend/src/components/fields/PathLengthUnits.tsx b/frontend/src/components/fields/PathLengthUnits.tsx index b56398b1..386b8618 100644 --- a/frontend/src/components/fields/PathLengthUnits.tsx +++ b/frontend/src/components/fields/PathLengthUnits.tsx @@ -1,6 +1,5 @@ import Option from "@mui/joy/Option"; import Select from "@mui/joy/Select"; -import FormLabel from "@mui/joy/FormLabel"; import FormControl from "@mui/joy/FormControl"; import { Control, Controller } from "react-hook-form"; import { FormValues } from "../types"; diff --git a/frontend/src/components/fields/Species/Species.tsx b/frontend/src/components/fields/Species/Species.tsx index efb02460..103fd3c8 100644 --- a/frontend/src/components/fields/Species/Species.tsx +++ b/frontend/src/components/fields/Species/Species.tsx @@ -81,7 +81,7 @@ export const Species: React.FC = ({ )} /> - + {index === 0 ? ( = ({ control }) => { = ({ control }) => ( } - sx={{ width: 200 }} + /> {formState.errors?.pressure ? ( 7}+BH3b{Rl`B`M)t^6m zb>+&{{XfqwG7%kTUV||I9|E&2Zi*o zk)A78u7ACHj}(a&w*?UgH!uc$wJ@)~k=v-LLOK@Vs? z6?)`1Z=h)?`kTp#itFHG>c5`Q08s+BZ z2D8j`^GvC9U+`Vbcom!YXNJl5i-YL^{O_S@P>4<`gtc`+rGX~}CP%yD7)MYNA;J%N zAaoVCR;NdSErmf^b?uwIiXBQA{ea*-{`jPRbO_Ddyz@ii9sd=*M8jbPXewbhOJ><( z2*uX&+<>kRoe^<_NY10j|@mva|(H&F~7{U3XM$+`7|;=ND^+1feS~x5kM?4 zk7coUq%2?T(_}Z(Wg+;d{VB%ynoq4ocBV{VegHI091w&NRYQjEmMq?G(3EmsCQPO& zS8Vk_N_=31iEXO|G0YeyURn4FoLo2LfXk1mco+>;coAKL2vdC|>gugx)wkjJCL>>1 zY6|L@CrDv!u0xL%a?KeY_OD=^x?2Qwv_~hOAhg zU5T`dzE7`*ZyAPL+%Q-5${?=XDH6E1*t;9`9qk~33pOR{+uk>24W@&z_P^V!eEIB^ zo2|r~E_(@uAl8^+f&G0hw+4xG5*@Z|9mW?c1ej6ZWooI-w8DSTw1%3no+0A6aYPn= zB0N$g)Z{@xOPrx}bjo%WBH6Ex86AV^HoPJFzH2XLJ|b%nRSL0gLXIew?D=JeoSU}Y z6Ku8*MYRwXRE~{QGenk(-`_Um&HE@?5Q9+x>WeM*+H4X|_WbbQ+4G|yC6@XUk;hA? zv485S22Cz+M%I^QptG!qZJA{$GTJ)?hEenvf*<@1E7)Ht#BcB)0u1;r1i0yAAqB5# zYBWz936B~7y5oajg6QCQ1G zjdTZsn>1okoZ*9*(}v|P$80ryU~n8$e$2^|cM?b3qdyJ6Jy96NxRPV5V_i{`yuTMk${stX97!gPBA%a;_*x^Q4|os2^S>O^fPyL1P;7xEsVRJc#O z-~K)5H1en$4>j$hFH~@a5HmyAC36T;U$#VVj4?OCp`G*35IDr`+ zICIWP=R^pU({Og0XRz+p3wL$+)d8G8AK%Ub?JlTRuiAqP8Z`DeX3#XT?NTowp9&rKz1&g1H0aa{Q z{sTPR>Yow^TVY22tL1-zjo@0vf)#Dok-H4T|0VKp^O9A>7uzH33AF(e)9@)Us6|Wl z5C4C7X6S%U#eiLdA9DiDMdxmb{2~tCO1l#Og<>C)_c>r)Ag+h?@RqZ8~iXC z<^2!lOXu0ocjl7@jbHPE<^0*WdDe@-mnB#z_ zvcAOra>{ML3ZP^00EuDjDutAKn2+OLebH~xZ@`|5!oKIOc&B1L%OdM3{6NY+d>iYL zOZw2)i!Eg;>%h2w@VhHLbma%F@d9%K8F)d{!~ud)3klu+oPs%@0A#9MB7M=@JO7*L z8VU!E5ACx**)rHO6-Ghc{L;nr3X(QF3XWT}J}p5A+^lL_7BM$kp5YEGyy&zSOeVK3xu-I zDeI*$QEX#X?X9AtFt*-gaZj=JFCpBbd9n~zSJs(hAt`yvn@8Zh8nN!KbqV=UR1V(c zVM`orn7t*sj>;{Ni7hki{aM2>hy}ak&6?SP9Xb|fm_t>5v(Wlmzh_q>X25SoaodqG z4h)`JLobBa53LC?%%EZhI$4+t(Q8y(5#8=NyNc$j?z<9G5)F8egZKX*@}SqK%~hQ* zB8NHUGx)ymM(FQH&3)`4^|B?5)M<-EH(mdLZIu-fjr#16u0yinO`KAMn=Vwe$Y7B;0KpBD1`{htNy55>?vLY* z90F|@bG^Hj;^ual*epN|4>R$DfB1D9G7Sh0rnqypE;0`i7rslAW;Xqt#my1z$7QDF zz7EYH$tC$e7gRlBN7T*ao!bZ z<1wY%1Q4-%qR!0Y1HGO91`waU6d+Sk33@>%1PlqwfWxyoDfHoYGp zr*H_XJKYTWVJAvV$AT#iS~6m;%9yzb3~KWuD7?VX0YyQr<5h6@mT zbrrlr<>wzjT*;x|htxDE1(-__NHlMY8dB}Dkl%3ij`}IZMj3NNcbnPqZuTI%+yL?G z#2K!pEXsx(Mk2~w8>L3!J98O3J%4X(JaX^k{lnQ@_EhpHi$uWI3AKF=ic^{k9f>io zSQOfC$m_NSfv3>Y8DU(0qYxoM?SRJcnjvf~Tbyl|qv(VOlmCn^wz>?kwZb-_9QVix zn9Nw%YKjD{fz@JA@FfJy89=G9U4%C>$T;-;|CIRkFhHy5gv7xOvT43kpsJ84Wl~aH z2v-eFuCOTOAMGGyo{7{)T>Xu*GGSmaF?L>Qo=LI2e8&@X1`IkEPas;kH+`J5WMWbX zWUZhwzyGv~$3GNg^ur`vFqF9mFhFcLkD7|=5E62FWZNJC`4Wvi^qaYi{7;~xHJ6Yx zpA|vEW1y!z;H{SlA8_UaTc2_$b68e^kVu*z5tTd)owU$k`yNkMei9DA3R1d-5&9@&&IGEoYJ7a-F> zTL7)>30ck1f=W&ye^gW@6>gDt-ja!}<>9`REf}A)2%K4F|6gIwl|t$Z_CFD3`AtcffFugL~kpUmF4Xw&aUg)aE9Rk#HBj`4G>pYA>gQ`n!COo*@{N3 zgd8hwIMucvweAGK61opD8~v;5PFthiQlKn53__-~->$|cUdw(uLFfXKH{4V?J$tfA zOWfU|LGLl0KlFhzWWfUfkt8-8I1AHj0k+V; zgIEHD`$%HxEE=r8E|6M1BQPZ}L%L2p5UZR4&Y`S7={KZ|7vk{Hmbd`cNHpBqJ9CyW z2b-7T+*B+dcDRpGJ;mqK^C?|kSK1v!iMQsL+K@H64VkN$gw?b}c0vQWc1R0fz*K7k zLpUZ8Y^CZd_2`_3PHSdMs3(N9j>q1Rw1vthh?~&7E{Q^MdyJ zF)rtOj;^OM4&iza_xUxJ7V#c?#h~O%oOZd_4*T5h&ZQ3j1@wqNaIBSWpi^bJKYY4w4Q_S|CR!AijM4p+0dZ z(LY`*;hUoCed$Z-1cUeSM4Ou7OQb>bMU+mX_(_e4d#hi8zo}G6a~yKWaG3PfNl+36 zQUx)VFA8PADi>*=TBwk|IWI0-cE$Gf5#iI61Q+Tx_fGj+v^5aARu6HYHhTyM(=cO4 zbmbqt0)a*np_8F!8%<<=L+Lx;X{G zZ~U0&$mD+Eb2p*VkCjw*Ew-N4kPMkifKaaBdsYipk#LkFem;02N=eK$#$38w2j1^} zZ|lIn$5QOp!Khn(4H=`c^#&wuJi$fc>7q{jq!?wdLS}x^sp`nOcfyMHQRk;q>5!?S zd}4*76Y;P#WC=Fd2H8a!@8=b@>wSWdO3W6T`m|=v|WN@B#%yb&@K`*QX%@F6kXbm zXsX`pt+7`E^7j&}s!Hr5!Qj&>DC4kUPc#_Z^nA|BN?(HdXzr+OO$D=pucS@?wKh5$ zHfJaCL!MhFT)lKm!qRMR(Y$r9=Qf*Kns7JK9(AfJXc+A2D4w0h|JmIhq;mwNKl ztd5NHR-7d^1dwVI@;N4)I{?WZY(JgVu_vm@e(rS}3v4MPT`d*1bg};of}&GaR;7j= z>2_;Apo=BVj2-$ejdjb2Dm}L4=_@TPcqs~_${hjb(qMlPO^~o=i=(&5kU0fJ6JAa^ zyvcyEVjvmEONe2VRYt@=jrvl$u|Jp#V-#tyz(koe7MyLj6c=9`z;z$Yg3Cb+{{V=_eE+N zYs&9KSB2CS%TA2FKY9~8#DZ1xx6G|GLJIy@q@>%vs1L#=@NLc3U{(4gl^ML4VUB|pnU~{|w z{@~wFun6vY_Wt*ZLBpDSy2FM3eGE3J<)eYv@S3W^RxX|=)wV^2WP;#^wNIh%&0fw0 z9g?(2cQ;~Zk@#u%l!ij8^m<1+s8`BgCM!nS(8B#2Yi7vQrtH3(W#8BxVDZac@8e&% zhaadoKM$nXaUYVayR&yGl|RsoaeHrdE4Q|F+${K_+5CvFy~w@=w~2P|jUVpsTit8F zEH-REFjVq7zqDvQ3>j2V8s(zqK3zaGp9LWgwc(jA_f7KpZJH*N?+m7utM=X!Qg_x9 zpuuKz#k2Ypcd#3(rf3hXJtTN{FKd3(;eF^Y;9r7g%@beHv$J5Sd$2K^Fu6X4(ZYHw z4r@&j^QB8K?EDUXwDWs?1a1?*tBvN|g9<}<&5VsT zj57;H{fe;9tb~ssgXH#(FE_DxBUOV2UhDC3b-o&fUsP`K(F%k;akunR{4(r( z5(|{3Ua}l8No@N@-ec-csAM z->XiY!)q3W`x5*N3`{_+9ce~EX+l0GMpz$S44)QeV1(Z!Bi{eshPS*UCuPR^QPo`J z7}IKBEz|UO%ZVu=lUxQntT>HlS*tcmYr5vmoRhDNLGna!-6OYbZXJ7zFtu}8v6m31 zUahxe*G%E(BI2S%m~%`m@fVkD2)?%RB6HCA>=P1x$bbPgMPK57UAhJA2wV6SLla6N!FH%TywiENe8@mrH8m5!R0;oAoNuC?hq_r}8vR5-Skp+1lU+{mjqhJX zUUXY!eke&RxCmC7oSRiPxF-i*dN#7P?<*R6GG zW0B)5!O2~017OW7Of_k8yvdl}X2RT$KnPtk5Z&uWEC}r8I#^u=_R9TI^i0`>I z!9QbfTuvjRZ^mgbaz78z@$hSRU*)zA+grgGlQ%PC;AN6#rx(6c7j*(^g7_peozc^F zT$a15#pYN@Kvf-K#s%6-rKvPIIjJtuGLE;qMPWw4vXZHus;6XiI>XRp`6MT=N_uES zXTO9)X#eZb&FS@>8;ywUXH4xG8>2LLkyaIXKK^8Wjw2P0(@9qKuLW|BUeWFp*LYyynIAT< zh5DcM!`2;NWDWlT?2`chsAtYPV85lU!Hd~hW-rp7k%KbZ)K9hkx!gUuz%BdT6J;g zXIn*L843p!7LMFBoU0FbOPBgpli}SJG{L=1n;yV;Y1r1G-&AXdo2%IG!n__a&YH() zDfeVJbIGJ59{_9n2x;CV{_9*V!Fx~Q)7Z%4zbYSj!9vX61<3q|xV7dv!I%xIuB@2yLA7w?f;!~s zE@o5e;mvu=qa*7??DAC1`~iLC$ryRmX$0ICyQo+Z9aSN~w)lf!qh5^ za`~P1Y`egojEZDAJC3_n7M9NHpVOcQ31EiA|5Iu*7?YgB#RPYMdWmklS}>KxcP1r#_;L%n863g2P;Y4qWkaW9+W zhA4RO_|_v%qMkkc+}RzfNjjmdi_f3FD-y~y-vc92R*e1D3nv5=f55FNonlYsLL33l z0>i}2B{525@sLgPS{G6MGPS5gR|mP!7x^ z2Xt?3!-LUN<;kyg7kggO3z`;Wcz-(t-m{>13P)6w7Ml#Ps1@%>m`!s5*Y^|V`(hi~ z=Vn>X&7gf)2jcL`%8F9J#l}u6%Ml}Zs&|V{Fl6G3$s7fD@%avf7&T|{NG|x|TbM+) z+XMDyNbR6gPw$8^d`3Z?RhHiF`SJ`?Vr2%?uhhTfXV$%=bF)7*CA@-37zSB?+@R~U z)Vh9^P383ab=s;-a7I~WB_F&`f8K}8?$t4Thz|)~*zrw%`Y3hjCG)~P-%eRod8i1Q z*HM0swVL7k-RkN+=8Y{q_fqO`;w4|m9ukw=k?y7p6V>F71HXgp=xF&FO-X>NX8^8& zD!V*JV?m5Pk+whnIM;sB5oEuN<+RIjTinM;^i*d^Gy&pLL`g~uz5%%lHRg`n=|^WX z$E~~`4lw3cBF$gnEB$bB5fK#24kl|Hr9xjAv$M4mJXcfQ9b)T;@R_xVMER2oHkoOr zc=y-wLGD>6m48D68ir3s@J=xtVO)v(r=OBcbF6bJE4-`Lro5Moa6%twRi76865rPC zPJ3@iPUFn`pzrpZ4o5e!wVoz4FZOR|>l)ba0#^nH8SE!ePnhe`8Gx0|KkgUfG&3$3APrBCQ~QK)#6ENBm(AgD8r()#hZDk z;koytHkHggZ}I+Yx5hwH{W&+wRnHHPA~T!p-ejDP_fh#IfIm|u+=*^<;A6Y>vqM*J zomtfMxybHDg^;cNK!)y_)saceJ0s2G=u@h#C)eLskOl0%P_uRo#g03#H;n0h94U0& zqQb+9Y%`5z&78~4j5G{`S4+gDq(L(W!&;xy`Mw(q{fJFuXp(oVsNy#3PLub1k>vac z^D)#WrGVNQ-!OhtFoPa7QeK|iM*D5Xv2BOUUW44|au1G(0d%&sVUs0n9NvH)UlRDWsN_XIY*n@iudu zOl?p%#Jp6ndTgKE_!~alx1kqW?q9BcVF|)Y7QQoTkCSMJh(i}Tbiz;DSJU*YE=)CL zI{4x5&Sz)84yC@Lb-kL3_^=Q{_Z#u94?JZ*gz}^9o*}1qmJYQDi9$ahNzRFZ7 zn(;|izGQ)lGso!{PYD)L)^*kmSZ$S=`eBN^Y16o6*h)aOBuC-*X18W?;{^nS_oejRI`ffuo@c&A)Cu9_p2 z5LMQ{eHZ}Bo9!IYN!ZFX<9w2aNS0q#S1boj8NWd@mce91gmw<=EYN*;vdQ+RM+@^- zAC&%{BT}+w2jLxjj+egmKWP!tIx4s~UWW0`pS88D6QE4bGYwcz0j04z|6M}Q$?)SX zg>zc!7k6SFP5QA>k@?0vs8E9ZOLpQUJPhv}ZyTfrsg zS`{;GCi;0NC*EAvjKy*?C9EG_H<=}#K6O7Yu>j1ToDmN-KenV} zVcISQb1;&B8=QM!_>TpvrwYh$1nHtKY(RY)x3Fzs;VOK9+%H?qWz!x~}0xT6)#N`DBp|F~^{DB{8^WojQL}*PnLuFb0A^`dR zSx3!$=DF$&{W&P}=}T`KIZg7Ohh002toz~X+V1QjH|rQBobP4d7JhR?{-^`@PCz%)vF?FT-t$!FU1^qR4;K#GN1Ik5 zYv=jPlG%znH%DTdI8~ioBn!)j#t~UGFO1S@F$aiz@4mZNGp2YX9|xX?`HJPXf^WS@ z8y;oh`v3$~-euK_n0)K|A#KpNX7-!mMt&%7&Fz>io5IFS*KrvGZkFKHbVdI~cg6kP zllJ2wS9fSf%;9;P7DF6qvZM^U#akVy3n6rs5buAcl&Nxs4oz3S$RN7J7+3Mnl3A(+ zzL6u@ua{I>mWFK`z77e0$$QW6_{5fC?gr&=Y=Dhds6dwB9_6e=BO04)KG zO=ULt(-iryrb57g!}0M$%OjswFgLZf(zKh0sw@Rd82YFTnaD?9l+oV5%*TZ?=1#hv zz)%&u_{aoa8k)^^n!@}N78d!te|1S_ze1xYN{F1oF1gX;ywmcr2c6^F&z0G$<4pxC zu8-2!!jL1H2M3}w0+X=PzHg)WpR~PK2-@+s;=Fm2Db`DJe}$bW265OqSJjN{xCX)Y z5Tzx3WzkU%)VPzN|J*k&O1_?aZf#hNy-c#RdI%gn(j_FM=AC9HKT9?)Z8A}nWt)n& zSJo7#nt!if(bVB!kp5h{>J^LX`;;+xZ`Ed&qS^f%0&_e$H!wma`@a1^8Jzx&998eA z9irQ9W0h@rag@aa@o7lpbwra*|51d(SUqr#m1=>y@-VmKfuK}iWm0o`0doEAJN8HS zisp-bZOTS5W6p*N39?ze+Cjt8Jz|+HHr5E}&X#>P(eM32ypq1Hovlk**0={L>ZDsz zv}~yws1;r)oe^=;fbXL$g$U6mEILx-tQ6gVOy=S%B0t*h_+fU;tGZr1=MZ?BSKW|r zJ(Y_XW~+3Fv{Y$%4^@m}4`GdqU@ym07~UWN6}L}>+|IKqgxnC_f=xU|tnIj(20RQ8 zX&^Nr`J)H1*sQ^&?w$4CB~|AZk_kNtAMl?@Fj0p2te>EXn_N1o`P#li!G!r`3*0X8EFm&82urooi0I;j%!z)7z?GFpanW0 zYsO~9<(yiGQ1FK}n?`Z1WsSmEQ~6zR3Zp~VJF=sQJBEb=_{v^!_Ir7QR#GO9rkgZ- z?*3$a=LlK3M|~G2@#L0w*jQc6`IV&!1}gE3^IQYuZYsvy10+eT3tN zKYa{ng8%8`TBM~oF<|~|#GZP}q_SKzha(j}H#76i_xJj%!v5l5GpE)sRN)scKeIx3 z2cQ7OKIOBazUTptmkJJV8QU7VbCh1KA(+a+&gGdG8nx;5x`4esci=0;VY_2gbK`wCv?HE-LDklP9~45T~d z5MxNX#_^bU0JFPd+M`j(m~lv$;Cm<+_fa5|Y_N_YldLh8(TuL_qmt2@$}QRiOU-mk z&47#!U`!nQWmV4Ly<{AicLH{(3VZ|QviDT@?^nGtB46pbkCqW@8(Uv&377bG z#uOv}q~fcQtwL>z2y?@`+}WDGF}l)F9G{N85YG?IPru`hRlGFwaK>iwy4U{B#PLzQ zXpP`E$xRl8u4?&GKSRqJ+`Pv~m<>ysWr=SovZrO9Ir`c*k zgTG0Z$;Jb%@yxcyMuT?W*W7l~X|K4cFd}-JF3g&>w5Gu{*q*l!)=g7OX`}>R1^vqM z;x`utKcrGS$knN3ilsO8UmwX|ZadpXiQ8yvr`MnC`Q|pMnfHP_;K!-2p4ZH6 z-)%)SX3G2u6JKoJ&U4vqc{JFz%ht1RyNvDRTqzL>nUK+{8^oZfLw@a6C$<}pzC*JW zy*-p*VvJO)va_vO8hdcz*zd@g0hoh(7=e0UT4|+8v7urr^PzA!J}-^ zMzWkPHH~gRr5<&+_}}iA{7NOoIe6*I??of+X#KfHNxn4a{_*Dx%g>HyoM=kNJPE8aShn~DRu{6h{nwK4Oh&+vT*%*n`ZFP3f|cv?yOn5 zd0>BdjS})9q{BgeNGy)xrP)MvpRI6d%um*8`ry-XXr|{_>UO9iylNo-Lw#M{$YAiH zRsZ(43A2#M8VUnR5Uwo3%TXh^-3>`@VPIg;SwTM5%FvRi;L{-c_OYv^^78Za1)-ku zBF-($x?qqz>~Vi`lHYInK(EYjBTYY#=$SdYR&GLD-LryYi1r33s7ST_yREI^v)^En z5zF5{Pp}i(l-qzGK&HA-Dzx@I{J$4Jf)B&>lAzYV+`ncu-*wv;FL`*c1K1iDHIKD6 z6`CKh^+uiG#-l~KE!qT>;`FAl^WekOgXRf$c}&Szo6QJ!zg=jDMeFvadyn(UcSf|> zGJWfL$R;W{|0tne=_tfvAh|71iS5RqPk+Y9q8;Y8f>f^6b?key zQ6%Kq&cl1A$>|>O(IV;G-8<7YqqfJTv^0MKabtgPP)M-Id}MaxJ$)x`roof(f;@sD z#8OKQpcw-oGoVnZ7q<=a`zSeM3H;oq-g&aOyYYT38(A0$yAM*Rbc#nrZWC3fp?lQiwnWC@%Jj==k9> zMVs^I*V=hpJvc-+`h(8-5QjmY2j1gdQ{zY4;IznY?|n`j8E<__Tt>m8?5q;or*0f|T1k&O zHVbm`dlg*NKdpAyG9UONzxY{q*1j8CtBLrV8o)KYcjWV}>Gjk^T;=?~cd0_6N!0uD zNe)W3P-FO!3oVxWmnB8iLUoyh{~$X7VhU2U-8C8qU&1uM!%DmKC;Zxv&MxN$%cR=U z#Lt;`Vtun^9JPt&QySSL={eTZCNyhU?v#gml^B(UNXK+;;-b{mFF+x_WPfAye*hkIn#@ykha$N+3>{r8jp)l zNzXdX-Kz{nX1g6ZvFQPe31wQ%o&u(8A8WG&O3nO=Yi4ShjqTgfR_49RoPo_E`A7~? zNtAT*y7W!a2&EUO-_WTVZRV~lZjim7&e|EHg|A`Fxiv`S?D_$uc8_S!-QWYY2cCBr z%RUnCm=4LSSK-u2NJ^?jgi1^}23eD7wO$%TzMA+Nad8@$#+7G^!fT}JiGWJGL@x6g zdl{YC1dS*RAaZ=Y))zC4P&@~o$q03Ncif%}RZv+>{dCJe`q z`d@7Z{Rad-?mP$ zwu=xN_J$e!Y%eDek@e(uF`LA(!&=g3@e_CSnZyykVF0LoX9=M${2m35mPy7!t-0c& zPI{MFfyty4%)XM4zRj&UKW}ZrE$J)(GiU6f@&*_LE1%R+(y7s~H1xI_& zoFSCf!8(-?EoKaAJ!K9}U%n_DeWGx|EKdv=oSQn&w&!cd#~$rm($<_Vn*iP|^%x&b zue;l!odwr5VyQF7$XGmU}8n!27U0EM%lf$lBx@x|i);-=*SMX! zb-fh*_n4tnbU7&W+NU=PNjZ;S{^Gbz`S?0L!;Pf|ern_7UcD^PZGu7-ukwWX!l!0BQ?(-~je2Pdx97ep=W=5Lh0y2`J;OE$w zw4cVogY0oSWaRnHZYEh3BKfY-!bCY~D+pokZM>2Y*-%ty!5 zq3Dhp$$jNKBtx{{Df`q=n3Tx?#dJHmum)p8~jC~(8v7T z)FD^8CG33{3>UQy95@E{VFE~Z<2h1%_7I`Vo68=^wYsh_<3LSXKS66JZ{*`7xo8Qb zyb=T{2zY@Bp6`_3+C=cP&pegAIB?lu4aJ|>XQpR0Gu3|9I^}rw1QlB7J+)n%ki@hR z!Z*I=Bms1(A90(y=r{^qNLJE}pFj2Kd8BbEZV{NRBBAhyxkC1$uv7!Bf`t|i+>N!$ znp?1UC!%DDN{>Q0DDFCs$e+cljnajSafv5S`TRUElU|?8h~#vtQ7Vp3n@?+Va~wiuD?57CMu$ylAcPBZde43$Du9LMvi6 z-`{CLC7n5C0d}@~krP(;;Jd8!--Oq{-sc=RW^u4ijJ-8oo`lHL+f4(>l*M7gYKj=B8wZ3_j(b3h@i675_TRO8zgyKhowG)% zPv)VKTt0PNWGDbljnzRo>jPiG(X?F3&~R_Sc6DueHp0Pa*6opNy#xL8jkwP5Z)GML z@7q>*Mxn=gU*(8mN!=rnoutQ*Vy%W=hBL3|-ynSu_oN}LK~$o>rMH*}qyur0({JWf zB>}XPpEs4yyxC`Gp|Gx_L&MvuHCGcz{PYE)huss4S0lFqMk5uMeG8MU9KZF8Oy`EL zOKgaRzdY59CEy_ zid4`PX?fDN9g|H)Hv_P~bAID}z4UG2G3O?T6l+k|^=t*A*Q^aLN49OlM9~}W^Bb42 zJlC!t+!QD$VD@^P&m@(4VpXdiQ3?tdIS%lt8G9 zE=D`Nr9CiGx-6#tWc6ff%6NQH)7iL$wKFf!o1v0vcF zZy>rL=8iXt35KMo4%BXL3rV}T0JV|*St2S>Mp6x0ZIQHkZb|l|8QS+ z1*$MZ=ucR;?aNCt&5pwz?4n#Q1AGpymhG$;C*}W*bD0Ro9)6Q+c!%W45@(^#Iv84b zXTPs{;q3GH+4y7ipI^cUAiWM|<9{=8&#I@@LO{|JCH$R#CtFn-VzHbq`ilt}92Z5p zM7^5B&Dk9YY7%DCGx@SYXMc}-FkGiAvSQ=oAc#Fo-Jb8}&u6@uBENkr^Ikv8w29Gc zK-86MQoQ18U5_^_y9xGzYm_GRXQoumg+6AiXQ&iv9=iHe6IHRz-7x;tR$DMX76d=Q z%rq(YN9Aol<)hBhHV%DjswQ(HX2PsWecZpOzW z*3t?=$28r@x;K`rz)w}yA_+LZ`1wsP_=Iz(Wre(EvpzUsdUWR9t;&Y|hqeGZN_#0L z^S^&wZ4nyWSd2C8)Q=83;%y4pX|0uUik*{l?Qb*33}#@oyKIEyypI@px#z691ucll z%I*?N!{gF7$Zu*b7M?cr-;w0yEa+Jo>)r<%C2oGkI*PdQ(kgggb%)M9RrJ#wE}WS6 zkOwIZ=U=9dyN_e8)&LM;L$OnVG477)+#bW9Jg<|{CwzOreQPR@jKcH@T`A+&45Zu5 z+6Vk0W~1B`Z8=RiRK^`mkr_JrC!3D;>uRpLThBGGpHgIZbKbMN>TSCFwgcI?7%KXv zV=aWVn4p#N0f$QG(7&3FP%wh>3NfsLi1N4$qi8J=H&FpS_!F5f7QDVn%0CdK&8x0@ zXc4MVLBO>J;B;D#x6)%K>&v|hYVGXDr`Hd(-L~9jXSlay>Q1LY+;J;^Psd9IB4=;j z9N5pKVeF8=9pu+6B5A#M_biiZ@2V9k;vP9$cxG>D`p_ge?A`Hllcf<0WzI6bKoh@s z62DfG3vT4@;!Q7$IxzCKl(p=M53*dX6!a*}GWj{(sv10PKQ5&^P~5NosI^X}630Vp ze8V+2R))9|$r;8jua|jWwo@qAywlM&(WeT2pN~V}p3hs3gi?>P(01fTuK8~`95z-- zGSACBVFCWsmNJK4cI-j0VC zw{fMP`!*f{*c_Td$382l6!W{fu2`>Lv*jXtp3~>^J3ZM-iskdoa-LB8d4Cx536j=A zt4_x6p&oT&{Qi%g3Xa8JcRsR**U`YIg^=_w0MJ@2xZ<6O3|E*Wl`^MBn~=lsL)weI z4))m34?Qnl$2k>_o|re^{xK6r)2#bw6#N5b@9S`#6oPU=CFM(=L98@mSBFbZsw=jh zth;|l6OZOjwsFLt)AM^fA^Nfvf(#nB_V!!k(<5LEqzn|8>G{#8#1IGJt}Zd|lJ|SB z!BZXr-bj!`!{CExQl>}3MMHn~;)p$uLnlCE!Fu z2u`vm41eNXU)L2;dqRO>GdOmVbOj69=Ala*49&;ktNV41ksjYa6a&4R15KdP8)CmF z*hEZHB-&PD-q^>8uIJ}<@5cDeUyM{1yvp7^h+~{emRE!2){Qn=Nr$aw`9;Hx->DCW z(-?9VGVo>!UVJka;uN_4(5LOav&YxUD!iE|$DMo>4c9I}dz;E(F9 zM8*pnNX_1*Y2|TH9EO+Z)J8OJW2@(N|CwxeFd3g*uzxZvcC*5t!sp(D-cKGKuMD8h ze|JwBWN<$vot)Q`stBlz2I>XQy5RPv*j(b z0Cu={`n)%B-CdQk6fL;=0k#AwEDvY%p1cz|r%PSJ@{JbxPHfW^rliW7O*L!iU;^(g zeof8hC}}KW*-e(swj?#_;h#yy4PQb5hSbUI(S(-1-Rko4#%?updE|agC}ASl;2o3D zzyBA&c_&Ko_^@6HH|cL_M$$mNKAp@rv|$m$ieL6bU#}r#rLPGbdPZzv+rA1_yu69S zD7umIenetTx{OFEdF(-?#3A-f$4=eDnO z77LpPR2*1HKKGrFjR@2LV=tHWXoDo=>QAmP4fD>=*-&pi69mbPX~T4SC6f~JQf8g& zoIvTc;fSh|W#LlhWbT9Vxc43@x60r6K>4@4m;1{GLa(d+s?=f*$0WS|wY-W*pFO!e zY8P`Egr61r%aE2hP$fs9G%Obn#(pBL^gKO>f0NvtiDCzy;c@SNS6H zjVfP|_3zspmtP^F*9@SPc1&WNPHS&%FC0AbH6z(|JKo>Pt{l=u5)>*XB&+O23MX5{y=qv5`%8t-7K!;7w-#j6t>^bXjmJL&l zC*w+|nNPjMI78oH_>5}HBXyP2d`MBwTE~g#EBAsvH^1GPb>X=CcYA&7OGqfx_~YS@ z$}Yg{nTd+^{`kZR@MiNyg$c}VcGwk@-viT07kV&?5E?^gv)dMVju;NST(g?ghy>dv ziI({^Ta{-Bj6D=dl=S(l;CoWID3E+5vqxb5*DsphSG{I6D}35@yDmx{4DyIn?RVC< zip%FY6l>br+{U3*4PzowA73hLARIF($Dk_R!2;pzV>S2$g7A=8nR?$9wWO^Ef$L#?MgN3W@0O+MSGCdv)76(bHfR*vVNV+dkxmtfd(%X%W`pAAie1= zGc6I*z_&U^S=g_ix1#g%5)KkFt5)mk+7g9)Ue08UMbk^1S?bLxZAEk`tK~Rryd)hz z)knHC+La5h$SZUknS%Vtn{Urs_P(;a6+x{yqdOh6>f+;n)WOzh%4Yx*H(!^?=qR5P zW{8UuEJv>qUSCdFGWln8{gJChh#@;JK(5yAv`Suz-z{iMgIn;+o4%ws+s_dbju8X8 zwk0&O51;z1o`3k+{yvF&xcI=KBs>;ixR%D2Tdx!tl!w42NLnq|vllOiltey!IsztY9C1VJx;@A4WA{v5~eYk3ke zs*(?{<1x{lw1QFzV?AabUQVVzZJ@Aw%C#u7NAnLBA~hfU{WYmJjB7PDy6u+12gxRh zjL3V-wigx-Z{%Q+&aZUL@aoNGP2 zG~a$)cvM#2!Af+H80GBE@zASw*FC0m3igF1+1?}s^O^L*XF)r~n_r>2 zmeH4q$wcO+OK$R$9YJqtJ89#jR_RRu*GK?uc|&_ye9`IMr#Ym|Jpa6Egz_-U42HB0 z|9BrWdmuu~A-MFm3$yzFi>zQEt24{ArRapxVt+fxCM82cXxMp4G`Sj0vq4B zyTiua^>NO^a7K>qiuP>{aVl@^q~Ohn@Rec#Sme3O~HmebZ&m zxW~%|jL+eRsp2`JyB!QdUWvOnkMd0n`5am+=zgv!@Gn@uuk z^6EvYhG8*SaA0(dDp;h{iA<01q(Q|eHpVLLx0JG(lwE9l;IJD_5P2xV?vJlpjzXvE zpHZ`M2N$Xd%ssyI@S|$10QHwei7@t!hevb9x#;N`ckQcv zTKzP@<#yB>5%Y;KqMSJ!q21%_X)3VwzT&g1%O*Wf6dS#0yFi$r+TaH}YHp`9i)?!K zw~1vKDy{7_E+Su>yFZVCY90DihtW;9Ooz&=vw)|S@xmj&a<)7I1ubP?rNaeGmmqD+ ziu#R=6@V4kK>ufN@O^2SE3&#XHcD0a6_nS-Q*}oyQ!0=sNFr8a3!|UImwfzJJ?}dF z>^aST;@%q6^QpPA)ZSxB?)o7X#<9+qL)6cN&iE!io2il}; z9btKru=-3sne+WGB)atjw1-y}0;5J%bGu>vT#xt`mdnGn-g8v#)^%8AHfj4du-rg2 zxK44QE>_wqFyc|j&By)MZ1Ymt?Z@O#t=*cD%)3%0MNT=dPW?)!a%FSrtOgju1&09k z^h7JS6>lL?9!lA?ty-&G!fGDMGm zMfl4PRbBrwOVYklR1l62*?eK#OHNR=S6A_wFqK)4h1KUWKp6<{5v@Jtm8M5|KD7Ai zWk;M3DdJ93a?6gIPpUxp4I~1uLW6&XHTcW6pM+&Cj7I9AYSLpSfJ`e$=wP62u7K4g zpNQZ|Y-85>-7!>zu_((Kdo=kInaAi;usWxLwZO-CN}kXK{?vHpGH}|nrqwB2pZD0J zKDj-Uup0g{@V-zo+4Snt)2_n!gEnlB35Y|75>xtj9rptE;$Y z1W$XDC^t56_lXP zeCLAMwlB|96ZhvRORoyVd(whoKr@VbiNbw+zEf^(iA`BagN6ZQ&tCCS48A+A?X`Pf zyD=pZuC93Ki_EP#Hti zPGHKm0Qi}4WET9OKCCym>brduI*+9g2CE;q`c-6{c*{rIJ&2ZY_X}-1U)<$?S=fOS zlL4;nD27S0S3ZHb2Zt+94Q4raznIjt+y#s4J5dZOFNr)igU+kpRT3|8c7B_P?|2Pr z;8t`Mdz%=FamL(|H^u?e_xcfMcUEOB_ocrVGv20s%+b!vbGXW2gO%*{l5J}f>hBw^ zOyii9c5IO)_r^c;C7C5t<%^F8Y>`I@D==kU ztqu1;(OWP~@A7#4@G4N7v9Y-4zK#vy|LKYQ!35Of14_#a4GyE9QdiO0Q+ zgdlj2nwj>%?%z&m15*izLi=fP7H`2=^HZI5=N^SOA##O1@%TyI+dZ-f{O`;NOZG?% zu#)}tdd0CSDc3M-hR4bd6oeNF>bh97)bX4Qc@FXOD096^Yth8IST?uqw5{+s3h5Y+ z`LJ#2THi_A8p*XSPD_kAHEopoOU;78jF%e$SX9B7m^l0ZqQE7TShnMWqd$R0arpVzk*xTVOm7bdr%Eh8 zy(S537JOA%;qS9=a`l|MI}fgKs?w|+fErX9p{#A6Rsc?KoV;nz&K)Ed*FQfLtuSCs zfXNNUXVjWJP9A?ibu#FT$ES{6HNI1HCU;@=b0*8-@|X@`v#p0WS7F0B;KT5s;+9h9 z5wsIH0Gq6fWgP2#hA3PKKH5#`prfPdQ=HO<691b;NMJBM=j{PS$3#KtfsKiL$F<*iPCfDe88`X|Zx{q?S< zC+(tMfaCb1x*IXiz+HO;6!d+|; zUm~oekld>nLw(*!h)rGA#k3~v>iM?U>jVb!v>c~cCYX770+VV0MEcW6_@fz%%?XwE z8!ykJJm7v-ib-w(5VXVQsdm3#V3|iM*fX1< zg?r6&z@}y0v*?(&dydWs8{(guuEfa|CTDiY4#!$bB7-PjmoVrtdSRFT^NLIXvj6d! zu)Pgs+-22_YxyjbJwW9CS)@Cc>aWwyHJ&*P!M{Z%K|C$p zp1+HL$e09gb@(-NSLI~W8h-ej=`vjD!FfDpF6YarviS)vlF)AL?k@NR@`DlZwsMa% zUm!}l*#xiWo<yC(fo`uItsMxNs~4<&r3g%`d*-O?U7`#J zCex2hX`~}HQ(5nZ!SaXNzv~RHgH_&F&Ok^xeueZRneQbGcaQ*T$@!MOt!pGK7#zpO zeI~u06p_?QZG$k&ZHGrjrLJNnx^mN0vO z$F}-4a@wAIV+-qH|A6M8hlU@%hpSJgGU+h`j^H4ADnb~384B6HXz>b-kD3>jdt0TW zqSPMuwu)B+cq48H&0ANTycuz4vq^!5-pr@CD_>nf3kAZmZk!s5?|dV5O5E5IL?Xym zD{t?%3g>fKqpWiwql)!SuYtei%BWKE`qLJL1CwyHx&&S{d~n&-XEcKb1Nge$+l%*} z@#KW7fO_d@`ABL{_$Q8TIgl6)_H;!t8m`k}ZgZ+C&-H^%k~!^&4~2XxHIQ;XmNm~u zNu_-eE{?Xl?}05|8_j((3Fk?;#)GkCZaJzgF^fJur9LOPf69gT8w7@bOfc8+p-~cD zhMgfFYaCjqM+IuO~ySdbYkh3zx*}~ z(;KrSVKMo}PuZjdR3``ZU)YWbua%C!s+H2gro$-Tyh8aUvFlZVk496z!2B5M9!1Bg zIjQWJDS@6%D|BV8I@|u0W5KU-QtW&|GM1X*I@z3bHiGFCnbh*WHo5*xS5ZXF$rjaV z`#?E z=Rcuyw;@XLway19>;=Oe6W-XyJ|aS}j; zlF1n#@EU2M4MkI=Oqo{3D~xehvHH%wo-}BiNna_WBB*#Q$S8Zp^PFM=e=5RC)4R?6 z%J5Px;fGR}o!un%7{y3Z&mm07poSiJ^|t&WrI=kH%TuShy>mi(6e3asBL~Mo`30BH zJc7Iiyp>o+;`=Bd8fRl!elzRs_FFGtc0o)BSH?U8Vq=QX**)2tdakZkcLI}#?iATa zTOvr@#sM@*p+aaGw zRP@wVTshpGa%66u5jg*J82-mJ@JVV3pomw1wj9<r{F&lbIauoYCO>%9yi>kVsG_4XZmO$nuRzt<4Rcd znTkwr2~a>Ust`Ek`8WBemU3C=@c8!<+)8F^m=>FW;1qYA&1o z?_u0`^R#|RZcW!i$KBz|*m=dExM>xga%fe7WShTg1E1gZ)3B1|;=Q{kMS3qOZl|x$ zsEWOcAN4cy1z>a8j@7H2wqiPg6hB+)D>iM94#iTuN}>HArmE6e)oV!cR-*YlYMg-t z;f9s0f`SHB*qY`aPfFPBSkzyTzlppAEnHhMwI(~1NPEpF9#Z+F<52Dx{qpsahI~YC zw9JuD*xZECeHaViWQzdZMfblJ1n*s25Iu0|mHtO6LHQ|_2yxr=0YxYpT|PTF^*L~h zTE^~29L2LbT|?_XP9YcJmDGFGIF>dlY|=0yw+EKC+Val9-?cq3WxxPw)SA#V_8&I= zdgu-n7&QTAQErawceLK5cSx(Vo@4cQqE9td^|sxOsY;=jr0FkPd=bRb5BW#F^D!F^ zZ-49^rVu^;#>(gNmDxBO=u>)b>~Fm>5U!W5Bpmj)bTxr=AL+ZV2gmK1kMf(m33Q9( z_h5LMq;Vjnk)YaT)~zmA7L=f4g&R|9Q=`yrO3tdYx}+DgiTGd1gqJq*JofGG^!WtN zcKfteKy2w(UfKGeNy<;d9CCGI+)Lws)g12sQF9cSyWsG}zBC%2(>jwlPv38ii^3Ol z7x216Uyb)$6g_Z~ERm*-C}Cd%Gz0~%{T^2JZY!gBv3$38CI(8a0h}{ABd#->`XAYB41zJQY(3XZCold0%25K2|= znww{PCu~PMbGqYFCel57+_yzMw+q6W=tGZ~N)+od9}RML{l8c8QCsjOeJ(H#9cxM_ zhOoeXBo6|kpI;i|A1i$!GK;GjOVs$wyW&9>B5!>jN3U9vv;w=sX4966>Z&t3r3;B0 z^@(4){MJ#gn(pNIb*(F|%bCT5<~x-wcJpsu?`<`IppRWW7g;L|$tUl2rImA+}WIWA!Ehy@-|7FQ6ZCI2E;fs={kbuT-4bswK-#9=~ZaU6ri_W)Nf zPApuf9p>{kMq%bn_m?m3@q7!)iNFMSm0?@Lz?sq}=x+nAu(nQgs9a6)uAvM_)wC#A zi9Bwy{2oZwy_fII%lrg*o=1Nf-2+@OCemw090sXYAN~Tz+-d1&+!- z7MDdlr3_EZD-wAXYm{Tb<_KDM`7Tzb^GQ(vy`O?_Bk~mBbXy`aGo+{UbEL2qa15`Pi+gHWP+A%+zWGX zhy9N2DYBlmu7=Mjg(veGNpw)}9h>QQnYKM~caZeaE6s!o$$$%dhW%c7Iv8aALw zoMW%YO-}%@d-Y)CK!iE+DzfkQz}tQEOp1mEdJqSH26|F<*GZh^WZBuAAGBpq*n@KeO+vRKX#lw3e2)Z9>9_ z`4af*X2Q(OsxOR?Q0lR|{+=!Di1SMSE~L!eg-zQFA>ciSliRO%8AUQIFwNV3xRC6p zBy^|ci1es10i2H7im~PIlNa0=s~XRu+4s_q9kcEW`UO{KqIa5dP+`00+=AdmU>Be$ zOx~siw~F3njfOR)D7k@09@+cLVv`w(v~U>9WQ*SjFZbowke(r;WPdtC4M(rj7ig$y zT7bD|P6EnpAUvh#fMWg2!mWw+7P4wlCG%dGaDXwDoz4$=cWSD2*dB#N5}?rc_h4@i zhVvMwZQvd&tHc=j5s;j2HCW>-f6Gbj&oskHXJZfoTgNHT(fMgcL@3C@T z-wmIhX~O*27cIxLCQ4=5n3GE9@lo^jm$?Y^?M~N0xMb>=g)+SPh*+dh#z)@2u_@%Cc2xTJn-w*i~bCNV9l(b`Ns%t?>Sb|Tp7C*^Xz>a7ybTHz4KYV!RTHF%D00-z;sq9>jl zl{!GGPO-Z4LPSYFXSH7K(~V@ayC#xWAQo?a)vs{(HZCHt+VjC%>V>&~!puoI)K39-AZ>d;xdrxX{`+m{7l&%Y*o7naYg@Kx#%o}}tkPJSSpLRylQ*d}lv zj2&XW#-p1klbOMHmbvv>Ayvvg!={Fsrn(puDZ zf6MteP1Qodc-7rWp!=AVem_)xmZu4Q<1)J-s4}qvJ8SB-_q~b*nE(iDmCb5Hl#LL_ z$9;`4>s+jVs9qygY$B zqfi9?#^1)>bID5f2!-lxR|P6`a*INm&FNJk)8}|01H2YmucqQT1xPJ_rL7gaGSw#D ze=`GI_7cRRo0v*iox&5eFQ}A`uqY3$qvSY+d0F1q4RV_6YGoe@{BztTJQ=S9wsbYX zd&p)`{L?JblK)|Cx04K&8<2yEr0~Kz!8UZ)_S_Wxhk{JY#fUQam)it zEqGMoGO9fhpHw-oEmzI!gAVOU6Xj_p5(EED;~6RO@JCn>vo9xB(ge+By;eEJDp#%T zo%-`k8~Uj=x5M#@@!4L4eP~DOUSo-`!-?TiVS8u$xAqjz=22F<268oUaQiD8ceh(^ zWsdqtdqrhT4U@Y$bK>^9vNznEKw1Wlx*em5)gxphH+gBukT)!)0w2${hByzjz-#W5 zP@=$@)znD+*#Vb_d;J}NF;?)dd{X*twi2_osG5;51o)(gx@xZ?iEAn~_CbfMiwFX28f z)`NuodnsC1=%{A|d!(vnkxk6A3w4(yy2Klcm$1W7g1#}#;lu{)U56_+DTdc`w$}QBCY9VP^ zBkS>u1jE00p4^W0;Ya+m7ka2eG|!Awbsedc+Jfubv?Y7{RF^fn%6wIZ5C)1!MPLS! zZxC%U^L{iu7%P2vNrn8$bJC}6U&RhUkRkkx~9P~xG z0&2YAg4tTSUL@>u0Rak6U9`3yf8qLvkkE;cx z-F+Eb=#V`{=iOT3B8ty4a3iu5dA3WgJ4+pF=KV$@EqI@V4pd6#+m*?nobyrM|P{T#Tv za6VCC+i~`lGd1NS;l!_Ie2>$4U#}?z`m8wky)O5oTSP4=E~*!SfAA^r>OYZ^=*ulxMvuVGl+w0?~N0S5-YcZdtJsegHAKKO7~02*uDZV z-{bQFhck0{7h_-()B9~#sq_;WXtZ`Gx$P@6S{y*c)X$upHXCHnQmx)FLDc^ zi2ul{&XtT`|C1{U8+rL}JHm;A)1+G^r(#qkjfeLb%k0nEE`B_Xte{T81bcoFZhT=| zM*iGy#sX#4toU~|Pe7{t{%l6YEGAv{g|7xlm`+^ar^l&8+hx)~`a9e?<6aSmWEf$I zO2YSZ@uv#V^Ptf1cIk@dG%{ZGUsp>#fMn-MOB+ z+j+HbPOD+@CT10{lHaq$n&`)?n#yn}s3kq&r}%W>KvuP~hW`0ucmy;g$!21SGiOhnEAMGi>jTk$rsPS@gqx%t8`VMv!+>T;8{AH5~ zpJsRJb+PBWE9mdkR|#ataWHrPt*W>-i>J#ZU*jB&E|V4pjt}xfzSw_iE#=VcHT-OD z;Y~=W&(sY*V{{)30`OnPO7F(_&4FBJG+@7iFfwDM=BUzo8H()iBlo_It(M98r$si6 ztp$WGl0~=fAO69TJW-|T#CdTq?w^l16ep=*dS1BgoN?|efJX5ABFoZyBcbyaUH18~ z>6_rR)6W7ccIp^Dz|B{w5fmorWjsRcyfXT;KH2R2jIg;O*ef|PzHgEBuc$$#Q0c!F z?pb#i9@KO89QIWA1lUIu*+=IA6v~J{N2AxrZk484d3&y#e_0|ys!TfFbVixjX-@ci z%;|ubNzly|>1TAfN$B=o1U)n`TCNCp1jl-ry3`o; zzAJMBb8MlUH;veQg`fW>{zXq?Dz%aw3JD%<6q`N^1dga9^T~Qvx@-V>Z#}3<@&8{ONymF zKrWI8>0rBgJ-y6krPp~Ad{27%z z^9)62$W0t^cI$K0`DjaCWGtIHt#4O)E??}?O(4FPT8?XZMWlDm-Po9$QaCO6Uanth zpRBq~OV^GBKKjnt3jS}Yej!#h!ly83mX;8N5f|p+3Bby+7k})S+;H5XxAUA>6>ReP zxY+D@+iG|U)^F!G(c`u5%@vvMgikZ0x(=K+5&*~+vQpVd{9 z?Gp69f?{kz8I7->`sFaA%2Q_jOG`!MuTwks)sMBXl@K|~B#{JI@0ymRyC?nNSP!wU z+f$3OsjIYYly)}R_uOn|a|V{aF3*{HFGqGCKWKYeWxhVt7G8gksjk1Ctb_f?lwp*2 z2=cQ04;sVZnIin^J7ve8p95b%HV*Cq z)YMmBGZKYYg;IGe__RrkX0^Jnvq^5VrNu7ymi$zKoPqauH5(gqd_T#j=EcL` zJO)__?u+pBQhsO@U9b>^3TC3o2*YmhUYH_<-17JQe;j|bBXn959qlgxDa;}}E-iv@ z8!v3Mo16={;E9e60dRLI3<>CD!{pRI=)~ z^>rJV{+m-m#oIX-e;9;FuZ*@IaPe9$kY>jUbRU#}-Gmgb^rfw&rnFGD3Ni zdUR*zUNTD$9KAJZJ&NXKe8(tAOWKHjGHyi|0FFx0@oj=4Wmf$rUvYAubS+kVyS*nJ zU+(t2+A|n#eCqEu+wbP(-%fH?dmdj_i9RAafG<&NKotTbh|u+`DRUPGxa0lMx~z#l zf6+i1@bPT=sm$Zn2G17VRJ1)-{toRz3F*{U_LspD));&ad2h_^bH4$?bO&KB2=Dpi zfnlpo#7dpUfBB|nep9V!i#b7p>sdv$5K0?x6fDeue>D9At*V$7RcUxjmJIOlR*sPe z)dUTy4z79IX9-v@l74LGcx8D`h)1u#SzBk6SOfk?2lsqPF@2jWy?%wdv zn%=*A3G&_Gyi3ibTJ_#Bvo<(;c^cja^l4B~ou}~}+-oJT$0Y17ydlML1soumdWa)M zo)Cd%9gZNJP$`{4fC1s=s4;=b7WSNks@vXh#wSZb=eyuehis%M`{R0np%J}MR#%V8 zNanN#(+lOm29R{tYP07`-?$Fp@qt!6&E?N<;`9B$xO*wJ6Z;Ky!46RFjF1TXjaJFs zNVjh#(FfB|kLabhO5-L+7npzYRc)xD$P6X(%oJ9f)sFGcV$jc<@JuUVpe(VI%FI@( zD6>Pi_=c}vw2RmKrte8RlC(Efc0pHnR~O)VFO?(at?ACn9<8{c-1E%J*0IvM0N3Ar zn#PX7Ru{qDKyc8*Nk2p?DyYaO`duFiGlaEe=G>0|PsC~3Bx6NHY`XX0nXTBp)KsU~ zKnIB3v#6L8Ni5(WEOut#mf>k>;~Ak9ek?=0j5_L;_*;f#BPk-fRS?)FY0US8eR#epXGJ2zzx z;(pS$$;ynKcemNf*rwk_n3(`j@7I6!VoS7gaBfP@zH5@b^{qzC5#>bW%QhqUt&?XW ziWcNl{R~W;oDRO|d)|Ecg zcbz;V%&ZrG>C@7h>cJ|_JDYyLmWvIGW_DX>`;1^MpsusALgU~&fj>8G ze3@@?L+r2}yr_gPbk4C%2}=6sxgFMH5J9X!ToeP>M?KwE`zx2}bonj70E_o--p$S^ zeqQWVi+6RaHw0r8ezKx@fLC9UH7p|= zFy=pI|Gy@XR7D>#PUhP?sG~45s$;lt68guj(qhN1J?Wf|`=?csnnMxyx#wpu3<>7T zsnf9z{&1F-VDfKS5V-h_rQSb~gXkckLlyUMkG70=W$Nz+@ykmjl_`}!f)6A+O}b{n zqVrxK^AtZiHtuYqmMr~tQQz*vDz^#b9H(t7F=y>aKf0s_z8J-hn?d5KqyaII-tb|o*?Wgir9 zUE0n*eo*}mL}?DokVmQ82PZvd?arXbZo$nDs(HU!*2e%?NkES^7vx>cK%*$?vqFU~ z@uUfZqJ5q4AC4maF_!uZx{rQmfO7sP$Mw`2|8 zPlwG9l>onP^zer(%3VT0Q%>Ay_%rCC8h@^@`_=vU5!97N9BW)3^CuVtiwFG^Tfx2{ zUq~C8aNC7!sjS3*c6_)Ep-ONo~XDTnDm%-*Y{C{*lep z|Ej-KY41H}6(e8!axp!Kw$`|-J0Jc8;Lhk%oGWXSGxG84=g`LX3XseDD)H9{cn?A9 z`=Yz#f8bTxLQ)jh{KdvKkKjtsbrWEyWg}6nj!O~kKp;I_u}=tN9FM>QF(zq#=PK78 z$MDJ=cau!?!}LkFUD&j*jhYlo;40XV@rL&x&%+w8wvd}k;MH4ql3>VD<__GUW4^tg z%~Wc}bR&)aCk zDfQFVy?M<3z6iMJ$>KaYOfy=Eo)zS{xH^oQb`RmVeW)Yx`mWX|RrhoHTaNGx-ak0L zEmew2ChB`AHbaa+)`NVvTrMS2wv-ASF#uPz?Fk`#JXE>Bog;0IYm{+?%S8r zmla8a_I17w+YaIrR9q-H#!>=v2>pU9Sdfvif6T=9NJCAB% z>7v^|ghH z-_1@hg`GF|E$C6xSnjPEbQ`Q88@`WY)|L9%MvG?;$|XaO8L;HndqkBsQ-|h0ZYi$+{QRmvZ7oK&WOx8{74VpYVPewM- zXGpYs_(q{)uL)nS7exeRyaDOuPKol5CS3YYAFk=^=8KWUf~0(Fu!wSwv8hOc5Y;S6 zNDksmu-ah^*yFF3w`-p^?g=ApP~EL5MOhOFzjB0Ll;NpWRHShpzje_w=wtvpk8yo| z5gGZ|2>A`V8&LY0JqX}}p%+qIq5Mg_utT<^pYc;Ev|?9ZPJs{#F13h?*OvyYeT4o$ z)A43AyVfCr=O)58ve>mygzmeUUwED18YT`;h`(aE+V_7)eln??5_a$($^ni6g?1*k zv$d-IiXo)(eoR+5toZ~h2K5T>HOS7PT{2FL8Ht-&SxN2`5z-hQ=HeUafgI-Y9G*d~ zV_D}K4sVz59ZwA?Zzi4Z(X)Dk8O`1kktbmfoAhKSQ+k6ZlU#2m*%lzmUCrp3tlMM} z@0UF&Dqwx0%#GvP&9$*neKw2DV2VMp;0@mhKcoCYf=RLkYc&$>Tg9yOhc}vwZLk#f zs(u{qKHGhq!2(l#F9J%8QLBp@k2P8$Yrlc0EI*VwBn*S*$#-tID9Tn_NX95KE;_74 zxCQY)^;s7T7-${ad&tI2uz@DbQU*giD^lKqBwiYWn683!E-waZ~qLQW7?28KRJ zHu)}ydQ>n557jF{5d`D0-Mi34k0l>dEY~9f6A$%%|BWRB{OjDqqdu0dNG8i6Zv4a0 z$CxnwNOE8Q4Bgk*NM=1~-=T9&qBq8VXsph4jD8a*eyzbFnkuBxf39$>#tL8F3lp1s zNBTjm?U^h_)F?yF-ye`Yp|w?R?9a$@!^SxW`2nD zd)9#s2cMD@oS_;Uz*)*4Bei$E9e$glqtPLG+RZBN%_}i&9Mxym^`y0iYnf_+#~p*N z550?mf8_?03@Ii$qzZ#88I+=rh1j$&--R2#D4Y98|9!3sh3y4GtmZjh1rIcbyetx% zvW+m4eFf4~0c(d~t7_A{pRRxSXo^NNhE%yknE8t(W3dJ~EbUje;htUg&i6tDsifPv zVt`AqfZlOV;gkzK!?!|KF~nx8+i&|+yika(Sp*_C`hYV+InZAsGQ}Oy+(#6Hh}xjH zYuD&ij~UA{$x+qB!}r)bqyh}Fr3pxJ31Nt9lk-y1l`pRv>ed&KaD7RTTtbGmF@{_H zXp8T1<8MjT>abZ$lJeZDIBKCO?~-j34>@U+C&S-H8~-~oc0>Nq$)_Qis#r4K%2Ii2 zmg{UZ0G4iV`!_1?jyt$FBE{mfNlz>Dk#wDGV!SeDrHzyN&LV%rcvJlG%VYF4gX0EQ zEwp&^@~*7uWBd5E*w5X-_4~{5n9O;+>M}A75v`6SRfs`w2$1@e0kK5Un%m-D=n(%a zMUG_95^<8UQSr;Jc%-U64p@SH9syfH4A;Q2qFhl%fXlIxJHY7s zf*C<};trdyFseOn`?Si*D2>_dV%_%%PkejcyBo$0;MM@5{j2&{=-~>uKL@;pt{7gJ zJ7E&ebiMP=T_x8 z)_0Ld4l=aCr>HPw^LjDuFydr?F;X--1E>k?7dY~~qc8b$!Bnl{3!%%k-nT=(Zg_;l zYQ_`jM&`a~sDNMSBVkJz(;c2T`c9*vpdi5S2!@HVq?Ye3%`VLEkqs|GgX0eoYfDufyUP>TA(0<-5=_3*jYRdhRGLZQJ&0|w>se_R(38i zz!!0@Zi;8T;Kebf8Y3qpc>HfP7(gL0`?}t)dXA+@1PV5a)B9o{QqsHCyN=XOd{%XM(W zorOHUnQQC23}HHrO8~Lfe4wUgmAOjN7~|(R;^=1+`KR(F{$nnW#Sx?Xy>orM*+`Q-el7SF4qU?#(23M(;rS zKl}HI)#iY`8cEtOgYvB}mr@{(BtfkN<4U(zKZ3Y8r?h$HAI81 zLCnXclWgr_pu0tUxii0IVG6hN>1tFbRTLUAahQ#N5ChsO1HBH5`Pr-EUy^R+5wEmnKjNM%(tPn z`K`MVqC_#aRK`~K$J!euIAdk@j1t@%b{shW*i8`O#_!^4x6Br0Nm`E}6MtLc^!}*X}uaEWh_#A5ezr*bPK?HhQ)P+4ShG=J2ZBE2vHHDH->x{?Hz~|z+wwpZ5 za57ZOa8BfTppXL7MyA#c8=1^VnK~-#s5ML;yLR!XVY&ulZjnNG(zf&8@5l z!wylIh=LKp21W)Q$oc7ZURYm=F-$r;bU^M<2;#mgaGT1sg!@Inkm;803sJqNA&|iQ z$I@$*#k~?S;Ss63w|39iyH~7^U?-iLU#!<>wAN;W%)XO-Z3F?cUk)P<@mbMqiIoEg zb{Ecylm)g`i&k+H3-X5Ta>vY!CyI6_6Ml>>SFUSS`LPAs zs1x==kCom>>5u7e=lC^5*6TH{0M}MX6lPweFJt_>`Fnt*hShkw*EP894VZAdTf?P( zJt&4sy6SwJp8j+)4&thtks(Z46EbwG3=iqmM@77E6qk)KCXWMjLeZ1!VD+rsQLf3% zB6lyEa-ssn{97jL*P>20lego|j+wDnPZgE}`Pd3Y?&hP^5!UtAR+e?HPgRg8ulWCU z0r)6sr{>sZ2!OD$)JpKclb!OP-4kc&XU%ZlT2uE3gZe>ZyRUD7EHU3rOg_KtE-xOS z+qYI0y(2-|bt2cdPg~5Q?S|meQ@0oIL(gSAZ$IU-7dj3KGdZNzL{llTLuFI%tf4OS znK~+|BEHqNE-%jG?>MwOW;sJw z*qJ5R-Z`Y6t91GonHt`cG! z-sr*@MTq^x!i^CP8By!<7oN5fsAnSAijZa_mUhLzO7OBzS+B;C`kfGuQHuRd-JO&a zqhooHTooN@7^h|dSG3pDE%J3r`Vc_Hu_Y7rhkX%2g|~Mc8{h2UeNF<@)9KVV$DBji zSPnkyvUFbLa=$14PBjyt;icbnJ2C&^){`PF(PPgAX||zHyNzw~d*$rO5nLXwSv*ZX zy3G5aH3tt5F$9G|5y;goes!j*?qxlBMxXL~TYYyg(g%iM=<)aW=9Lqx#p=S3dLgE} zd8&F(l5bL0`g4}fopC?CU?F)2t@P7jQHNoPof+;8RuStSXC&~$kpCf*oOM4Fw$nNu zOwjk#;4x~3G;yIGpI0jdmM9*fjO3`5mHW+78M?`Fg_7Fc98r!vp*an^^$c;-I-KKw zy%@4{gjvs6st8krAVkF)b?qa)VU~w7_4ox40hxOE?mr<`U~S%pYJCt_<26?a>_0A5 z*&IIkO-h+*n0UNh`&@wOXCHPaEC)1>1ZMAsIu98O)9AttdsB$iUByCQ3cx&bWWe{@lOF!Mw=`Y+jhD<0SU^RWQLEkodPl5oo_5Y@!vK3AYuqa6pIxr$ zu2n6u#-yA_SBV7C%D_(GC7MD#Dn>^r+~jA~LK?-j?_TP0Tq8sEq^7MG7kV zLD-G@TeVc0$34-5xDO`TOtjUyf#K>S_tIa)Rtx23Bz#wosvK{H`BZKBlkX>ecPMR5 z$cp54;kfR4j9;T#eKj|4s6oR_pyRYO2X4L3o^OI~NnTeQ?%|=JUh}A~8~z2PK^38c zb4p&dffBO#loqsS8>;Mu@Kuc-lCoN(oOf^DBOzDrA5?jy?;8L#wnX;W@~rf715&+v1A8c6MounW;@?Xo|X=+WB7Jr zk~3E7J@&S|?tk#p!K4~Va$Y|lQtu+2^_Y!1Y^TmM+G#(t*a`aJJS?mFA(C82@wW63 zUw3^Jn7Q<89F5*SzZ})$nD79vyYd8pta^i`S=$*5>vRoy)p^|?8}c9ToIXQod~P2h zEvK=l%s_t!Zw!Yyv5pUm68FZMY_AByCkHB#-TfA z73!W;xQGj7Kh%I_R7e>xR&MnXI4F1Qrj*q3Z-6P zzH3ZAOZ;^?DMgDo=65F6Y~gNlozWk| zPgMNG6dPsJ0YJUEUsS8c4DzKbjkp}()R4lq#Lnm(c&gY*d2$Wt)TB755*4J8QsODM zUymPY8l9Keo0C~ZUJY=r5>5uxF;2CB$+mACDTlA4rN&9I9F3cJ_0VjHRpwa-7EvJx z+D&|X-0Y_*#daHnoMA?gX;`5y=1PaH;wkjTBAA9hMOs)`+qBK6!XE)IQ5aNun>3mv zUfGDT2Yy{^w_5i`BL9uzWsZ)-_2N!t%Y;wLcl5vC_CjQe)3@f|9O$VGcu-T_k}Eg6 zB>@V94xCs^N7;Q7nN5V^ReS6{%o0Qr3^GaVR`g{SioEV4+I*?<648n7|OPsH}rNuVfczJT!DQ5e1hr1Uy>fr z94dDBTc&+(p|$$$a@bzSRAZxU(DisvaCJE1?CtMaVfLG_aM@WMn!@N=B6bs~(8eQb z=u}msjL%)VnPVV2L;Y{V!%}LcpZGd!3n*=#UucO{>xQPNiihJ~h&BareaHgHh-M&U z5y%P~b3p0iVB*Il%~m62c-kETKGHm<8POn!Z637@CYfM5`VA#nRRv*4cAO(MRU{@r0>B zbx8IE@9cD#2e~VJ;eN9?mTPFA#Hp2IU6+np5A7MUU5Da~QD5_BN^xoQo%I-9M`r5O zN6L`KeDLSfG=o}zz!=!?&^=YnUMD$*2@KJMN;dv>!oxa^d6x6qA{KqoEXpWC4pb|L z>KBW#9LfSA+n^rnqc;W690Vd|!4x_YA?+m@qmeRL)Qp@|Yz%$hpc>;03#? ztO^ORyIZ3_)|54uk#5(`miDs!efAySK8EF43r1h%OC9Z(CRi<#Y{u7L&aGqgld{!5 zEvsA+zJ!vf_)eLJaaqI5SR}=nMA~|@160B@8^okT)rv>mIvooTaexP=%?BySzAX-vPdLN6t;x<3clhERTT)A=v~b)O#Xi9k#o z$B%asyfejdmD5`Zgz!btRbCW?a?<0)t&*cY6j$$FIg ziCClC(xN$8_~bBC!JY7f`0lR}!X+?tcH`>{8)M@mw4#pSMs$c~=D=l==YU<^B8{$g$)1(@*pO7Tfaw? z(mrSJeGdT!0otA2iujnX#g;2NYl}$=F#_xP8 z{E}zv&{#0#qvYxEYG35TuQc;Q5D5hLbKC5FO1fk?{g1KrLsp#aYpyrq<<0O{uk3pZ ze+84$zBw+c0u{c;h-hAaUZKkePPKL(g(mi^qk5EHuenVHR2{p=#-kY@clYmib}rQ% zefSPvK5NiGh13CkX5@!rBYVSMLbq4?y6v(B4II?{SU2pu+=;A_t#5o{7 z^H0p>>_hq}D&Kvv7&Iv~mEF@}U7y!|CybfX{y2dzgh9E3Gt;|MT1yAbE> z+$2K|gDE4+i}SbN4^8%pFP1#c17FlK{D4+nLr_Dr4|$KM2mQX)?+1)EhDK?Z_##9B zgqK9Bw~_4mAYi8_@3EwT@e3U#7}h(q)1Hf+Ui~mW#rtx*g#;Jt%I-{SX&kN!Mtrr; zKThWxk#ilmBm%PD7UoFC9tyu+wo{gMh&S^6>w$pH{$P;kUlehaROkC<5u%>Nw^d&` zc1r_SU68Er&QvRm(jv2idm7`cCt~T6`iP=(7Tj!8hFw8koC)@;N}ZE4J=!0s@5R|91$y2ipHd_qAQxc9-N5IY(aD<-8N1IAZV+(M z{|XQ_rOCa|TTiIDpjMj#w_Oo$a@NaiBILi2DIKd#;4Erbsm&2`dxBl|!3%9UEeRHf ziDojt*))j^I74`NBwU%pnl@jioU@8C{B_{5eZ-i;4nmJ)&yEwvAjHR@P6$=r{=t2o zrs|IFv%%N-Gyc?lb+T6QE8F{|+U5+?_8wG(mj7Ez8_>nuj0`=Kh2@&-6>Do3o~lX_ zdg}SV3XvQo)^aN`sHB7CrlwzeIl(o5*L2vK*%VxY3yD@hz)AV)Q&9yGr{ z@*Wn@LNH&{{{XN}IrTcwl59~_TK{EzZ&{6(9TFH>&YqlP7o;A^5OSVorFBzhy@sFB zf?qE4McIgIsDK`@7x&;g@u`Ir&E-L3VLWvax8cEF04y1K)Q*!bV9C0F9_WtgQKo&= zPWUaUUcS(p&QV|Ja%E|Q!snP79p-sxZ@esFWV!bRRZrCM(@)gA_?<7Xm2ec{n|9Mh zn|NKd5IQC&^L)a-$%&NPkF@=HD~)OF)j~xN%b!HhVUXgr><^hvdOimH)Hq1oly=mP zJ#F&|*I`lH046Q0J)|aJ{3%$GEz6z1o3X?Oyb)T3kkP*9^LSwF)xfi%umq{I&Y%z4 z2HP~4ZPt%4=+GYFG1lrg`ZDX2G_H#6a& zG#DvvFtJ@Ya^5+A-WN3XB7U=&S}17G;9-qa0X1Zs#v2xJt*PY*=ET5mCs_AZA^!mH z7XG$8ZOLRxM%PFQ#NLjmeSO`UcCJxndRZcTJoo;r>0uv`_+blTy>WSk8aq4LeEMK{ zM~7+=4kNy^dx1~Fob+4eOf^b7E38j5nAhFq?R}p<`E`V6^j`^M{M6+Bzj7@x`me6E z3pY31!8$pd{ovvQ*xG7fZ_jW~F4Rm3l%+!a=QEaP;tf{e06Gu52HJ*ZXtG?77aK5- ze26)eUj;^2B2a-t|ND(FTYy9qaVf4lHQravIO%<{W340asXC832KAJ!^;neW&7b6v zvO6Z@69SrXt-84&J_|zmKh*rSlZ}lO-Q5W}A63pxR$D+_4~v626^*{vtU|`b12PYv zm0a^?iW{)hxI;q;+>{PqQxB7&WrWkfo4wF%)$L<$?+1b#b0lc=7$+ElSF@#r&7C@) zA`$@1>BYt%&%{C}@!BN_UJRoqb=ubY4Paz;AQp|CXv+<8j1M{4xu512{Bf|Aao__F z&q}waP>lH3Q#;Ujh8SLOv@3HT^s~FW1|wWJ@woQ|#>{0WKK@Dwt=wmkPHf^Gh$uh{ zuSfgcD-zXzRu%gf60}#*)!SneeL3B$zA&OUVc7}kLp zd2PUs^a55{PF}@!yp!L%K^IGtfxnhkfJC~bIWNqChDE?~>9^Saz@*fpYt_IBlL*o= zriy`z%F2s8&Pp2|=^Q;1Dc`cT8`pxZT4rmk7b?QQU{bR37xR9g(2tVLqKnJqJnEJ! z{em7u&-ho|d?nu%T4dx@;E;;;@>#k`E+1p_7dJ_B3!(&{H82cr3B5d2ngv`M36D!i z<6=tW!L|SN5@XN*qnchZ&sw|BazmY&-x(nRbaN>G&0BzFh@nPWimOowOj8$Nx9^sx z*oAAh8`xEVI5A4d&hdEKNjbN!NB6tz{^pJ#U=PK1l_yNcLCbtiF^P*!3E16M&sFPw z{s3=$GCbi60ApA$_2|D0b@L*`NW)AYS)jpNk>Ym1s=ZcuIbino z#sMv!;tu^=4WD>UF#lxlZ+458(vE@4ANtNJDXeQ$rK9g=BL}j+0o@Nx7PKA=ql{hZ zwXoqN4U=n(D?R%IYTjr20ixqI-ag7wWD-^v9l!2w2XmrzyNKlMDJ$z~K3fqXqch^L z^3ZVg9?(ntFCD0Qsn`Bch)v8n_BcN194kVt(nIqxrqRNGb=X!(W~`V?KmmSRxPaR+ z$E4-2D-V7*Fkx^47*`L`{bDwV&9#e1Yu5#xaf>NNKUPr=*gDX{;#ril?u-u+xm45} zcUq2I#8&t;k-}cY%4T-)F36iiN$C+^@2v4Iv96MIF#ZYbFvgElOPmmWu7cVfRELu? z$vGaJE~JuGHVi8J7bXUgO)%HyvITEX95sH3tPx|5wU6=rQKx_;gB3jX<|Ss+!)1p7 zsE3m-yEA6Q)Io`I-7-KbV=d&$tnTAUqK~0DL+{(mqm?U+qN0|fW+RPN>|KY;)Hg3U z)UwNtA@L&qw|e+A{qX3#EsR*=jk1YwpwzA&?hoJjwmA3Pn?cw4g(`EsCNj3oYNHHu z1(V?MtG5ezhCX8+!pW^xzHTzoSZ{uC8SwH}I@S=ejn_tVmAHB!w)s?1@<$bJkV9dysc^I@WN7UFMcbN9=q>BL2kU#GuN|cz8|o4_Hab7-7q^%>Z;j5mUMv# zc?NNQ7C$RbCOOr^qdaB|L1sF{KPo@bZCQcniqKGSK?kcr>9`2B9UtoaYImPxmZ|6a zY*t!u++dej`own=y~BM3^yedm+T!0ks85JWCVh@&rt(6P@q zc9lOMo9p+AhA)i_TBAxHKlylJ8aDJ0SQ?ic)XV`jmn@&J=eF52{Ks25uhg@RCs-jm|7~|M|$Cl5j`VJo6{QX2jdd2vW zzump9_0fX+`XeT!`f;zt3o@p}_B_r)&h!(Ac>%dl!=6afl!{fq)Qv&D#Hg}Q_pMiM zfBg8&NAx>g(6oDPfb~SfA?VrT_8zlbzo)%nGh#B}!vVi|JR$c*dtrHNi#1@-gBLA( zXhxzZqSNHismaO>j|aEUpFAZ`pGp0!-lb1lhsM_OAb+bEU*37?ImT_psN|s?2)VYj ztAn=o4quKgBlJD7`4k;AsErzy^M%yHgczc$E%t2IEz?MIZ|PcfCfH<5sUa70y5n#7uK#(V#w7D}6&d?RBQ ztjC_(=_rog!9BRinw->oRV#VtEn=2U%|l8KMvKWO(!(d-SwF^n^Hu;R6^g_;H+tZDtJxrSl4wd=C&>;4?3!Y?zFETaJ33%UvGh zb4R2xnL#ec9UGBBv1GTvlGH_(4?fTbRym_AhEj|U`xFKu&uDltM&P5sp<(X)T&%@od=Stn+r?2b#sN!Jy?ZI5PqvAz5Z;_#fjDBFJe;s`o)?uE3uf(;hQ@V_s%(^2Yx z)0rWJO`nt+SUfx4>^0il2{=$&xSh#`BW>=O%EZaHF(i+I4D4?{8Fn5dm2vdW@XnSz zmNyelMio1C&VZl1PL*3T8=ttU(bIBn(~DxT?e4a}Xne=>C&aRt=g`n%YLw+rztAQ$ zUfyE8FSjS)OUx{%qLHEg7rJX4HUt!Vuk%$D%_g5Sg3^ztn-ss*5bGrdkkUkM>Ni_2 zMvYZwX_#(wU3wWwjR}Jlg0)`jLYuQJSIkm5cIXZj#M6ji`Vs+3ynf#1z}EO9p@UHcrspdOh1O_r6-fZT;Z8 z()_(oqzUu@PG^7!zJaF;dw2Qu{d8+1G7L;p_bZ7dlpQ95F27fji3_3#OB6ApksG_^B)^@3gG zxOD`GOWlWUM1Enpo)Bc|Z71p*=oCs%anBaONr5)~`-ZjQ!2I)Z^E)M+Sl+f${ zNCiIL{IR>c{s0?)%QVEXc2_C}UgU2X$bKNeO;#cAAjQEYeU6Ml?sWP#tJ?CfC#9|LQfuefz;b;vX}&5FmHm$6@RFq2t4Q_ z2-K1IpJei7E@k?L7unk61VWRnl^|3wiDbBcT_yFw4|4M7=2o~;ScqqJEQK-cq_ueX zR45oe>1ES-Y1hi5Al5rGUZ43A=KcN&i$~13wQdcUQjQ7nk%%|uebhs<4$7#sCZ-3K@#?J_!PoXiLI*?XW%kqoJ6$ zhG0_ST{|0AY>PZlc?D${da~AUbnz5UG=N=B@0{MDw2DVsv!z24%1eT<8EI?j(by7j zCA3uYdZ=N(|MrbT(9cVS!wy)bS$nXUhSlq})P3sHzr_*>OSc_|1%ZXHe%qVd`+nsk z4GrGDiIcl`$Q+YVg?P-;(*WsZf~7&1wzIdF$Swf$vL0k+her0z1LI)211M*&t@7&A zT5Zw{Gd#e?hBn33(^I_=SFkq;Pi0E+AEROsiDnm!g*xjgXeU>yvp5Yf1&(D>#s2c* z+Ki%)X6MwTuz>dc06ef3e^w(YT%JewWw!ZIPGc2Vi(O;sGlTtm;mVHTN;2BTx4y$E zgyo*^ef@&Obg+5zG3(bi=js9+r4CJ2gKBdxOvPFYkv=F|gQrbuAl0?F z4j$#3tCc%;{P@q_^R@(sJR-{4kQ5Sq7JNumTC@6mwdVRQwK7{Kug$mZjM)j(rWwP) zJilKV%fB~1Z6t|i5=2k2`4@g1ry?h(X~T4uy5xSz8?>)WnB)Fa;=gGQLK{*0~yIw)s9LZQeIyDdTiI1?G8v$IPI3 zKl-aZKw~M^NWh;a?X1^AS~;3Eaawuv&;rpP52Aj!&w|}^Kk^{D=x@?R9|S)gEvCZN zySA3VVq=`WAXm7pVXMoCJ%v03P(0lJpGK1&0@J>17!BC{dODZ1ZaJMcLLvkw+zj9N zK>?$Zi;uuq2Oes z9=XdlMMqAZ<6b4W>9JPw!?VO_)ikK1wzaTUjm07?Pt`aST?bO|8si;V;nffs!y$9z zdwZqBwUx*`yuMQvHp?fJL)f~-nsH>cztnyVC6w3M#QToR&s^}TdR=f-RVr+}1i2ZGT)2Fcy69%*XEQ;+2{Cl=yT|%ZwMJKYEP0&e~v4XBl&RONo z+N9rLGpM&*{i=$JrOGP}HoyQk8URIIc`|`J2osza9r=tWBw&=#6>M!D;MddPhtIa} zHj1&JCcs6OX(Ki8aBaFdA!5Ibdybnqr639#De&AEQ;;6&Y8sL{95BhY$x2h`Ph$>X z9aHLJcXSNbZmYOI7Tz@w( zD06Q%j4h=uPWwg4)A1hEmcJ!$i+F}%oOKlQFAOuo()1&K5+ZeG@df!D!6dA*qhj0z zZCfa44NH|_Up}aOLZ?)NnsIHPAqZX~js(wHePV-E-zNvDXge~ms zV;(<`^6!lkPl9C`NH;pWZTn&A_0nwf<&K{oV5LX--d)9smS_kne2@$k(f*57##}c~ z`Z7>u4$-&2=CojrqIT`rVScc^?yA!S|EFpRTbu87_o!L~ytbSNur)h=Ix{Z)-%u{m zRaqHXb`EnU0S^r6>Jz$A1iPs%4}qR-paUreMoR@8qfDi3k54yhu=8#NMr<~{$Ng-jpg^h)whMvF4 z2bT40b>vqFuIrjeN!ALG_m8r+;L{qfHZDQSyjkZ^q)0nRD<68xvV$5jWn_Jok^AH< zNs0_b`}MK%JgdVTN(M131QAISNeaC!01Xh?COXLRZ^4SS_w1vMmOJNV@GdVC0Y|7y<; zTs~66GfVl`e3SQr=B_ZvCI~LZKeJ*=y6f5oaZx?Yoh_;VRs{lvRtb_E2BHTd$x|AE zUn{LgCN-`(85&pefi2Rl(E4T8Bvv;=1@zR2m+Ldbdo}WdKiuso)@YR?~=S?7>9D2JFU3iwA`4d(` zo8wArj!5JmJaYb?xhuW%&vEEGc&nC)eL{@e_&ocxf#=QuI9D<{w z`9M;M4P!gpp39@^Wmh~V`un4cgM*PZjo-6nt}K(w1~E4arH}HRymqIKB(KX;$AF#g zr7htvhWv}d%h_W=_ zW&ZRE#!b@ZAi^Oly1Rl8@9su!XWZ8QKcyP$6Z{Q6$a%mRJq1eJV9w-XmpJ7ljNWgp z2n7%1rt;6GoxvxYy?D8|YF9j-fTgX;k-Zy0;NDGVNMQ4o9dXT{PXTwY$$kP)?%&4D zN$h{lpnI+V+B^e@W*=HCX8c~sct%CCVUscpo06!SChw4qk~oBfMcpq3DZ)0*c8__p zRuGchy1*4Mw(E5QY4jS@6WM?#>DHvu>&=B|qn2 z#j_Q$tqJA)aW?Rp(jH4MOhZ*LqW|^Hy367NYr64|yAToI%g^N8xG+lq5<1a^fxc~M z18gk@I5E+uYi7#!PK=~GjNV?_t+2@uvk_K`j5?9M$tKsG@tG4O#xUIaLqnB$OD_LU zO)qmogUy62;ktnmJ9;tOQ0b(-CUn(2*FjrU)%5Mur7d-7;8XGFvwXB+4ennC3D!HS zL;yNo{6gtJ|kspltlaGscX+IV{iLlPM&k4_1?rGC1$gr zF7C&vEpz&Ri&NXa;dLc5s9R7aovBFj`3XB?W;DSZ;!GAAi@j_E=?8ZFY268rL*wN zT7+IkWiao>gy2Gt+1Btky1tmAhU7-^;hmr+`99y{)ykXL=x3j3ruA(^YsN^=3TOf1 zm8)Wa-9JME`^w%|=M9J%Y(Aqed1x;e-*oMf`sF{w&)`uwX`f?G*D(%IcCL&y!d3!r z(bRoBcV~Mt{0cu79!F5*uiXf7-cVSmW*CT*#^)y};Cz>QJ+r;>N(hA zgGc~yn-}wL&E|TvR*w1&c)QZ3#qWs(*S7?ZhI`kYdcglX*Y5=a%mL*Zf%+>Ybq~Is z7iEtkdxqe&0>=!eLp1*FUvh@shtD7%KXer`-;QQ+O`-bvNOGU)*lmnCUPw24&)~99 zlVWx&Y?%@pEUrBrz60%|-S=~74YZ4e7rzYk-0#*AIYQL!v6Lze0nO-;Vh5LJq1*;< zho3)VC^>L-!le1hF?j6ePXGFxhviFGly<@u5yjq=@=d36;}+(+_D65zLw7n;Vu$x(M9pO#x+D- z@RGd5$3LcX74#yZrKd`YjuORQvsJK6X2oVRf>u=LtTb_0q?`Y=xl4?s#GsLKM%>oG zh5`N_nyOfDIddO}n0MIe)47SdjxIO_Ei)d>^IblGE!z7V-)g-% z=C6|lN(oX`d~Qts7F!;H?rmDubJYKq_%oJRfN)q52T-KFFNnmW(P{cao9B)W=wf#~ zfXoU#pAvb(wGuYA*TR(Qtz`FC3TnEy$Z(Lg@UF2{99cR3SDb9{tfnUfl)L4yyz<$# zL+ys5)bGlj;T4F4F+Ah!syqO-e^3?v?;5A^uX4frZS5xmfZ%S#);aY&bZci(5&{G* z`E`L$!j$d5+a%xa?%KYvw2*!tvG_nffG6ciG>Uxp_Jc`j)y{RjD(2X?narIeg zuAXhq7Zw`(00;YZ-bj@{=D=%tRy{0f0er`^A0L-tmz3uBr`v1%Od3o;H`|_CSIWBT zZvU_`$-)m`f&6hjo3-)R?V>>5mDWMU3>P+UNPQ{eacT*{6-J;RXhmK6C@0(GN2U0) z@GzXK*Bn@XF`+#KXel@r-61S=4S|O?Cm;&tnw%kbCgd74IB`qRk(Zy3O;j$(Hqf4V zQ=!4I<#p|H@5frS>L2c*vVn2xE3xgh^}q6ghhbldH+t|A{}Lr5c5H3YLpgL`xqqGd zv4YEx+7cMOC4%cr{`0O^bKHgHThM2ayhm}Uo&|HaB^|yzDMe87Gf_6$KR)X-Dehc8 z9Ps&d`K!}^A;M7F`@t)niwKF`BK5yMv(^x~97iUCN#CuJKGcoJj?J2oIbyJ1=3*>b z^R|(C+uA|tF!h-#{M!d-`bd))-<^O(2%&bHVy>J)VUMBG5N>E=09G-?`Hur7N;sd^ty`lM;sdFnTOQI7c>3nTdl_*OIxg338&(Pg`A89k)E z#3DXS+DK`4{%?UT(?(w}|B{Yp8t`OvUa2D@!+LJd5AvEHH)9ujmD=7E_D zJ#^e9!-aB>o2wI;sc%m9nS1m0-l~g9RWl_2=Q)s`4YkbdN)Y}}@krO*Nq3k!_|7ct zucq!mX32kJ$CDoBHyzWxO)ktw_kq3mB5E6YbC(p=j#uwKi%RHGC&cUg;8aYm+oWEp z&UY+zNp3YR#BYALkb{|4@Ih_K6Bwg4>N<^EU9Z@yG@!E|S67sSDoSg|Taw)Q@-(n~ zeB=uR|9N%gmczm&ejF9aLRAiI$^YAbr_=}bsA?5a&+zyoKG3i3WSFu%CB(pO%og>W z6h%awr1i7K{K$foefdZXiNfG%PL@MMpw1M#I7)s{@iDxqJ0Z%3x&kz8XeR8tuh7QY*a| zo?cSVcC)_wo)=b0e^FmH*ve4%b3p+7vX*c#&L?EQr)C#xFXVYEtFX zO-a{Ud1b<+>``0h%idsq)J~g?t26L+ptp2-f$?`H^ZU0$YyoL_wgtG`Be4YYeCpf- zZ`lU@4?e4;31e!nlC@sGGGLasM;^C=5+e#;m~_Y~VQPBlx%i$~vIIloT|Cie2!myX zMIp*k`PVHwwm4Y>) z6Bv)!y*^roey7!&{Wrr?QOV*u=*-=i4;=lTu&RXbhE^b#suu7w+kZQg=;l!(?@f=X zz{TJN37>{}&}tj(8hqc1+O0lFvxZtmA-{QStqBLi636a`|F1abr~g-+l@7sAq&Yuq zRA}_F_|?`xhaIBR$vBtr1UdSIoU=ydwSS)Ft#=J3=w>f=)`CN%wav2tkKc=(6{7&d z+gcrFkRp1C|y`+Li{%LOI4oVbr*R)AqX#cDpNh6t5 zYqu(I?RiUwZH80vDIEAA-6^?i;$?BQ#`a^+hLmpok5ffN+Jal9(cPuw=D5niKLYn zHPqK_l?CEo&Pw%-Dt+Djcvzd5XLgdyKQCFED97xkw)?h^|6FeNYTBc`t+Q4YQ(UCl zPJjM5O+R@K8$bNlM#5PGns8KF(&c4)v;RAd=7h?c_AsQ&BNb@vGU} zDymbtrQ8$}^V^?+d~1Et8s*(5GDK@iK0ojx$lxGv^R$4lBf2wuk=WTVw`+mp#b_xrkpn<%`(JRD>7JIjUEE zadB6QanUzBTZ82=ZpQNjGh7&2OmcurU9FyQDcIeF`D4RBh6e#TNQFu-5i)Y1i<|qx zj@E{;2yigNn>%J6)xiKx%f16F@1MjtZoo3+EhSs44`c4DFK=Lj-t)~u!r6e4d(iF&zc^fTm#6)g^}$TEFb{Lw7X zbI^MI(AnGt(3;q!!wMXBKD@vIy0cj^B%L>-)-Vbo;H zFNf;Du#UwlBR9Z_V8SX;YRQ>#ew5thN{aAe`h`FtE(XC8f%fk(W7|yFtCA-$R?mk{ zf-gdcd2bed*!<5Qm8Se;u4o>{A7W26$8@IOVfsLvP5#+~8!^5LOIlezO)8TC!E=7Y zj72t_R7F#8pP%Hz0CI|X!?*I5PwNfWJ!EFF+2{Vs@Xa=4c-iX+Dge!-V*a8JUqXTU zE+inWmIAqutL4UWaXw9Xsx&kBmUOf+U`WT1K)%;<7$ZpyQ@4K27|t?jcK9C!c%Pm3 zYo!%tm-s?dICUULo+y(N*a@N?wD+OhUjhV~Gfp}nF-CW}4NfY_BO}@SuojB#c{Rbl zAa3U+Q5W~=OIp=f#r^3r?13KqSo3hQn~(Y^YnKF0$&r67Ab7k(+~X`~!qQy$V6#uZ z&L+ZHKxMgy1JUTIhkxygP?E#L?c0&Ck+ed z+UR)9zBeW|;(kaSc=*XL)YRv?mcprprf7Ggj%#kqQ8bR1CJpPhFNK5OFO%6%$4lelgs_UMA=tC)l33dbvxh;j zxw?~~p? z{T|~AV6QT)DtF@u0)=lLey)L5#_EZIS274_Feusw*_VwRV45#%n#|^C3>Uwt03bJ2`01yx@NE4P31ac z^PH~Bv|I$-9N9gIy4>1&y^Zkdfeku2!pf@%AAPR?``{nLTab9(Fb1tJosPL7oOJsv zKGOkA2is35Y&}0`$Id4sO|{3u+j5f|@?Xpx9zoKmv%jS+kU%)vIX{Kt?_H1uNvR)f zqt|3w$i%~S@ZFsHG~J2px1}KrSHUF9?;pI}TwU{I*xvSddaSRCuyY&i$@)9hW$Q%r zM&&0Ju*>^n3g{W9V5a>x82*eMM_HEEW)M3d-oh)vEfL-A$0x(ICGxUHMfT=z;d8Ao z@daMS8DGK;E{|JmOTtv9StuOQ)H2cw??^G?*d+!Uo0x&ERtl42W$4Zw^LrGr{v1Ul z{rp|eRhf>JW~*PXa?KaOoDE|rcFeR6x5Q{+6w02;xCXDz=W*SFMHi$RCat$%3bmOp zP1V2&Wup=~XK=b4kKI?jvriWtKh-ol)bV{L71-S`sRMvyWuCp8Qn~vFdHC9PE|{pu z;jas?I9Pr&aqjFf`3A%;ki@zyzM=KMde7s}r);F^$FcW_M@D1usT;f~9@*NdzwMjgRK z+JV6ix}PSrKgKBZU#Y>l((hi7jZ@)Y^c@MYD7o+7xPo9?t6RDh`%_XR3Y>`XbwM zpRQ}xxCwfSnGEUhH6BI+*KG!`q$FpP2>35jF+c9U182VJ9UwYv4iF0NN;pT6|H>8h zK9~nAntwM%z<%g&6#lXeQ7d@z>2&lAiJT@ahEYTow@8tD`vLLx{*kkKEvTl199DdwWI zCf5M-e)a$Q6|aN5sUb8jiEOxain6M~$`w*+agWVX)77@%42u8yOm^iRG4AugM|l+g zIKSL*)vr5Zh`8yAYrzj?MtZJ?X7lFG);`okxlXcVZiN+aOE%lafkq*8{rXomlTiOP z+D~+^GlhLQWr{{LwnL%|(R#8MEF90#bRmte0&=n4pAxX|U8EWs3kAFHV1x_BU3*@Y zIze~PDBrN1z*w#kX*mC^ZHE8l%@*P$bM3S^bIlT(q|H9sas0;kQ%}xWD* zW(3GG#HBY;TS+eQW2NRPF6*C=KU@k;dsKW#BnYD{BI&ndo0EJ0e4T7SFS+}(-*m-|@kq@r8U#H3j(*OI>M@-%o~}yW7^b($Gk|)n>TrZ^ z)C{YlQw9DmuQ^42jD9KvR>UBvw?xm*!p93N0(;3fxJ$!;89?yk`62irjY0VJ$X&Ah z#&z$guMm`Ne^AJq-)1R64Dt{He3Y5J=^ee9j71oYl;FuwYkIMe{e9Q^w}#As(3aM$ z_$gAJ&S-*o@*FLmgK2{FfwZoj4`0u0{ENCYavg{cN{qgnBC&}xWW@h|E>zKDG%k8+ z71r9^zTRVPEiZUNA`|iYis5vspLs9RXc$8d4}BdwDW2Y;7%HGLMn^R3=R6SXbJ)GG zq%+Udo{9CWg?~3cHC_&=rfyP{ea&Z^Fj}oeIXPSucyIK}^b@}YnZ>(c0_Vu~D5Gmx z#ZYCw_IK|_KdzlR-+HYS0aG?Pjcuw+vd>d6S#KPbT-Iay#Q*gu_G}cW)g}WW&wBgW!;`a*rds zf(Z4KHF%aE1BOf(AtSkTrwU8eh8P4e{;wE7=5LUrFi?tDJKc18mLR+=z;>0v9rmX{ zjA8PVY#4xSP5nFgO^hMd$|MLQ<<&{;!9OsxBKE36`53eL5i_S$Hw7IO6m!p_^ zhgKWd<0MeJ*E`%tkEQTl6HeU-Ff)3K2^EwB{}?(PS@b5U#2Z1^(=R#6B0|3q7g;;M z$>GD|YUNVhOzI2rf36tTIQqg9Qf(owm}~7`eKJ$QSLvdsY1(RJy4*gpwBrhzAG|-b za_>3f6pDu9E>z6VN9CBSe5$&ZTxevYbXv$7aQ&y49xW2Z!ak52B${6NvF`s=`p@2*keB>7WP zY*W6mb^o3dnO*F!#m?jJ8kGrO4q^c@c3GO8ZSq@d-FHqZ`NkiHDomQJ-hQ)IcxtEY zE*S?26zXKSm@zM&sE@jug;E+srQ1ANxs0BxfuHEZdIa)+mgy;#A=JrJb(szquCPRj z*!8Dw7|p+W3wHh?IU@dyIbvlr9Fc0*lhS0;ZWDmoI{#*AgAiH~N_;Za)indazz2ii z9dlE|=G)_~)h*k{9$8?KmDhVkjP|F}k{!HJ`xYw``jJd)-aue-_<;m)&nWma2}p153gPxpTc%^!iSifBYsO0O;K5bD~1Z~k1v z_~p`rmACIPyNBX|4XVHG(MmA?d}qMQtSOGTz_Kw$|e)5F;lb;$|pET+#401H(rQXz!f zHO!(?;iK-e^uA{I_WSnKa7<2b%YGJP#YO#pjqltC1Us?9ojDvwIB|scEuwriuXFhT zO24IIV5bvNh{5M zTrYZm)VjkR_uV`mU!YA$jsM(S)?A|cLfKr4cM`T0X80X}{E0ti46C?F6y1hID-J_u zZ!55J&)VBSq(pMX?sG&k>;7t{Z?@_;Zfz}3fvKMazzZIV$A)-=vJ$uU)>i*3dbNs4Ht5$>U){Zwg33;BgAv*P&!^%)c?xHIWL&$4_|@{f)@OZ*w^3bJDs zK9O)Z^B9mJ&mOcz2hAP^#s&au8SS^hO|Gb7y%6c^4(p7Qt$|u*gJJ;aK3+n*_$1x! z$r;+H$#s`^_F(e#>8{E>doxS-v{cPc0Yn7S=6eYt_iXw`vG8&Gt!|7C-*e&JCknBr zsLR>HDCG`$QevZwoP3DUFi6v$H$ni8u7tx}1_x&5ZY=Gunv|u0>!G)%KjOUF3r2d+ z4eDAum&)BopKI}7cj9=KY0dohM6ce|@4u{m=J_v?nvtfs`90RWV^75Sk8PPowsdEj zctLTl6p?g^Ki%|*M(m|&6~gCb1`4D-{y!^P_wM|X8nq4URV-d^{OIr>WjA++YtgZJ z^Lfd~;t^+?gFZLWPja}K>?*11nTu+vu3V3O(p|}auDt1%? zhj|jFa?a5Au$}X?ukZr5`)=Ha`=%xsQ?A_$2y3{kHp`fvrs>CH z-kEj1Zm~sL7$vO$f6u*porQ|^+xhOF|JbV_PGRtEp(y@NpUq)Jp=hFl{_z!D+mBCs zVWhQyfvYDu2rVbuXtz^%vpIl@%}Jw^;&~X`z1K zsP7av#{|)3%H7)L1ZeH1j!1-Wn4iVEw{dJuXe_5{7r%eRh20_MzP9u-Gie-;=PR*2 z!)9hJR?cVtqWr328msKf%kf-C>l$%v%h3Kk)v!aNqMB%DF2+gE-q8-G1uy*@;?fDT&RHIZ-cs;yQ{4}6f` zr9QCz^K<-RGoByke4hC8O+ni+qifT)PqiE_L(QYL2K_qun6mqW7XRG;q3bMz;^?A9 ziv)KGgy0fLaCi3vcXxMpcb5c*0YY%M;1=8mcV}P*ch@)Ht^2CppZD`jcTH7y?bAp0 zK5Na8HE&{-R-(-jzuz1dGi+UfL|*T8cjH~A>c`&hH|mS(qUZ8$*lYZif=b5yYdIZ6 zjJmDbUVX2GHsmuN->S>=+x%juug#`h8}Wt)^PxB$7J)kSAilTjBVLvo#^;ps_u7{< zEGGlK?ic9~y=xLDU+wrtUrULY^)7{753Yhs&tfVE>2Cx6!KvDFOU6j6C6lHM-Dvrd zKG4gY^;y=(twXRot}EMCQ2tSiMqJS*qN&!2Om32sRQcJyOgE${!^rj%BL50jbeFJ; zh|^3flKMtUffwxzQUFlb3b-aV==XFBtTbMGEB^&&0 zV@jei0&oBqzJvPV&)*6OapyyKyKx~gN^g_!7Q>nR8x*Q{#F^&oQ5A)yhJivU&~w)DMW({xYe?)Vp4Od*ezAkR+Hx za6S*E2Jp5z(C|8EwHCfS0*6sIxRlfDQF@uVBiX(w)uYDA>z*I_mE#t zHC-#}FF4xWpt;5C$6PSM6iRuBBCeYqb}rQWRPe{~gkc`Qmoaaz(A&`cVkqk&&o2K* zEwt-e8>`AFb+xq`yV72(qSSHSp1InLhZN0ed@j0UB`0dHM6t&x4L5Zz`Ri!z8s@Wf zk#KMaVO9%jSqRdxM4#A*3C?U&S=$1&qm-I^cUyx>*U^*OLK>P@McU&>YyVa5&=D#6 zh5>#_6)o0XUoki=NKcQ}R<{@Q#4qqv+w0o;FN<3T^_mYOAFz!9eC}whPHp%AB6_j; zX!2!**XEDq+sUYZfQ#j|krANdWm3fVI0N*w_GukgN5C&`*ha52@9>KX3nc5i5w43N zDP%AWA%J=Q9XH&NnLk9%GdlMtDSHh(2lHI1USv)!G?6*W1bT*IgyZL@Oas;g0zob5 zR$5!`10FE|%8JBR8eLi)6eMOmfgINJl2c$YvVx_?}4_>g<3_MYN)Dj$!*5fbwZ1!i1+$JpN z?-agGp{n&KcybG6{kY_a4EwlgCknTx&+by_!bkmtTN`{T8G(@BY!4{Mtv7SNN*%G% zf1jVRDM~{Ou1B+P1!CiMxIBEvvnQvfXmtD)AM@Va$8Q3Hy7hoYLFY?BqnGR3&se2( z!^)HirW-aBReHL;X=YLiK8Rbi<*?vA;!Zwi_xNhJvg2VUWd|-7jETvj`n?;7kN$jqFPC*7>2aZbX7WD4?jEC>Qfm}q6V^+F2JGNzVtq?k3opWtl~N?G*Ds8ib+3N(ivZ2=5sF zm_{YI9H_m~{cP&I%}TVeis<*8nJ#P+U9`s z#NPIFG4`_H)b4StC6fJmx;)L0zjpDS^mOla%s4I0=gge0ug`oHZ&uUsO9{lT&~7z& z+y8tH_G*Y{82%r+^`^@syL?N2>APcgRpEccYpb4zHGSPD;*4~b_u4QfpbpjodsL1J z9zjYSnG;dn`^3lJpY-@^2$niG|JrQNLm|U0d-MIYEnfynhhao`XY&S zMR@1c$GzV^yscU$-YF?lezngL_fS#QVC%>0#e4s;M|B0a2Y-Zxz)ttLjKZN*+z50{l8CRvn@^ z@XfW!C|82az|}&DXHJ*WO)0gFa)H*AF6c(Yao)n`Z=nO)pk9G&-_?ni)MB&R7p65Z z3!HuCDMW=+{+UvG#sj7x<|HwjU-E27FTzpy)vLcT={Doi;d<5caEkYg&xk*ZXx$c! zRH=8M$?5`?q&pWFigLp7O^L&p^?iE9!D*6gQKuPm1)OTSxFsd>_DRF9@lov&;P{oR zU{Ax>$ZPbf1$=Co;8sBom`qsGH&5Y3M))!WWCBEdMrMjPcaIkiPa-t`}DZ$Ih!y@w0qb*5MO@~^RG&x9g zStjTQ3F`~Rfr>{EB=CB-i?A}vPtQaKrge_7%GrV;pfAB;5(vcuC!G%i;NxMdF~4P+ z3664y-iu9h-THT_8)UXUJ+-_o7(Ms6F_tlcBkHE}cR+cKyH7i>UgKl@HyM{t9Ew3i zR;yQh3^nANK`rrB56|BNaBe{UT5e{URZ!a)`?V()E5NJq#ifgb;&YlG|` z^8AIOp)IrzgH*eSf(-Mj%=A~GrMIre$Bl%6)&ZWcUh{AcNo6sqI311A3)T@-8RW=6 z$ZO)MNU|2G=Ackncx>-L1Lkb!{4(9(Z@&)JeHC+pDEDfAZI-O z)>3D*BAZ3W36Aa%78?!CoFIU9Ix5HOCS*e{{_zVF`ldW@P**iWbd=1gt&)hOzE%*} zi;-mQs~r7YGaH`^wR{8Yhn^;0u0fih7rxr5kwxZUX1OeGsH&i{=ib}$#^RYyulKuz zI<>e{n}NVwrLP`vF2Jpr27hV-{&B&ujB2Lp>+0hG-u>4ymR*1rV~zPKvJ0n-z_A9t z_|BME1J6uhTXgp@iFF#3d$w}6=`M%Qm$6ZC5gsM;hVO<3uPp+YwRR9{t)bJlqHi7A zfW&X@z_K%-O93gwjr8 zyFt+dN^R%#i=b|s|fD+yD>O`^a@$pxh1f^?u2McVtL$|*R*p69rnDJ zd%ZnHkssSV(eamO3fz^L)b8=IU`0rg>KH;Feynab-zRS`?>|B|`~RPitwbq~c#voy z$ybN-`T&#abDQz8M1*)zN#G1B>M@*4H8~{DSgM1T*X5^{GBQAa0x9-qF2@!!PZ~Xd z7h-O$l5l#INcty58_~#%JPp=Eg_5x#qeAybbDyn3)MQ-H2R{v-(@)@tsgB+2XN-9+ z>jJ%QgU8iyhhDwN;CsJWsG-YD`ERtE+ zep|sRBHRV@p1BzUa`1GPZCvA5*_=Abele_yDTRkj-^=Jz6?nX^yiSP#R)U_PyIP8n zhWu<$)*E1sC@?R_hNISIyzVAn199Yrx;|k$%?E#%{E0KA5pn{CPtL+dN!Mw zJf@8N5HUktI#KzH-GK*$_`W2)d7p@xSN83No8Gt1s{h6)3cAr2wvil|_=o`0`Mj)2 z+Ce5r>IYhM$`k=}iF8(*_xcc6WQ`89uj~X72$O2o2Q*;i&s${~^2|YNEKXj}AHgCT zQ>1}gGc>4%)Dwd_nc=v(H629F_MCmVv9`I3MEWi_J$^&Lpry1mDc5D^CAN2co*xOF zzBe#mc%#Sb_*`CRZ^1)pT3lKzf(wkmsu|D?L%{K3vK^IldY3b>I;`vq;F1IKT5psj zNnt-2^VWD4#QEeV9PAqg5%T zzEcTF2p$C+W2SugO>MwDBa<6JT*U)-pvpMJkU8n;E@T z%J#}TDXztkB}0J+phx4CEJ>k|H&&ediHj~Lhz>)O{8tFp{2Rbas*aNwff%Nps$r$> zoUxRgyF4di(B_1VWl?VYS{!=fTO}I#V-MQb)~0ykj1Rn@$U_>#sF4#5&VqlL83pCo zk$O{Jdxm0Nv20}~e5&Ff^3}ZR{DpP(2b<<52GH%rLbw6*k zdqibdw)>v(9GOHT6A{=AGSqkdVO(S5H4!`cQWq{7+=;DS7cEVFL({~Ct(-{{BKjK^ zmaYF8{+AUzB2o%36)%4*{!>4(*h*el!i!B82ER{VS-V-xSgX5mp62&-J74c9wmJYz(`= z0wuyiCvZ+qp00tHyGbw8Sg&vQi`1U?TQwR-6@z}on6f4R)r{L85&rg3YC)=<{D0dlTWI_GT)xmi0=O%72L+E)|BYpYe8 zOACE)t|Lmm^W5%_R+~3@zn<0!feqZvK;LWVYS(M=$;xP9i`cbn@+$VtYFg1hSk*d^ z)urS+QhR1AMMI{uaJ;mGx=3H5<^ip6yLPliv2XHZU8~0^%^=yQ zr?H(|L`S?noV@e%5x0}eKDy+Q@3Cd@pj@l~&7{TD_Yk>LdKJHGFcYVSL#tV>dOSze zhGp@jSrF{!WQ&8>8$CVZgYq5MmFa@>ZxmHU>k!E%JMaYAOq z1uvum-c$KT9*R<9uZn+>gVG^1Uy0sg=F5%hoTCGq1v`Hm<#(09eF z)6HaPSs?ObS0xM!nWBvA;NmkOnzo=j%K?%0lc+i6ZgMuE#+diL&@_h|+6Tns#+8Yq z&STELh4Q15IjArEM!- zbGzfMCu{C9a%)>WL=Nv7G!hjK%M$CpMSUc04wcs?8Rsz9WfXQv_9uQfOe6tb2~{Xn zcZ10+FpwdPL__lZeL=&+Rr8c%wnfI!vg1m-+$a{I<+fJO@=$geBRH+ChxTU8+!yvT(ou4S)6z2WK;QJ3~y@yGoBxo1to@U!wqt7fT<dSscBS#h-57N?OGPZf{uM5cvFF<4fQV6iwFs{l!SO%m_LP3V705+ zea|+{u7h*=N>Ie>@~-NC9)!;OnVq#^vAoUpP3-fmA_)UaRtfVy8Nl^TUf??F>Z9;X z8bS4IEFkuCce&;890ILA1!&+t4_a&5;HDOdFPb;6vH@JjsiAxlvy6q zo!kuY!x(mu=TGSb3H|y=yq>#5s^z}W^c^JmQj7Wn0@!=JLv1m!b}Si>l+u~qShaWm zc$)UHAm_ko-?I)MZr$PWvA$QuDXHCGe9lk;(XoK}b`pz;G2UKPR`P$=X&dd=!N*WFtW#ci$p_9?Fg$>qBI1s9JTuxqS|<(h`^E@Pqq3KbL~tQhL$F-H^*i zMcoV+OZQrp?|?EtX3TK|fwLAJY9%?UUk|o*M@zgUXk{i}Uz01HtVF@bsfC;ZseHsp zKbg~_LKBH893cnzKro#l%I)1q6Y-QsUiV!&rmPV6nQf?^;XiinLVVz(Rw zymr^EiKwJ35L@%!DyK;J)HJCA*b)*5`PqbIbi3Fh>@uMetr9j0v6c-Q8HbPv;|!@+810fG)SJoazla$s7Xd=t2rzHQ0z6W`jw>fb@F(jy zpyH_i+fW%XIj?-qA$6zgZ(9MC|rx7EK zXPoj1d@}ZMSZ{MVm6qL#qe=5$l4hqt_6|wWP6f(-I6I-J?harm!z@SSVQ6GTE?kj{ zS7UUuabgasWLO(ig8$^MMnR0x z;2j~W;Mp7yUBsSXS%~{|DKTr9R=3I0TophtbIL|c^eJ$6;=|$l@=sxILOHl%K zUy%9L;enkQY=lO+uW#2+iqO&v3E4dL#F~boDyBPylT%;x-ZkarD3Ha>i}C zdrqt)9x4zJfS30YX_5Qeh+?jCuMN@GG?#I|x9*V8N)*1=MZ)OmedvPUHB%!6Fs*gO ze`y#e1ZojZJ%T?O) zPRF?X(3WPACN*fOmsZpASWwOmMm*dB^y(N-tk|ieUOc_}-a42#J|?AWYIdKVcV31n>wj#%EQ=KFC{fMEkZ-f6}-zXW5;FUe%uh-{^Zo+t7CTs062ZeSB|)BI z39whH8*3wESlCUfl&&Ar5eYij96~W^Jz)76b?Q~%ZqhK7%AmYobvnEERrOr}@mQ+1jvbh8cJ+e?P zi-y6r7tuX6CYFO{YXt<3-gC1yA4K|{ z8Hhzch~mV$2hCbw#+``ny6npnI+x!qWAooH@E-`yS;t0CDI~08CeR;3^!*xK>^N#X zo|tlVjB)`wdj06^h)USv_>_M((}cy^;mLx8&R2402`e<4(T}imGz=z*k9D2+DDHl` zEuJS_JT#ZfEz@9eKdw{7Iz+;XAZE>xNCVrpEh~k|*huGn?D@Gx4`iF%;P(}^?QZmx znfvb7cpej5l06F4S8l{|)sUKzZuQ09R7GrU^RtZr?|LFPt6R^RxAr3HU~549xEEYu z9*R+7sR>d38IFF65!kHtja#3%`*kyttFf9mB1OfpgQXB0i!ePPdq zHb2Zh)54loT;Jjq8f(Uopa!`ewQC)5jykc-n-&Vw;S`JcQq5)d;lPea!ivc?#=z|v z4pwxjK-B%Z2UjxY)4C`J^QKuQ4@@hbN@4-!nJF?VlktVDh{lDJUSuX6uTM%fJq2~} z0&5GFO$$DrSWL;8KB*|Oj>>#>OfBTqKwzjn(vHQD{&N$K>oUS`}L(#kZD6qNk{LlDVM&!G|^n0FJj{QB-2e} z<7kf5mVhel0#s0=`t}L4k68xS|IS_+T-kKCk}K1Z(es#4`@9hJ)?YhrShHdCYE4@JCdzm0OS4cwW7sL}g?6GWnZxwMRc8zRl5hP#9@qs1!k6&L86~`GtC2f5{v^y3Nc!9dh5ZlL1m7reuq%N1X zo*TRXf~|g1V3iJU=x4acg(@fP7Tl()$jCnGE}Hp6nG0S1uz z(`ze%-3Uq8enDsE14x0c%npjBvM}t2s?@)MCRFl0q&dOiRyv4jsa`jY7U@YBmP2^G z?65ZvWFoH3@^gHOI>G{@jBZ|nr9#swSfd|#d!oC<@5KM3 z$%_JEYBR3kB`fJb-<%Ax->{hFHPV6{ba*nq55 z4wJaYKi~Mt$PbU{U#HID$bw1#)Mwd|Bz&7m^he)X|H^AKU*8Ue`k4PnK@HN5VUs%A-^Nv)%gWxc*n> zVT#6IH*c=*t?Fg&`F)RYbQ87nyN!Ki)V23akU`rK^=N z^}jo$ou}n891|M#tm{11 z>KQtXso%lNv$?riYdLK-I-4MhCE!n}>PPk&W)R3oyY3uv{e1cd2syBWj_rqLK$YLO#dS6P?mum`q!GP=ASA6Jy1#Dq_xsf4@6D>`IlemQ(^% z@!VhzulzJ53chWQ`{6l5C>)P!_1J#r(|ug}Lm@Y*pTm#`gcap?F7@MNT*|%)p$VHl z;e0e9XAgM^xUEisOy{b;9iLD|@C>LNvmb~|b%LiMk_}ou7t`oik@EX2?%Xi5q`Alz zdUatQfI-kTT|!f5!;@w3|1mXP$`fs2%7k!{Vn= zbh2BVPCwa3f7yuEv>2~eDJ6uOkX8L%m8A)PN68J3n%;(qlMRdz7#>ZS-{s?}Q z^6irx(Ir>Q=>E_ZvuqhWGS1H?u0Dp%qvIme0i;gWYt(@a4l%xXfz>lw*sk`M*X+(; zv_dg^QR=)euFZ@e3cAJ~59>hIqMwEiQ3}XoEkabszky+)%>fkuez!+7VHLXz@puJ} zJ2t%bZHSrtsz`W!1G>IH&+6DG)EY?E!mX}U=vG(ekUtE7J`XXS98zpg z|BeO3Tdt`$m=46h!cL8Dj6=QH9sdd#x8UIP5&3$~mBtbJQmdMC?yUW70 zeKZ4UUzxq?8#uOy0ILeVB63v}yrP=N-Z3;FqXH6Oa4(;8^{lI*tBLyswVsZ+jRdw*2*$R0mP)MpDM$D#C2Q^xGZTLuIyw(E>Z@Ck4&)UgPXL4+z-dh zF$%f@K5Q$)6BDf5iFF%jU#mi>TnJe+GpUlat!=)Y_=Rr;6WvB4v$Y||awebP6i7t; z-s;NkpUtTdv~W6e@vQiX$$YNR>_<%4F4qw>#W!6A^32C$(|-+`EzQ+>#56;IA_Fwc zNroA!mS^5oYDO{!bKWm$8g9R6dRFKTC!-x6Gbnik%IxTF8gq##>h+|s&T>C4Z%)XW zpHN3cC6ktd9aDqrw%~iW?~y+Yh-W*C@#duwvyA7wtJvTaMZ#IgbaZV;`6NZ1v6kyj zU7x<+cS48_m6=X@$~i(mpZ)gBRVX4Ba}x9BV&bNr5a5$_$F!QtB#mGSAdWLbjj{<7 z4dJRaOq7OilaHD2svwHZ#T0#$vk!z87t8TOv{<}Y+vkZW!*-iE2NWKApCb8_fIChj zG}A~FPQJrJ?IPwR-e`%40r31u&*wKE0|-f_YAI|IvDcH^Cb;;z--WMxC0rjJ{U_@n zfQ7S+4vrh1xjqcI9C!7OGgGV`Psr1d$8EhH*<@}pI=AtJSNRQ@*;g64h3OimgYw_a zf4kY9`oy$79G%~^SSAIZe51b5FMiG!IkOX}z4L=^^NqE-bDSydHecKJSZx|{?q7db zlsaf*y(FC@yyd8FJSmG`a_CWt>mZcxv(otwx{OzotMx3jzQ}n$mFhYQ^i6v&*K_>g>g6W& zdwi&uPnT`;Ma!dZIuRLbjQj{NVOKYdS2~u*O^dlx0%#Jt_`^$Tw1bPnLrohUkZUL} z!Z1%ba&g2(kk%+SBX{Th)9?6ZBYok+b5#;04O#e*wA_mc69otA+VCCHCpgc;32683RM#Lo+Ir<&h z%6Vi#VY2=G69Es!9;2ku_hRXV5oKF_Sl%`b)eQo?VeVnDTG)m#Se7;(lTsdu4(%Bp ziwgOPbL~5mZjcq9bK)vhC=_BF>J1P_W^ct^6~+E(7u2h8ax#5c zk({gInjeS%w`)pTzw5U5(aeAq-P};a&)ypoF?al$@GU8=4XxIDe<2@p1(9A8%Y0)) z?H#PIr1g6?KW5dZX$w!02LvroT@9p1ULNJ*>Ho3(-x6`jJ*r zb6gsSQ-XNHTOJ&Y8|=)lrGpmU>1j2GKi<2pMg?cPVt=n=3BNs`>mJwk*migD9!5be z*=j|JUATpdoW+^N>Kg5TFg$S5w>r=&<2sVi(io-6er9u_MhwS-O#5^}HQgol!;Fp% zUkGt*1sa=Y+rs~3aOoFU^6|)PQfCdPk(QB{!2t1Uw>pXNF=a_f&)w>ery^zrt^~Ze zzez|ibM^Z}f;&3=tQW;U7N<5b4(KXou$SF8r7Zv>&1WcnI;PSU%4oWJ5WT8X9<}7Zhk9ybYJ{WuAQGkL%FVDPt8Sg{Yw94N zIX65YzYzI*F|~8Je+x<8?{4Dbpk_X9TQJ_O2~ezA+Td0<$dn|~zk<*cC|%e{&i=<; zDUJhhOjw&2f7jzlXmHwc=VaP;LC~byPqieBV{g_sd?|;uhUn_~K=#|5$fZ>;Ph! z1H|o723bhB#F8Q_QwDzF?V(|2g%65-Um+q&ckH8;?>m0sWuTRb&awmTCTWMW`OaA~I^C=y7Z2xMP8OD@O@;k4ChwwBAFTu2#3II0S1(Bb z8xJ4$an={Waq)w1(VzRmLJ7kIipspS0rF6eX{itB}as_3s{EC`Ha4luTs2KcjrgUeEnM>4^0xSb}`;TF6@&}Z5+?K3{SEf zMvAjELM1UGCKrK@UbpN&Sg&D1o9|3q%(DsobG)L}-`qPU1C&U{&2x?uU`C{i&L&aw zmqnz&>NN#WSr}fDsd3I%I3ka~XPRp`$UQY?QfHE<-K{hH(#CrPK7_A_9WL$rW{sQo z-5D=U--BKvUv)T9J*Qz?JH#ec1_l!3orGmQo+%hYjWF@7Cbjn}_hm!lXl{X*)AnU@ zL%*@yN~6w*w6AgmQUqEGZ0l895_u)d15_$4P+E<^FZtLD^r|tk0{sK zlhoTWzWC6hi*KO9`X?-FeWp$m`6)%Iy+Ri2%ztio)Z}GRZuJ z@}3zD3zIzc$RH#=^xTPHwS5OBjc^L}^@ME^Bvko0 z^4kJ+hkv5{4^;}I&cV-tt;)$ipJ~M{H<6V*EJD1*VXR#o+jNbD$IH!obU#gak+oep zdmsv}sICLd5P5bn86SjrvHvQNo`wi^@?dF5G7Z&VVpBG>4s`%fdAJ(_XWWy%ij)`^ z%&I((4#9g0yv{-<*crPLcq(Up+^+>a$r!zm?*kY%4zJ%o?La>_Xy)oehf|#s`FEQt zSBCD)3le=UNbjwEDR_zn6Fd3tDt1Zbrke5ePfU- zFly#7a2c?4diowlyFl_8Q7c{Ru*VUJ52tL$(aO!NV|9)HK%ej3_|}5Oo03?eRmz$l zKyI2_#UtVpmT>Sz=wM1gaU<|vfy(0q_ba;9`7}erhSZ43ccx`4Q9C=dcQsE` zl3I06K^Lwa=Z1&Xfy3fnCSC*}%PGZfN=zJ8~JbHBqbNRGF;qrzCcNX7*;?5Otq?6fzBE`h zhWyAv|LJaII-{ShCrzy>`>4na;7dZ$Oy-YXk{K{)RN{lTFe~I&P+}-AK_h>VT4ctX zdwN*OjAY%%#O6qCiZT5;?L{8fbHvfI@^=JvgGghChQ7KGs5*$NsnQY>2u(Hh{++3YPX?#B58l}1<% zaMRC85uTM7e%Wy%N(5u}^kkF1M~zvWko`8mZi{sxbcm4ks0?it=17{9G*_lpck)dR z;rQUX+Ku;EIYlZ2cCV<;K3wli^ruR_m&hPH6m)-_8AX*==4@q;5`v>)JweKjuM{WW z6Fu>|-g7Br4C?ow%%hFJ$nG~6TE`yDMEDjkz*Hb}qQ}*2LlFUj^ZSk>(UGdnLwN^b zUc}Cw3N+J09)2=NGBF8jDF44K0Q`B~&wQ2=HI_+*Gz#@kxAzBFO_KZ&A@CBMDIw_v z$5(RIKd-y%`{%yn_pd-FZjJ6zv->oddtx4u-f))J$N<`7qY{M{c{6Q+sc^ZLc$U|p z3}_s(2dpv8ee&vY|But|kfkL6e6Uf<8hUsxW&p|c*pQBQbidufpdF;Z8)#CzX1TQY zSpnYW@^FPs6y-ANEc~B1m<_I>MqRILy*{fKn?v0H#Vi~CSL=7Sws|KK|Q#_dUGOTS=k&B2Z%{8pBlSCmcKc##Dver5ynC?5_(XEB@1`U0So1rLJ=ESC) z96|5nMUz$H!$1&FQqp3vk7fq8kp)EWH~EOZ-@f2XQY7YcPT z6jk@SD;UGdL}SqA^1BIPkwQNEX&aOCssF6c9IV__j{NVkl7~JKAt6++;Ls?6=-U?V ziMx|l@an!~`KE>>P?{6``IW%TLMZEY;ybt8Q7}YsQ^5giuDEWKNGQTMXOg%IqfI|C zDJjQiJWOxUk~HRRhhp#h1M{wR$T{kwFrv+YdpNvAVzA4fh2|82M?JH@YZw9$X#HE@ zb57u~1ZIG_f0D?)Z<=vw@i_DeWgbgJuD>sJvNK=jg3~XEf^^%%{|DZEm<{z^ch9Zk z3WJpX|3R9VP-7G*NR)ZrZlUe>yAfuG-E4zh@G9Cmz)K_xnCaQ>sg2^NyAF|jq{`XN zT4XNVx=Igv0VyAC327zVO+SaLA_J?~rvEt#C*$AGhUJz~|z^4~!XC$%AzF|i$cH~u44 zs&`<#wceMBcDo%&R3)^K_@@dn78voKJQzWKOc9QR%2rp5*qdOZUegd_`*9P+9Da^0 zi~)_Y%!*e{q#tY%*dVBT0x%NM67t?r&FuIqQYE2XraGWlggJPwL6fe)mW;@IKwO4h zVoycB8u?>ZS4*fuE)5&y-Y1T7+KyuHb1y%4VsW%?j{{CtwB#+rpn`L15FnjCf7vgk7I~dE zS?fA;gq#wrVrA+t;Ucpys%=a@hF2XnZ#83`i6}UMlFfER=#$<2m}TdP8*kSa##q|8 zK|Xr}?A6=yZL0A%cW%JS`Ar?gNGEdpvo>gD$N9cVFRE^(#W8rA+iXw$?2mDdD_&H5 z{q?#LAj8d*SxPS8pS6dJqxp`c!e0haKVBXPHzLmg_sj<`%S(I6Pb4x>^Pm*McCxt< zn0*C~KL*?fM~pK=@+Ag<-^9j$d`#z-G1ssC#gbK`T6!2OD&07Y=^0@FV{Bj_@4(}lZAZ0#FKqI zK-zA#L0SpUI<<9mY<=5<-{43h_o!=ftd_ALsTTTNY2$2>X{J%K|Al|NZbGI7ou}s2 zQCm0*cn`gxjj|Rw)yh(F73VTpKO-c5K$MwVEx^PGYQ(!XSc0{Vg81?AqUe<@|C2G{(%E3v ztx(T}ulE&(kZv<0d&0ZLD2cqBFPpMJpU}wm?Zx$zb+k4xVQd z4Nx+p(qJ&8$xgp84s)lx2`s$fAny1=;Dv^toibH{IS(|JnP~_ zphmg(N&`FkRZ<^D0;@ct8f#ox4mjkS7l9XAj0$vnh5Jw0tTXT3 z7Y832YHb3RaDRn+rE3l=UBzXoszwO)yK5LPndu}x^baAx! z)P;}+Gabb_dM<-eRfax|3#nRlA}{vCgTwbnsf?GRi$(1dIgE;Re-?_0;$nmyP%rn( z#-u(*Q|CvKdE>j4CAlp5r`->ZwJp~Y@JSdIS101&#S6ZEQ$Dop4I|SzrBWL!vU!RY zyX((iujTFgeg0h6K|VlIl9-zmpXG~UWab~iXR6Z(u9!tO-Qrn5{ak@|4|lDV+5 z01#L+^tmgm6sfW90=ZVbDG_W0w;5^;uIV2uEgdglKq=~!JxKlV zN1c+)zELDqVQe92*f{I1t&~{nB+Qt2zG2UtUlm{n-$D>8fm%Mg%+%xgBez#K~i2Lx&5%Z&V|I7T`RJfhQ?+D=3 zL#$TV&F7XOlU*;0UX#R!Ic=aKyIlJ7Qn^qTJ6F1y*rrZBxQANmB~o7&DMCRh{&P~%VT@8N$6 z5bOrA55eTR2*YoR|LxqN>sAb0P;%@JJ>%A?U(c_ex6n1QA;~cUVeRxPFZ>=|u?anu zr0|(KQ1S00rR|>*)oG(Zo45at2oBPG-&g8<3@9(9%^GbfSj&2N%3?e4fzqXtBB-p4 z(nFSAZ~cSRO(z*+4s8~hW`7DD+dBOgCfJgC43BYkJqy34{KO@?b0^Y1n2t@Bc)LL< zHB5Enmn$X7o)JfDJqC<}M};XGt~>e+l7)M!S-zDL)*=yKV51Ho7>Bn#dT-TR+lSlA zI#qo%Kc}{UK$)E7BQeivU6?4$FGo+^NS)U=X4NkjQP)v27}LywcD%$K`xMevge0Q~ zu=H(|c_>E~dCc6J)I3;ReS$kYLr%Of3=XNL@keha5oOjdYXsuI;I6lWVl*)Ie4Fc9 zs|RUPt}m@q28gj!x_A7W@z#g?qJMW*6f6kiTR!0G1=7*(N_NXFmhIE<>CE?BV2xvQ z;lzlEkCBKwDT91b$F*U~8M}^LPwlL0FI3>q&p&HDG>qy8UkdO#ZgeZ0pdT`met$3R z_(rMG@U7L>MV>ev#iLc&A-O7212`Eo*|Ccr^S(-Mj?#9 zX(xn!udoBU?DHaR-`bm};rdgpp!>9gyxhYKWJNDGDE3kVa}NylMO$NWQW?S2NQ$bpq*2!sn1UyKB_ z&R>5A$v%tk;WRZmC@N17y1<=@=;erQZ=(_PC;ZHhdOdn;>=0DYP}_ zX08|7ce{mfTmvhQ#OP&U`J?C|{SR%AX+tETQr9PfaD)5O@OZ=eL}a~T!4F!iQh1^= zB$OD)?5Zb5DZ?@W-8x#2Cuit+GRFY~&AAp!wcc$xA4g$BELw~4$Gy<1C^L^C{A8#7 zKOLen*np=$n`ATVOoxx~RUR+@vXq+EXq@y183eLQNL?Zga{2`9RD(V%ex`E%j6OLP zE4VLAlM?DXtYshko3kRm8Hc<6Cq-ViGy%Ue_zyy3F{55q^I+k1y!(8M$n&%*i5hd> zG=d-EaBakR!z<|Ak5$F#P?X;RCzW#_LrUQ#Q!fGgtB!k-K!fCTziAd90Ml5pRf4UC z|Ap?nAZYwlkyXZ$1a3t?_%6-o%_b>g>W|XjGN;-htC#3BqM1*$E?euXDNfNCO{am> zEUWqR#GkMJ!gJ)z@NyuvyG+Z_cAGS?X_HrUK3xw5KmtCqk^gb#;X47|1@tPoy0*KG zbd!bGj9+;=9`IL00z94+H&aE%7{}-!gjKpCsh#M$y$WDj-$H!pfKccN_{RTF84uA^ zR`5HS8^PiXM^?~EVpKYR#|=P%&RbMyDwiZQ=(RMMGlGJYt*tqxI9U4JIPD1wyMo`# zla;o*o)?tPA~h!49k{d}!>Wsee$ei^?@SBm9C29oYz&nC{d?>qxGsUvgCXTf5kXk5 zGJ>et5-JOMc3l#8nqX_N{ha|35Dt*cVZKPRtv9i^x4${ci*c#+7eSMem8pBKUL5Kr z+c*@L5jHX1{!9_q=~Yua1kq#`HvXo#!>t`oc}(`vU>nWT-w`7Gf{H*B#@&16J8x^D zykk6p&gh&dXIYGCdFO{$_iWJ4^e9bQerl1hqFnxcS(J&QDrdjFw+Jl|XT^is7Ax&O zKmSao@`LFo54Zth-S`!i%g=!K3r%08afIjh+o!45be{Kgt{JgO+D$0e^@D}bS39t9 z$1SN^bjvr~F3*E0>$*Uda|ZaAj6n`U zH(%C`&rQlnpe+>{XJqVN&YdFUq|OuU&Qv>9ET52Q+$sYuA*@3VqE4_rLjtvJ6}ek{ zId3|&BwzBQ67mXpwshxjMse-j>hwc3YUHT@Mlh$Uoj~nOw4U)Eq`s|1eM@PhfzgD--ul9B#W^yp2$ptU!zw?I*+$Ub0f1jFk2qQ0g zgJpa#e$Q@xGrja3VGM2SF!XkKm}7N$A~NMcNxhkDm=KJAlA;3-P_`B~l?qPzmAZzW zT9#Jn>1LTyimu}QC`F=RZqJMn2^mpG;}m-S6(%UW92b_xBK2vbZm~vZm2G@BUBboR zza&jC>9Ku(B$RYP*qU@~8;A*FuHJakcF8e% z-OYIoaOUv5#xMg5nQ#r>l_H%Jg427<<-RecESmNL@n5m7KPC+E7p#_{zL29nTiI4` zq#E|w9r#y)ZySnMJlBmChj@gR{6&Z32WB|@&${~LLW)hOaV$<5mU~!y<2wY2Q%u(e zcS#ty`9NFuM9(C)wa~P&4+tO@bg=5yUka@7EbB3kEO9vTP!(5jT&cE-rGlCk|ZYWdsKR!&GX<_ zQG-M5xQ<)*W5$0j^)*Ma^;M;ro5CL;pHNA>`|Lxh;+ZHD>O8*|@=>Eu(mew(%$ap% z)3?qzSiOV7$ewu(aJT4N8QU+Prkk?PF&;X>&yTCbGZ&cIVpJxPpD%Eky)4?^?62!Y`!@hxyjg+giT+f|#C?Lz)X|L_qyv(ra z87OZ&tbl!0%FrW~j_Pg)YczwTvH58m1)YCzdjU~%n`Xr;5>uV+UiHK@tgnOZ*S-ZF zKUcBcYSkuRX|AH1K--1?-R?t68vj^SB8%$;j-os4^>o|`)M}QafH9BtxW3j?>Ib6v zi^Q1;n(lwRo;b}s^$oK#YBt3H_4SXI8Ua5pE3tySCVE~Q?pnsJ0qjWTKtV~-Y3}2uL^c7V$ZfVPvEbgOL$6j zDteNC^f1WgJy5&$9ldr#;Ja?-+c#>JH8X453ANn2Q;OgfA~y!$c!EdTFOUMd9+`9> zz`3vQ_ljMQXm*W`uu!WxiRMbas@9*N=eXIsk85al<|ToO`O{T~rtI6syyWx60uxbt zuY4CN0k?VNQP8;`>UkM^vM2g-5;?*Pp!xvji`cKdSKf$K`k}mR~-f z#4g#W(@+nv3SEmaa~l3d#i~rGnNPAC75y|(+SdTm(ZOdhbH=7-N%%Q=I)?VlKG!M9xbZX) zvh!fr;eFR%6Ysi}eW0bUpN&?wb<*|l=Q4LYxF^qtDx!7sHt+HeE7#6lo3Sr&p9n$@ z$*gvNrc>r=$r{cpoaM~U^F}lR(~hzI7JD)%ssi{yl8}B7HhmGjQG8P=8m2dvq)AoE zENqk=yzA$?lnL5~@&lh;zSz9Ij#lZN2OL>;?FqI)An)dm?RO8cI~j%s+LG5}Iw>E1 zT>b(pnjH^LT>o~q^cOJ5+TnW=_d=Jf;w3#HXYzjS>w(p=h(+kJ5RIAG`l@g*;&fol z_2nN3=B-hk{|>~z3w3%=@vFREecConoiNqU=u^xz;Y=`UjRK69F9M%!9S{(t0jo+v zGmbl!DHBt~q%3ZB107ThmiD!NmJwB%jzJ!&n;hJ$^{A?r!LK#07OUjdgqKt9iy+O; zy#pvj#ZcVjQ)xJGu(3iK_r{OvVMnh%RiaJ3$~Og1Tq(>&|K~g| z*zP;k{;BaisTvx0S#|!;pJQ0^WvXUx<3=#_!SRY*M+0B)lBv=m`#Tqpj6A|+!7;U* z(nNS2$3Zin_&OsT?lx@5O9!cW?BiS=KikId20eRYuI>xGC`qsfaZP0!26YJYu1I`> z!0ZTIvBC|Tz$@lkFvi)e``XQ#OVMkLt3(7mn(aB45B@CXT(2WPe?@B<#{2EEmw)Ai8)P z>bgSRdi1foN7TZ9`I9+G-r1s))^1f;*Ee!UChMET7+I zi-^jx@>(J8Cu(1?@R8s#!M~=nqnc@1YH#=O5W~3`uk+F9Zu)>#Ox7-wY1_o95@WS! zkQ=|xAmV_dHH>D}6j|>^#&LtapKw$nEW~^9c|Ajs1I&1c<$MSu1dcXy%WfJbnQo6VYHSgNBxJ55gkYqW{dip zlcb7LRIo=@jC+@7yk%!KJ>UxceP46y4w%P&U6c`km~h$nN^s*~h>~8DT1dL&ujKiW zV#JyMz=tsFszA5b!n4qN2Jvb{0*|qkLUmCrqq9(=B#bh*|ZVa1pA*sm;5<8$Dt(SD->HT z;=}r8j`ndz2%+Jj<}=i3Wqj9ltl0Hd)6nxgHifnX82!QHM3K-`MzXhiu{k8QJjCf* z;=b3eTKMK(qKa?QFyeP}tYrM~TBsRN`turjo^U8H0tpXvAx1|CZ5oEKYLbZ$-7$~^ zRK+!}*_ilXoR`!xqvYC@RT_ySs~ za7oSE;W+#{;}%9frk;t4%&FgUr3^azIQvKxy(-qkE33t*N)%%pgrmMjS-vZpLZ!$S zXb&3~tY}9svUe6gP~e5tjy!uj3GwHV*0tJ+-_6$E^y!0+O#b_R+fU*cTLw9G)qxs* zCCJ`0g(V>b&C`l1c1CC2hc#>I-g}=X=7}xy228tU^iQ9E3458~Y=2`9r@|5jQ+gmt zFDmVaB+vYz)dO3NhCi+on5A6jI_e>Cj+)Hlwvw)!Nw`d+r}@fiSUP(5A<`)ka##d? z_!ZL;w6d{tkGVy-{`mWP_b^_!PYK{9My5e4*3?N9+SgoVZKA+>B5u0{6goh zLYzem^ZbWF*Q1{C5D;K8*&k6+fCf?~B}oaDjTQF)#;w=%jn%;WKx!0g5sIL}!;nA{!4;7}0yF7U!`jn5 zD}q=)MtCzGj^JtkkBwrsowWSB@Y>4iGVV&h-)#W6ArXLnHm2^EH^3uhW-=w@=!=a~(;Maai4S1U{e7L!MZn5R*%(w(jyf0F% zM#oHoF=e(t14HIqw5y$S9iP`U;$mC>kgZ+gf);qPTdM; z8fDUtg$}W3ne=WQx0gRk~NbM)xdb>ocI(JuzVS<`0fc`;PuP8VzY7$LKoIng9 zHZugFKmo_@uX~gJjErIcq3bOjyiN13R2|V9NHKbm@VEfrQ&W~Nr(K+<1hn|0u z1TddWeVmr%CEM1Q|NX%36;@|=Z=7DaLL+uLr{lXfCQF)c%c!z-$4;zvi({~}hO@iZ z4mQ(hjnKtEWa)$?R=rw#teLIpWTTJK?vXsBMOd?aRqXw!*_*s`&bOu1uPb*O$$sCU zJupm~O#bcUim3E0y}C1%W^eS$BjfV?Q9*Ms@##1_sSu5EXUqxAv^UCe+mx-KTlmxj z&9^X_eygE6ph)^W=ERu1QvhHj@WO>-KNp^}gj;(u^F96^WM4G)5Ik{v{@~$R$ocxz z-8gsPBN%i40%m@PmSMmFZPiY12l5>Uwm}#X^Uav@ZPG?8Zk46AZNOOXt!6LXJ^ETC zsgvsI&*Q1r1U0UiQhR$!ejIe}_+M7Qu>v)G2sdh~291ofU1O*^mTi$M3uC1-Xa~$6 z`&xLs+@sLNxZ(cZek=7sq6bdy(H`YgMU`_I@>8f}^Kru0_ylNvnSw=mnGtNs!2kCM z_kk5}$18Y+En&tmnEdAsO7JmDx&8%ov;)3qNwz6zR?q7JX%(m^VS$J1?I~*$ zW_Chcle;QqP=G+;i6bZD@j7!~~#UBos zAI`8>tvHwwqTa$vnyU&d<`tb!?WRd?3|gio)@{n4L;)Z-Od5NJ^6~4g{>TAa`$S?c zaa#&%i5E{sO}3xEY(DRIjSKLB3MT=KniMy|OVGozW@w_5xhIM)bVQ!Nt%${D3yVPO zd9|++kjPF@zmwKZ(7v-M-6?hQ3Qax*YG?{(h75vydK>2seOghHkI|;8gTL|i$uG}t zUA$8VXAx!`S`5zZUVetYE1&86066a*qs^LnsShC2Cn%R^t!p6qmDv{3pnovdGSAZk z?~0sxrzON*j?E;3NABKbT7uq3UyWqmR#xhsRL4udMZCmIll{6s_jA6$#I}Fj1Roy1 z?o+V6z@ng@6A>_QjDH9qEp(UvoaOWN)y_6X)`f^e_|1k|gtue982@ucwSMi` z$#jHFPjx;DjyUd1pqNS8I@{)x$qI~ON}6lxa*uTDB&J`w6HrQW`}{6^3*@eDR)@u_vC@u4Ax5cB zuj%;138L#2P;vjH0`UgJ_r^paHPm$?Z}(Ya(?5i{E)aa5X1TlJrI~``W9dmc+|1d) z#?&H|I$1Er#1rD_RJjT5!RCpqYrUe$KcgS(tRuaJ^UQi?SMoMBlQOEw))ooldZEr_ z#3z$VJT*Z&2o^OW{J`D!`OF#}#rikv3+xi@*1-wu}6DJTmxap8-gbZZ$4W8uh z-H;zqMQr@OlJR%<28qnJmU>rf*1M%Bt~>0+A)y8v)5!tMrqcBFQBjQ$`d>OH=xFk3VU zAO0}97XA%*y~zwL5@P39`pp>BWi-Y*xa9@hb^d4BjRFXQVy`RygS{?aWmuuB$ zzU_;1YDj{k0@LL`gn{QeAhm3N8ubw(a^zrcEAkTe$=;bysN9S;QpJ|m#`Ir8mzE}7 zEJ^Mhn5N}AgC0%&WuLgcu%xg6V6Zc#TJYr4UM)(_x5y4MEhg&q6t3ddK_+eUzF3sBvqx^n`ATK!w! zP6SpB0`72}WSqOPdtg#&W)F%KRx(<>^2HtdA$Bo}e_?q6r-OfBexot1@NJo8yN)Uy zvzo%+ZSi$x|Y;US~b{f5Cyz)bf zIK#`0oOz+xiIC9KIXltQ30tRl(HnR5jV^_~*7tAc1SMQ0n7TsIvPT0(zqLPlsbmpr z25)<`*teit{!S;-yO3-+-CtZhkH&3?t#hZ0GIzv=LlvoDXX}5)|xwi~cGJTd9 zt3+B3VkHkE0JzEa%;FV8&dtZGm$ZRi^m}V>z5xaYyx=*P4D5Tkq+_4wIp+V|gt|4y z<$33h-hZ)l5rVX^U2^`-Oqj&KMb>c^y5~EI6b&@=tz8z{16z$ndZDytYirwK*6EuF z%&RRy-&-VB43-W{e~wFt8D0;WrcR^y#@Dfr@b&jo++iy?B}zQgeU-5|>H-!7VX8{i z7_{-00Eiw`o6qWBckxSVsSq7B9%YU%A^Mj$|NI>A(q|)Van6!~i^)@>+zeLzs^QUI z_&Oz=?mw2oWl(@sEAyHzqK(cF**{3|-B{vWHL+#8b%l%CR*80)-wcz47l8%mNEv?j zE#B~^P|jtVzW%`1NGV^xb6*hl%B3wnjgM|hbVqcS?ZQs2=adUzDN*jr<&!YHLwiJ| z*(DAc=)?sjpGGFnm^;jA8|Gtnr9{Vwho$SUiigd`fsx)#B$1oA! zM{xqDiXLWO@#fi7H-qb)4_3 zWO|*b+(H?bk0#k0)2&?MQ3rweGO+Af_k4aA(vvb|3zH&?C_4ndFS(;$k58vGh$-C4 z_>pu?M7v7)FD57PMq?V=_j**&4Y`M8Nf@htXIE&1GIl*CHNEEr5T$;9GF2;rpF@In zqc00{^~Wcl>G$rSZcPrBojGCV$_|UBEk&h)n6WC5tr?@;AoMtUU;Ij?9}4Z8)Nh51 zaI9Yak7yP5p#Rl^?GT4mD6=u9ny@H9M`!NQ>>WvbDp_DuPeB(zm<(rYg*O}MD?QmU zThFM|YoP~?g#+?>FV#Ry)L;hiR5J&3er?)I%Y$6Jxf$74yZiU1_B%^pvNSj*+pzU9 zj(@<=hGKhmm{Rcc+1ofdwQvx=S2% zxHb@tP;3mXzGpCPQznfi<<7TcZ}JBmQY8p1R()CcRe(HeJYz>Ui5yKRW12Iez1xE` zj(hWE{|F_i{miMNVZi3YFQ=V5+P`WHEnDVrur7p?7v{Zt-nMT@Z=IL_#zT-wrY1i*8sKXI{sLu7a&WC`k8$&didTQUmeB|KCoFg z2)N9J%=91uppIfMJ`M-GejIR@7EDO$vm0%4zn=j=+IJ>DCU>88jTel4{cOmRc6hy1 zJ&ns4uH~WoR!XIps5F&}%HxbHZYtZ(pyjwHDM0ZluIY)>m_P=La0=ta+N zXwwA&_nw(PWPnhB*_jdBZ-nMk@Kj;9e?h%SoJ}&eHPs?A2aLBX_G8rg3? z7AGai{mHHbBcSVtD(Ml2N^KYB_@~ZJw-2d*7+V)eq%|zcq>kPZyhn75Ot_yT{85%H zcp%a;zcp-)I|l{QAYzL9)H97~y6~qXE&DO{jORSjQII9Kcv9g^zxgf(a!sg7CY0~eMVhif&6*?%;JbKzgfIBv}*nZeW*IMK}EcMM>j z@_6i+H6u(d42ItLf6Htz(YOFGm(Q5$w4^pA>Ye(7A0h)MZ)r&h{Avfw#AZC3eOXjM z--p99N5soq4yE>vxgAg4eqFbI3!bR&RYVnJ_JhV*Qs3&i{)1Q2**kfA&vwXrfLw0` zWrAOT7@ea7SUY(-cLf47QvYl!cOwM5Kdn$6D!gz~Pkw&E`LaEeb+PN3bES88JNKDq z5j1^#@d+Ab`tVePa#bGVs=^DKp#q$NZ{mtWsG3eF?}?g7S60ulDHhP+lvOV2&{{pF z#^<(~qW)BjFK?AN-HCDdMSvpx^$|e1@ zJag_gYeqw$11Nq%rN=h*8&1>gc7rP+jN|wJOXvZ$TRlF>JZ`!vqjha8j za4e<12rnW;e7(odb)XqnTm1~^`N!3dDwh3rH%bKHgZZgomdPk+EM_78u`1xWfU~5= zK5np}Fr$R{GG&lvP?((f3r#NE2Ui#=i|^kD%_4J%^04&?U8O$*z9}lbNd8ekvY>A; z>ok_|Z3OUYrvm2q>wb+Gj$iib$OOieB|DXDv$AQHAl$it4_S{0Zg7m(B(ds*u@B1R z#V|2zCY9p&(zdK(+^bq-CZ~v6P?xaw_odd(gNj+w#S$sKq$b$^S*v7qNNB2|DflH0 zSy{rk_B!u64cp@?^lz@FP^|S#z^J-N&K#V*!xVf=Un7A8&d*5l9_LxJ@YGwuW~^K) zYT#=IJTW`IOuUbsW$LO^5B5J;E1|@{y%f-czbz}+uGd#{C_;T-1zXt6#uo=lS~6^q z<0Rvv1C`!n3uF5%zY(S z1k8!*)AbgI>EEZBo$_8WP#;-`Mvf0q=*+}9ZE=R-R4E`j)=o~t!JhYuObj13qgPmDO@UH)Pc5WL$wZ;*dlSey5&BGo{lL4cWOr#2rteT(P@Q*jpUXj%3CP?NPoi zI5R_Rn%hdjl>XM4oEuTrImmz1ufkE-LF={6@)B?%a692pxKM zQvGkPd>w5p2N$X23A~^@gX80W*baH%@dl+I#7D6rfwc$^-zXO&KB@O@VgUDh4VIY} zH}C{Oi!AENlLn<4_!`E)k!tM=Bak^`F&P1=Z00V`wpcz)NmMGP@N5R~V-D~xEXy@R zvY7(%lk|R3@XiO2UF_MhI;PuVb}>4ehSqxj0`O7d5RFYx-6w-PV|GlRbDb^KBntQj z8y@y^mr|cej0N~HH8Ih#qN&(N@4+soP@52cRMksPBKYlxZWlxD5Gx&k!b`K+Y>gdnJuSw0 z$3hc=pk5jwhw%e%e;;3t(;wXax%D(W9MRDs;Mf9LQekvEv)7qaDrY`jV&AZ3>3q%( zfn#8yMf2L4UgF_Ljx5 zu!HeeAjf1Xr9vyT8KD@#xKsEv!u4`mdBlN{)A~Bd{1b=8c(nQDiSrzq(E2ZcS*iJd z#nxf?KVWgM`j@S$cJA;Nw1kn%dnLv%H!e|D=vprwnT?T-LmT=oq%K4mUWrfUnWMg| z)=;m6UTWoSHsS*!s)@>;5`#{Ugz@_xaICmWH?3Tl$?FYt0mEn0QKoctD z@SHi$dz}?;#cKi8#_V5ci!E=~xnA3o9*E~t(s`wqC#Yi1(cc$DvqnbUewv|IAXH+U*8S+zqY!&cvelsC zp>Gn=8MdK6TN!zEqOWW;jtgP5kI0k3Y?}fxU_wyd(LKSL44%)r>?c!>#aKcGLK7RO3TQ<>gXe>-8_@T zROEabJteAI(Bz!Qsq1f?g3pe&FAt%k^q-fIbbv^n7?`THD0Pe&Ssl?roMnwNcX*2F zD=|41g^pwQGL7&V*TWCHD2KRBW9KQYAH~XQ*8^es)nUvRh7D7HlW}}i90-J@F5n*#7Ma*Ge%jXV?s9#cct z?z{KyNHEO|T*HYxpP8G#@sl%C9p?M}t1c0DZXCECAqQ)oZ2BC&wqFby>d}LB)0<{y zx(f-fkzerh$yawA?Ctw(c+vfo0IQeP;WTwVKajFk-#bLw?)z3cXFHZ&^G0Y7#r{`L ziRMXfbKB!(<5OJcKnBf8dBfwoY0HI88hZ<3K% z`e;Ah2b$@vU=vzMTrMmJGtMcKW*diS;G&z2EFv8Ji_~i<~`fZCFOo+N6 zB4>*c>nkH8_~A3|d@=pXp+ z%EvrFOgKbHxMON+W%^i%M+2vJ$|uTBuii{&)nQ^+5t(4n6p*b$0K25^+fP;6sw1Qm zL>)Bi9nrLd!@gF@t+P6(i%XSn!6-->wv*`Gk3IJYl4zGWKIcr6uE^KS=e~1BkSkv3 zA6Bwo=G{HzkNRByviE0ZdpDnyg!J-zB&I19k&a3>LiJS0fQ1AGEFcyxTnrb)v4G|n)iG=7sW?so=kR7H-Y zY%u9vl#m{dU3E+NxVbQr-SkQI@`|Jw`;-R=8*h&{!Y^<}X8^O;6(v|C9}Amu-0X16 z$wN7+`D?CoV#~~~nXx~i4_p}?kIv5OE`tj>#SP1F+oa|ww_TdgBzXqy<(2(RL)e94xox-ias^)JUIR zD_C;aQtaVu4Y9B4e75B+ny90@z2Fy%Fm-c%MG*8J^_ABuXXxw!XdjSHgnq+-S(m@ zkF(k6TxVR(pZtl|RlH_2pFGxgiVo6aq0G%t%a&uJH!p4fj;z`C=aQj=2f&T~<@4z0 zFQEYn8rih}dRU|y6;M3Qc7hfv(eEs?J3@!AZMXr-sYrGbTD?f|f~p@ECf0~q>M0b) z|NRr;!K;V6^>!{CznQ3@)OvQ)1x_E3_?5(A_j0UdGLLQ(n<(zGWjF}?>pg-;5R}X| z56qm)@3F|}f!m_h)gurpw!5c8~i)@{uxRy$RwgU48qmt$XCUKZiAM^lnfFA(ff4$a#eOj%y0>Iy_Uz~&)3{I>cWpcoL{;k zPMt+4O2|wEa_UX0z6F_*T%?aV72@ZrFIW^!=UCp_c{s(aT0S|%+I_eiCY?}ePrS>` zz1~xTWOrJ~NxewzQWhs^QP6$ywf<3YDJstBnyblswu6|Qp#$c*HDUVBacM= zIx&@Cg%8)&c(n?o;l~A?ojDBg4grTq$gWn3!P!wH#9u^Y^EVkCfRX+e*TA>Q_@upz z(y<5@%z)q}u$H3`|NAVonU!6+^StI{{|JSBbdD=6M=CXCb_QGKz|;}BuYJ;JB2Buq ze?*(A|Btw6^;)&1i7U~!{GsIYCzSMSXk9D$>i^oU^#Xwx2bz!v5JLmW+X;mAocIEJ za}}<9PfZF-p^SSRKL|CT4dMUnwDA1@C&E67CF}s+LId6|nmX>vri9&JN-o#dTey#z zC)KGd&F!OWe4=4q{PD+Zm$UDCr(N54y~v&JipV+SiE#0+9e<@*BJm1BykboqV-!Uz z8Yb$5D-rwnNZqH^hWu^6EUkwvVLB&kqqg3@h+Jr6n zrfF;+)s>YV<_+bG#MM|_pW0X<%>PR8!V;#CI#dfch$EyUTSy)Sxc*@wt~((;)ATFO zJ^B8F*_qd-zE}S#Ghps%z9FV>wOwuH0`A`LmA!lb$M4YA+RCXCniEuMx|= zvu5s4$Tk9n@K)k3*Ia*7Erd+qM=*+*3c0{gVcc@QqNCDPUGi02Z*FwnfE{Ngz>=Xo3=RYC*vuXEetZ z1nZ+crJnY(cZ3U5=+IbnDMxuQE3^Q% zH#c!L%RI;LM7#SBr6?@%Dq8o+LF6gRAr%NMirF`FT=-wj8F6;GamGNG{g*2ZP5=If zI=*^YUO5yKF>tMWp3cKJ$6;H>HMfPq%9z3SUwUmDE%>SQVKQ;xfSj-=O=KC- z-PK<4zIn}we33vae?yrhFYa$C^*cC!~*YthIsDA>*2T46oI+o9~hgI=QAPtLbI;A zf6_#Ke&b669mcv#OH;}n^qG9S3h%Q|jPYZjDhg}>rtX%lPr_JhW#k7Xw_sVO<>UPd zhSl)!*2TZ~>fs!=X5FP^A2rnRiRIL|Zed$%l=zC?r|@NyY)Os~l?V&#&iVQ`cQfE=_Onq*PY^{y~ zL_XA>>lI6#&sEg}63n|PaHSbhQu;_I<=NTDNv$9DDk%o3_))|LbOTlk?O@Ua`FO&4 zyjaQ=;As3aX^l^sTB5N0%E;Vs;TAwc+=(`1RIam(AC#2DuyujFQqAtvu&H6io+}oh zh&r0p&kl1y_iAueRyypBB>C4HM}fTK!0cmQ+8cip>>q z-Msl0rHufWbedw1jlC3G!HX@QLX6_Uq?A0TF)Yae|6VgM>w_Ov-g~UCxz^V9YUEod zVRmOBZM~eG=O4E)z#XI_%v09J?~|idpv&K-s@H9+-(VJ61z#n5ccmV8?}pbfvXemd z)l&yIO3Ftosx(>Pzurm#c4j;b8^^KkRx9-8s~qhL0bN34LKjH3o#y<|>sN4x?+{I{U(}VCCrk z{F~Tp0(W(so^5u$4r}gW#K4%{zFk&(FSi|Mdqm}I&c#Z0)vQjw7MSJ(GjJiZeV7|& z#-p`T@ey?XQRsRUqXZxbPF%RzmkD?Rb%B}N;wQHJw|~Z5z5%k&-oLteybrtyS&km9 zKC~v;Z?_XR)`G?jTEs7bIWn?B?=vUO;oYG6?3)?~AvdRwy$cY` zUUXO`hO3bc5@Vps8stwYX#)!eO#4I&a<+3{ZA*Z0-V?dTs8Wo_ zQnO>)#w?OSbf4dUdrS|u#v~Y7(ky_dL_FSR{QWbMar)f0LG3w$CRs#Z6*7O0b;{Du6A=uVutYt*mcCF5@sy|j zDsbw56y^V4Md>yBo*5wS6i*UnRXU@@I}9qij1|;^GVG@;Ne#*pCuD#012;rGtb4 zH517i?wZLW$Y0}D~1_12JJvaTPr7n4MjV+52iuY z@Hi?aXoE16yu2+aEiJAaKDLjbom+7Gi%(bGl;#$Hz>f{IUu`D_QueBzb20)r1lBx`hRpo_}rv z>9^Hv@jZt_q5|9`vwRP0dKTZfd2z0yz1_qk1M&^6*WC@%LXR#eQYu4z?%JUR@;PzP zW}sAIxas`2v0>pWGn(WaZfo7Ox89lAw=JDa-N%BVMngCA>en+yt?Nxu%Us)Yr2dy> z1{+@LzsU|K;!nAY61i-NF=^q!10fut5`+W8%PNj^a*2(jj5ibsf@F&OA<;Ae<9{h; zV+3#HQ{GjwYrlgnH&bQ-i7|{1|)$7;NMHG`O z`W|s$vp=vD`>u2;BFPnyeq?tjaOLj<7=`s_BIJY}Tyx)q<{8H!O%S@O+HbH8dIX-u zrjX~e;$6xYru?J1R^e6jxz!afiOc#rpbiR3ZTTXKBG6g)sHG9 zp?N^$c;Zzx;(U<@FKuOuZmqJ~$Q|^^g_`b2lm^H!7QZvg$V~hQ7f!13wfs3|QG7UT zv3D>ygLs({-w_7xQ;Q(JY&|_Y=EcrG5SaU-xLOyUZdT8sw9Aj;sP!%Wo|gMnHOAt1 z{WP_(^%PZTtW`9)-s9mqGdP*ndiEkdzFNupF|&2HY?_mbc4Z^n12W?H4=34UH!Ef% zapA7$Y^z}>`99PPUrl7aY4cHc3o>LVxJvB%w)2*lOj<`Xu|4dpx9%O%`7dPm+$OEy zR7k3|ooiQ4(<9myZ*7b_!v_e={Td`u~gRyz%%Ck#aiY%U+ ztkO_{G%AVBfMi}<8hwNK>zCWPeWiRhvpn znIT#3uKSE@O@A_u$%&hzKsdeht-m9KdyW~LRhKfj(92fO4 z%tqg}yBaE{ySqoDMe4NdSFxqW7OBpuv#8h7K8>(lptp~Y+p*AdO3Ji;{2@b({s+u? zr1v2bu#Xk+oZb$t4Spw!;V$#xFhbY*3A(^(j)P^=Fle7!hmq;s^E%GulO1@3aw^2}3lmsY6qEX_L+%SfjO z%W<@k+nAJJy7<>z)%2YB#DpcrY*u_4s>ZxOw;Jl;GBsY1)v#;gVdnP4l!19sjL}~B z=tI;*L=>cEOFOHf3FM|NTfVwkH=p?EXD+wUW#cjFhBzx-nAK2YqYKM2%4cnJXYkWd zhvm2~M94Nn-ImGJ7d8;b9&+<^gq~gw-#GZ3#yC78B3Y&9X60#c!ttpr!tyNrw=K!O6L(-v=-ih@YCAjmRp_JqT=>b3|GvW?dv8A?& z1_!u>RsdCJkgJvXN`j5@pWC&b8__aNN*879btuKBr5nFaG;Vb?1<|L7^`sJossO{d zc)^(B$e6W1DjnKFPEkdF+>FP=B6+BKf@IBwp&tjaI1%(O@r~>gVk{UIWOZ)N6O2^O&byt{;rhbjUk-X!-H}mGNWRc zG?NPEQVn4BwQN$YUt;l6<_V~AR3S(o9pdp2ZTU&Kvbkpq#KzLPWLXIlw&K52OvAeI zJQz>*+L46XnN@zKQ^+H2O}H{87cg2G zH1hp>KQ&F)DOlEv_paTYGoyhh51Ho6^DRRw{2!~!xS`D#6on32)`|JbQLQmu`Ohb2 z5rn*MDNPc)9TSZ&4Kn7AekTWO3!^+Ki4E&NV*=0}nf)y+;vB5QKtK8kOeN7?$79*X z>ddVIvR3$?OkNh>ylkY%ntqUtsZ!#Q4_#=wvccEz<$EB|pK|xIPItA?w8E-bmWCnX z8AF!)#$>sZ9v?<13#Xv%8Agd!e%kg)x7+{WoJVL<-R(lw<#NlkSnhb)G-<#ZpGK74 zQbHO-Df`dhd{#Y}TsNICK~~*ktzUI~2R)eP$_qgllf$NFubAR1dGH?k*b|GN;jf`PV{LU<# z+9p5RRshgCTw)vBqjmtRCoOJPicm^WIh6|p(z^5yX>hC9qSht37xg#bn(=MfyA#!4 zq_fO$5e?k)PpM_`hud$>U_ub5t}7a>jef>OlP|IU#s^vBRWd=NXnOcfq|92Nn4WFVb$;GmFX21&(*`lt8LOHAlWN9Cd+^_x@wAhADi4c|DFL$>X`eSjLu!O*@rcB8yw)M&4ad<; z?B*KpVYhkv3$=XZQ#4jXJiFya8*E1s2i-)wjd%aKln|^%EpJBZQWE>I>2NoqY^^^uS`6{ zQC4lChCqLD$`NC%ax%Hzy|6S-q20X;LFWDJP+3m|Pkn2flcuIqE^X>DTTKgQ7M3a} z3z}6q*VD0UZlUcMW8eS7O=Sk~eXUKp6`V~E5HR?xN8n#LUNs4`s<_Ap2XI@T+*-VC z*&lj=u8$G~_&EeP^u(mGMF^Ff;-tE4M+sNjJl{TAV%tZX zy>L0=S>CHhCVF?Y3CRj#UGO4274^YPt>AlBivm*|p9xafW&gX>F_y?YTx6zY+b>Wu zZ;`oNKI&l+Jt=j0jOLk4O$X7WljZ)_B-ruPma7-4VwcdHGEHtYHQbaZ^K2P1^hAs= z0aQkqulBgd7sHioFxpMUADJaV3;aip0>)CLOHwoh*{zhuDA)@-o7ac7F;v8TYafAW zEbNYW*i<-#o-`IvDZGB*fDm)&@XO;*d@kB0_dM+SOcK6Ffzfjv_3&6aY!M|bbp7q- zG0`~wbm%{EBy(vbWkKG8@803UdZy*X=aG0!^ocwi-}sUGkQ+KEsP{pK2Z>7LcANUX z-rqz*PbCR3rpW!5L-dt!^rqWCEF>nS6&we#^0u6nvQu??P0~JopSXF>rc(dSrX)#K zi)O))#JQ3o)O5Jih^Bv`=in2$C;1rTlq2*(b^WqXI(utMUUNY@gL@xVZdK6O?CST( z^xzc&2wB{c+KxRHdX9cW2Kt!@2AWyqrg#~Fl$qwZ5o`W)X(i!euHbRJiYh`~|upV4knwV2##n4ihfH>sH z2k<(d-sV_`V*yqGw}B*WX(XBYE$u$HVs=!vN_D!>0W!BSYM-lp%9B`^3ITu^`1U|~ zsdQUp$;H-nlN9H0OekpA^L&D@a6U;+s0Y}X+9|p3gq669>gt8=#`~{l;wXjcHo8>mwqwgZ`~CcFs15a>OZ;nt`xVDzzq@&k)v#w8Ur;wk!1zXSDui!()&$@cH;sdxe>}R2 z`YEZ1XMX#SOZ9Bh2_b)x_$>K8(bE<+A-hmqLp=h3XGk~%?;`BZ<#2nu{3PyOMRmEDTDg{6_jIenw0=(YS%*5rX$HSr|+R6!B=7!n2e z{Q3$)tS-(WEcbn@x@B17MOT~Nk5Ty|A)bqhs#$m2&nXB)pO>;pcR0=M)%Dj>_WX-4 zE8JGGF?J0Zr~Pk-IGCfb_pGLr2!AV^U}VSA-5@yz;u)RIMhM%MMz_U9x><_8bLmZO zviwK85vs78O9+;n{48FM=V&Ugx5l@jE7Syyz^7^wi1wMTqQ6HO zhXQh;?{6FMMi+65Q?^K4@Pb`?lxmN2PqI{WIk-$)=N1<&nz9zxu5mXmJD$&|>6-ZY zdl%8i5byM?broNTo!#@bZW^?=EzHO}XXwU>+bkE@k<0UQeDvqLn62zDI$-z@ncxaK zw_Dc0cqF@JJpb(qrzV<@2PXHfg;|{ci)`?hqpp+0TC@G0ami4vGY*2vHtcuFY4Nv$ zv`r0p`wKjA4GFi_zQ@V+$uqqXCtN&nxBuVo$Bui;=36#9)=%9pB>`6eJH56?w~A%m z6#>~d*Wd?RNAiCJS%HpnzJR$%tu^$;O%7t%eZyoVFoLVUCjY2^o2RIEeHI?W4->67 zh74OKMs`cFS}G@nLPp<75JV%1$5R8E3*f|S_z+{4U~2p>>Sm^^ zUu2Tfe6GXxgq!Jg5Gya*z`V%pOp76Mlf51?9u0HVhDRx)aBQw*lc4LbKP$fozdaI8 zeX)<_ic>Ove)~4nkw+|Etfvp;B*zdyZbDioGc|)RCADA8VzVIka&fdB*u-V-moU$7{rxmgX z+-Qh(tW>kNc{^@bFPR76Htm$#!@pZ-z^`#3mm$0SppoT; z(&E0)Y3k8B^$m3d;C<5GK)%%kh{Z#Ms39I}R@1K$HD<6jh{6dY*EKus3>T-WmeY{g zZk*$ZnwDNQVydDpl`+Wji`qf-YP3$clOQj082Yzkl!hu<>i0vyWnKdwD0()IbxB^3 z&e#@n!eAGo9)_>jP zay0N>UoyzE*c+lL+muLwpNNl_#4Fqb89@`Yz37gK;W?)gJ?~7^zK&fAlxm|em@@OX z6e6czdKU(;qKUf)netF8S$0j@q*F@kyp)O&C%Xk9o?4{!r{ltlG+l~+jY6fGDA9QH z&Z{3?i$k!`VYrdU-X6dy7zfgfCXmVS9@%#cgTa=7Dt=&gsgNC){9{5gE{w8XnQ*2w5Gi2-!wIcW}>TTQeL;Lw6zsbeh3V^VOIuCzeqZZresL)X;baBSr;|8R21a%9T4tLtRW_?0se^N%~GzG!?p#otx%nx(5az?)wHy&##R&=Y~UGOJj zaa3km$)WsH@I5{pM?k}S-x@ljL}V$wJQ_3Cenw(Zmyd}moh59GO|t#=)5dwy7e^vB z95O(Wrms=Q-Yr)=d`p_?fbwCx=;X%MSrKHu26WS~Fl$9d$#^O_GY{vqkkz2d?@U_I zdecdV7Wx$hQ`{wmN7ayk*^dIQ_2o^u<`Petg?Af2$GSdC*U92-bIwp~PLhsrH7l*4 zy)`R$2BDsvDxf9>1OvDF;i;+amu1p1^u^4wzPXqnqv?ULa&c@F1=UPw3h{h&O9aFN zB6%O95l&ZX;&^sWZAQgKFj;aOo?~XDMJ{F?Ux}_O&dy3sf@A3u{nwsAvSW>j_AWef zj})&PQR*3V|BcDS9h=QDDL`QC{sTKzI_8n})weBrR7UjyIfFEL#>l0eSTUrSd{nD- zRZ(RkfER0y^Hz*f+nt2=kS*Sozh_TzC{^}mYtz$GzYisGN+V^sgON`Z*pUynK@O-r zw{9VZ$@7Ei>F7yVWa+UsX2d5zG8$U*GqL{%Qd;mb=6_Hx7c;YgaX#!>Yl1&H0N^U* zqF>4F$%Ta>IWeeMR2N+6+U?DR#fh7mB$uaIF zJc&!_8(nn;Od774!i|3B>+t@A1Y)`-E|3 zLsumX0!;OqemwN%JdN`C_1et+cs5xK)A=jQ>*~ZE4YY_=??auBk3T8o@)ZAC=9tfH z(^L8nGM(nWN?vwS;qvxT5T~pHC@^|W&p{ys8sTlCA9i9@8&Z&8?wo#Q$AH7gN>R?4 zT8pg8ET4k~BoAn?HFM(|T)}-Kfp`d)B=c4r5aS!3*OW|*W54Kg8eIp9{yYB@C>JK0 zzOEhEt&=2dQOz$8)&Ft#)VZ)!+$V=D+i|0J~Vp7WaK`vn< zz8qzC*RB*tIFViC6)5`}xyyk%7{6K&k{O-xUT&S{FUJQ4`Pc&-srF_V)!ihX;@5*O z>qVh!yeEm@kuc4QD&H}T`@W{omRxxifxET=W_4Q(M*laO&eJb^*bCDg)y;>_iCB_KVP1Ez~f626U@8y2WsK&o84eXZFcP{)ci#&lL)uv?xknFXS+!!kwB!xy# ze9FE@8VhcTAnx*7#F|Knz}LY@q7YvEAP39+aB-kDyb@0(QHH9*_UW*!0uJ+Y0{%iuOFS z>T^u-(oeUL#&=A0_A6Z@VU#MjauAg}y-D#@Xi@ZrpS095PQceCG|#cj7h4#8FdNXxo7GTLv+) zzWe~?v*1K`4CRoi5dL*fbydvLx-u`A9Z}$@RVW#B;z5ek)0;4Itbci=6k5}OH6)t* zRMz)M@P=iYS%9Z;{0pX9l$QBxZ8c+G)Pk?oP)7t@y(xcBD^Sn>Q0Mvfje}fW3(rE^ z7b1TmK^O9h^c$-1k;ZR=cT;!K-%L#9Q_!`>=P?vjFDULzw!dBwX-f0Jp{W)8n|&>e z;XeQm5>qm!OT)&n2(@Q-1nkwuPIu+NO{$sif_Ck1U%I`yVJA;02y z6O8>=ZkqiN`-;2~PFu;AhLlvZ{Z%C9@0Z=4gKdR9dlVxUW;?Q5o5LK4OA5+HA~IFb zG9;_h?K;Ji-KR85qA7}VbY+!TF45n-(Wc29`bnUFV3HMf^?UO zH3s-n_1eDK4-YXPc8`l^652$Ioz|#pu<`D7nV~dW6rwztZ#5`lk zf`|o$vWjj2xjlD!W0c23m^;EIksy@uLoGBGB|egU=7D`0$#cxv`#q=C#UnTKk#t}l)!r&PvkBiRNDtZ$Hv_&Jp-*+%=vrVuRNrdF8RA( z1I{kqmIKuxp3!&6!>Z74nTg4@_LSgf$)4K@pj?_dgI(ljz%W;>JX6?Kwfs+QA)QmN zOx&=PgYn`Y>7EIWpo=XMWc;(J@q*F;G8eK2rjJ!h&~n{`>;5;~ti>+w{aVPYAqKjd zaTEu_m}CwZEcf>r7I$SPUlowVc|J_eWA->*znki30J6aNM@}Xq3h9kUvn)BP>iqex zIv+n#F_JQI-BvPTsNn5m@Ke1$IVPD6RuT*}rLOwp(zS3G9s{|iI=*#sHVtTKt{p0| zar{-2>h+!_n|uv*qkH{e>7X{Mkli;&`~f=+|Ft!N>sARocu1xB;SnRDUG|fGvb6W{ z>cqN^dAu5(m_>dgG=81#g~H#d3qSi=G@I>6h1g#O#M#2a_2gs=4qFX%x3kvN6NoNy zP3yP9Q}AU~@c^$TsZGs3R(o16aX*vmPXz$GDnx7UA;p_T&1^*xj}@Y>`v;eM3Mv;2 zau3aIhh;hyFP#-HvBx%`o2ggN`h^M0LqMT?_pca>l}RbNl=1BB+3VypDDF{!%9R!Z zn-QO|jM6wEJ%dDnj3CO$Q=-NJ`H;ebFH9j-%0^th$M1;BEM2T^UjKd^f4_)f`PXoo zRY&3kDQ@&Dgw0NswzelGKnfMCS0g;Z!T6yY0OrF?zzxQn#?l80H#qxRN}QZAPGdxf zUXv-hYXKTi$cn#v{w!eB9IK0qy?*4~h}4-0&riEkEUSC(<2WAQYYV`d`*ozf&3RaeezP*eO+ zhof1dM{|T63LP4{u)KyISu3q34lPV(!^nOsC;xkX(|)*&UR|0IT^YoI+wLlp6)&(s zrE)krI*W6#M@`bw075?4dqqln_;E6l@>T9|giW!+VDx2(o{Wa`=B7cK)f&ZmJW*`r zKew)!=;^Rl3Es}*K!$+{GR~)I(pXPUYXD*r6B+Sg_sPeLAT9)d1*QuqQfhy5DMO`Sm${v;Bf0&gI*!NK ze7X~`MHBDS)T_39iU(S#QMVg$CP%l84-5^&rw-bkRS&iB(v%|FUK`%025Q(+yXfwJ zOGTaL+R|krame-2!nkMV)fFOId)TsNu6pyXZ=&*vBn`4qy)ntCOdlK>1om}(7v7eI zwxCXaLHZy=CRjXcTRg1owlbKb9ZxONXj{OPjGTTFV6( zdwx1!xo&>Kj4U;^aLM#PH6Q;@Cz_;-=C18Z-#XF zu4|sstLK`jLH%3Z?!f@)Lmv`aG4rN~S(QB2iaTSMbT9HBGOG+Ud_oFsPW1LxGUF)P zXY`!QUNO*ZLuyUJ&jbv`pJJ4EF1$VVs17q3+k`xzL!g<-DU!}}aR^29J%7C1&=knoxkS(R^mZLtJz zGRsf+#2G%t>Jqxl?oZBjDj(qU7Ktn`L~nLvfExbODc8KRuPypDV1#nU>@HR4F-MCu zTR`~XA4%Ej4WxU$ouT=UWq(b$PXtSQ*Olu!>({sP3yB(2U>Dfsvg30Ux>%LK-$sKH zw?ZCInP-nR*4MFYasGErr|E_6uuHvco&QqtJX3Jn9yvXZ8-I!QwnHOg4_GSyWzw2K zZ$Yn#T;D<&Mwq83Nj3^bC`>EWT z4|u%vwBH-F-N>$pM_nB}L0A`@UFo}{-|#(-8*>hgQUM+^!2n!)e!AAWK__mu7@8E^ zxNEd#Azjt#N-`YUIM5$w?jy2v)F*4vmUvEY*7&}igmbl1W?`YP@NgK;t5D@^jv%DCEc|XFqWP~3 z1LY|hv}#L-HWrPGz62run77P$$@&6zEtiZCl)aNws|Kr678`pZ-3Se27))c+yyrNJ z!uIr^Yw5}YFPnlgYe$KYFN;G)B8$s-Ww*?g0+=^0BUook zsGvpR-ZOyC9{Vrw3jj)4bLBw!DN4E5T+v8;fE1|24|V*ZukJYrI($XyH_a2MVIJKx zw7_=wTbIfPh*ELlK^s0E>xEj)_z8G0LS~*wR)h}>m9hcsC*TB?{#p@q>?W+(QcUc1 zu)*orj`e&?xi}w^>K)fomGT~^MYAcZCaxI$4VGqT0%E9rf5S;My0)-t&EdllW!P6n zg%o?%wbEpvW<$*)i{I96K8RIFqLehY@&Y{{szkb!u~4IAOI*=YNNFniMD9NgQ9$Uj zb8Cn=?1`J;6{m2}+JLX5Nr_>$Kf>(D}us4ztFhP59o zGlYIn{xeu@9dzqlQtnSGThjRQV|Qa#yu#M4;LG+X6UIlUya_U@!S(R{61`X#??7x> z-eIJpx5pnn%U7zRg;2kJf~_I){7>yp{+nGd^T5*0FO>s)f6Ao)o8w84=s&2aPr4tc z^EwSo{YNoa4S_u;Ce`RQ7l3uoU7bwviw0VL6=GF9`CXF911c)Finrw;$3ZY(CfO!Y zl_`2ruciij|BtPw>bWWzYoDNR8?G&&k!qe2v-JE=dd=+O%l&i;lLsf0u14}Kd$tCLu({O#$D{BuxStT2IP+IqV<}`T5eZ$79R%Zd$dcRBUGj)Sd z!w`|=c{^qz#)X+X!#U1{b)tc4{F~6moYB9>h0%3Ks~9y4_7o#RmyX8cto$rbpQR{` z1{|yvKYe^D=_*lc5%EP(;vez&e^P0jCo%fUN}Ny>2b1Cc@rj?)qjO;xWlM}MpQx`m z*W@F3X_pj#k2j9Sa=K!_jjtjk@-FC?Nki&AGkHuk2GPs+{mp)uE%K!MXVIZ51W!#) z5>3?ljJ*B$lgUb;<19?Ci>SvS0hdV?lNn(Cnz9`a6w}wGnoh0piMEH|huZ$1WaxMWD+t8CG0zfRF*RS3;3L z8l0#$p0y>p@Q=C4qNSUeNkd(ofU{{^T~)cSRp_vyi4H&p8Jy9Aba1=Qz8;kZXPY~7 zIG5CZMY8DoAzQwpdXeJ*@Vfz)L-o*omE?n_)1vjcrL6}8cjfc$G-}1pS8+XZuP1x= zE*71?tPp4CKz~Y^$8js46w0Mw5ALPiWEzKH6ZIbfa@7eLmiL`qXXk5|gV486N$uye z7U?X!_5@IVy5F)>y>xmw3YvBdZOIzV50)WrR?6}lzbZl*O6v#=hDw(GYPy=ZnHZe3 zgjnXafv_yk@OMg;iw%SW)@V~rqtKDxVFb^m5GCSr|Y~`}pF{0G}yh~=6 zc;PcUbP*Kjb(;^6@L{boR2RVX!jdi#T5HAnWMoE& zg4aTtha2=z-V?#H^fp9-K-{Ka4z6habm6x8>~bPf>$~nVKSoW_xAb$XfP-4r41yn* zcK$uW`sUyozSmf$SKgRs=CN>Q>EL<{sR@SLE+ z3j#)4_!HJbk%!`}?!4f)23n#bb4v}}!anyXK~sfrvhoW3JW(yg1pU`y96cXC_DGt3 z<=D*zQ`^D?yL*br{wQ3xgwK5VRW3nIR$3W1qol!q=uuVa)+D2@98=!F+b+eQ^(9-_ zCz49=!!HsQNqhtV9rq35M**yjyT6pA`U{?Z5`b{U@$ifzlo z##~s3esi0Mrt-YY1CxUlc7=mO@8$OS0VZ>Jts7s{d;ex8#clCD~loCcMh1LK>K- zq|tq6Fg&q9a;E={dnugo;TGU(CPR|_K}CNcipfeTU8RCU@G9X`w=Z&+d0&UHvnd>a z)~Y0C9ynOV`1^KtIDyxI{H|8)&2g7@05nR`35sT?9Fc;@5li!@N8rtS-1yHI6DZqz zEM&W+Ru^r2|A0#6EIH(MrFw?di+AhzH-tqk^N)7FBE+~(j{eg@j`t|K z&HJc^E}hKF-#NUa$FPj+to8FhgNU%^)4IF&l`=~CZjJ+qsQOom}aG*YAviQ znblN!?QJ}BJEh03Z9;U5IGQ?VQkWl7L4_0MiKC0-&7BT5Z^x1_h#s|QZ$i=0&Oe6BMR+et!|zYQvSl1qE|?3`{1q~rI1vr5wG25lJn2r9^7Nv)sT6|&6`w1 z0cKKKci>$trP|KFQ0g=5No`{+sRUA;6FE&RW?Z830IJPztL5rRFYcr=41(h`LFj)*t3*@?^{ClERUxf1_aLaNplG5r0$q8|Qe6 z4DFe46+AX#^&S(Sw?Nk5G5g191&=x|uZ45lvLkxJJeAN7{KQL;H%T(>6I!WDGg3{H zx3wqyNH3_FZApkf08TB)Xd&H=Da-HrI5&sEUXPJ-aj`V?U2&9!vPvR5gHReLKr-kt zPeE9dKOImyQh_L2wcjh?%>2#sV+cJuDQG6*!h+$i-|A63kGK`dyC2fOIT3!b2o4-C zHk(4Ve-8NDRdE3HRU!xkZmPX^LmAI{ZbO!fvc*ZMIIQTN)!S@_Uj{(CD>y%I=6EGM z*Vr@w^bu{dR=Ie-ZPE@iN5oxkgEw#jV_t3(72$ zl^j)K)CluS0Wnx+Hs072ov&=`9ZstM9rqgiA*TN)lB#nhP~PJp-L*@j4v z58P`Vp=31Ajn{wm-cPNJaPCoke5M9XEAHtY3q}jUiywFLUs{-EH*YWcu)1eLW&lq) z0MA7tTB*;di%^XKDy?OnwnOTkgYq*y zk9&oU5;OX^N(Jp(t^=@Kqt2d|^tnkKIyaG`?#5yNEWAxJG+MskY9eh9kr}r{l&rfo zAUXw4x|;p(xUiRb^gTAL8(j6cSOc0)%MAn)?!?MXC+W-MDq_32eMwfXK(}ho4s5Fz zCPA&6727hf3SC{{Efzr%3+$T)s#xIL5P0#$n-%vJVD5$K&>Gxji19RN;(CRRBDdjr zlF2r-E^~Lgj)#0m5p|lGtt4WC6#^#Ym>*CTJ^ZEn(+V^Z4BT|^31<=-vLb7BSEn5x z@yh=DhxXmGVn=2W{e5N1zRwBo+YqCq*!TjWZkqSs%%u5(EPEm1BTZVYB}(DzTae%1ESP?MnA|rn#2<{elF8NHt4Bvn$sg?@de#fa9nN0| zecCy{-w#j()og)rI8^!z`nf*L&MEK7>*C~Wu_2aUu(cef2z8I^ZMrd(hswfurcU)d zVHKI!5*{(ItOjy6J(!~FY*dCE0`j3(v>R9f3tj&?8FiTcUtbOR(A;LkjZ_yWrQC)y zKs>jQA);T3;*Dtx7eAM}ChDID^%0hAdsCZ*o|(#pCn5UB1IRJ-Zs)P^2M@q~f#6O| zLS4iC-sU+tKg+9h^=7L51-yEizT9|huplDLKN3<=V~DyJ3UEJiMqvOo8UI;~vZ(Xa zcC#}xYv{g+ht=~R`gqe#!$g|{($ovJc0b?(e>*v$%?z68(91(&tbg-I{dk*S=xmc1 z{Sob`+#nnRj4jRlW1bncN@1+{JpAhDwM#{?*EX_6EpsmZ| zekV(m;bnQIwWdaRVQ%hs&Q8G>d7j_HRLjY}pB?L!jCri9`q5V8PWZA&JGr{qeF@sh z>eJbcq%|KX>Lc~(0Pd4keN26Sh6#>rC&G5HVVfJdSS%K?^hn-F_cMBh6&dm%S4bCk#yN!dBdUu#_^-{GbXY^Ku z6@f;#wa0m;>Db1=XJsHbqk&w#Ibru>1~zcoRFpx1M1P9DJah)0==4h@ilO@(8IRqD z^<3#?n7G1MD+?i`pkHua6AM$ha|Ps;af_Z`=E+$#wV9%G++;ikO$hr-4%o$oO>XY!%i+){zLWB^o^(xW3z!tH5lOoXX8 zLa!1f1y1w`zxMpF zGSu`{9fPW(TM2*Vz6^e$-mmxRZFJ()2m!}d%fk~dQ8W5^=V=>=v(ow>l9PT^QZA5T zyyGyggGps??alN5jK;3`w|IIMRr2&}`qD(p%#^Jym9khCu)C`xx|M{R7o2F$s_@Qp zgD4ayn_2<_t8Z~mAIT|EZ&>e?l?HeWi`{K)LU!wN)^J-?gol;gr%ukU@4nYwY~O9K z>XVm0YpX66sVgmYx4+!5`{1mtsZ}%`CHS`%B!0##7JThjsc-)M{}1X&3Vf^Lf5Wu! z6%G3p{qlYeRHYk%bMIBBb@qbZMZVCTO_LQo53IjWZ#aQ;=_0|mJm(4J(^D&DbEC2( zx$%8s5;_+3s&@3dtbZdrZ*_Av+I2Otip%oJb-}OYzh=ybPQW8UiNdkyS=}d)!ejk| ziw-vB+cako8Jpugwzb*AsbNE(@)bGBfNg1c3~`#EzJWHyk_#-qGfia|BpbcpX-^B> zABxsaPFClKwRKIDD%PlubJqKF3;#|}+IKJP&02FuraFnO4#bv{yBNc(tisYYE5*+X z<%1kg%7ZxgyELp^oWAKAcd1rRb<&KPfN0*_k-2j(4Ra?j9D5k%{N}|IXh*u6uHYpi z=V96LT${<=;~{LN!hxC1KMiBm`kZ|WhiJhrX>voHTz+@PNRUl-GENRjze1}C-8N_2 zv?+Xl7CIK}xE7LhN(;avH~qm)kd1Wk!UH!9KjBHC{GVL_Y7r2pYLj0N@32>Kd<*Py zVBMKi^O~!ar4zX^8g&VbF#!~2pN>?FkU~=)b&HS!(3wS^%7k2`KG4|5zcr4!fgsb2vqMt(j`R)73i%D+%MPsdXduz}HTpaV&5162h0-kZ4@saV-{$|aB5bm%xiD`3Dp=b0t3$Zia&ZOpAcIBQqwtv}g znM*Tr6ynXtMjsCr5N2VM#;89&yg_CZcK z$IKs9#`mCCvPR482lyZHg#n)X!%!83uhF|=K~YgI?ea0cmUdo#0cK9e)6l^**`bRP zc73h+hBco(Sy`;{$~O7J4qxrH^YpT^GPDYji={D9pX0Rl3$@kDTQll8|Q+-90gk`djoB1=-7w^au4}+XEx+ACXm*(Fp539mEW^7{{b~hqM&KQ zcSyJ8#~&(Ib~cwcS$$0nQYED()kGzwW1;v`ct8^w**@An4pOwm&v0 z1grm=@^Yc$p-Ha~J468zEf>wqW(i4u{ZpZcx3AbieQyKf56ycP&%}?da^ytcIr+T+ zw@CRT9tXPfA-}RNR&Yjx_`-x}6NP+`t|joiNkkpfFPDESpo~6BhS&EQ{*0YY3KMte zVkhT(SYo`yZVHa7$YcF54kgn(49$~{{YQ9o5-g5pz&jvtxX#T<#;I+vN?KmQ)hb73 z-IMhqgP3n3|8U||3ar_B-(H3StCE3=rPa64KuNeg@81hYLxaX8fgS32J$wu*{ zLBU#*tS@Fe=o3$j_}eyqe`xd=p3wSkYgFJ!YFOA}UQ8O=^($@B2S{1xW}Kh#>1Uaz ze<0CN=eBE6cvO2;-QeuY#D)bsTWQt?BW2-h`H6YcmB^_NvZ_YvWqThhXMQ?#3)+X- z1^8Ipq%q|9KTO4mKJ&F5DERd~(2CdJNhE%VWBSqmYCdGVv6EgKhL;FHhL62)0_L@VFyQ$s@K3GjX^rtcCf#l4 z2=WL&eS+Q8KW9*tHw&Bh3=Dj9zy6z8EXWOHEWoQb#krXyCnp)&sb2{xxmV>oo zad}qV{1dioH06AK-ed$4(S)y^QBv_CFg~e+jxiK2!x38;#q@WG-|`(c>K(P&2jp%p zJa`-%J@l4Ejo;@BL-=is=a-Rqp&LJ!fLr(ImAJugr1FIn*esYrORqm7#eb{vF-m@>y0km-~|2iP2?xFz%qruM5cO#-2J<7E~9ZD-K4uWxN$UV^R(g(Z=7maGb+$w}5VYNWYvR+4yP+HfHVzk(2g)3)=9H^KwU zBYSLqz>mjlZHMh@ODID~S1AUOuj$uNYdH1%kzN0}uEDyMzsqC3Mhittz7@caDzN%By!Z71|xX zgnb8n(UP!ea`JLYx;Xlj>#66WF;D4}Ko5wP=@$d;tvk$)o4ld0*(=}VG>sX+7ZcuT^5RySin&8Ro{r|sQhe3O&1e2)s> z_we2CB@$DKj*&%~P4*AHnMo-k(C?Srb63<=_O@c9M4Oani#J#0ijE@%t)yNF6ch0g zWGLNyPhfsL|G(ch-|fw^ouvlzIMKtwqFB!Uj*ZAgNL*pE zYy1wyiuyzSaw>@7-CDSOVW|CYp3hycH4pfoeuYO^(2HDs)fWgbqB^fi>u%Lc6!mDn zxL*T_UFUW}a&B)8Bl07#NZ4^k^;*UjcTurE4FyRF=7z52jymg(PQBft{e_#hy|8Lj z7aCJAdrA90YES z!Rz-ZW5b2&`o-8P7hH%E_uc-~@FcC}tm@Iw3v%tt-7B@GKhq)w3I(3#yFdWUqm{nhhi2R+Y&h`846 zv*o^*qv{|F;DZfXcOw`$P;vp8YPL7Y04z7Si^S3q*Y}}tYx>D0MLbPP=r5_2a!o+CT*jqs`sEyv`5AK&vZlsc>gw^R7#_ zkX#?v#^_uh}kMo-(aD zrT5Tz0mmMFj>fC?RW>j;?+>3t9vHGaJ4m;3HHT{9Ec*pSX72tX|Cz5KY3^)QCCjPw z*3(hM+_hZzY}!Zcc`Yd5aKA6d_kr)FcZhF`Yt@L0t=`NWfx^8ZDnE|Dvg!Xt)?0@) z`G)`BVt}-S)Cd&>Bqe0T*c5~*si1T>(m7&)k}4(AEiKaB-QCTA(cQ7Z*nayQ-{<=~ zp5uA`+j;MgUB}LIyRZAa-tX7>Kd(o4F~1j@(1fGE6Iw6Yo?%$$qsM)z4Gpz?O0{<& zW#B70XPqZLm58^KjaA-E4r~~A^p|Vv!)C|aw%pI8B%r3C{XyfYbgesa~s^-bGSH*zE4BY^j>JbHAchD`c7Yc9X6NM)Sf4HAJd~!ezM1%+Hr9Uli%>JniBk;kcX83Yb_O7tA0*sL(d$+)*d2 zgTIa#^6mjRB&KJ|ZoaD4RvEwcZQR4qpqY$CPaCF{k+P!`hV{~(@^2-Sjj9?5s_@YC z)rm}9D8AJDYPP4TT*Icb!V001dR}FwUl?N|b`!v--g;tfEv>K0$A!5gA(jtUo*0@s z^ldx(!8``{ho~yd7`;j^l3RUe^i-UaFLykKaq?3gU|KsdPd!Z4E_^t)1DB z2B?ENk>5=cuS%|9mx&tdLt^q<3&3i^WShMJ?+?3{jQFG8vlPX5Dn<4Y({aGy#o{iJ z!U53`bDG#JX&|v&M{i-_M16`U5u_)!B3Y><9WM)Wrc3zP%-IMrX$>eK}T#QWD znZKrK@NO_{O(i>%6wWkTUWs4gkCGW$aKx*rT7$_Ljp#E`?>1kJwcQ zHYE^dRmuII4%2jC*9fC~G)P_%V}G>GnqXsha%5U0%nmk~)e^=mUA*zGF-%O>o_FL} zsA%6_3-!t_{fj>|2)7t#8y1Sg-8ucQPqMqH1@uVXH|M4>d4x(8nbe0DH){C-O zu*7qV4Ke0&S)}>qi5u34KNY3oM;ASC`oYb@MK|A#io^QjWrs8=9DdD-Y`Er{W+Vi& z*0usQW%8AInTEgO0C77x92&|&o*rrI=+?!Xrh-)bKpry-baYD>>To%z%S?%bVS^XE z7G`eaef$G)+p%|JbI<)+f9bG)_qxcWef)6M#!sUzFcqIZ0}1>Ac>iIA14+wdA9(!h z$Jwar{QFPvIn}Ow$ev`HSk(}D#L);!JgiiwXoT6+(LF6~^7VMR5a0(nS z!SW96<#w)Z>i&OkNFBCdeGJj$k$OJo>3Wd*vg%gd9ha?s$&4)XhHnwm2uwv;wIpZ} z0Z2iJi`2Rvu3DLzPlWKuZ+RHF1i&idYjIw7K?Cm-d@XlDOb}=~5A{fx)6lk+ld-4A zCG(NGVEGFhr_?ru#`&&1Y`8JhCF(S27ZR?)9Q|{w!MgfQoP5qcoBkiM!~W5~R#i+j8mP9AyVPHa zwfbB@f!euC#O(4p_9|v!y+NSD43|tJ#sd~Om8QOV;L;sZ9zR)kuYah?W5+9J`tD>a z^(Fq9~O9{(=*9*R#d(XJYK8pOyWmm%Eh7LM&^w$n2|ASP`IOBm;;SK6Q z;+mH|J4Yy+Iy_<8Fs2)|CJQJrTu__Uo||u0 z;rfxhCH`z<&W+aLSix??v6?*`JD&i3rPRXd|7Coc+x5}OI})OrAU8hXt0qlu1c;Z6_L2{L(%Cpm~HQMbNXu`XWqLP-*|s#MQW)e zjCQQcuBY9<$JAp48li#;%fvC=2;Z=ICVP!UkBzOHpU?2K>YLDi8SQ6$}mC( zmp9{}C++8kOr!#akZ&bQ!k{I91}!4OY9YOiMgD`gi_c((v<^z?%{GqqXX8fELv{tB zc_xy#y`(1EiZxEBsn*5Mexx23CRPwfq{0e?;=&z3B<W8dY?H{=9=+Q~>j zslAO5W{XLFY8f-eIZ_8Y25g1hHTD4bV}HMT{m9Q$F9(=j!kP+3uP$rE=c{|Vw|ttl zp+0eRsp+O^{`{O~t1*yvK@Gs9GKF<2)tF<4%4}J1C^c{6U~?&@iM12I*h`tNe+pJ4 z@ppw6n=7kJspY8g7tF7f~esH*BdPEF>GJcgh z1zS)OzVXIJ6Pb2bNCZ=zgla#zDtarmLf$|4JuwjzQ$IX|Cky?1@YY;99N=0DHGw&F z0&%nIsvz`0r1bUdi1f)~EDU~D13Lc1g8Pjb4Cc;aVmZv-d6wJO;JR~^rHV(B=;Glw zW-v2FWvKxKG`+O)29<}*ZM!jhxTgr!O)vV&V5Ts8M4=bEEqS*}S5mosTwoNtoMe&I z5GOH^`ZPPGl4i+rMwI3-V!T+yDM@OB3w#iGHTP;rv<5!m_zJYa#rJ<>2j2``pIuN#Z*rjuRA13u7pRV>C99fi!0qp zZcJael0@niJE;=0w9lS>5EHb(0)S)>G$h+e)Qh8qw1a~qpB__peOJX>pYFjy)vqrW z7V6qIJ}yv7U!H_u(LE6C_JTbKdjj)2GxT%;N&mG~u4cEUx57Cniwx-xq-+d7!pm5Q zk1G1qZOXOxR7akL^ z4_EnNpyd}7>{opHBnHP3jDz70YXt0B(;JTVcP4Nb?W-6|LB64MOUS}5a`A+a^53Ex z2zG4fB-I~eBQ-NU+gRmnx+M?FsPB1*$WxDuu(tXOvs6uIOp)?7b{q-vCbSegVzTA4 z6P8>ya&7)5b48&9O*UupiR#hSNDOv}kzjWR3qfBVaOd0Uy{Hxz1ij5zc<83wUS77l zD&_mYj9v2Em(RB7*{qCUBc9v)XJjMdzCtpjo)0wS2ZN@lq(*uK%7=X`@p~0FyINUU zh4>$0$(OONXT_TER>ny!`}ZmlOf>1$=+$)g*Fbxx9o>|yYE`7|H~Ld8RzOVph8g3S z;=qo_7o9$wD+$<$G!CMSM3Rp+-cZcd2N zFFJKajSH@*aPG*KYAMZ`ue6pxQk{C;Z{$;a_HD}1-Be0^v7G{*d!JnI{BD{N!*07O z6SMgVJ@_klrp!fRK*z%x+j*NXMvP#y)o-Z2D2w#n&tt=m%HodmDG{g*P5m_NZ#|mV zHc_`x;ruI};)iePh=K1vJ{)1+Hfo~LhP8|Er$u1}#uY*nlUngV^BYbHSi;8&GbZ`) z5=46SaRG^V!QG*Dw>6y`ygcTlsv#}|UlxkVSU*fhJWvo(gM|*KNZ*7jW%=#Q&vzsC z8x69$U91)ZU7{WXzp$LiFbM|4f9wU56L0=v*9;pZ@(%IlcC~MkoOhEGryb`3EXT!9 zLlw^km^F3HZ!xs&u7W?b8JV3srtj9YqGv#T<@0$zB?xW+qjJMU}ktlHCg z%}oa6J6+!>jb|gE>K*qwkw|a<+^?1h5r~KiUtHhs zu02S#>9Cub{CK!(OYE7FHW>++O^|eRJ>Uu(Vp%s{vuwKSEPp#cZtNlmN&S~wKI`e2 zl}w*0UaP0Qx%BmdJe!Z2_Hip_WOyoDhBD=3Cy7J@5S-eb)UHC>8OZ){r=o83_ORuk2&{ zXC{Vd-n>yJzfj*y=DW+|97T7O&&k&9Z~6%~xi*)JUOm-S!wwP=Q+IzJT}T0!$%284 z3-c1!C@AFgG6ak|rfj-tvt05-pKgdbCfavBN_xZHGBb&qM?6mp+8dwty(<&MT~F;xFGLIkE2BmboqYffZK5 zgY(TS*V>i%eLjV0oYcv$sK&)8+ZC3+a-0Q6hkOKaOQKVjZ(3rT*8N ziQ@5%Q6;>$Sr<$&k869H^}v7@z~bm|^Nl3ckB2Na5ccm(K;mDU=2+v4Vm-b!rc9e7 zaB=%oCO6DJ&}F^&*eW$l0WqmuNwp5onq_YuTm4X2v|0k#4$iD%swej37iJj?%Oh&| zavY=*IQ8qIjcIbWKe*ib$(!~1i-g=-hG;qKuvN~wqJx6j1}aKg=~UK=W$6dGh#i<9 z{KPnU)pDJs-1-k*QXtwj2JDxbHi}FfuCZl_E!h0L`7zDv{IS8P?!v6?x<6Z_MuwY3 z&~er;vI08=&T+%G2IAyDd(RxkmbtPhr+*Hh5^xNg%y=f`ebmC~D@gVQLFW4Vr2b(Q z|39K49jedv<04Y*Ivy_`3x9e?ULVPHp{<{Foegtgr5 zm_TVMr&Bo)4xfFGyfG73C=mvK- zeKtNkE$sgt3DZoZyW?d`T>3MIS$hG`mqqpdi~R62Cb|5!DO*;$1mPWsE5t2yD^7yO z7ybxAlebE7Whxm*BM{azm-1MFC8tQ{3jJ=k$H+eKBTDq(q@Aut&wJsqse%rG)fPGT zA-3P2-EsNt7WgXY!J!LVxp73=EoMC57`15*RS5)Cm!ky4_0J zoO^$ai(~s4_BVDDe$TwQfA7m-Tm&YrCI3UXj3u+?Z=EU@nw=5nf5I6GhU*i9m=ctV zbKLisayvxu^19nG@FZ;R`JKb^`!PKaWHX=`>TbfbcMZPE{JeM8(#4eem>hw2{<6LS zTu=v%ULI?y-shYJx}!ybry?SWvvUJ?C*WY`L7bih<~x5oNCQeo6I@o+*nJk zI)bl*wtE*03I$em4FD_#En*&*eR)f`wq;D~6>IYmjf1qcCS1Kpn4C(FtuP$=B97S0 zNk8qsG>iG$@9Lem{dQm~COx{2Zn3!6uc$K41D!qi;+O zUU~t8-uV0Fufz*<^Sgkt$cGc;;Eb;(Lv->sR)bgg!Mxe4-BZ=}de^5#8RX4i_?*#n z$P4o1a2`%HvHjxYh4aO|=$0;vM$7Cji>A*Y4vAdI$L4+aWgyMsEhxb-?7|L17{$VN z)`xV~zI`x-yv4lO>jM;JB1wwR{+fGw13`4dx9Q)AS75u-QcsO@5%}HXOFiJE6lAN$L?^Z9uupd8jyofZP~}>81~$Yhr@1TdKCyh?Uu{b{qbxpiKf?w;64N*41U&8ANl!7?p5=j=S=i{A?opSfY{ zl?2g3{VXuiFY9)D4%zYvOP#?#^1tMWww>AmplW{b(`pkb4cN|tT_8%_mJ+K&y z{rRZtnPfOg1w&*d;uG82U)f%(za|F@9&%m;V(#z#*5a%C&Zuo=1wn)BG8!@t)gpqG zLTmAE~vE~sC2VrUO^(fr&H{AK21EwE>wu87-(5|uVzsSWW@8tg`Pu3#A z_=P?XqjxV1r_E1&nDmeCX3WB2H2tS7Yg zEbfC%;w4QtB&O>V6-=4z+PtTmx(6d)%@l4Wm=O8%ymZ(epWu3u*?0kBC=+O?*<)v4 z=-^_-1@;uJiitw81BLN;T}KWtJA@WvWO~sh#8mm_hkiY6kUiNLZ#^-Zim;SgamGt^8<~?|y-H7lhlqVgi!>uI_?L zO$7dMekF(k)W4N!d*i_M`eJmRKyWAdE0KQti*B_-<`7AHf#NqAlqH5Otgd+@X+%ft z#ZFkzIIUBp`Qv&Qi-&}(FJoOS@I0F`yhA9}j95|Eqke*7UK^=dt5)+DaHa=;o0gxW z$dnmTx1Oa%m<$SAwUukU5>S!cGZ*@v@;ACYATs@jM^&p3_%(Tx+EieB(#O&btuPLpd|1tO495X>v_>TXiJWPsNyfK>3^W9_v^M zOuGq0lFDchy4NZ4=OH7@0eM>U>EueHWm;I&a(n;yLpku`?D|Hfdfx0O7b+q7Huv8u zZ{~&`3)?YoKd*fMd(%RMRf5phU*2n6!uo#plj&&6aq0I{sLZ;;mvdGce-_;2QQ;|N z!r9;WOZ!j}XSu|=+%8s%zH@hNgmFy&478&C?yrqXqvVGJwj&bh%o+J(R6;=oiO7irtx~>=Tt-Ep7`AmVovh$7_3edPiw;A?pk;g?+@%$@ zV0^_A;t}w*agBn+WZ*X?aHQ-jy&W+l_4kBXK9N>OUR~Z8X*`z*FFJ2*nFqWxp2m3;(NUue%22bIou4>$(Rq+8pDt{P zT)w;#NJpoP-1sa5gHpc1K0@||%e0P&2@Eburx&(S@1ss`iZTS{5IlQE z#ijB4NA~SFJkl$jRM4KR*l_u06%vsu4PcU_+LHyC!#sF#lifStoDvNG5C<*1dcB5Z zy>lBHXs8g=6?E$pM+OhH_|_MKc*j-l(R}eC;XDxnH2*qQcoHPqT#{_{;O#sqrY*uJ5iWJbDAwX(+^B^v;I2R8;{z)}x?=ls?#^)#8P{*RaBQ0i*t$AEHHICBSK{DbE!~@07hMj}q`de**oY2?)4X;2;PJ8- zkA$Nf+sk|VX-Tj_(+%-YzTT@+NkpsyC8`eKF$N7TMMLp=g^ zxtOs_`{JLebH#N~_UcxxZ@2SLqc%~!yn-yH>;o-6?z{&_Y!oH>2v*Sbc2)op8{F}D zRF;w)eDb4*P!)_`UrFT6$q)#4_3TN$={3D<%QN`AnO7&eQDNY9v?3?yHMZgcxpILD z`u2qq!tjZ7bPI|iBbe#>sVHoRH>Jv6JzibSuM(@9yEIb1XPns{J@3!q80Q+z74 z!;brAX%UCXq3-QAY`3}o32KXW4+at+T*$pP5>ClS0zdLOB`tx@37u&i3rD>>9JUp; zq6c%FoCliO9+yoE`0>1n&>NSixOa671&g7k{BUV)Qp@P!Ha|=i?(MC|7suP~%hwN% zru}6p+#j{RMLnf{F2u+b48w(q{QyLPeQ zFb0PI4S-)qqD8EQ=c0E)a>>al$ zxo|7F9;U34;US`WIV$G=m?wn`Y2&q^cKa}erzH13ens?g70CKxL_t-#Z>)<^$d#|FQ@l|+j zO*49mH*|07P}9TRB!Zp^Ip+oiY`k>urjak4gWkInp1j4dTuO6eblyp$O2!61 z&S<+?#$nr_kn4qjWlT6FS+QQ7u*ZH`k37D2p31WFT!=%2tR9jZaq{UTbe(4X?j9zj zKG@?`MEnXOD+_roRHEw{FPY^GFa_`c);}CG znu#=gZbUC^cDzNAR|lD!&IUzW^OM)kvt&PBRu(7z*Ih-qOhhW?TW&BZD$j)+&(9m5 zbj8yfz@Vh_%U!m+3&+Y0Ze~$LW_*D2r%yI*<2>u*e;zMgHN%eaDcO4H#UOj|~`N zPm#O^Cs4xlE6?nBs#aDR9V z+Oa+(*V`KobIZ~*wQql(848T-F6}#I?oe!=LHIy>^cNN(QzT!MF+RQ<4C9qSbWbc;Jb#r$vO5YOuEP__gp&R420{ckBL z)5q^9Nm+NKr_JX+=`F<;*Rg9); z+ViM#V!PIE)~hiJ?FnZOrH(gZ!gD<#8)cki*xx1LrTKA&YIX{M=wDU{bq!M>Nzq*3 zL}|}<2cb<=_mz>iR4xbNWuC;_kCKlidMubmUPCTA)dQ|@n?!`TOHC|dWf_y~7a)ua zZ&O#5mX*wmB2T*v`7|-wO{A(trS1QtWQxcrOfdYf#!3qRpD0+cC`Jq=2uJ3$&0xwj zDVmXhX5Zrw>}Y&<7x3`i&r0@~0TG$Rf=TbwEXb|h{f;QnzU6DKK5m9*k^`Do7w7Bmwf|$+_ta*pc4L!v@7Gwvs&~FOvGR17vz|Sb&kA9M zJEAWAun}XbxXA^)eRRY-kufvvk-xc({u9N-yY}T^cd8ijU_#4OKIrXVQ18~Z1)TA8 zwW+UDBZ_c02Tm`L#_EH-y`nTk_cVVwe{6{TiBvSa{@vEy&9uyVvaVy+A{(150#4&d zSOc3YWw#{PT!+iDf!N1IWI{l~ugoqdBgGn@$(C0S(|$Nx*f_W*ofB7Qg6BTBwcdA~ zn-;I2tDu&DWNJ`SG|s!HnD95P=Y0aQU|=##Nedw#>KhNtZp;hZ4L& zwiSj}0h9ZjPy$hGFlyT)ou#aCVo>QDo5vz|kHm$~a24cs5U<^6+S4RF!ps~oVK9Q2 z)fN0!LYzIxDgm96)n?9egR?wRZk6Wk7derHEqfj1&SiW%jPoIi<*xnnkO4-WmD&Bg z8|1`kswCW(@boO<@0j1Fki4m|y;Jy0fs@FeetgFYBlZOia`?YI+JEvmtwr_Th>->iW_!;!(L|+k)HP+<$0nn_&TJQ*UaLaUet^sze=R8A8 zJLyk(o3C(Fs!cFlz$Ik+;)bmhr`V%W1SUBOGd}NP)o`U|e&C5^+FTOvBWEG~VnFF0 zf8{KzVVPXu7QX$jka#{-YF^cr;%XD|?TUvl-ws#Sg##&< zV%}Jh9slVfh)?CX7r#CBUPxbwNrTMuDnhjFd3r@wbP>=VURi&^O9aVx1s)-FB0Jbo09yjY;5kXk~&Q@pG*u z22ZgAv#j3^8J;Yw~ZHfp#* zzAdZXsI^RzhRDeqJFwUFi1#UtwHxulm_3Q@N>}Ow`$vvyY+rMl*BK?0A(cz4o$aMY4k3P zCeGtt0JB=Efuk!QMJYp#Nf7Oe+SKjA_9%x1r4W0q)bBfGAX>-!JQms>@)3_I-G|9` ze{**;vc%hrh#$lpbK!0ykHcsh zkuwhUkfK zyPx$F#1?&1gn&RqBPBMVmM#>ds*KsIO=3@L$G!`HyZ(Kd=zEW@6idlO8QT7$x2m?3 zTu6X_;9|p);hIl&sH=X##se8rK5Ev@2LM8tZg&2$M}qiLocmuOW41t2%s%I1;v^EY z-izWsY{KG}Y+NseUy@h$K~;xr9_^9ZODRzt*fd{950JD61MSA%Ze5RAGU`|@)BTj0X*?Tb=DldQ8Mx?M3k?i16wW^l9;A##6 zNG3kKug4jHlB}Mx@75X^W10JEuY}2#c1URI{`T1J;afhZHO3`cgM%G8DD*Ri_--nV za3pw>kSYA$7aIRCVyV-Ziyy+n3KlHSSS?L0y@D*)E;O4@t9Hlzn#e?)neFAcT-UeA$E;Cja9M0TA(^=8;=w>E#E zhvsAV@cV*c&>0$;(&7OVKi$r1k2px~IPQJ7->LlXmP`6eFFNv4GJs*?Zc;2{V%FY# z$!0<>=S>_Xm5*NSA2ZM(DAw4byZ9Nj;fXfnMCxSt>r%$htMUG|S4sKa9pS(wTI{Ld zGNAc#DztF;9Pb;7w5^I|`@~_NyS`XY4+~))jUrmGd;_Ga`TQIJe;1lZ+g)!F@Z}%i zya!|RI+M>(_fv{5+I1j}#*||#?(veAQQ45a%#R8&lY)1*VU{T$Qk}XPJyKl$HDSfX z!p=tW@;>y`^$9M0niaW3Vf}{jAQr1NjgmULRx>T5`TD>@Rqz?vuU(x^eQ8^fs0BrU zx@ep#VlXIqfB9Qd!+Hq#%j$jHraWWdJH>10aml9VAEO;L z!RaJpaJOC9LwkgG$9!>sI>c$S9Udc&UZuKf8yJQjadNSY2%f}<|Jowl7$A8cRcBK6 zq~WniGA23$9T%z)vJ!{NDgWt$81IPTJX%rfsahcI(x#)yN?;Ulv`>POV&`1DI(g{Ehnz{Z)z@^+I9 zThxu_Ul%^Fn%7KmPv;T9rM{Io++HV+P&jx^B)1FoFq__!(7ew%u|R7D(JDqQ5*?w+rrg4{TNvsguvyFB&7e=Jd*p6%DZ9W9jif<#GL8RqLSI=oEf+=yDnUm zzh&pKSiH<(?|&?>!XT$TsG=0~CWa>BN7JgIV9R+<%Z1by$e(YF@50xbpxe_;#|P7J zlg?#l_rOF-rvI+#gV&{GKet503<)YFp4x#^%U?DXdZcZh*kcv0;gY9MSp<30^3dhK zhGl+98loq?X9^)^2pnkTk6Q`AK(w7+*=|3;zPLO=s?@!Wzdvk(L|ntD;_ae`*_z-| zi>^-$ZN7GJCx=6@Fl(|n-rG4R%3gfWYBW6YKn`bXr^P8+2L@@%3wDHj1u^&EmCX3^ z$kPAnd{zxYSG_jAS~X(;XhwAjA|=o*(;jS9NeQi6l4Wad-Rma1jsY)cTHJbt5~p`` zs>M6LxQ-f>kP3ME1-x#Ue)Cj!KMc(mn@$(x_T6DlI9%CF^V5tzj0GsEjn-9=H2cMAwfsA^U$l>3ikqIvk_!jd`1{m@FJzlxpb}Y$a}fLAHck{@(7l^c zB>-QkqqJU0srtfJwY!=SlC4=|7HTyKfd z1O(6gQJyJQju0CvjebvPraIaihv6XAXM!%-cD|~6cUOp5t#6G}HIp=@Xic8&Cg3IM zw^(aesG??(r1kAL8{8cezhLSLrIpGu`tko|0dUb9xF(W}&m~c&suI}`g`78)Xy63+ z$F(1NCFkrnV%6sxv2f2a0-uNg(Xf@fCtg|>3&I+^FP0qBgbg`$%I!XsFR1{El;cH9 zxb&_Ot|0yL@#lgQg;+7(uQSgNNmEdHxYd+4yh(TWV#N1Q$gkG)ORB zijFa8#0IDY#ol9Q1;#}Ut0X*9j7(5QrdSTTzVvxUM!9(P`u0_$itCc+R?uDvPAINe z3Z0m={>Nb;<76&lD8kgZ6Mug;=86v?XB&$Hoe4 zdyocS`}jH>Ho3REYhzD*wRrQ*5uj4)-2oUbo`KleF)UZ#JFsLj?881tu@+{)42HT8NzkNU&1Fz z9MIHr$jAv4z6S(#3=?{Vu4P- zN-U7P$d?YWorfQOOsEKfjIG$Gc!W13V5L(BT2*5^wIYeeZMHIeU)-L2mSZ1&GRKfS zz@;x4^9q+)wr0lFHh0(ZksaD3vH;nFDFC#7O3gbY*kHeWoXwlDT6dU_mB%g6Avxv#@bE_)UJV|7Q#?;$p z@j1D+Gj!U$goYJ7N0BfJGaD**yuBMTKXpM_(!g4A!T%T{5bckNbwX2fEU$&d*FRt0 z`w-_xW>8$2QEPTzQM&uNVoKY9yh4b)Ho3?Db9G@~vHINHX__>`$mwf!r96(|dz!~8 zF*Bblz(92^gI`>jc`8KnH;};gshCvc+}v~Ax%Pd|Zyds%=VI?|LbIOF(@Fg8*;=)F z?yi_NPd+Xg9uR%~FNAfG8hm+`PJ-{?!!F`#Fz({$7|Wop(70fhS?=HM zQUuk+)xf!T*8SKh-yEoDzzf67H{^*sy*kVga^Gh^#eg_RIRMX-{)XBr8;5A;G4smB zNCR6spunIaWXV0T^WVVzwB#^;?MjR_5gTSpoct`dzSn3l`#DF)2G4^z$5Kp9BJ&z+o8Ci^>nAF@@gJsWQ5h{vKAk4I1q zx5M5jA+ZV(;c>QVhXKnhn`4U*qX22CHw|ZHv~&C_I)cyIlwMN3<-5DRYTZq4Ld9Xa zF0Q4R$^n>+B9s{&GbS@4Y#aKduFk;m#A(^*YL3GCPxfM>w&%RT>4#rU-%OqkCgRsLq^y?#@MijIm%6_|03$n7DDVrX!+*zapMZtC`DssxR&e zPnfi$+CU3tvsmjSJA!l|**)3WCt_fhW?wAqfP1Y*8WVS19^b+d7Di_5Kmth#oRPY@ z+1Cc8=VTer4g17JGG^Z66dA6qz`cuTDO2L(N;`5AwD%~dhYrQffi%mW{0$-=0Fb7? zV;uC$8%|JWmeHSs{z3hvc;69DqH%4}F3#$9(6sEEx9qq4Mi6@9(_H!Bqe#zy-YMNr z#TsRbZjY)#3*x56b&fSpQslT@^ciT5?)SXmASc-k$Yf70s{Ourx^`$8rz1@TNgl96zgWCFoHy(C5LM|`jc;&&&T0$ zt_QCt-j`QX2LY(wj&UFOX67+5G0S@8y-ZM@og>uKtGx_?6fK{nwfsA5!C{Z39K02^ zn&B@_HKwH8ZGkt98OEd;{9B=Ft>rk%`1 zNXU*l-_6#g`IE~!^6o8 z7L0RZWGroR{feLhG}*~u+!|Hk^zM{AlCIoOUd?Ls*IN#LUnCiulyPJzXK)CybsZ*R z!J(k}>>%_XC3YyJz3Iw+1wD5OE>5kG7V3ifyJzoCp1W^G^}XHFo9kxNfHcz#&-l%H z;^$t}P{9+4Bhis2F+J($0MDP*h3sO+6R@r{pA)Z>3$QOUp(-ukF|X4gM5S&bD5=M9 zvdy7ddxiEF*ojaO@WRE~04knw*Um!<;n=UZyhlQRex2>ff>f>ZGoblI8CO$8OSQ#T ztk~qbGyVl}E!(l7sTWRpp|q-P3(;PgBY4wTH>oB)kv#5j@pQEwTdRGKKB6_0`R0}B zWZ1X&k0`7HsHq>Y>_Uf9{GQMTKcam0b7$)S7)nljuN(Rq)#a;JC}1?_Q<#*nNGPV_ z)wzqgr3BMqFWK3;oT_g|?avVwN)gqR7s7GUJ;;{faFd`n{9%7tRxZI&@Rp)701#l@LtvtZ_V1quab9{P2QuKtcs`4b<_XZ*sj|A(N~ z{Ml*4I^^?j3A7;3NFAGm<$kHGitn;9lo@;YEhDPgI_1NwuYxeA?$VB7yTi7pocGEu zGCs_`^yIsbEo_alC;VWNXZ|iTDneA3fTsNEaioYVCL^FUZ(z|@mKnb(@S86qjCrz9 zGe#{6=`2D*S+fqXrfRE#<_v__A+@A6N%C02;9&7b_#UmJ&qY}auID(yj;T`Ntm`*hc>` zTh!0|UU513xE>_%t*gIuNoR$#FZl7!&!fjB+7;c+wHq<+h?cWAxKyhNzf2Kju)fOT zhn*uhR*H@ff2|`Dj%`41k+TpvEOX@_o`iblrCs}%I&bjo&oHcbZ|O~a9p%{^!3?7PqN{I)TxcDwc7mi)X)NNo&+fDZq7h-kZ-ugEu4&KlWo9Y%tY&gL#=c38a*^i?*&awL@8XgW}16rIatlhgK z$V(F5R~8zj0oQRGKal62SN{aMPq^j5Ejsx*SZFpeqB(>lXQI;F^gD-Gv%jvM&t94g z{WtX>iVK{T&sE8sFe~4H@65{IGu>srY$ZA(eHZSTZAW4pWJ)BB#_+1};HuUg@d5LR zj*t4aS`H9>Sdm5qYCri?mhIYsclVPY`X63wr(655AJ%&y6jy}gEVxY$YvC|vB3K*D zaAx~L46}xLmDI#NGAyA|UxsELv zgZR6~L#D`+1iHprFHiCk#sL?>F|}-QP!!>>PW=Nny6co=+rUe*ipjCf7%c_Wu;(Z&$gFUBbg`8U?4`p_;F+%?u!4k#GuDk`C6t7OmUP z?yW+0%4GT`m7icT-Q3N z#Gm5(@85ao^jGdDbx0zNivJr~azA4Y0t`=%V?K4=~o?1rg2=Tj*M9%Y~XPQEQ8JHrd zJ7J|C+h>ghMIvX`#E zDRcwKa-3y)(R;ZCyg>~h&kG)}@qZq_p3{PbDmXB&;NjccgvtClnJZHVrFZZ+=RTJP z_V&p2Z3qOyif@-Wb*^8lb-@aOOVbHEC~fVGf8(xwY$^&0Rt7!4#bjyF?9S45#zr%x zJC1aHz~_k&c4&8w@AzT9u+u2<}H*Y3wqpU>)Tx(-8@DsBy53~n>dN+rUZE6Xx&x zEG2wFkba~Pe)iir5N;$-5peks!4;`)Ax9}O9JZ1PLn z%sBn(*tf>~p*vHZVp^2SpegpqF6rqdy;TfXf#>I?PgXY0FM|Foab5w7Kwaz|pAI~@;UcZuv)7XKpM?uz#pxGZK$hcA4Nw7hp@ZkyaSdn{KvLCG4!YW$rM4{~4uuslDhr=yQz@lC`H)Wk5vhBw!sTe4^>o3tYb|E2 z28HV_(uUEgzr5g6ED<#)9WWt)yhEWKYHF}e<;ZgeZS6AdMIy5r&bs}O>46`jwZP_C zln7*m+4a6<*_E=;Ru{N&7@ZD02wZps+J|7HkNPNJif_7Y%cgbi{hfcDcb+9=UKR87 z7FKA^dcD&7)DB>vTNu|N3;3U;HRWg8r=RdjI%|=P3}D`?ABplnYU7D)3I&9(+3=ZO4bA?d+-TpCwGOVF}FK2P-gEVnnd>DS`QQGKX z2ORpoYyIP1d;&@A-ddRJmHR$x))r&RExQGWKz+TLKnSK(e$KoF0UuXBs|I59k{|gHC zUbgGg<8(wN@}QmPMm{PPHW|R7yM7eXw*$$o(Va!9IZU%1J;D6$c!s0a8L zW1J4%U}2gke9pe2@xhF%iz^ap0A$d&YIPs_Wsg|3$IUU;YsHTfE8%m^OX#4M9{JFw zHSlo!@mk<=rZw)`LHTHJf9wCTO2F8{FVFXOBhHLBbxo+-O>f=(YI@piqO;HZFV)=7 zff&e{(gNDGtJ>SDR~uN#dsLor^7v<#0#eJh1#^%mW^&Uz|0sdZ>l!Okfpq== zvROA#VeT))ggh9xUz7HpL&PedJJte}J$GW%n+ezex_&#cWbd2!|2nr(KG}v;Tuf`1 zzK0Tj8l4}*+DmSvUW+E0Lj3Y4x%m30l0>^$zl@=TC)x)>7)&Qr^5&oaC0ESj1&m$5 z=%w$)eT${~dpY`1ue#9Qaqxi_ZS-qXyBhNE`!s3ypmS};hFHI>O?2N?(15am)$$U- zX<2*A+T)f9g00sOvZjYLsS&KVV5RSKt6O{Au%}x>mJPtBm}&kc7@Iki$Qib=&@VtZ%5J%;ZvpoTfP zIYUPkIfDdiXXc}{l9X-^3RN-F>FWt#b?R+$S~ch8A}6=ty+azC3Xh05=))E%`r4jc z4Kv&KJj4fF*p!OSet!0dl(0A8<`e?&8>0XX76_o9*AA0PTk=X%TBE&F9RErl_7x}P z&ogMcN~(`4y~VSF>1|z+nlIyx9KPoi(O;kt3!9fZ-;1fYM==ZmPT|VSYrCI(fW#Gw zEp8lsZr5-qrCw~+r?T1ob@A&HK&bz?Jg#^1LWY-^e+ig}^|TiO05|~OFmJ0I{76a3bzeY&1)ec9~8pU5>2Bl7mq1FSFE7l0@yH~_w`^AU>Mun zUGbX^y*vGw9_q4%iyA8NlKVm@x+^r-CsKOfNWlD0*w1;+?leWdG-hLyq9Aem|=$%;72p<`KS}> zf{P}B6;TEBLm1<|MD%~O8RG`je`yTLGJQ~=x==FAAVd_%lQg{N=S2EN z22vQC`}#M*K~zMz63boQ=wqX zbR?w<5JPyKGD{4$_p8S8oR%%-gaGU_6SeW5+?i?JV9W31j}0*eSyO#3bR<9AGX(tu ztFZZzlesX-RL_#TdQ;PW8G0LK5v)YgDl@kYCUQZ%=65h4Xb?DDFfDvkE5deB5>`Fk ze?>s{k}t&FNq~I!L+rsaS0rWv6qCg+xy_!s8T{uF^kXxaURek5rX$vtfz6YEh|Q6i zL%}bJ-LW)YFv;~;NgP&OwHdsMvrRzcP%lXuk|z1I!A5lK*|S%5yx?Y}%Nhn1nr^_$q6^e&t^B0@5M1NhS8{;eKsGdQ zp~tY$YQ;NaizVYzz>xCO6NOD_PQt(V-)~Vc&p&}>pv_g8dVqKZ^d-+_s#WYbJk>KL zPzAq!9mZVmFsqdK=K%AlQzZp^W(?&x;}tJS$bPEF0I1?I0|iK!rYvS^q1uV z(uTE9YDqN$apD!!@g1Jo_N)5(=Y}=^(u_1*O-^o>=KbOx2ZJ8hB+8td&vlt7s5s>>w!P>X4IA%Q-BuI_Q<3of*xy? z20n$NRB)&8!L!+*NjHF`ulTm%@docLT#(sAX87Vrc*sm~#NP#pn(rNzQ~GSxp8c8p zUi;kE_0aZhw$L@gnaas@LCwd3&Zd_S7i(GvVr-bcz9J~=Dkz1})?#bajRVdBO>6*~UL z>(SB2#X=Ftr_2iX!48g!#aL9PRedILF)@7{(?1ks7eFz`xd<`koOZ7^`^TdC$sSJQ@vHsVClt!*(FEmd$aDt5rREREP)w^Yl0*F#8`~b;n5Nc#y@L13sq( zv}1j?>bEaIh+gPLsKNVdVUOBK|69SKXbuKgbsBL`ybY z2cA4%)|pQn&-c*1alO|(16wXw@ZW<)SvfgP?u$HyGbsOVjb0T z`on|r^EVe@g1@SA zBjVFMtH{Gev}<7NAh&X_fsb?3<}i4}Hs+!=luz2_p0Z0|({nEWbk_oQkJDDKpD@%# zo+zlm3Tfpa7Cn5`nvIXLt>>-NOAd)B5S=Vh6F$jF{MESmIF1gyrecA~DKY$c9II~> z1f14`b~RaA(@;ZZdFD*&eaxh&+S@~`){W%Lc0d3WJRj(4W8-D96zrocc&ObU6C?Lx z^3rbtcI$3!?21UMnKrr9h5?ORxy6PlB~Ey!1}SqZHzg?$>7FNKlu%Y-dtc((1mAfTunjiFWae z0nT@&IbL5Izpo(q?-J%Ph{ASkeNk+_@&==ik9`oYk3Ri#A$0eF8r78kJ&7f}k`1Q9 z)=7)nb+mR%Ob?!U>%;2wP{g22|MoqNz3iLZY@dM!^Dsi0PTp8L(^>FqarvChhq}3p zQK{W~tC3~5c~2Kw5{3lHvZRX5pJaiu`1Fl`iQ;(b7!-_2lmdo*sb+9h6E8oTG?-)t zww1wZVz2R+*mRSQgxwkA?T5(3jRXBq7Y~pQ1%m%E4K1=pJ6QeN6s=CA+S^8UUT&4j zw$`jv++}13Un&hn@K?C&Vbsj?>o=m_qYAamFgb~rY6zT%c2rY6h+db^RRvfCjIc22 zzP#M6{i^P~NBwu)yheG_0>fs5)Ss@it)Rf`9&gP^mDzNu^j?^1aZ{3(yi|130#6?V zDX*b(*b9W81FSNZ_|4iB8kmfpr%J1!g=R#0C9%HXBvZar?$=?F$%*Ye>5}(+Z-kd$ zy6ac(m|db1)^w`B-&gjvQM?*3Xy-|i@@DqAu<(@RlN?r-bCu$p?f&USFU|l-lrscS zn|ci6MKdz%4>POnAr={98hqbVtV2EOCPQYp+ZvOSX@IGuKR~LzA}vNoq-*A!XT`<2 z9xIJqKaE0iTFhZGaQAg;YwpX^nu!P874paFQ zmR$GT`41rKx-@gFI-6}h)_S>Z)Ti4zQRJi zNO!^v(Bs{r9yz77ND~&$lU$;iP{WMy3@=O&tq{K$ zUTQ;gX~r08haYbv4OxuYJ@l`M!U{NQFwCrMsI>B={Qa>@AtL|i?|8|B8O!EOeyrQ{ z(m-rj$e{vLnR_uBQ;8n)I?3sTl4esB=!wX+T7fkgQ~?y{Ac2c==u2^Ow%Rg$$kn)} zrvoP_4~{CUO^v4Uoxd4iN4f(tFsNoi?A!=83oFPiYXz6)CIOEsXA(0@i+B`MVMI zm}>R;T0pln`_X>m@nRB($i$ypoWotd`{CkDB82Xz&uYjDu|XCr4t4cXIceg1Ll-OL$^if96!< zj@J^`v7xi@*($2@F@ifk2oM;5oB~3^3f?5VLD>RzjfvPyjBMKopkLm ztglG9e=v_MVTWR60vZ3p@vHrIUnI7-BX4WxZfC7?E(2 z%0jn>((>`pFi0`v^^@G7pSx{&Vi-s8VC?&JLdp&uQ$*oQy~~dRtg>bG^OT3`CUxde z65B7=hO8;Z4mZUvyz%tD_ zG%AqONiLS}NZQjxqF2_k&af^x!wsD7NC1=>u8-?6uDAVkr$zf|2^7Q&WiHEGe$5Wa z4T!zH&EKZPdjVDbR^_omH=FW5ccHd=;2`?Bg7TQdeJvbm+!r#Zy0>-qN3pZZiD8T* zIZ#}$?=&-ziG@TG^6faAo@wEy^QEGtH|I<2Zx; znQ`6n23vzx_IUUKwse{a;;k&Ams8T$9~qqiJ_wl{p|cx)Lsn2arFD$mhgfYqs9?sZ zHJ8wRsRD?fsY#26%c|<@Q6u#97LqXq0*0@KklA*=YX?G;X3y2`BTQ~0sFqJ2oD=B& zvAtVN7f41-Vh^=;fl7&U6S z^koRbSfA^ad)D;qg-&YZ^u1rvwLdfno-A#o1$C9^0!luhPD-Jh@gy*RU@+m)R`A*v zp8H1Ukay41m+6=lMFMYR>s!Rt@PdC&z^%cSxWnlr=m7bmx&JZl zsgZuxK%XG?pq}=xK5@UwD&5Mjh7?{ynj5_soS3`do9(j@s>fHSlg_f}n<&H~#AypQ zH3qqBLA!^xh8yN0vIae%&L09wO@E1}pj8fByFcQQmLKaYJr|o8WbFu5_G6=(%2TJ_ z6c`?vC?tU)<8nRtac<)2;@>TqMpzgXi?Y%{KIVbLJK$9P%K_K z2@bnE!QbZ4)8A!Tk45E;HA(LK7z=cye`GAx`rJE!UnF+kevEem-}IaXRjB8>Y=>~+ z?9q;JnSIn=h_+JsMU5KEiW>@6GbUkDmGq5m9`?yhW8WTFvU=Iy%<2%l?y+LJ<;g!* z#$G%mDAzf?_F&^$vQB%K%NyHT61&MWWI$VAsKgSp6(UJ_rDs-V0kA~X@K2Q(b`LI; z7Wh4@fk#gRqu`0ul(|-o7a(1gtOJFsi&hUFkxnA@6(%^pL*$*s8_y2{rct=nd#Yy- z1AV}D!T5=AZ%)B*!qJeUnkg#RX5q9E!F#ipui1?_o40>0;>GK}!=TmWx7q&NzX=v< z#qE%v=)p0(0ei`>YWj#N%q3Qrjx8Cy5_5Lr=I|dH5GDqONnHRL!gcdnziy2skcE#% zV6`@edv^61beYRx3W=JT&-Z|Q-|o`#uYH7>o>a@~`+hV@&2iyGWbgh7lLpVfh8FCm z@w@EeQ=TQiYroy4c38WX`4`fOeA+edchdO#{&-CsVU;-2+yLd?HspBStcQ@937qKn z)H90UAf<3%!a9698+*o`$t!$#$LHBe7Sa}M2~nj+C7vGo84d63wumqqVmV_KJ$;uT5EeO=MeM);niaT{gb&|2pGN_MT7$c{1+;q>k(1^6+ zvBwszr?Uq_+KdAh4VvtGf~2Kr%(r_~SOQCy2Mc3Mvy5!$e2*Uys#fE&L#w!5c(MQc z9VDavc#)E#fF`w!nIIuM#rCa{H)*cJ{EtLoE$^!v6n&uVKHFhVi2Q~Y{D2eKzSWJ4 z?dwhjkW`KpmHeMG_4v{cc&fiwj8(L7{K8FK=*Eq( zg(|>I(RFtupxoJB`dRhH$?0_RL86+9?pVJvUr1snI`X>)?OX_~-(Ppw{muFnM1m9# zDiH<~z-x5e679bO;(V{MTXJS}PCIVE|H_T;;Affh&(@x2t&PAy!rZpdUV7nQNZ_OJ zZ9dVW_^=SZi&w-GN`i-ys;IH%3pZQqz!)2EZJjoL=p)^Uj?tflXn#Sb0=Gb~o912+M2mv5oC8PU|V zGjuDkSQ~?b$0XyU9Oj>|_ZZFJbpw5-7LVeRSlYLPMd+9Rgw~jENAG6)os>V{SJY1^ zQ&8vVrCRhRi3!#Khgo4sTEb`>C1&G*p|-#c4hx$gMo-@A%S6 zF(W5|8N>qt1u~${-Jd#x3?@?hF%vD20EDB!N;E;(Du_9dp@^+-dCXiaQO)W_xV6woz7^DW%L!1L2VIA4Mv|=`G3&M0 z^%eJ)Df%T4Mc82KGD$ovoVCt(FlK*WEW0Wg=$q=^cL(11JzQ7*8!9mKm-AYVH`<;N z?OX^CTB*~xvdGJ=jkp?<_-fsmF`UyfbCAyxV#=bb;Xmpg?a{|j&SN9GIhR6hZ6S^t zJm>KUe`KXl(Y!fheW`Wuy1$oBtYp)1++&obn$O8Lbr8MmBST&KoI&mAx#-~kOaW^m zkB2BVCC77*Oc<`u6WiD@If9m)%5_86ZpU@sfP-)EIQ`4+2L(FgcDEAD)qYg^>pk_p zipMH$=@@js79V2<3UAUxkoO|3p*S_VVsDC$;!e%GmdrugHj>>P#|vtoOYhSji3_(Q zyhtjDX$~I5s(3=yH@5t~js?GTOj zqqK$j5dqF$)8?NOi6Qm<1g^t2wjU?JF@5M`sqMgw{^zFf2!FUBDN%~hGSp~pZ6`y_r&1Jky|Ht5c(XZp@( zxAV8n>B^0e-+QKT$G(R|Hq4{tDyATd@^_;#0;4RoEj9v54i74C?(7(m?1f}R$LY0w zdiWiQY@}j!&ghxIn4=M;<*t$P`hBXA|L|$<#@OTeIR02fRm(woaWpjgi)tSTc_T?W zC;B$KRYLL_>xSI?+3X3TtID2!AC^E%w zSyPmEMc3nDFePn*OM?E8#d(B<2ilZxn+m@vN54s2nVR3ROrH3 zcSZ9txc$DApvH)0|El5LD3?K{YVQ<2tk4b9ec93X5*%X#w8p7B^!0E*>1f)V*M{wr z_&?&Fx?UKW7bj5Qx!%u?A*&@4O@zDKyf(B-H%6r|CLz7^uCRVCq~JVsb@_uWZE{3h zxg?MIVRf*dde4w}F|O18IZM1Wawv~zhV$KfrxP=P!Ez(_ibp9ySGoS+V`F_ zf!}vNbMES<`QH?{^kE5T!?Z+t@2^n9ZNxA74{}cZZ5AvNw!M(Yy&&CWrdj#!MxA1O za2(u=Q<&B`&S={5DgXgUC-Uqwu zJLdq$I5}vwAB>U{f275G&uYnq(`2!L;vm_>xpa%WQ~8-2SpI$_My>VE8~JhM3bnK1 zD<9zcO=|c9O2m==0-N}fP_T$ogF^IDPTRihRXXi^L9U+(h4Gj)EO-?_S-N37D}_f% zQg>uLHHLj+Fkt|eP05GQ(XLsLxU6f6h5Qe(+EksTGb=l}`N7?}+sgBQSN~Xbb^T8N z*gVbVu9~nLTaKOq2jfm-CgCaB##vZnn=9u*L133p_qrzKMt9mXicfa7sQMuTp zG0epQ090Xk+s5Ic&fi=nZ!?OO)0H~nNsqHV#|hZ?H5#ZdL_G>C2G8SiC_tTncBRQz z;s_~aBXp8aM}fKJuzuF(TwHARM8ZoN&YFIa>;>}kwS!pxG`!d&8{mH?P(-(R(R zZ+J2G@sx|= zKA(U0@#A{4m;^%((M=&$z{B2*6|3zsdPgJMrjsJyum>L#vZ#FWH>}^6@>h0}N0nkr z5`Og@y7a|6dA)m;>(P3*FDLNgAY~Ox?hOEK2 zUtjQnQhZVA;wx0-a7thO>0&K}5Nk`hH6e@r(F4QLXLCU81?G3$g?B3E z24eH_uvm=r^F5&+XpBu^J7EknYB|Il{QV1#stRip)Lc>nC0YG2Pu2NyWGS%kL#1hq zl4I!c&kVQ{{Lb(Djk8KrG5>hS*($KZhZj&C7aK;@bvs77=2O)P->wdOpt=`Y<)^~5 zYof#!bufw}@wrMek>IV+uTRMNkhaxK{5^JLkFBaoUcA&_(C-?46BCxT)3AVhJZGha=Ef{SD`2 zOY=ZW7`<|P+~gpKNHCWE$(M~1ZR~ITwc1p0w%|r6?03Mq;w+7yT)fSu zpa)8>`bGzidpF+@(YelxWzo7-3TGXUksW~t!l|OdDAGzD$>bN^JggKhnxL$sAqvIg z6R$2iz(Ctf5iVvQWYF47B1q15z)1BU9ANcav}BM5Ll{_@!T+y_^>>52`e*8~pN?9u z$LD3E(4uXc*2~LPnIm;epboWFL(JA2UOFOcfDQX>*FL)~p5wXp1$|GC&AN~19DP$m zfS}34u0(#Zd-&xCM1kbmYAFwNG5k}dtS}3I+7Xo7ENRpJ$E+JkgcX7ke)G1q2W=qX z{_Jn1J_;huW>EghGQ0lAO@?;7q#5RVPV)v|a}MVC-;~VoQ?}af-+4r(qI%>;X_Kg; zgbic-#5X2o$rRB?F`4qPqm!z1?mtwgCfnIcYF8pgVH zWw_I`0>O6^*S*c^-QN~y=@{xI1?X~e?|>9#e-=2C0|{~&#G!<7nmbXFe1l?YIt9=J zW@k4!xrjURr>_Sol24-Jk!dQKB-3aN%F77l_xS>D>kqX4EWX--3;)dm<@l-D_V!Y( ziPG`Q<(2^;<&?4{4@si?LWA~})LF(Q`XxH|3I|C_wt9u_-wR0(M1BS*NUOLU1(uXz zEDuGr?Ijs>>_$JOa+>&vE;2U#FtsB+wW7o5fa3=#qY4VL5 znK2EhBDExdWPK3WMVU8LlYn6bj*&KxI>d>=cH-Pj{J=0`hvB^>UGr^b!V>Z7Pbg+H z=oDo$scl(ovOqQdVo}QbMcoW}w4WY3q$fn|WOMsw+~*+6rwBvbG?M1-l{kkS9P9Yz+!PHwQ%pV{S{70n*Ei@(1NF(qP-mik`Z1yCJ{%I zYt5KP()2CHxN&-Q*NS zvV0&5K9*$P29xV3QDdDyJ9Jdg8*R2iqj5-OC zy2t)ND4*vpC=5S65*`{Ilj;eI-3(3wQSKKg%4vAy>Ll=TM&nN+w_~DVmfyqkhJmo z7L&F_$wBkct;+Gm##zE1I|fA-UVOR#88B3!Cs+d$A{U8d0lR@9VDxa z@h@P=bP1lI!-t}9{aY10?JWKVm!`m@{YbRjtomEFBK`E$IelVz$Cx++IPn`ZyOJz0 z8sI8ND(dF|5wOk(>xoq+*h0lE*5|+LG~K`Z?E7WSTxhrz;~>7z+%zfs40Oa^Vh+A@ z67WwtcT~Bb`KdDZcGIr7ebZR3Ni><<&UkKC8SEGdi#8=)fbP`9q2`*&$@kmrU5$OH zv$-1HWr=sm5fAq2$j!N)tdmZc7pF3|;86q%TiISEG=IyC%ZCCi`xY^rEx9zgd{R-F zu;?rb{U!wf!>{tM+z0Yb?=Chj?mi7xChp8K;Ye}SyVn(0`aHFXZnJN@(FxW4XFt{!2=DH7DC4W&W#eWvK zI(>ZiloFWIZ@4#F(!Of7Y#$@Ad+(PY>PM9^?i>6Z9+G~AWotknVc8EDEHRH-Ib()?1b>R3PM=haa>UEdw$=BriQe^oOg&C-M?zHPQ#nAlj9V(iPN| zw?v(x_RP}H>lhcvR^A%S_-D5`#H=df#f0h~eA+xJ5KWFP#huUHTH4%FG;xd8GH#)^ zOTu@6$(pG1yi}cO1A;BfvfnHLt%G0RN(UEyCXs*piP9VaRvp4o8T>}G6x^W9i#Zqn z>HXk z3e8j7NER#TX9wrG$c%@=i-Dh`cE&$F{xqEE0&0u}VA!dk&PJI6lR%wO>+(Ly*_&IC zP=Y)4Yf^ZXsQa3TplIE^jl^vPknm?UiQ|sO%&6eopB~D{u9Hk0l&)xZ{+gl@PVGs? zgLbdvB;$K7qGIHiOI6{)o6sLsk?BLS5J?A&I2Be<(i+LH(8l3=mBdr4feXHbW~hDP zcqtv#OySW`bpBI#xIFf{ykLc!r#0v!S>!f#CYsR6DBhS#8g*VXUEQ$eynkUgy4HJ~ zB1YBMd43WrXKZTp{J`n0zC$mds}SWlHTJqT5pU0jUDg2d^YgW&qM+>0K3-tn4Tm9c zj$dU1ch^Xk@OXbcc3L@FX5-mTOo)i^XP9QZ0Ao?TMIO6XDq7{U)qJtyubG`I8CEOe z8$_Zvw}h+e7L3qEB0`|-1n)kE!{bOsguDV>_QJP7aRO1_OuF)t0mbL-g%mpbk$S@>X zJboC($W3(`{y*ahBgP}eI))skxQVY~rKvj0KV^Gh0*v^p0|QOgX7a5pLU`t|XdCN< zn2A#mJEaC)Fo5TCIXNpQr!-N=k=`X;O`m0Rx2-uc=8Yle zJcPd2ZBKTLK@4SA*tnmxa}}!Gl@(vAbzMg=n$Q~_W4x+czhqM!9V3>55tFnrg??Uz zbP~s@AldgtQ7DkPp{F2{B`FOir$QvcqS^LWpw?3QyIsh9lIV1j&~%}Cy882xlm)K@ z*fj%`tx+$fd@BvLwJ<11|FTgb!Wb_kOl`4aB5WPnE6z+)gg{#q;C}77To)W_Q8IO% z=GI%Hdo`Bq^4+T;C`ha>gK>`m>K~koPz-LAb+_KD*I6NmiixezK=a7dfuGQm3>uxfRwo&MV6y1vhCK`EqCC)3bbDg9#&L z&Ks~L&j$*QoYsOST7P3%{ny1JO}O?$Pjqpqi*qx9ffTcUbfCqBFzyyZa#$%1t`NBo zLp{24^dZ^6*uUjd)M>?f;czyV2Oj?5C^4n8knI7MCg}zf{~wgX40w0AD($@GRs=bX z&B*JuK<_y(s@}2^6+t70onIsWdx)^TN6QG(aGfw`W)D4UW~eIQT!HltET@ksKxL7p z&@qi9avJCpVj(gcS#7&U!I_`3=_T|WIYQ5%zHqFm_W}|#(v`!gXY{1<^SAw|kz2MC zuuNGp_F{tJ=*by0o06J4Y~}3RQQz2E>|1~c?G|D`>qj5QO&S{Z-QZo~&cCH2wJLPu z%_+tjC}vWyr?fGw>nBm_EYtk?1wx+HV#df0X&0{;?jt6pG;5^}Z3X6+byQx?=S?mEIo` zO#{sAVD7Oor&485EU0k#jBJ4vYt*S7@78_l*cTY*2QS3Bi zD4yZ2d|y~!5yo!mBaM3(MNPQTRke^-{zYT3;QOM&X)0AS`6(AIym@FOm9$I_cC_|k z1;;^w@v~?7re#I6*XA%Gs>yaP{ln-p2uLE}rXqpj^2_3vDvxWc%D0(g6dn^r8~JzH zfu2-drf;; zPYb7qyg65Q?d36MoVrj3H^a`I+`4K44fm{W3((XeM1By+tK!QhCq-p2a>4S=7#G;F zhsiM`L_I(7fY2iEFMN~i3i(G!f`!BshY!&NUOePUc6rN)6OW`Cgq}NIyEN(iw8Veo z_wVhw;4kHF$>Bv)72l6s`1#{}pO)&C#1kyVKh+0iw*Y8d<+;)X^s5!KdWQ`_`1s3> zliO2AGsUyZR&uDrb_a=>SLB!3PRreODwWza`FnTf8Ll}q}pW3{U5Vs#M3)UeV<{w@SaKr>jSN3jlM!y)vkAaRvbf-fv{t^ zF^?vY?N_#`bxU%-5o3|cr~h3(dw*Rr^^`~-4_n^;)$uff|c{{SMRDZ$j!NH z>S}{Y*gw;)wrgwwb7K93*{uy?`xC7S$>^*}E%YOFsqYzjJ@j7Xx|W|sZCzE;MSHO0 z0<7Qtg4;zcv&m`Y9O;phYvcL%kswVtwE0~-)1xhL|9M{%s`oQPH;qubY}XbmyH%S9 zzyD9g@C07qzx6Y{^b9Z$Igbw8(GQj}YylS1bxg6aBi56NW;fo4vUXmRcRv`$OZ8hu zyN3O8oCJ*&OitPz1TyDwpIKi%RsuWxg}nO8^5MLWI-%M)ue~%c{$cyQ)e?v&PY+rm zLb=P3)e%0(>x5E|`wnJ^z5MDEbOva36yqpkXeS+(1fH|(1*=O8i;wrds8&ggqC`cB zJ6bp#V8o?@x_M$RZqm_npRt{AxC+_pvld&exUPt5vv-;#7I!-t+rPF6x0*7UHGOdW z#Ax7;07aNh(pARV2)WN+rj5wbVnrsIomBh~<;V;bOK9K$ZySD>$*SK{LveFdV<^H* zBRNb>jeJiKsLTk#4CFOC{Z^oIzP>wzk5hsgTgh_7I~ zlJJQzEI+KUP0VDo_p!B?qtPEfOdT;SkfbwApDVu8b~H^5(s`)cruJNVea!br=OkWH zGJxU0Q-1K#f~pGOv`nlwj{x+$mfIKrmWHDUY>s}}|Eseaef^ROqnDj)`&X_D z8x4(#8&bQD8S%R)hxU_ zJXX}NZ%_kYZX`rWVhW+vr93+NS_5YbEBeoIB~-&{ zuJo@f;@crCtevKF>cYlgAdBuu+Br{$mGH1L=3en@th&0I*LXK5iHU-HS zqWcH|(~ZY)G$(Uwg!qcML^7`P^vuA6>gGhNGg{nalN`*l1jrO+(|vA9f4e?G=n&Lw z^S=Q2KnK6DNKUTo9*?eJI0dL#5QGWVkr+}V$Z=4Co35wHK51CL&og7mh%ciN#$S_> zPrAlKDCsdRl(HWTn}!>WKjcMzyf2Kjx(~BtyqLp-;K0Q*YO5<4cvEro;(c{~ewC{1 z%vcm0nDOkb<<5ZSNGg=Z+*{QcUAZTT)k=2;}r*T96f6@CnlaVBkXby=t#rrRl9}#_S?@s zAhZAe`&Wmoe_B|xW=+_0@8ODre$RlNgo6^bUCBsGJX#Y6=LGDewFZE1TJyv}^q&3I zG^S=~8g*Zfos#Fv+~Z7!4_3AySUHe^;u1}AJ}z94GO|yaa6!)}UIy6_B;Vs@Ts%Sc z2l7Rla6#&OoN*syN02;^mvL6mk|z6PpwgvX}xjudr_YfnnX+HPyNU4+wkh zy(jA2ur1$L)g<)L+GONremsEcZ?Nyf^>B#j5m^x~yw>2g`wZ1L3}@F*tRmT;t! zshJbz_}7)9WVD|Wi#XB^d3!1>J<{OcWJs$g&_&n%eM@)mo#_V^oe1@;Jc!N-NEMYW zaituKVGhm9Cp{YVcH|`6b#mefdOgXv@!DuUZEa~KzcHYD1sP-k3KwiMCSDu#nehCQ zUS^Q8ZM0I)+ib(TrMILj|AT`=`*SehvTnSd4Xa3!1@Nq*3zF#ZC4Mj{!) zEXP)Yxco^*ap|jqH*_WJU}>w2OVranE`Gy5h+f9yCeN8P%d!t2c0sUDKeBUT7Y2y& z8v`khvFY#UtE4z5A1s^!U-kA6V<{cOCiWiPdB+{$>T7-&uDs&vaNYGks_we;p0I7( zxaAwY8_tloK@}g%!N+s(8XJp^KG-_@`)iv?VTM)TeDlrKz+hikvS@MGV~;)RJ$74N z9evz^;c4sEhr^FJH0-*T!E|tHO083kCT%w-taq<6S`NwOONEp&&9e*ReFR2%-1AYw-9W$jhcYk%RxOphQouPYC8^G!jTB5k5#zu{(Hi;*A9kd zOGfKG_t?EUXzl*t@WT%cM;vi@ec*uyR(tOiXYyEo3RBbAz=@kCCSw=2p=AZc1kSNnh~+2* zTjfi7o6R;_neOZeNMk@3Bb8~_1T*7GjG%PepidNW>3F)=6W`N3?rkh2OFe&~EbZw6 zd%CwjIySlw8}B4$-|XFC0B&+cw#tVz;J*cfsgjA7SPdYa*4yn5Unt6QSoF;amlvPB_p0>35|zb@ShTGGowhbPLFHm)`4<2IXgwRM-Ga-&*xzq zGq`7(o#ZQJY?zq2<8y87FCX6USh(Z%JF9P9a8dZd4}Mr*b@dObCpO`;$Cyd=_4VWE zS*(me4rj|({pjJC|GwSu;#PdBKI%B^O^--F@%9VSEA`C}(01fxF9kaCivv{TOg#{eq%xz~s%O-2oys9ExXW zG3P}E#%a-34@bwA*q0g~+W1)Y^No*$pZxS^_2rjeQ>{5*{|WibUJ~t@--tkc=HU&z-^C;v80fG&6;G(-?)o%Fsf=8i_+rX9O|b7$S$aJRwb3Ob zo*66pIt{SonSA1#tosp9wiK60gPw@8ZM>9z$yJloQSCc)Iw65H{PM=5eN5X%rN{bwEdMasnh+LM2A9+^L*;*aPzG{3t#)%*TebW_*S^{j(fPw ziJ5&J`Ui$EnD*9_)96gGOgb<;fW8x7cf%4T&kLBE#Yfojt|9N0m`KcCIPjyt<*Wuf zFW;;i(bqr=8&URVP7=^gimTW`Ooy8Oy(!bO*SH$3a4XW|pF&k4sJdvsW~VmVU_ zgHu?UjkCbX$#Lsw1_uXfEW^9}cCH7MQs62NXK)LK`D8qgSySBObWp~-(MT_YY?gG! zJ@IL0_c^_z&apPlDKv}27_E-aOohPU2Aq?K!*fu#a6^6$+Tjw(T zcH6;z+4rss7hQNsxZpeAsqVh(UeHi4`v!2WM|iV{TLQSivNGG3y%hlj?E-P$+|Aaw zE5&0W48W)c+;hVlT;A}puJI2acB*kBfF*d`44@j!;)6~<-?$}g+Hz~S>)waMEjQm9 zuDJ5rz#GYDJ^PvAzytP1X>)}MOYr$5Mn2YJ-GhGG42nGiaZT3BK1(u7{nhnrQ#=LCR;FQZC>e*~C|x z81*z4s`1-$`AI|&om%~qPx&=B|(zegFVeW&^x8lJ% zC-xZ3u@;WYgU_|vjTXB)K66j+1jkN~9V?#GV|f*><8#MpcEFhI^kdz%r@s$VsM%_0 zXw07RbN0Or&rYwp=Em@&8*T~LTzh?e>hn&iUh?9(=)TEq#*tXOY8sl|9-jp=K0?X z4?ghouzBki+-weEdA>hPV9@28ki0#h8B{sg!!H2qFPH7{l`z&b?6jaOUSX~>#hXd1 z@3>vX&JxhEf?$48Qz(FM3uA;2J0?+k9@|zuzG+Li^=J3lP3+A-y)C@p`6q{`KjWCN zZ28i9`_?C_fj%5=g-<2mRu#|8?R7b{3EVq0MTzn%5Q1P)wp%Rh_2H&z6eMzuL8by} z;(Cq%3NrgOu2kD*yBag~ zst>dE-hoA7!^4l(-?`|*>JuOTbbZxT*HqZp2Ax6lyO@RGc_$%f;CuxL9j7gSbB02j zv0p=>*eo6I`9hBMm;KL7HKmqp$>Q>O?2JLi_2ukq%Z^Dzuu_lZ`o4j_x^G~pn#Anw z```azb<>Y;<}>^7vX`70UU=Gb!^%}l!|>1uyLseq+Gcn-sLB_E@R)xVRUXu1@g;$> z41HTuxeLmsV5uv*ho!FKf~5_`1!+sN-Y#)3Q}PrqbrlyZZ742CJCc=6K`)cUNJ_zG zwHP6>c5TLu%8M$4W%Mb0H5qI1sC)cFZ8OI)9&a?cvkgY=aS!a+$T^F;JB^AK zXVxR&ax-l&26k+^#P*Uq?s~9#c*EDR&*P@*RS*1nIOFseRD0}&x3OTp4{c_ADt@N` z?FJMq?c)>0^qI1$+zXavr??;!Eu1=v3zFvfj9Xw?0cqtW5rUGhxFF3KZh3(J6gS(6 zmikJmMC&G)1V}+Y&BtE2Kkw`MffmZyr6P=ZC8=vb4(S1|BBUS^#?of`a#$#y1%XIb z(DO=Mz68nlxa5^5A8!ok$^dd>2^XY7sZ5&Wi7Uvlpy(cUxHkX7kI6gkzP1YjXwD?I+7RBaYM^R`Y~0_E%{e2%K(R_ zt^m<~O8)5#9pXD)b&8s4=v|{WtDW5#?tb9m;g^5uU(MeBj(pw$ci-AY%&cZl zvoA(_ct_#06Q?ed+|KaW6C1<3-u;KeU3c9x+;R6^!(aVt zZ<)X1nwM!K+?JN?cjm{BU!vL4Xj7cCx+te|E2#lcGK4yll;;$Jsq{y>61_(kc5Azn zK&DxKie?_ri80M_L(_Yh?HV`CvQxCo@BKJ#m}N7b?FLTG^UP==;e^sAg|K|Sr#%`h zW8b39m2drx-yDAP-~G<)&b#i52gMVbm7hOeTU>R&nZA8GE#gXj5!~)W`u& zp!w)Qm0wgls`}rFbf`6zdqnN3%*7?d|7eqvXD2;5WM&#Ono-;|KrJxYV zc!@6?33|<(69IGr4Ur>Qro_tMEVBwnGV`YNZF}Uu%XnW1&8{l)cmBmCY8*#(nnVP- zi@{oVWTh;CDTZ*6k1_++pdyUkJZy<(XnuyFPvLjEj%QiZ4B>^oU<`28jQ#a6+cMtt zE5SP1hh>A7(h9xmliwJ)c!CZa>M%9pa*`WchmOq7ojp6;t#8Qx@&EQq!|(t8dxtZR zKCTT+m(10qD<^+3dqQrWr!-^-cRT^sgtx2(&laS|p*+v@E{Aw?E(3?zWHLc+>pfy!AI{ z?|I+*=Z`bdRXHFJ9r`FEWoG zA~l3x;SDNpq{sXWO|-ss9M7_*8N%!JO+$tv2q--3Amb4F$Wi_ZOa3bzo^7ZIj%Wkn z(JO+O24iIrak3f^J^@<67JswM2oLdvyc9{2(^UXB$qN<3+b*(e^Ae>EHGR9*m2{a=4}c*nax#Adhosmm^(ZJa$nTR(A19itYs)mgG@oe9XEHp+=O*QPWz zOwDApQ=L}J20PxT)4@^>kv^q~IQ<--Cy8G2B(5G1R2l?2UD-h=_Eb@kqLdGSHJd6+ zr#l)5*4A`%tkfQQ=!yAn{nk5XI>cu9@gM)O`M18|I=z3tR4?Z@%PerWd;)v)7~j{k z)E}Q6QI7H-rNN-C;&GcQ4?GAcjLN@|;%}tA#w|lM~a9pm#y4G!z;Cp9BJI;gotn$PL|`cWN5#AZm| zv#UNSju@16!^#(DCeRl!dsmy11OaXDE8*2WH1=I6X%Y7Jx1;^(AvRW&P~F@<&?yJ& z!~G9DF}(Ag*Xv7)`S4?Z>%SSU`*W|IA3t$Iy1aIp3qPs{iXF+GEXK;;>Lc!jppecg z(8H#u8$x0sXBqP%EGDFNszfnjqB7elJc{7hT&Uv;v~DtyYP?U82k(!PB#gNjmU zi8kHP1wcIG#B)OW%)y@uSqJ`w^fEu==w@3z5B^lhI`H=o4%jV8AFiUHgNU+_*f>yn zDG-@z%t<6F8apFdS`)fiu;L*n+;BpqkuFMxid|vv>+&D%MUAPYCLza;>w9v|mNl5q zcXtldnXb=o{P-tl|KuP4tUgD(x$ay)I@@^SoZhF$`%D$Qj*~fhY`(LprBJ;ye9?1h|#OE|u)`38~<*q)W2Q{Aih9eu?=rf%l$ft|LH+;i4=rhKvIo)lp1Bqr2Km71q zD@n8WzW2Su{r7!U3Vb@YH=I6wI`&X70cZKUcvnH`fq+nU!FyoE5vvC*GqKAP7|xYW zbv1gJh#I8*arlA$@im+tQS{m72j-7Iu`&DU|Nid`-}>jjNwRtn(Q(Urnx&sSsW!Gz z-0AOB83wcdaXA`h-juH83@N9qlkp~#i5Zu!WehX>qWq(P8S1$UoB=y}hhD{2CfNEi zHIliIUgk@Ylr;T}_dNUSVb+0nA-&AcX+f8~v?X^41Qk|GV4;-1R?Y=r+)fO`PReMu zlkqHXdY?hlEt~nq%`-&DJnK(E=PC2nj_PC65@aGmgV83Xq(DUyXs4i-37X?w;|rN8 zKaz_`u?y;8n>~bY8i@gS9G+?5IatQ<@FzFftT&G319mhWsu8UqWZ^Ml$*G!Fd8fF& zp(RBP)cSfzbK=?X`Oki7_OE{R*N69i;3K>mpB>i@_pNi9W$BnqmLYv?E1#pi@w>ir zc=MaTclNs1y>7Vnm9OB)*61kNME}sE4-NO-bI<$_{_uv`JKy>4*%!X_CC!wN4!hes zbA1{#yX4BtISN+Gl-f#PYHO4a23V5I3@tvniw>6JqC<`>g#4a-={>#r(cRhB)+V3O z4e$B=>u2XTbaKeBKL4&aee>+{%P%jo8o*IrEQ8t>WR`}bvoA%Y$()Ez69N%Zn=!A4 z$eCsvj>9tzJO|4du9CBk<$4I;G}~|-o@wAYSjKRboOLYML-?kttTpoK9rO`>{>bcH z?^d*ub7JljVciGoJO-crg3E zH~*#K)vtav2M!G4 z*yGpOc>0TWrdmz;(x6@1o@&0n8qnev53G#hfI5OMW+#Gf`*=v6SRhNg*?4M{0mN87}Y%&?KoYITv z$cK5h5%DT#TG*qQ;bds^m8|Eq$~*21WQlGtvbp0F=F3wiTZ zU7_!|p=C2)2?|;Lp_VD7fasWK{VAB`&0nQw+01uZoHk$^&`q>qAcaMv1-CLd!4AOf z1eoc)9Pu2i2d&rZX<2p^Z_@unrJ+yAd2;^stgRyiWhn(3Ww}omL}&_GP^3l+1b(G0 z6eFvlhb}tV26E{3H0Tkqm(rKznokL4JoJ)I*jGIKi`i^cnM3_!47qxh#t|M^ZwzZ; zx7sSpk{W3B;(EA880b!%wd;cyT*f<{#?+1wUJa-qW_=!XB9-NIn-0+pADA}KXP{dzW0A<_?2J%b!{^H zjE?TrrZTOVu)@N|%FWHqna)|Cz3vU)H2>Q_`J=Pfzy9^ZbFRKxHneF&fz4)ohQ@4| ztsl>P#?ywkyybg`Yp%Iwc>W7tF#Nm!=eLIk9(X|Ydx||7=tws23s zZQR`1-O9typK1M*$3Bo(+Gpii;G)_ey0V8(ZbP`}XvKbiA5@<~=8qnQxY;2`k}yQ* zh0+7{`SGlCYlmVCs zp*Ac~lX{#uM$FHHyxf?KSOgP7r?yb*8(KC)>p{yn@vN75fp=*zEp*`NiaQrLVH>{2 zKg}p2FZ#w?Hx+^e&S^h?ZhNlIboRTy^N!)Sf9vhD%?*ABS~F*z(atQ0^Va8j@2p;N zc-`w?Kl{m_{JX;s|L_lK7kT{Fc@*-_j*jh=SvqWTL;p?LoX{EUZ+hdmtJ8h@?C1aG zFAQ&c+uPI$uj%{t9d^4b1tBL5mN^xpcdUVQaP1iooNt1JzRI)b+h$jdcP_Yw2>&2Mcq;y_FG^nA=8`$ zplP8~+gCA2nil-5ll6L>c-FK1DY-_I->hTY5V<}aW;g2{CWlS)vyO4Y=38Hvt7`$EA8s2~X4YRlX=G%uq`s2^*5lYMNn!IgpY2ehmZtZWFozRNWo4@x>!%zO* zzdL*Vb+6K14Zii(z^nGR&UvlU;>&M+D5!B#=R6efKAu)Y`zwzbG{VyUBw6z3zl`zRKeesUc36~GwxZ6r zbYED zx^Hajg;J>#&}J*iLC;~yf07M9HQszmx#3ARd{x874YR+viOXQ91Zu}lH0zSqI7yAu zw?6TSn{;5zJLWplb$0m`SLugVw&o{JuFuxh&uyGLJ3n#axR%!c-0%f1cD%7V+0!@c+3GymWRZ-7rw@s_c$ zR#(fX2J^t9vg5-izDqAvUxxJ30Y`c0y#n>LqutJ&EXTn#yg=AezOKLi1H&_)`K;k- zPrGWk=Gs?iQn$tN@|wM!)OXB!w_8?GU0%(<2&-_*=CTg|WXQ}zAa)7JW*^XUd=(z` zS@qE&*so!sPXGP7{a3TumvO^|XNp9tKk>b{+QXN=_!S)(^Lu*Ox>1wyS3sX5 z(uSm?UF2&Av+sQ4pC5kmCx2r8t>5yR@`TE8s{waS50`{JZE)l}@uS*(&fHI{0OB3h z41Z(BZ2hNx`tJ?rH#de~{^egD&OEO3*HO}Q00*~f6p!h*eyKo1i5ksfAeWF@-J&c5 zXHRCdQ?*xCgJ@SYO}$I!aY7Ho`f($DPPwgpD0^qNW*`30$A%X^@43UN6Q_sgJXfm< z^Z2zlQsD5Pw*2jN0Vn-a6bg~&D!K}{rCis><36xJfn}uD2dJa{U~keg65?yz;H22)^GV{-n~=B zF(C8c$SOPA-E~NbX6og;agK=9XRNH&4X00@inex250F3lH~)+IU-LhlHiT^4kUD`r@?YyM z5?Xo45KJqv#ouOcL0a}Dp5+SEhX+ZX(G=IKd}PrPjvj>27f>W@m~LKHlEBD!$cSd$ zEPEl`wt(o{hUsCuAAeJvVo(RnxHOR{H6Sq}vB)?v)@kvYX~zw7B1{81k;aKn$wD)I zO2;-c&orQQGYxzyFV4Si!E)I6SSbc(kqqI=e1w2?;HabpJrgRfmxWZL*`$Wummd&_Lnq~++aFvs4QLjZ*FQ59V)7GM2ksGG#KOBwxe^{*P^>(Mm-#C>D}J8mde+(l)gWF`cJ+x{Px>#m_PD} zj^I4;3@wps_ljmX2lGwYJFCHXW4QX+PaXc+54~l$;!1r=q#{1W=Qx^;Gkf7uG9z12 z&Ma%{zwR_9W%{G7@+w05K)T4&`gN`E`%B+DJoTwp#X%so4AoOgh~-Qzz;FWh!I2#; zs&3ErW*V?{?dww@E(dIKr>*I&6z^d7^{Em=KJWYS6lJ3NIkSD)@aXvy^H2QA9mDVG zoBA)`ez!8HjZ9M3hU=Jh;&M?bU@*W_Xg2rkdehj`_m-~If@WzAx)*Ksctz} zwYz>Qbi9W=n42bafm1&DvO~ezzKZ`!Z#3x;EZz_kI+*#&XbZ}}YA&vt|H@)|OJk${ z)uc7>uB%NQkHU*dur{7)jc1tY=-}qk@@495ejT+?L#BH-hyjoMnA>7rk_^T7p!~2*@v!& z1MT4`Zz&axQlKdS#@Y^VFJNwpS=~YQeN2oN)J)i=S{)n)G#ruG!w2 z+TKwO-pulKX*YgcN91#Der!0Z`Gvm9lfLe=qbKM4M@|h7p4D#-{K>8JfA_8%bU4%9 z%CCMBTy5<@n=;q5>cHs@Y9M-0pq#zUdaQp4IYi6+>GoGxD zEblg7@rqXrFMHX`!ap+=o{i`@!MmV*j%oO9gQQsMzlP^N_qoH1Ui6}9Mx}$*#*52ADNZ@SuQ8AQbN9{kEj#MQ|<53#~zz~_`@F^ zKJ%H+)MHzVJGU>@L%aijrC2E|iN&m?4+!ZS{(ulfKQk4R|Cc1KX z?Q35p&cC0R6&S=oJ5PzsNsOmsbiFU3=KmpGp5_R=6r3tLScvEBVR(O8?HYWS8vJ zcCN*Z{rF}y*&CrW8!i)RI>s}EZk_}Vl^^j-`DIfh9NCMJm&1!6|0eR&2K1a+r$je| z(jX5>G2$tsmYt&a86dG)KI2)|bj$a=K5qG*p5wWoET5tCs0Z9l-8@pI0RU9M(HIJD z9r0vx6hZ(>ZDb=R_I~fK&WT!$CU*c-AO6I+w*;;&@tSTh+|i7b%ETV6+AVM?NbZpP63Cjplexn`s$N z@iXoJm;R|YwHvkd@=2NNTWcQb#I>(MGh)u#*H56%zx?G}-L6WT5FdF4SUqIU{hc`( zjpKt;n-MAUAH8mwQPZ-Jql1s~r;TBcc8>fBeXoA)wb#ZWGuq=3JU25B!U)!o%X*47 zS^nf-!S{OD;1vRg9eqh>FTCg7?;XDMCFT2IEfxuRg+yR>UIui#8nxX@Ed9G9f{{-_ z{H(&OcU&^1-Z60tGsfoI} zvL;J8{PjE$n_bHSdwPyz%l5L4@hoea<$GSA9?L_gJR;=G(tu0{j(LmB*kP8+U=rTzOvzdXUdBU~PJ>^9!WOd$owPSUzqvKs zd*1`|oB!yKb)wr{QC@m?-gG7EwCOn5W7;MD%!o6~;2U#n9q7rb&di#g2KWVDQ<^%? zc)u=kEQ?-o#bxmTfmp4QtlRuoGmh8jD4$J_bXmX<|9cv2^dK|a(4jM*|NIx`AHVSv zYy{NiDxG{+HFBLw#}7BQcTxW3)ADv7c_V+eFGwIxnBr%i?S0MuTS69Tvn@l5*cWm0 zOmlomRs(9ta2}gBNXF*2^1XObefZHQhL3;ZkA}~D?sIy-t>s_+M6cFAY98bLbF?G1 zvl$P1YF_amr9I>f1Q+zL1ceL_1uD_+L^9~^Vuh>0$=#TEqa*w5T8-%s}R1k*Ydk~q=SbbmbUW)a4BGV zws@eupnvDT=q(N6l^kGXD;i(sF51Va{na)a;uVi_HZBvki#7MLBg-P{Rh=rR3+~g! zZZttfM`#0j&IFC3u*sae zq(Z^Sk^>8O&_)|8sJn7GQwY+H>NS;vJ*d5K?EEL5-@`aR3 zwo0eD5Gj>MxtTWsN4%svLec9&b=#;*0^%sU5e#c|1fug9QMw47(?nSE&vN8qX<2&@ zv~g!!1KS;U+%@B9*RyBO$E+P&yV^uXo^VbFg%1X89kE#&MfJ&`t_K6&45kK$ihb{!|1$JY4L85q{uK$zcqho7Zd2L!)Fzic{a`MMLzKR)dwD& z-F)*OYu0p2EQ7LQp;0EpU7vK!ydR5SnOy(?KmbWZK~(1*@skWG|Hb5lzAMgfLZr2k zDc)hUKYRaicT=16!n76cHI}e>Xj0k7{Tr`2)MjS$+itsic<=i@5XZ8f&_+vz$aj>n zlqqxC6Azm@=*M}BYNRTu&C#XywipD3!^fy#c_Xg=r?xkYxK5!F6fa0kM-Z3)SZ0ai zw3xwtLSPn(KOUI%^R0335I=KfWBBMtZq)0o`}JUPLULt?0r{^h38g@6ut52L^6kH7 zmNwv!anqu2Q)DTRlvORSC7zWp0Pz<-tF5Suu&Eh(uS-`0jb>n8Z4yiVE!)dydhq05 z%FUjTC0q7oUX}+p-EzQ8%kr6y9J~>~<`EvD^=LWMg;oC2XuxvDvXh*^>Mm_f2U-7J;yC;3w^xNYX#>#Isf`uOlIiXx;5%;<$^MZn^k5@sPPmPMMk+SVx)rz zEQIRde~6A{xmlWj$!C0I^AKCnF=YR?Q#&R5swM)MCJ~hs3IY)kq_b3*Ylaj%*f;fU z_<#K3mxeFjdW*KsFkjNvBp?M|)MH?z!-2*-PI9%ruFt`=84+W2WE16x@0{o8JZh)M z_uo-C46Mxd%aVF);+S>7hw}t2+syPVZ#lAUdf+v!EP2k)ZfxrFsk??RY5DiQ2Od;o zh;nkiLr?i~Xm*SUUeJG%Z3(G*y>1`3D)h|j?O4vxvdCrGjQ2LtwVv%5_OiVl%SAho z83KQ`yGsY8mf0#t`_4Z1`7aKC^6AfUL~86p)CzpG8|nz9XdAHPQD^S!6?3!)SZxJI z&Q|)b35iu7DmyB)5~*4CPVhjhwj4HTdqQHFpILg#$QXH2`NwUYfU-gnX|4I2ozo|v zci#1YPAY_{>h7i^MPEJ&3K=u&_mxB zgc^F;-j3z0d#L}gzkjezl{ZBpecU|Lm9*y9G|L#8o@M1^p+|G8aS_MDGhZ z>mDYX(?a?j2X8fM1FN7j7W`4NS0|>ol{3)uE)-vtVe}5;WxE&Se|E6WH!AV87h9`~ z0Y7yTi`+A7@H^hxV3mwTMHjWv-&|^0w$YQFrU*>|d50!n365u*md(&|(6Vf%Gw={X z&#=k|O@HF4*b$DrJbIMbW^5Rm?dk-~`|f>E2g!VLIP-*lrAkL`YOR!3r}awhTGxzT zogd9G9u>8LXU^|G>l1IA)XsOQNHzw1C5183OwCm!xcsmsetXzCtDk1&r%v-K9R3v~ zMw3?}7G>HTi$+Mk3ZbKgd@CDyC9TM4hrWI*eXczNk7z0M%flDH_+?fsln-&scHf%( zSiNyMe@*^zScCO*p3KY8a?rADrkj`bdfG_76l)!98E{p``AUYeUh+S#PcdriE1I!v z9E&;FjV1ILi1~q(yY9MM%k4MMA9?Joew63bOz+d9Otm;3(-SY%MnMq zw){&XTB3w_fG-d6sI&soA#w_BX}+}Mn!@wvHwW#TnDd(f8oXQkqis+It&L!!_8SFl z<{LfD%)@_`)9V~=hG?%rQd=wKC?9&V(Syt|Kl8--;bR}YX?EA0_sFGov!l~OEB1zn zg%2e%TxB|1BmWSTmrU#B9S@u2+acqaFP)mZc0VjA>Vl$nL_i^hRW`2)5 zK2?C`*^XhRhyPTmQ~A&-QOfp#PH|WS5oD%?=(HTmWn@}{u0ZsS!_M|B-e_ZY!EQXo zvK^RxJQV65^CtZt(&1zq;4A&d>{`WB-WO{5T}PtccKe;0HGNijhsTsf7#(*%olRP zdvwx&6>90}l@vD*edCB_d&CJ-w89zlvK{z++&Y=}HT$m*WqxRihe67b_s4hNb+5iX z|ICbEzgs_kN+-M>=okC^^%4WBhG=aLQ_xSJ?#%Ad!9VBpLqNnC4CA<0VkJ!GA32Q} zo*^TN*_Z|MHN&Sq^{LsG&O2Z^pZk`!NV_JDH1lNJIHW0GQ?xeIuMdsUrYRHr(B3&d z`P}*K;nuI*sh=diH9nct&&q^eYjF6}{*$uS8Y$9~S58i$#oy^aG+A?c#Xeq)6?yYe zHV!}RVKZG*w6KMILl$KkBq^y=;nSqyjAb$uz4>$w&4Peri6W*K|T*s1Y<_aPu%SWypr75*PNm%umTVp}l-A0Prc@ zC++``!ob$<`7?W4+uLW^SfYU?8kxv)U4!=4)+hNOaO37Ot5U5D6$iJz>5e0A+%Vf? z6wET22i+m;*0eygUf}xUhmeqqn*bpyw}gNQ*I+r@X=xKb$^>0H6`jV$6eymOp=p9T z+;r2;^9M9b)o-6_w!q*W0ePphG%V#!Guqi_v}Ahwop-78#S}~LWvNo%eCv+a<|Vx{ z^fIg7No$5ycG7zQ_pF5n0cQ7~``qW|x8HtybgU#+!RZhG%7f!%*SH}x%Nb7bkkf%S zCs=aT`Yr8%UF}T9*XQ@>obUVY{pxVfJ@@Iit1p?=PB>4)RcM&7Z9{1GYdFP2 zuH5BJNF|xB7FTBn9(T21(0S}&DBwyw%RpntmntK4vrO>B2j;8!tMnG{{dYc<0yPi0 zQwB>*XVFm0!I46xi2G3cS`?K-1=Xa4t&9L5PxoLrKK)d2GgGXb?K!%FvI}M>nGK9+&481B*gXSL^dm$X$G5MPZ(0u`)h+_o*3 z?HM<;PKG01@~bLRgP6~^pE&dQqbT$t8doCraahVmv!D4QQV_v|o_Wb+pvd+#;yt~O zBV!-EJhJA2PwApVaN1%(cciee(mKE%rv6?Ckjs zHloJLl%AV)KbD7HDOnzUwa%rm(!cZ3Y1m%YGtHto9yn#Akm;7qc1*LJq3J-=LJzyD zyUp3r-AA%ek4wyYJ*$mzX2@`p6;k~yXouOdjUHy3JQ}j`on@|2 z4|*836DOdDBj>enE~JxfST@_qG~-z(<5|!6g>U?Ez=au$YrKZ zSyY-Sj3S9{)Osj=x4I?c*~%-EyTm9IKW(b?*;vpLd3NBiFQzE_9YTu&R$h1Go4dUX1MUswKl zd&j50%y#19WHbGO+qtt_!<~2DJ-_Gfd-ZE`o8DB#bTHCFS+O+w_4>!aA;I}JL^R{X zm-4T)A!9k?hUhq0#_=ASZwNo*^3KB$56_JZ;>+@J+>_o7&(}0i?P!Vpwp;JiCxTy` z@9MT>Rfr^)WMeBHGDDXyE27OL>CNHsJDT@So+Nt=zQaG8$)tp%70 z2!&39nFfx|NLO)e`hp)il~$vn7&0qt6vHKr=s2A{9`^W?f_?Woj$@n4a-@$C@6Yel zAs=_&d!I5NU5R9(iM3aDQna0L$?~A4)^Wnxul~xv9<A23Wg{35a4O?SQyn$!fE=|ND0g=d_`Xy=Ib+ zy&F6R>}l4nO`6Q;IiG!|-#d?$6gl9exj1Km1)2A~??dyqzV+YEHqLKF`6_*Wl@fWv zCh17|?#nXd>Yqja3nB6gK$etpNXZu+udX1dojW1gGmyjP6!d9iDYuiuSe{;NyWLwRD6=Q{&5KErh+q+smzjruu z<_V2yTJlr#;$E)|4f>11;jGRiX{KBMB@LT8_N9}e|jg)OsG|M==c zPq1#(M<)x-ZOwSJf9&eAE!*hhy*c8RsXWam$DfEM9huc;0~8prsedjVBRu1svECOe z76W;VZ@OJo_$pIo{nh509_)B6qIRaEQBMr_-F^T3SN_$%8Q%TwKhTk>EVJvCkR0%J zhHx#z>-==JU0&hDj(9dZD6nKN`?H&Fx@q?Fzwj?-U%vG#!@12Z59BVR$QutJ3^a@4 zNm*LT|EPV91Z%`)OBCD}ah+qQ4RR_Jjp4(_*5>@)d+%f8UwmzWKrTmJo^2aud8e~aThz3fD5!vz5}yqjpK=0^1m#4TW<6l9 zo8^06*30-Rx$xgrShgSjy9&yD3P?-t8qmuFUut|3Q~p#~3A$mKu4Iiu5iTU-$bdUO zQmB#O*;l4@!o9ypPm;+#j9;|>WCzsxnH>IUG7MH5+gr2v1Z~^LPS%}FMT0eF+SkZG z-^|ikp48GggWo^>Xa9WorC<8x`R)2COeSWvxb-fS&2Y3&K4}x8)Mzi-?7^=-st1Ap zd-zBH=zkeLaQzJ$Sk;BagBZ*8qqbZ+`&f{?xbn{#U6p_8sAMVpYR76)u$>P_r^XmYRLZ3tG9l8eT#b8tGAOLLyL|1h9v>^@raYn-I*zwt? zKll0hKl`WueE#!4{|nmZ@PKCKg9h^Q1qSU$;_-@vHq8nF;gLrkoB#XYd(ZGse&%O& z-0C01fX^?jIekFM|C!x?^zh2^Pk9MF z;-OmL!d6h@m7-{Mub=_pP>X~{oyU)6Net8u^-E&T26@0~w##i{79WlD80ZkK&r zO=Dy$^Lt+MKSJerWW!7m|I>_rT^{Veyu|C6DqOXnMFS$kQyC@kea8B@9Rag^#(SO2 z>-ARIGd*nS&s4~EbDnztn>!o#@XqY0eovdOMH8<`J2n@lMO;LU104{}H~2zzp(iZJ zp--cxpwY9Do|fYFiKxiqI;%FCof=1$km9uEg)2&`|hNa|xO+S>ulHum&M!e#{Sj z?dvH2nj_aA(1H9ewLjXIu2vSbCk5+gUE_vLrxLP`@i12T;or)&eLC7~)ki+2SB)m2 zg2xiP)=|WS#_~F!ragYJ3GYe_iJ+L5^90BFD>#2qSS4$z z%x^k$)5^A%hBQl8X8B}OpMWaQ&(&bBV`IZ~NlzFmD;KEPZnKpLy{~A$=951O)S=>jf-zoKFEa*mAt=u@c4bheQ{hjZNNr)NV3h(xM`M`0V=N9 z$+DIK_Hxj&9`PKqe8zj7%tODA+vZfdVnDZmp>i!7i{K3R2394cPk`kNu?*hJ*<+To zEU=gF<;-7|&MZ%!dO7>w+u!}F-r1gCo6k>+Mro)!4sQIdjnLx2!d<{Ho&_qdB!;XZ zBfnlYf6c3}o#_{?=FfW8vp6D_K{A%G zZ@J|by?6h(I^4%%W^%<9PmLY$n;OhHN>&r%*nzAcC2wgZxw^=MA-s(Dar1zL$^0`j z<7Z#>AjA5f8ceyZXf!PS^C=OtJ%zbWE7Ln#{SNohW42`<@Ci9?97wQEi7oz`Zn)r# zv24$>rdcw_jROhRDY3<0(+wA#F_!I>&c1ZOSF~T~UmZTr>2M+*P`~`;FKZR(;rZ?N+@)FkiP=%T;$cMzzsI!q<3K<1#e*a9Xa{me zT1&ddnI}IaHbDeT11IEoq$M(6c)6SkMSpS5Ne^mjkho=Rk4xdPw^kNi;*C})$Ef$o z-bbob)^y~BG~(HiWkJo9NrpOEt(}T0o_ZV2xiA~XcbR@mMm_Jq7MD%Uq^|$yCx;Jy z{N~t@RF=}?Go#ofM@O&O{Y)Ps&(CY1B<1?8_4$rwCSm>8aoL8eD>nwQ#&4h-AV?@TN6+C{w^2bpYW1D3W_wX$AcKc)u& zb+$_1e*8XtvR>?(;Iy<&h4|Ff{PSXg##d?R5w)JU4Ta~3VWxo-rg)iVU(k#jqMvc% zEu?fMd$j*}`7O`-JhA!@j4kFGl-9LU#z!V=T5{i4`JUT8KikrVw;fjCkEpDhPxfsn z^R?D!v}|UGH#AX1`!hCw@9b_yvGA^(G(GnC`Qfq0Zy7%O`7cMjC72Y+XV^QcnSHsB zqyiS@#A^WdPqaKsw&BT+QRmwbddB8o($r+7WR&mcNewD4bA;FQ@V z8kt`riqO+rUN;VQc6W9jL?o9;*BF(Iuxp5mj1$iRUJiZSyi9Mn8@YrcFN(t(-AsxH z&4xPIY*l(6j~lkyu{Jsv1N13DHf>fVgAmEO~lPp|{n?Et=`^E|X3b zTg*7v?M~K3;}bU0f_zI;!fnqm+l3Z!(%N0odsSMmgI@3JQ2)%(S-RD%jvaI8J5YYc zGt9({TV~|H8X3_n*umabAGdg>XWabW7cxD~vKjWa`nY8?y^bV|+=Z+nj4vCsd`{N! z3nToyEG%n-K-Fiq3n}8%a~-q;s!heGk+ff3W#2=Rk$j)m=D*rBA0IhP`p*It&vF^J zsO?iW;Nc&X{Bt56uNEkSt{i$>ecbjl9h0UTHvb|V+W&OAy{#p~)j_6beA2)A1I@km z>8n=;Wx;74$@FxJa3r9}6iq@D{E}?1>p1epGwkV8Hm7K$dn#Sn9u4SrrjnmbfcZFa zVf2ZzOolm8p<6SU=~@0lHnWWj$znHW9^7fq^z8qtt&``sH@9v>wbJ{>2-&>$M44z+ zZ3HZ@Bu8-ELiUmA#;s#np#55gj0H{xCxYe7w7x|fy%84eAb8kKwyQm6Sfx-k=!Q*q zkhW9dlK+msJvQu;wW1Q))qAI-@4|SUx+nkXv{ph~3orWXdm2cFI5;En7I*WFpwj1q=Hk@#` znaESM?Xqq@#msofra$IQ`j^}kz1Kbjix%_yM!Z zM!vY?blHHi?Bo?G#mzI!ZG2SrF0X3ehC;9MV2$Wi*0#;778Ov|{GDUGmUnE5@9ylGiC)6EB7$Y#z%pVr9%oyMIVOyMq!Rf)lo4t7yLCIR zW$S46VVYs)W%C(FwvSWKgi-s;aXS#qJ`y?5%*#G9j$j{OMGK?BT%=8HEFOH6R>Lxg zs}0G&%8x^P^c+-IYT6)dV=MZtQJPAdw1yI#{5w4vR>_wCD9lRCxJeaeF!G-n9o~F& zbfTHp+P~NJ%7NTE7aAXslfg)bp>?OA1jqhUxlPGmj7_J}&~|b!YuZJ_ zKB0ZwhDe}!hUR@eu(#F6ZJSKHQVq>p1vfU&-;!p7?W2#b;f*Q^UbQE*%@Cj|X%T>K zxTaNB6`-Ul3cwD4KZN9isQp>4+3x)(J52@y4wWC#B-_|V1e;HAKGTXLtdw=>g>6AX z9neF*q`#D+^+lT;*zKz2S%kppjCF-R_VI7w3LVe7&>RPjWU9?bYln|I&g94XkTR}V z1VGW%IK*oKmT~J0igIb?kH15L(~L;QUB;ufKzU%h+8fCy{iXa@`6-ZXWZXW`$#{*#v7bU^+S)=YM=GF|f2HHk`oNG$G@&KbGK_mkcpM2^`v9Ur zm!#8=QpR)K{!DW`{6kbQt;Cl9W`4%Qr}MU`av4;s%jvBqRUmrsE#K!S|2zzr`_FkZ zL@zR24Rm<4zo;&49mzTpZ*9BU04$Y%)yZa&i;(Q)JZC(YIlBRMRCl}{RhpOTBW$Wk zU^es&tGllYC{Z~rROl#f<08s!^}j;KvQGx~c~K@~uhWtZ7!VB$zMNPRnw9(b6z?z@ z%THzAG|K>cTYY>at4a->3Nx?ADX6WjjjtSV+Qf2bG+K#6#zj+7N`Ou|R=(+qj&24U zGDO+3(Hg5hbaaDOBY-|MT^RVP0*3f89wL=L>A&&}vW#fueK{Qr?~3dDJ1tvU99U*p zAza88?Z3=yOH$ogVFG`3kSrF*e{tV0!xZw)_ zb>J!1B+I*V>YB!cs!m1Iv8*Rgo{nEPqX_$}Cd7VfwB^P0R{pdhUBs~!u(#2bamznC zD?-n3+;BzyTRmXbvb~Fuf9?r2z_Qz0I1f6sH_{wDf2LNf*yct1pJ-dn|5C#0{URN= zbBl!EM8BYa%i_Pg6kX7?TC<_Ak{-s9s$*r^%rkVtrl8E%^e*bav@9>7k-t7ZC3~2R z`@{4m545 z0xY+RXF7S^-rW7l&dzT9#;!{tT9ON!R#ieJ+j>Cr#>A$wXebD{+=WK@FHDcrL)0>Y z_S<|}&x|GQ1tI(ptvZeyE+iK+A+A48WBBFXrK9DjRUNdUPsWZ%2U+a4q*Z&Zx%GY= zH>~mtP}51)LdI=W61@|YrfAKWbO|vSRHFSFHrWoru4Tf9-b9Xl@$8cP)4}@U4y>Ue zUA(7T-f+pk7-RoMa*Adfz}}DJhFLb_|7rY}K`8uE?@?EExt$G|r%s(>Ko=`s>qK6W zA=G;H03Ec6KOvmjfY4|UE&quZ>ckbEbpCCpgNlA_?JpEdh9ckG5ImGnPF$RvNZEAu zi$?rqRz5nD0c!O4x|2)Kzw{;x6*1+)GWbPN!RaWm^4GkGIc-Uxm2>4eZkR+zD0VFq zK6bZv9@OvBwBJIfxu9V<(yozJJkwP*VcQV3jN7J!oEDQ%EdD2W7P5@vhNjDa&@d3N z$D4f3tK-1d!;%?=FrY$i33Vo|)W;jWW*{fV2{g2zi)bY|lK?453@Ur58F_>=aJQVP~Li8vwq zD3nSgVH|%zV5MPweSN-u{HQ;-gKQf;gcqG;Amz`Y{=2ernnwMPWUyi0MfX3|_M!e$ zIzhvSK1aImhyTt$JSVRar)vo2lkNXw{42V)g`JE?JmrnJgPa!swY(LfAcAISS$M_` zkug2XXB^o+Jx#ynUq9|UE(iqFMw&wxkQH;>2?(8(fhJoMp5@Flbb_sY#WJ`KFxZ?cI_U?UrzM{1&EgH}CiE&xV;>O{|CiIP5@o3=CE3XLF%9V=a zp)cct9Gt;MAifFZ>ACz`6mjU5F;7s%7JAi21Na`<=Z1$1y-QD15qyGF>|S*Eur(Hhy!<{&fB3KV?Su41@)ucXWgGI9j+_I! zSs%LN4U*lOWmYS>BIkk(#4#9`w*)G?NUntVbY6|1#=)VS4gn@&xe<2}rZwl~tp7B=b?Pqo!`$V2BR zgL%!xDiA+LbIB#AW_qX&o%)KZ`K@*w5C75AtNW>mY5wt}tBeF?#*WM=|5c`{7IVm$ zP}Ayo4~s&{U--u#m-TH6J4*W~|2*77-`id+wA!Y5zJZaMlFzzN zRwf=sT#wbCKj=I>$0!ej900=1Glfy4(w%QZ zrz@#7w8=EeGGZCSEOAl(vqFbY+3ZAGJx<9U;-6KI@^C~CLm9K=&dGtAjrw&)EIZeF z3mH3i9Vu?Vh86*?^e_D>`K$~6WMoFNHGKl5{UyVe3uu0Z$nrIb_Fcv^CFOC&6<5TC z+{7tyl#T7?a*BaE`34QSEZ^~S)Uu71+?Zy+O%|DYjmp33j^u5mhnk^3V4AXQ9oe0% zQ;Rm3bs%0yPYzmIGmfqp3;#(D-l~vwkm+sqdO3X=M^1GigM(SLNvY#lZ;(ODjew{Ow(58-}x{Muf=b# zYmtB{O{hS#e2G*WRWAHnkn+*oG6t7e+0hYYY~Z@=vdgIN5YzNAjxUv6k(~T+-TqYD zHoN3MrO5^?gALP~y^2`IaFv|(EZ0N$rrCz$@Js{G!7_$LjxK1q8$vJSCt4G=KRVlFIRb$PycKeJEgsq6*4tPl~bAJS_Zz`q@2}~EA=3H z_^-0nR;%mGlW3~~n+Apqb}D})1kD%1NzS%I4;dGT@cG{M)*XV$Zy6yT`4U>8tdb|CBGM)jY~9*1IrhVm6L|<5qS&C&q~YW;(Kc z-1#k=^^n^*yLlT=z%1_&Si&NN6DcdipGuRfsBCBw zp(rMU=`>J6*h`W@OYuOFn+VOnc<3P%{)zYU)rRSoTN3LDhs4`WCK;XTc4YqIm%MQH z^rt^f-@|UjyJI?~#YH*RT?vbH_U4_wo<0>H6zLwlpQ$2uMruH zN_f)w$4<6IqD&Ly0U@5+5}wI_!5+!ZRvO0*`-gT+UKW)=P!EE zi)MO&jJj}t)eMver)Ynot;~PzC;EOV;^tMGQU1`XQGo5boSPnU3eI21L96s?(xx0O zFw2pD0uOnc8(UvdG;9K8t}u(52;+Dq2e2NIDY;C`vLRo}uh^-1l4Gfi{q^xssDF@m zd`d3Umi(uDnMZr#4vAo*XSuE?jvSce4UM23wjmlFrQkN0|67rYNs@>D>d56k7s z!B!vd^^n=o;WGLxVvpZks|_kzt8WzM45^_h)@I**{bN77sy9PZdP4 zdP7VQG%a+H)#XmmFelLRrS_*i?P)B5s@>F`$m)a`Xf*0mZY?2B5N;~o%1m+NhLMJ(1B#w?GY+rmB^l_J z2X`lin*Y=+rq#*xW-whvu+6{RRjahTt9-1uDnlaB;v&-Han+eQ?Y4IB|mcS;y%&j6Bnh_yt0~F(B0TgJ!c_d>erMOau1bf@1FF*= zc;aOT@Io)iqwlcfUkr&Z{3A#otgd{qdePy?hLw+4Q;@D;u(*4OP8`C;6t3xqM zN1pl-OzpAY)nP6Rr=j`BWhEL~W(q#3{FAmWU6DW02u`>0rS?YxXj42mKks?Z8(#3j z=ZF778{OkYRI`wtS4=DwLC$O7(#tgLwNPym7a9o)+yan-(O8SLp<}rOn=k2&{9~&O z==ij5n9rK_e;&6*nYWMD>_XXQ@bZKI&j+uX@$1*zG>w+1+vn)CNSguaJ|D zY3{%R)&X%uqfMfhV8+d}j>IBBALYN0%OI`v2d{SYpGEG8k6kY6Dtt^pks1#?hg`>| zn`Q{zxS?gAod4x6Xk?Enq@ht}K=x{|+48EVKXv|^*Su;tapDA@YSmX7QAbh!l1C@n z81;d^JGlWh-`qH`&t8gfazGX^glrNXjP>lsdE)cTfjqNik` znVx-EC)+Tdp>;D2d@3(fvVZIE|LocAt)0)P@p$l4kw~%xBLQo}Gmq9}exp@H$uB`N z1R_~B<5jW^#F=N@Fj}w`I-7|+YK%@xv#~9{8ht`^Nz9s#uEo!Emi()8ma@;fcUq?M73n4Y3g#QGqJ>WVlVvmAKA{=U zvKhCYX@<~^8(P+I72Q6OD|q?|VbP}aDD1eWxL>#~yX3Oji(mX=zDbXE#vtdqrv7y0 zx@vVPy6YSn<5Z{hGd{{oFicsbb1J<^t)h?eU;Q?pq`T5`njC@$*Ll+Zm39|G*h+bU zZXUkQJpAaV*R)#7qM&Z2Imequ?aKm2>LuIp;y0U#7RrhnhRtGy zcho#G2Lu;Svq9p_W;DD}MH zev6s+&)Pty!d0@OGL(hbh^uO#bSmCK=GAo73v0 zHwBvQC=XoVt~WY+cb?$bQ(EVKXMS}3*j$&=aoKQe{fha~H63;$3&)Snhm%KjZo&TM zaLr4eKfL;t*9_acoAYBwkE^uwd)}%Fe$0kd<^z6Vo06$lsYZ%AE(xez=+GYOBGX2= zibz2U(}5;KyHNmgaeq(Yy@71gc)+SJVDf7J)o2q`JlcGvtFn|o-T|vMaq0M-xN0G& zP3)=K=JVaTeiBqojP`i+$gyE>cRqi`%U%@^kEO1L_$HfbUeiV~%J=BH>hqXf=qJOE z=oJucPW4yX92*p8ac)2ifYi0?yS9NC>?^&^ka=(z(aIi*XdiBK8Rm9d>G}b=);^V7 z|I_g~Dw-pM&Tr7Ah7mq_I8=L?uc`g4A3r6c(!F*}_mSG-vGw7!+S>l+PVvctvgsn(-HuUD*q&~LPRKB_M2 znm?M_s0X2^IG`tp`vnWdOaQknNXD&CeANDwdhP@KNm_S^OmN|dPdn+Ubm=xwJHg!E z?r==_2^G-x6OZ4+p)!nLN`7uv$gT`o9-Pa<*tw7`If|~zI>cq*;{7N2-WGNyZ6)h{ znsa{C^2b4qnT8x0r0~tnnKmsuCSj&eL1ZsRK4Ocs(c(mw~5L8n_1yS`_E-mbuVQ9LVV0j`sZCKp_W_NQF|NK zHJCm7+0WL1{vsY2XO~`j>A;EzbwIg-qf7m)tsQH#b;^Fl74>hP^XR&&ae;CBi^REd zYh(gMy1V)gG3-^Jwf&c0=5snUybUK$oC?|P?QLEsL>|c}?T~v)va@gg=GSVY;MHst zi+d1A8^x!tmHtzjCd(hk)duKNJy!iCI>ISjh>z%`f66C?h~V>JZ(se${@vzD4E>cs zDx-mVl{|Fw(6K?&90$tbf?v{~*&`g;i;aqItY#RZQUb_xFb5>WJ4hn`M^8e9Rpeol?E%pm;Cn zPB@;Tu&WC^%3qKWogq+H=2=FCs2LTr@AR-BJoGY6&UA#PW^78=(Y1BWxYuX8^s|)5 z=DLDjacIZ{pOp^|I^mr;`NK8?iN41lzU|xIAi8|3q?lrRa6+brR-TGS`6qgmuj0sL zyoxlMqlc&tAXzngLxg)_0E|#SHDVF(=(Q?c>hd&(B5*J ztMO=8;zwI_8$&+P+}5VsUv00FkG5XhYHNRLOqy})!BvTmOZl7W2WWT*WI*N&$@LS* zV<6Y8TW36+i2UFmTik28>}~Jdl5ELepQc5eqTdae1=)pbacRbULUu-%0)e04Ng2!7z$yG_?WlIj2$8~ z70f3AQ+U=fA6k|t-t(XlGQCj7f1U1ZkIFGUOJ`eIX8Zi+`OVGqx1YT9(${FAN=vk~ z44PRrBv^x}5g>pY7HXjxr)?q=I<>3=7o7wKUWG^W%D0^iqtmsma4=z~DmZQS6Y*r* zwxTVB4uw|QMe~Wg`jyg&L|#}rrFdqur(gBd`M15{y4i<5^wHstJMJHj9Y4iJvFOOu zQO%F+9^o(yb(GQGBDu|QEf?%7L|Q7(=}n>yH81kwa$rEWu8YGw(c`GZi0h9+h=R~* z6DQB$jLMk~E$HfZPH529vZ$UYShk`tFLq0N~4vyH872ESSS z`k!=ZYdo2fD4eNPk#{kml=ML6QiybgSj}_Bs{%mH!dYl_=6oB5oc`qEiw-tuylRMt z(dZArL$E+z6BWH<$IAKjyi(w`AA>z%f9GJh_7&F*uX)XD;=m%c#rf{e#_X7u$|arzQWg5pnT@TJsNHL(8CO*+#IlT*U=KF7luGHYn(_p;AlXE1SJ+2vHD( znl48*pdW1SY}^*S6@R1|nUE@KOL$f@A6k|tKH}B35%iJ|(8)m7VCaubEaO?p{9c~; zh^M@Sp8n=^1xBz%7j6bqj z^OWUDd!HwCGA-xtumAm@dE)#N=f0?pnxBY}E-k+%qBfH3Q@C#o!*JNk$^)(L*J@b>tPYkC{=yjDMmtAst`0nq1 zQ+&q9N(avdl&yS~2T|cFGAM#7Lp|KEkwv-CyXshVM0^yAd?A7R62+AiOwoxOHw^z` zjryM|W)Lz&-2a$iUsF&r^u6Izb${mE-q!6(L9=BWhUTd%TROo_w;V8Y_m}1X06+jq zL_t*3vV5i^N9l2a6NIexUwK&`d`c(NvV5lFkF*_@zBZs|Aru`<&l$^jPGC+5`hC3F ztOb%2`($K$J;!?+PP_dYnm)=$s&vZ%k$vLK*-x{470=QKsWW2QP=i{DgGoRotpqWn zB{?eCc*4UDGMS!q3Zry{O;-FiFjqa1ve}W3@L%}|*(N?m`GA0&Z3z-Ax8$FjQVWJf zN^<(OwPAaEQ=QB+=HLH)e`$F6%U&|@pK_ngmH_?5c)Ny4f3WR1XTr znHgcQkI8Fegi%R_Go`6PUs<0zh=0# zwKaRiwcj{=$6xq1$*#>$t{>N)v2FUSI1>W@3UMC;9U#^aB;iqyg2c<8s#kSPTdIF_ ztS4x>sy5k{?IUEXVDw`nU$#)7WmWCUomN%$clRFJe`5D6{jp?fo zGKQvSSvhI#UI>{k{=0h@p6z64y7l0hmgO=%%jUF@KF3uw^S0#P8|vfESWnMRr+Ar0 zqE;n5%T3{j=^e()w#fKl`N*;vKX>-br}lPsxAnw)d^dJ?)2w0{j~dhes8A*2&=7L9 z&4+%Kw!W2@>`3P@dE3o0wiPgHysWy|wjq46dFT_V6cA0MHql^GXhpm5x%)%BI*G&~ z5}UDE59QL}ty9Z~S6ut@;jjFa9~d5d=%M-9C$?uNPG2Ur-gru6cULmUa9@53RglEQ z&0X9qEJ;a<;r@OzutAZxtVSy`9+Mj)009+ZPO&xLDcV*kO7~@WuI$q+XotlK(?|Drc{#C}4!@6E-!Sug92sm}$d7FSvklUnEA>M8uOwL-=T%nampg{=ua`xvQIJLWZggv4uc@=-&hnUG-SMTh6x zkMx8uI$@dBU#aP{5)EkjWNvn;mZ5*}FTZ*IiBH@#`{W;eMl*SJM|vn)Uq7jL==#lc zeP)BcI$eR$z#jCRHsll{!4;?DYZ<7r0qVPR^KxfOmC2C)D(|f$6)h<0Ksj?gI#ltC zOnk5Gjy7g!?sSj*zr?)>(52Z~-*;~>)7>)~X+}cZXd6jLAV44?2>~{X5PKlOEQ5sw zCM=en7(;NmQk9|#Rk_M>s+>^Rsfw)xJBceMDFp!z1hWYl$p~a2Ar?hQpvV#kNi);S z^xj{0fBFCZ=lsuo?)l#P_4G)P(|y15oagyJ%Q^2^-t)fieee3(nm6R>e&y;J`kB;k z`j5YH^+G*)eM37apBl)MF1xFd^d&u=VI){&lwJXCL-;YvZ_fqSyI_I=4T^$g8^Al5b=lImYWQ z_gD8lDUirx9a>dSg86%wTR`phaa(Gp@Vt4V;tGHX)saR<2qO)92cd52RZw=WNakYwc zTY`>k$w+YIOTjJimvA-kDu<4&@~hv_yW}%}sUBMgSw4r&-T~h5hL4`RaPE;mdeT#$ z@=Oh?{p-5au8mxu9gIe&4(u^t#kZ{63@v3UXIG|GRC70yMyCvab z>fwj~+x-uG;KO?7^pmth*F>X-$@FDmKg@%F@1%5zRmpMc!I!OgQy+0hCI(X zw^1E^Vu5a8FV3mt&}R-+vcZ;nL2r|*&Ng(su{#!VFU|roxsvo_sH{E0A6tL@*MIHm zi~rIWihEN}Tpw9q)%Ssq-=Ryf3d>W2yNIW&(N`2<+BP|6Q}5(UGH^-3EtRV*bhQ_H z#3UoZjrNM+A~UNVlNr;GM{FSu9iQ+*CpV4-m)505=LlamH?|I=e8st@nj>6heH z$7A~^j-7D4TF>=WJuUQnKU^ouFL?g_s|UXAudJT&w5Q4&Jhh3Q31AGV!fL+j&0afa zvGe#>obBOWG5RG74ub0F)}@81COW(sj+~j$2MUq?kFsO|yN#^Wlp#sAy+TLE&u%$gAy2D@gnItdv3kG+=niQ!y}=j?S&}1h#~mgRR)e zDzDN@_Lg{u>C6YK*00Ilu=kFid*yFG=_ybCa!(nxmscFVmFzN-ytk86W6%|t|s4|48Na}Sk7 z{d!7Fy^~t5hGy?IlGIxjAe1E7EZU$Nk34f~+Yzy&VW-r0NuCsWI-e(tNxaS#T|GVR zxV2+iojY@W{f*!FjjONwny*@&)TDb;lj%yg8~Dne7JO~}shjKPpj?-kkW{PO#hY|LU*)>ecCo&#wQ^H~p+yygen)3s(3E+lv=3uDQ2<*WGun&OUO+UvJYZ zk-Xq@O!C1=r~9JVVt|K?KT0ER@xyD9j!FH=Lj!f~`2bAOA3B~Y(;Y2#mGh?hO7mC}ByQ|jU|RQRpFVz?f? zZnz_*KFJ%m{S9x_zu+@YgP}a=iW>&o0j?NCDJOSZF&8lZ66=*~SKmKuJPLw#P_z30 z&hVLEv5{4tjEKE#Yqp*8VLG#|ijA!DYAmsz{Jo!EHsxlTdr%kD(hlr zCe-%u6mK6>LcM+8oHvu*v48R0gX=GN`RD6W`#0!G>t_q0w|r?zy>^Y4pXe25+Bu1# zaA^&leCRJ>*_i&o58d<9)IQv`45Z?b)p9p6vdEJo7<6yLSs!^4$EKFySNyOQg(;6b zIpRvI=;NcDG3A83A8+^B){=C{i(Ul?$S<|D?R&bzOSx#N@(+XV}0)vp2&k$3}v58Qq6u+=_*s!XVkx! z32m$XSv(QcL?2ReT}8Xk!3d3<4_9_tZkeVPKU~)ys#D!G-Ru+RPTFqUPoef zLRUmBV}Gmu9b?_DRx@;CBYNQ(r=VPaA5$aR+S5+jny!wFdWoK;(DM+-m@jVLxOwT) z#Xqi&Dor)jw2nJ;$`!YZ4ps(4HaknaUHVlobnNWXsr+E0i)`>p-KtLL#RWaW`>)Ai@qTA^P?ti0? zA3h}Gv~s&oaEY|vuaiwM7}fP`-OIav?YiDKeN+?XYV}ti_?GphOP5wZ`IB!Fgs*hz z#VuS4Zv;+JJ+sVT|MVn&se?YHQ&Dfq8ELJE{$GgK33&#?rSk;;*nFo zidPD4!NOLLG1(mZ0J%U$zbv<}4hGAIRB^M7l!Hk=^c07U=ufaISM1CK8^wy7ZKNDb za_m)_a3blf-;Cony>JopuX+^Xvwf*lC;kDKUvX8qW1-UV(3ptNKmq zl)mPiDnTfXzD4Yf#XB7okZv!~|G7fMgMTc}Y~JtC)t-xbmf*|3^e^py=WAcHdg@c2 zC@;P`W#hqu5^!{}Gp8zx?c^03+>)%~mgu<=DyGWPc=-5d=N>wD<(-dB|fIS;vX=L{dZ>|G|+L z+rvM6_N5vzzIRt~g|2lOv2=T~#XUy37p47153GI9HB;OveOH@@#*XW9^gZ`HZvQn8 zeB1irht8~i{ny{7hj;YGH7(v;)@E1EqKftRGau%BFdKl@5E{oDAY={VssjB6z&-D1o5_@57$X>rNW^9`YH#SE7qp*;t%_5p@ zhM&C3D~){iHI~7uIX+_hn9-*i->N(GTmQGwQ>ZDgs?q8E{{I`Cl?$*Xb>XEMD8C}u&zfX`j z(WIo{2x_}tJ$mzp-1Y1=?ReMM{H7tY`Hz8)OOf0Q$K>8?)qt2$2VKI{`#@NvFzUJ9)(?&N((O=n+J&Po=+uhV`pq)RTmE-+kk`Hb4VT{aidX#JS?*EO~ zeUI;bzU?=E&%1CYGQMley=r#B#KxrRT?+xVWc&EzqvWzZw?89hsl$;SKlRpWtU6)8 zHJ;WHcIU0E(;J=Q$mhPk@ea@@7$>wiU%l#`xdz9L)!DOWSI>IJeJkBJU%&d*uhyl{ zJGJ2ZQoHYk9@FJ{Z5eseSZjRWIWg@r+36od3s-JCF=gZU7yc4&XZ^dL+cC6q@VFfQ zyKK&ud@b?j@aJ;X3BA+*rdb@HZNa0F_-=$+&=ftBW5&@vcH%C*gimeVT2kNVKDN5X zw`Kiz3aDs$8S!P9YK%o^SV?m4AN=~8+|Q{xO|e_w#w7j z29L&quf(-<@+22}EX3sYrwlESGAH=-Gxe9Yr=p*ikFlKGT)uos&Tgz;_Oh4lf6sS+ z=lU~W_(Ju`OMV#h%H_-J<7$$`sQ5?BJ)lj@u7DHdXrky!~_L$@tsZHK@=H4@En1hM#0vB_U!mH&2)LETH$K61`_^Z0abjZXPqj;?p%(q zCH`EOU~Q)y*jlFp{tK?^J$&ZjcRYP>@B4IPi@~oaYjvr(E$EB^nb|tXbar@2rp2RN z`E*)0cz{#UotguJ9Q}~R4n~pNc*jt#esJ9YH1LBf~qne2nk68jR4g-kmI z4L81t?tAGxwA8LkuTSVJHCHZQT;2WnyVh6rRIy$G%MWX;pL_rPtMAj3@7GuV$4cKH z-amc%w0FWR?E08y$4v^RXp-x=(bRxpn_4K&$YVWdMzj>lP zLERDd+2c12zo%LkShIYIS9L;@Ct;)78OLV(L0;7feW?E!+O}_3Y8F3D z9>|t|+APORhr_}7`)K;LK1%vAGJh+9?Ww*TsQ$&yTRZh@SJuyY)-zXs@9+Nb>VNu) z|7HEQxBWZyExpfOPsDrN%H{D>yh>JzrGHhL1qA=_2(Hs6^~e5UH@c0#bT4=;(v%Z_ z=!ziE-lxlMEzZK;upfH_Lad4(R0+?CMsLM+p!Pv?7!#) z3#-t+6(#+4+pUG7xT~VtPq)q2cj(w%*9rfX3zt9ey4SryzqjY6txz%AF(~STtoTaL zI#q`9T#i9Gmg=^@xg4zR6nxd4b*gOE+p@P%{{xrYQBbE_Y^1qjy8@X53NE>QxSb9* zNMz(m(c5J=xX2I0*$;9(aL_X@b}9~D%ID8N@^&pU=Z_vgdN+Iqr5`R4gtAidR?^?z zK~tt(!PEuZyaa;`OxFue#m%H9`JC)mn9LiqJe3{(1xT#nMW>eWi%odg*zOpOiA1)5 zjJ%O@q5GKr^|7nEBzp4Xsr{>ZAZh>RRZTfJ*3W+SGgm+OgFm?clRx>BdguGEvtz=C z9rmwp{Sqy7DK}oQNo9U6RnX8!ZCIwX46O$;YAe;FJ+G zfh9*$>A4&kIVtsQrOn^)lW!!QqWzSry=3_O48e;%Bu#J8Y6)u-&omDHK-X^Wznd-im&`&Bd>8rmb}J2 zp`96P>S>~OCqcCJwZpI^ zae!%)kt_s(^!$E%rikLr@5Hm`a*RXc$_O}OlQ^(2y?Qr5)# z^d}u#|E=$RVD-ZLpR{_@PyK72f?uCH#rcv3@NwDJLa8Ulh4;=~ll2XLlU~9WfM$BG3~1lCx>E}U-zC?MZ+-dVBdh1? z#W4?j+qdk0>6iXxeUBNOZeS{D_uwz~va1q9yREgJgxAT5NDh!w8&+;6m3w0&8Iz%5 z+p>Wxcpn(be5h2-RUABMw}FZFCw7vajsrlJ?p7YUHz@^ z`|kB~?t9AWXMW~q)*t5}*7~2jqar*Wz4joe-Uhekmd?}f zd-Cdwzxa#S-}Rl}p|7o-)TrTQO*%=up?BaB*O60eJ#4Bjc9AyH2ygvJ{vg#hdD2}I z1cCGLs$6IHo+(7%`*ts7crae{@pyn%%GhWoEa&*EW;Q3douM8x`(~F8E~nL$Z>XI#gx&6XzGlry+BJU|aCputA(#;@m@wM>zD$1d&-BLkvUQOZC7&?xe)q5Wny*>ici%HtKmDfvYybED;Jvt!Fa2Va7Vo@U z9R-~xtdHI4@38a4IWpU|A0EnUA!=sOeQesHF^ItvEf-ZZu~LtYZBG>Qpc|KAwIkOP z>L>Kj)QX*eesc53`jJP@uDk7wpev@*!6%<(b9o83g!z>DS8K&qe3Mt7l@2C4mT7@flXEy(aM|s0 z2Fk*OC7l3h=gtFblmk|CMR?(Cv-j~ z(Xy@`dh0Lw)3hd@`^C3$)VZ)luRE%ExbCB&q5j*(Jy){M zpFijR_p+D2bp5qo`_-#2{gS_|D?{tGo+VY%(#uKWb)C$r!rUa#BF~)%QtN-MU|PJ^ z{}qiu1iQguE@fB41>*rJxjqoWg|-r9*kVSO+zujdT2XO6aGkqVuCB0AG4>}kwb04@ zgIAAU{trxH9dpZ!aF_5ie+je1lVh=O!~YKaY-h>l5^s*XHb5G#@;ESb=tCPU!6e@@ zaErpNbZ#Zbd@#vx;c`oSScBO1jt+qA7yj3O_%)yPk{AD*qxw;fJw5oOcZdz!ty7Mo zi3OfQ9v!xQHKnQa1)>$`fhAcdyyVE+R+k>r@N;eqy|R7PisG;ZR{LIfq`_~+Et^}i z>H|6-8(}^TPqy2tttYR$=*@g?8gw6M* zek}x?AjtCSad(~Kcg^>|`YT_xewMzX#-&|$-8>ixX01!5ImTYd{p)Jl9SP$y!^jH^ z<{>?aA~m>*^PN<=0nyrA>WFCvqpX zSm|X)oXzR@(iiNb*Pr9fhnVv5`9tr^jzbZk)0RY??&-VJzHi^BQ=KySYnn{2&DS~m z<40MZ_Oz$1U#@o=e8sC@rFR-UQ(pQ0HJw$b4SMt4&Feb(P@mW6@rerelXd&bv25bf zm|y|#F>*3JXz@7#RoX22vX5M8o8Nf-e03x1K(eOidRRYpoTvTuma=J5Sv4X|xk{Bc2QjkuJmQ312fWGV9SZ!C<4)v6u4jVV}$dD752rK!%MT zk1?VhC_1Dn*EniSv$ym{Z0HB1yw<1EKwO1^)dNc0g4CD34%U3`DfB)j@o$q|t>fD9%Zktp3feJ0uzT{36ytw7M zF6Ix%y*;?xjt>^~7Sm`iUwTj5AUvgqqSz|6XK1;+s`s*MqP$yg6MO2DpW+`{dF3l! zt{=xxoL3a*Nlhy{@wlQN$2fWFlqcHe#6JQe8E=VW66I36a#8wI+Yk6sIt)`~waqJy z&AGgb_y4Q^+WsYwTF1gRS!JV+vZJ>3x$5QtNZoT_}hQux75$xxxRRjet2Samp;1kuD;tkv~C*>|LRw^PXEHc ze(qF#6ReJPyWL)~e)*6u(MyZ3V(O6$V|iYLTRZx;rs8J?w`^0n@l>*~S%>d|0y zqS?By{OpOr;;m;gbmHkBnNdI0$)&7n73>Q*+jW5njMxai^*^3f4bPk|SJN7YK0}k7 z#$(~97TvC>Q77t5xn-zJQ)w>4>&f_0uzE_-vk69xW(T<)-k2s7x+W2B)lr8_moNDZ zaj>zHd}Hw-B{iFgA-ZN&a=InuyUR9!+=}lKh@Em(V#6XFslqQWG4L+@2Q8 zBicos)T>klUOn%*&)NThzx_AY?|=Uvt$zF6@7n+EcfNc5r@HT{C*^$!l<%$cH2nHz zE^o4cw~1H2dbJ(9{VNLe)GnOdxXrv%^UGkUnlI1lVYWMtuAck+=dQl!i(a|^m%iu= z*H3=(z3lMzuj$_AN!=Qtsw~)kAW07gXo7{On6)#?;!-Zd8ZWWiPkAp}rO=e;v=^kBMJv zs`>#==zm<4)*bijS2^T5es_3k=cJ85?zrRF`io!rveoB(?q{vu`v+gN`n6yCx2t!* z``xR{m(KH`osJn6bhSrl^&KrLT$O3@)48dOp6O6cv^Q6oS0ch!QV@-Raa^|oIE|%W zUc7XkpMYIG;R#RJf98|#TYvuNy;M~Wyx?eb8(vg3uZh!+ zFG|oYYk6o8ohHXLDgC{jD0IK@^%)pwVyx_TRm*MbkUHA!uS*%LYnLv+6Ah98G`B4* zl?~D#Fu^8|?32mmn6}*bpUScAChD?TCz!{Q&vl{w)3{sqEbu(MX|P#&OW{*oNTriw zzS5s!cL&U+uF37cbe>=Psek+<&wt^k|9yU=`HDb?C3@0Ag6X#RN%*Em>xgWQNg<8z z>OpE1z-e z5~hYPi!PVn{i7$)dwMG;mmB>GPv&H4_$4nZE`!U4)Gl7Qy8p3He0=?ffB62@@BjYq z?|=BiA6}n3cW%WS=Z>7z<$Apu6CcNIn+ceT=#r@?bh*_8$&WrT>F#MF)R)Hf;Mx)W zc*pV8wY^Jv=;*HfCw|(K*7`cy{^xwo=d54&>Ce{_(f8^%&Uvz358`NsJ+8^0Mf>uV zi~5c2Z zJ_e%NLp|l>v&qV@^o%>ST*ks|Bjx17PS>gZatotr%Ke04=1bn{XGf3dt7+;BaP-uf zcINzcz?~`{VTT8f-xqHWKk6J%4_xgZ)6;3(+WEuxePI0?zww)^_q^x#Rv-KLCv@5U z4xP{`3Ux+owv$5N0dMx#+BI{@UrFC%RV-Yo5v_pus1vMoGHCj)lc!eq-23>|v!3;= z{g=GtCF>Wx=tZj+Joo8Vy{=2j?6^^Z`rlP*B zrNtdTUa7psFx+Q6=Y?Z%5MOEWm0w6I2+!QY{sOV zJUSd;c*$pa#-~gk8_BCIbn2OM^6*pdB4TwX1lN;!^awr+ zY2dq5O>WlUqmv#LeU-<=7FwO&zS@~?kd22vsoUNNnVb|d&iasV&H-wW4?Oyk^ca0= zE?JAQ$3hJmgi`ZDjy+VY38CFAD)!^a*DnF#%AsZzejf8q?lbCExOTY5jw{pBsCRSg zd_eQBx~D35*Ig%8&wt*tSI>X$v-RrBFI_+Q;Df6VeBcB6<+cy3KlG;`-{%Dzmo8t{ z?nTSCW>d}2o}hR#nCOYvUn|pudqOskX=l&ndwwtbGd|<_`d;~S*3Wv*b5>8f_a1$f z>69;ZGAVOO^tj$R;GG`NOK8Hq^W-U6!^c&)s8#;N#9^j=fc2M!-_DMN;v4ts; zMZK-fXg=K5?P^ft>ezUDsU0d`;?W!Zcsg9)NYHnfZ|WsLyf{FQ(CzVC^*UkOyS6%^ zhaj!1?>c|hXMX1D#h>-rs}FtXPgd{xo%gKX{`R-8&YU^7dgPHuv`~BX)FIU}rd>1F zn2sLT0;}6BTypmna2<0x06Tg%>Bse6f+yYc#MLvN@r>2ye(vY4UaaquKl8q4aJ9f= z;@aM2zn6i_>vWBq`#i+AuXna9cBWw#ac%?k#k}p%{lvXGnXX58lg<$AS1PCo7pOGy zP>0W$Zheu^@B>~#1}z}C(vYa_!W#`=U@kUbNB@+JK^F-_A5F8(fKLJ-Xv~Y@5*(-I zMbYwlwFUF7?qFsfRq(VELCJT?!jE2ZR29~i zA9!L2vds@KIk-9Pl7%0e$?PimJFXQuC`z*F23(|@Y|~H)!2HKpIdn<8Y*qg4 z;3{^ufox8-ady$@AbaC~^ItyxrC;`nx8HsD-7mV>=INM|E2q(6>Fwg^c=*8A+`y>Q z`#OdOb|E^OBBON3tnZ~+tiGTlullyxb)xHdyr2u40R&LI5r22nv36y-@NJ?{gxK&7 zo$9e8XVfbYPp>Twf%O9=%xuyUt<4OVy*1hSiDG>v?Z(m7op4!6Ts~q1I zx~bcP+7Wpty?0HMlI-i@BAOFp4(R&zo2%2BX!TN>6^p!f?fd7?U*sVt-Q&KZ37AEe z?~otW_jga~O?8iB!PZ;C?p}Y|r+wP$iBEju>fR?jUf)+fq09YtAv6p5o{!&geUsrP zmpbKJi#hG8FM6t=69?WI&VrzesE);o9OKr6IescKYr27Y-ueM22`#}MDTU}qCxE#e ze)3r#estzMIyIm5qZ7*R#T#aTbPw7m@pm9}a6{e-b;^GyoG zLVGvuC(PlgOP!Q$zG`~a55MW4uJ*3&>DPOC<*;_avfug_y{nxd(0$IHJ-`0o2S2#_ z!w-Bw{p{@iWt}|gSKIWqvdccel?9DqI2B#Oo>K;bm6ogA7K!1@0?Xy9Z)9-x>cZ`du2iAZFua|wX&;A z>7+$hn&{t0Z?+#rqKq*ma`#_oDY(56D2?NwOYwkoP9m_nC<`cnZp6K~mz%APeAou7 z(+D!B=&OLAq~@QgqVa(Zxz1sHY?;3pUtNhW!IGM;9xUYBeP85v8vH)(eyFt(Zf}67sduD zd301Zrt=4WTF|W*-D-!$x0YSdpV(900OE0JItl-HmYCCe{SnPP!JJ1F+V!@)TxvJJ z*`O`BZjN~^>=@F2U83}p>Z<$EyVyNz(bWZVZmuI^G;6ZcJSQA4Z?P?!Nz*qSR`(?P zJ^DIzXnu41v$JNgXTtNOC%gQVDGw#FQzxV(HeJ+5c71h1&b?hAUPT}nL3q(oL4oK} zCxP%_5;kt^Um$b+Of+mG7ylOL8##__55GIoz(`){9q>oXPTgutHeFS-)T{Y~r&Rne z*5}bW7jCzIJ8J$+>Q5SH_}3Siko7p}F;bga zDYUw{f2zo#NMB)ZuJ^y|?Q_>y%)PMlRWt74)2HZLJlCNUM}Lm0>{~vLh6~^tGQDr~ z^@x5X>8Aebfa;4vY7XH9QkT}XLD#z-l#8beK%8jm8l5QFtsmyG$xdx=d@tU7(5oSac>6qo{V*Q%UJv zoefiIXHc~P=3r`NX4&vM5mg7#t@NtA(&$!OvkduCI#~b1J4Nb$;q2L;yK!yr2iCfr zM|;s|*e7EVAK>BN(H=YtIXF&wZ(c{z_-;l;$uz} zwk0h0BK74S&BfZ$YsD4O>u)DQw)Q3L>v}Vr&Mg!j`yEZ^+G!utZt3O;VP%ww3%*VT zJiXuK7ufk`50@g*+V?|!ZallOCr`fpI5CyAC#h*GY_g;3?MB;?I<^&d{0$~~h4uPX z*08yR-vX*|JD4Tx0spFBaLH$%wR}66CF}wJrA|xu;hVlzuxbb$TuaqUb(EXX_qA<@ z2j;{Rgp)@t*!%uE8>f%PHarMgKtJMgy}fCM6H^}8JbB{O>hX7xGY#Y=Yz_VmP^F6HYfeJ$o12Q2DZetE%-a4hVM z!y|eqRAt##DCpxRxniIUUUFARDy*scPdG$@Dz$|)LmbN}a02aI%78JllpABg?mxjK zuSkV(AQ?x{e0lJiezRC7P`@GfG&wRN8#Lwcmt^pkQq@5|+njaem?Pf&7aCmn&=p5{ zSE@Q-Zlzb_t2DawElq#h3FbDZm7-i5Ai*SvXRc;IO!z8w5(xFE*u3;52VhEu5XeYz~wkfJF+>)aCkHfbjrxWgRUu<_c-~Zh zQa_{9NYIX0BlK5zv321aBeJ1q-05Ff=lHvexxcuVa3ZO1Pb1}%pxm!g&}Lg*imL|t zmWO(Bvqns6r`~UM172dCbg+=4;9O6$E7!?@`j+D1ijc-hefenx$Gj3g$vyI2rlh1scKy@KJDzGczs(I$ zw?72QH4p-`fpTI({h1T=)71~2KKJ1JWyOxs2`wE|aOJ$ppm(K;4<v&C(8 z=*W^Ij4b*~dBsP*OE1_OU+C0B4IoxeF3>?s3b3#S83%*WiJ3o_XMD;_xFz0Ucx1EA zT#o*nFV%I47d>R}{l$Orrc=*(#y8QEv@7@M&}6}@B*oI=se8BV)}c$HkaqVitRjQN zPUP;PrRZ|SYlxf2MgV@-?ITr1H$XFo9i}W`-A1LomI=eyvYhFV6dPWG8p}T6x9P!t z+pMBlPSd4FHL6~q>3P{?V;?6ftF890A2~^})xkHikF^(XXshi-mMu4z;nAnH9DX8G zk-1Wd23OJqAlnd5m~K_o?A17&M|7sL{S}YdDlyk82pQrbC#u4wOD_aIew3Zq?Ubau zvME{68$KXUiUIT-nH;$eBbI`(JaHHPt;pe1z)H`0-M`tQ+tfRntm(E!n>829<5*Om zm7cY>{Ik$bfGVFv3&p+*mt^?l0JgqDx5B(m2_@wOk7KS&>U~kC2S3jKjq_3@o)B4( z@Yrm~fmZa4XL$6_n>W0}2i6b0$Bt-NP1UD)<5Z7TN*H$H?5tN8b)ul_MY?ysuY1Kj z>8@PswlA}5BpEmQAd4KyRg}7Ju(ut#h8QyST7ONA_*Hg2%CT*l^l#$h;!|I+gQ3Su zGFnw-6~=&mvA!9VLaf&es;)aow;0nR(c7y#EZ^SyvW85U9BVi z?X=WjK`d2tDS+T+*<21T_Q{uckuS++o7KiFn;T@Qu1mb(U!CdS{j0NYKKbnXzNvRk zFWwAtef)lCu)XukJ*ym9>#QcaB6LZrniCU*Y3W&CMaZy+3Std=^SPo3(Nu7zK$SG@ z+8FIH6ydd)&}jlMX3f7%H3d&XDi7yYBdWeo8;b?L7tZi(q06@}5z@E%JL9#GH<=*b zHE2Q9?5dAeW+u6#?1&ZZ&10<1ntOT6Tzfc9&X@|j?Or24^FyUDtc0uXoHpo{715_2 zSPtF`JPur0T_W(%<&9kEX^Pcf7Ms4CY73vQ-y`Qk8p|0WDAAsT-A*6iI05dVv|Ljy z0>#|@8|FX8$$r%doqU7dP_YlE(v+)Sm5D~Ql_IY?p_6YZ^g{F~R+@6vtFlUiBZXIW zLMLxX{`w@(MeFruQy)?LO4iEiQSJ&}?);o0E18noUteQ$m!w;9J%?_@S08=)s`XMX z)qmATf$45g@9@C%5nFx;ORAhSb{fBYcn(y3h%uDNf~aXDT0 z&3QJ11zy{AE)~e87j&Il@>(WV;1)P5rtNP|G~I9UCPDY5pl}Hgl6YJT#YXtD->eaQ zgUN|aU>%*#*SI&WXds2vhty1)v|i^i;%$h9UCFjgHFose;vLh)Ev7b%IhCimZtP#a zbm_M`z?p(b2!q|Kx6Kc3md)khhA|Ne{eX|imt<6V=BGT%=5lbcPrk&9d?{WX3%=LU z5(On?+xbRLUuYGa8zaHh0K$uYmBE|K!Owa0!>3&7TCO%{OqHRNx^yZ7p~zklk~$tSRo`*KJiRQzm%;nxN&C`mu>E zSfj`J;Mj+cAqNW`sq`UBg_Xn`{-Jw;*~epFyf&4A1Km^_O!I+&*ap^oXF(N@vw3$R zsm8y-;9D5XB+U=M6>gAzyZWY{gx5mO!p@|~Qpf#s2D-nxrU&MD@JO_GRy>HOnG}@g zN#b!x{(}eX*r7W!u}Yc0t)Bf@&^EeD>UPnL*{-Ir$I-N<1zp}1iJ~RU9(Aj@>xqln zoS1iN%`6R-W9@mR*z`^4n=_z&Y2Pye#l7O6KwO+1%M*Z8dIaDs=L4(J zV(E;POX7sV!t4jz{4kq(7dvr%O>Y0X{IgTnf{jgf+((S{rF0fueCY`k)j^i2So6i7Ce=%8t5@ zeKe_?am3Scwx*eYR%!ma{jTq;Ao{x6`ohKYZ;c&=NfXD9{I>EEFFI8QZ!X8i$PFnz zN?DGjeo(f=8~zL4{-<(m&Uy61r<@pvY}Egdd+2JhaWJ5315_HLwIXo>uLcqRt@7B4 zK6vQxQ?7QZEd1y%$%0wRQ#W!N4h(eoDU;v*@Uf4azi|F{@3`amm+;)m{ zmCK%|H=(eJjCvDvtAA5>pU@da`}xbxBeO?UtF@2S;5k0aI@UB{s(Fg~mXGjlONHd{ zLnjY5#wtI&@95ugJhwI=bYuy~?YyZol_4TTs{N zw-98dV@tccyU|_fTRO(t!QWi-3tlYX+B@@=vHk-uzH;N;KT0~`)Cr#ZocdQkUaFe< z`jPgFd(>0^Svft{gl}@LItjP0_ZaApP8#XYez?u!=!m|OiLR7{V>cc>#VsD!2{5F7 zsrKq8B=`|WAJu`g1%-`1iI|)rbS;58Cb1K{dBFQZ59tGf#YW1!48$taiTHRS=MO=- zMJWB2<;fd@jm!KuaTr<8@~K+#sQHwY@SoObbZ%+WGk?TWXg7hZC7Lnnt<(=Pr2|57rR z;}*IaB0dXJ`6i70VQ%= zzS|AUeNcUoKE~52{sxQsjx==ZNc~YQzzH53>b9dka_sV!AI3==^Ev^L6;2d60rvOH z8AH7F$ZmBNNQA!2879R8002M$Nkl;Ni2~I9; z`$v;9sppornhu`D`eT`JXrMpp(92kJ@9d+&UWDE(2pgRq8>U;b)r~ytKcO*oJWU9qU`nS%NvUs zyaP!A0?xX@^I6c28!$AP)<=q_-BaCiI^t#v&~nSA1GfFqWC6`rx=6kt4MXhcF!g!A zF8ijHOO}9}O>2waCl)Qx=A`>{pUev)^*6V=QBbr zbV>dDf-g|>fAkXmgl!9aCNPX(SIaoLu+6ao!F-b1FY$IRR+Xe-`#cjsIIwJ|*T316 zsOdMXH5dO>xg9xr*<|4$wXU(HYn^tI(qrjybd=?-n+*Au0SXK9UQt7-(*d2%s4=U3 z4cy`hm-uTeOZKW>by(?Huj+(Wb@~$1+d?5w~H< zs2E7gIZ>91X?!BZM6;@P@>PzFf7P~ousf>l@9{IS_~b?V0KV7a%NP3IzizgzE}uK| zwr~5<*YB-fZ=H4|8rh7vi5Q>5ZIK=%!O?`|vkrVTW`4CIK&odpWih0(&96F@uJ~C8 zJ78!2mi|;vVoiNAj}N?R$>4RsLfN<-Oh(|vx#hR04A@75ry{A$t?;*!6Iap!{|og2 zOXK8V=HP}OTgj1MU)}h~nX_mA03P>w`Hk?m<9zXze!?3S^M=c%Vn> z`r|kidqYoz<&j0V=wm0zI}9cxCK@rvWFy)W2)yaz`_Ezyey&V(+|a9h=<<;}X1->F zNe^0pim{)fW0`QaAAW2k7r)&fFY!f|MpD@+4moTLwS!tf*e{>a zj^TCapPT;@3gj+7yZBMRl^on+{bQi#yX@@ZNBvfEaB5Pg*6*U(b4lRaPNyw_)~e*= zLZ2Odu#cTSjz+)r<@W79?eQf&E#Usm^yZ(rL$>Cg za6-D=dF_muttSkEP#Re2n;s|F8dM$QLDb+<*v5GvV#tJ$OP7ZcIx6|R7E}n43E8v<;_Qr@20j=ki0pp#fG*AkL`$V_Ux{;l@Yku$VTIb z2c|XsmJaMW4Le0pd5HsYHX8{1;-u_QTbJLU)oJ^5~SQR?awYha`rbn z-dV%;BT@u2zm^qr38g4?vSK5pzR>zZornHh4u0m>a@7yM<`o-$bY|I7tmx2Z#)4ie z?9SA8=>WH7I#%*zeyL>RZ2w&fXbvtK!BUQat34gt(T)9$KY9vpvg&{59!P2 zjCoHs5_y6_01mnSFjQKx`&U_m7_N^vm;2BI?V&awv*3t%8|`FOW0uMwg@(PaIvkBx5ixL;Db3( z|9%X|^gnE%p*HGr7F{!ZT^tf$j2&!?)=u0DIC5Wl7f(ML1CDx-d=9FT&z^f(w2Yxo zKf|u?)!P+=SEmo{LAm7IQu0Z-a!t{#I>bL8Fmx)f*0J)zRax}@ zw|{c;J(n+BeBa&o-t*bI|FhoXK^Q^p$hJ2}A%jb?Inm);l8%hGbL7q<>l24XG*es1 zs0C8Jy{2_Aj##%Pzlg+-X%{io1w9;M@puld=RL-DpdxEFT#_#ja^;kVAEIZ_TamR_ z(x@8>fQrzgTp@841GIA%ZghM{P_$+y2DO{OcxFsty{_AhwEZrx*hL2i%xLy8cH~x- zE$;a#d6E(iY*J!Lc_DXogo{!Z?+W#C7o%YucNLqC{sF-)7-`PvE0hsSR3l3se$5Y) zRoqN(`Nz2cv#peq&o(F@CL8!>eiR|L{P(hL6>Q3f`8XhpK7E#ya>ifS{Zh1H!l>~% zZ|!(Dhw7%hiIj86obqNd=MuUxwyg!fJp|Vldwk==HhS)H)NHfT8`5*iu1n%(F+^A8 zO&yyKdW=uYdR{=r`W2;)KLz@&U*X% zuRs4A|N5W({9R9Y{AV4}uW_{>T+sr`S-Rgm(X7#vdJ3Tsot!thL2CAhESJawSKQVk z;Q~U(gHLVB89MAu_cP@qi#_9n7Yuv8IBi59{JjTwtlJh7iV}G2a^~O5@wq;#d8j8_ zCML>$SV($WIY-B0amJKp1-hZ*XJSH!nWCK~@K;~aaam6tqeGQ_f*>4vnmyu%_1w02 zNjI|@w;W}jhslV$u?|cqu9(}@RI3*@X&B<^bxP*?Q>`$1-rB#xo26|`^d>d8C%o88 z4sS^(yo#&((OcrpI!oA!i7(nB?QC9c8e~ed-V(23kdv&eJhJ4L;Rm9m#5D73dA5mq z^ol8y13TA49oh6EslVQN z!*@Ms6G2?1&e|#?6<>eafNL#-HB+h77~{5~A=h)9AhQ?yQ5j8*Lydc`GcYi1yIDj7 z{bry^8qa^*AA~KE&IGUF)s>ol8*em;*&gc5AKX8`aPh*gpxV@^;WpidEG9iw#4a!~ z8{UQTC;VzNyaF?+;G0jIJ4hoJKq3{5QDjAEac5De@FZhr!1R{Dis?J4@BmkF3Ka>@#q0|4*|=V{W^%ut3FSbvmoo) zS|$|9nfI*23u#0+R^bI|WnG$VVd)y6bbKjPzvzYyPam8_;OV9=X%MI|PQJ$3>H`}u zSd6^;>0p`!j!fX&NhcC*(k#3#+Rm)kSy84~`IM`SGO6-re99Hmw6^~ScPo3g)2iwE z*2<3h$264}jm~4Lzj}G}V{**)VRZW`&Uiww{{e7FDUE#Sb$l1Jo<)JG$dJc~8v$k` zw3tiXw4C|B%HS!rGM&z2sx9W~yX?x_g3V&hU@``MFOib*H8vJ~@!Bq)cEm1v`rtD0 zcK1}a*+Hi9uLc{7EebTCTZH(Di6jmEYh8SkBLUD%H(hL*i2!x|_ncsU?4U{Vd9&oy zP06Ehj1Ba$qGSu*kLsWC!z}_A1mn4a<9b~-qn~$rT)TAnPcA%k^>>=OL$ay)kKA=9 zvt+wWvp!nvwx%0sr;pxTv&w<84A3$=?Ho`jjKlP5o%&j{(M;!ovrW^{+X1NtqDio! zYhL*THJ2+Ey2@ud<)z9+c9=c;?{xsTSdSu4eZfMfyrg&J`t|qfjYjXevDbbTNnfI3 zmzby9)s$n1*&KhSq$=!8=tnrWv&&2XU@{xRWFhVogC`RzzyTMAvh7)ii6grP_AK*ZS(8-%s5yQDUdx zkMyNUJwc@R(6q~x;N{akdYtV*iBIgrWC#DH?r|8D1QR(ShqKHEd%f6 zqB+I{hU;-#a?6}EWePnV|CulxBZM8?3lMMZe8_F!=tg`wH9=hF}Gp`6It-dD<8eN99;4$pXrnjtG{>X zR5GC2u+SU`^2pakt_&A|d2*^*w3;TvD~ z`b%&7>Hp!Eo_W`^UwPu#@%_tt*Jw8ks0ykde>tG)yR>O5A{m`Vp{m$%>e7@|@>bFh zytq4vC$q+a?*ZbZ>9-8G@&iIPIKC?IUu6a57%cRgwHhulYN2(2Rv}^;ZvL8+X0KWH z1Yx_b7xCcGwdnOHURpv)nvnWZtkB)0zafi<+zS^;=Hw;EUT-SZy zpXcRyZZFOq$Nq8D_cu$&Y+z^0O=KB##^95|ZlKO9p8wgVu9M~h`P|Qpzvbyzk!*~T zn2(9Qm9G=aW0KMD&-K4PW3x~2lqYwmw((`@co<-6+F}C7{Zx2iSEy^69V~wJ1thOD zTBkaVT`9Dq5x!7vefdZavcg;&Pk7%sI@ed}`?5&;742AGnX3_e20Ta)13QzYtLbhRY5 z-MI+jN8A)LJKdSMzo5N5?-KekdC!KLzrUtQ@-L1qjyGn0$`&39aE0Py(>oW+>rwjf zd<;8(_68r&psi_{V5|1*Q!~BCOOdO*oS!(q6>J~F+#=~D3>fNI%i$Y>>-Ky5mdT|6 z{wchiyS3$Dlp^{KD=s2xL|gtp@F-4WHsJ5#bXK{f9smE^>9^e*z~|d}E>OwPOd+>& zP9Prm$YOq^S-Ng)`CIQuv;b4N9#Rbtzd<$=C1Dc&gQ_jvqX)% z?crnWl(tdu3)Nk{?SdCGUIfkg`J=rZ%$_FL>8pXtb0f#6+5*oI?I9Cb1`bc?V}pM& zrluD*URPJ0pLcS)1?)Bq&8@wsS5#8e$GrNxiO-gGj$#x<;F0L9j03WMUT8J*$(8n& zEqI$xb42uU5V$a$M(GPQa9lH)?N9K}2U?04PZKD)I@>fa%U#dGq?1V+=2+_1q*-k| zG+3IJtUO7nZEA@1UE+e3Y4j)Yxaz(y$~?e%JkBRlm^8p`n);K)K-LXz5rN{2BO@+P z%%r}!9bajZ`)Gys{s_5+!EOPepx#yNpXz@X%h~VAg|4g*?GHB3WV#bQq#5-~wQTnX zyrFLQ)2(E;`oLKaOW+==rM%by(;=jG;z1AWGx&X-Kl2LUeI6KO^A6Ok^*f`0{fZUl z6&~?Y(p+|`<`-+NJa67EPITQ^kV5o?(R#k|TT&(-uZ7*z{>{>xz5M}r*F9ET5siVH zEaa0Caliu*jFo!6yOG(F2d^u)M+JBPzuz0jG*uz3Uqfzv9-z+Ze}Yv*T+m z?%?${P0>VBujI%g(ko4oNzEPiM)ds_ny}?!EbtUQxK0=Mebhe?f;6XP59RaLCrq8V zg7I`8J1axp4_97o8ow(f5Wgg|KrPUSsb>L zwT-tveS;F}3I?Y?iA6l6Yv4x&3b9PMI+lI}h1}a5|>>3J7_bKkB&u!IXZSYto z5TCtZj5>|RZKHmTKdfF%?v>{W_T41mh72D2!RNNdrHWDU>LeqvqZgnBGi#)9a{ANR zvUti{coZp1rk zJ{}=rM6cqRp4>R6)+ck2atXn{l&_u0RYHwk*@8Pq`_Bopcx#0}{H0rs;g)qnEpLkQ<4f==AON+}F(K>R+&ys8RSm&DT=CmtP9g~G(5ksx# zJS)7(OZ?DMET$nAP3HO)MzvYXL)xAT+DR8b*wp~n?aXIi} zPS9x@eAAh}5Y#^?+(@xvDS9yxJbzxTll-wp9P|WJ*f+Q?Z~UE7cu)TTfw0BRAl#3C zfy37qBCt{|#iygt9&sM2G}s6)=)Ay!QooyYyLrICFm;C*v8@XOoMsrOIv?3#c6}d0 z#K5Nfk7p<4fYt=iCDwg>B(hW_NQ~sZS*e!a;-bWH;8THgfkY9YCb0SG+FhA}pwI6M z`x#pP1dntVwNgMpg5$sWlOg}f*+-Nlv-UP2j>}h6ne0s5?>L>fD8| zh%BD)$llt1Ur>om z$|*_t88&*u)swWRsqezZ<&xNCe`3%>Y;F`WU@afOO*(}1U+7CtfAsD*g}R4^=Tr$s zTNBONjCYZ8V=uBM6k6EwKm($E5LzU>^H)yyUW)}AAE(T!W(%{pxW7VQlnY6k9tnC< ztB?F8PyRXo^`gq^@<8j5ib?_XykA&^J>Wf#F`m4z>2qz&Y!tSz>Wsg+Cv31)%@ZT1 z*?$`#`R^;o96jz`v)eErC+ti7B;#}NkkkX1HNg)9>1)52=uZZ zimtE8Y;0$wRmS25YF`AAnL%|--z01pdlf*BzrR5AXkYDSm}80{(<}IT%p0!Y7?rpN?f0y6Y$v=)a;%fYi};4cT7KD<8hik z5!cS2=D6yRNZA{TH{R`AXM=hz51=m)J*q9%cZm(Nf4kl`*Ng3HUb2Tr3WFF_vp8Z? zpgg-^l#RVGsO=Q3`<%asP`$OLeL0pG!Xd3T+QCZsK%Y3)!13kent68k?V1bs*5DSl zTT^w{)qPYJ2i60E7k*j6 zSq;dC5#_yh$CytB);yb)q8E#ySSmVoK7Z)a_qU^c&Kn{`3iqyHOQzC&cSTgnbTBps zE9-rdvt{o+NM~|Oh0|swm71Hpbj+r|LG}G(J=0OSV0F_-=a`576NG!;q0d(Ad5Q6hL7ofyXu*c$ zSW6Sw-SX;i6~{clet*LOBkgowMV-}zqc%5uo8`TB)AW1qbGW?;tR+t?z}6IUM5F}D zr_wRn69L-g+^@o!ZV0kit1qQzGvKkdvxKRyboOOuL>R9CbfZlF#FFEc-n7kcv~|ED zaD(~3veuoy#5KO@n`Areot{)t`8=s)!+v5K6xMy;I^@Eik7Vi0P(D!JB)s?GA(?Bm+YBsCen^7=4bML873ywpH6FxyR-Vu)OR}G@ zF|!zkr%!Bm+G}nSQfS?`>d21*(BQ|R=I%G&oNkWJLV;HFwNetS_m%bQ0D#&HdSRoj z<*e2OS(^+THCJ}IDYY}$jhxmA^Lx1`)VB$}U%G{VufQ?31(7Yc3i|s``S!Z(NcYZA zx0SnC@mdYP$eJ^ba5;jm0h_@xd0lm|{FIDCHo5FX(9MxCcNA9Czf0!L?U`|=3kR(iPF1X+4CD#Gur~*FlYGwQ`vc^y$@FRvzf{6GV37a@z1&#`bJWiC zYAMqqqPv!HDLqe){QuX)-wqtvLTvBTuE;1nPqe{(rMQqSa>3QjlZdj1GMG;-iOZw| z+tQDq<;ov}-EHre)<%mxC(|4?NHY40F@1yrCu_^oO*I%0U4OvUFbF3 z7c+p6I3H&cz80(1-!CaGD+Pc{N&$0V>D@h@GR5Y4k#3R+6yGLybu_1wwK#RK3}c4Y z+)c6K&RGN&`lYX9hF~q`pT2p&*Q_SsmRNOjXuX3|`r7ast)!kyKen{mn=fH%*XXs= zl*F7V;+t?|fi4$i14)C}#t2Y9X&*EH>1FPeF$GRBzLGWTuf<~$tb14Hy zrgKfrw6os2?IBa;53gg>%ut>BdY2RphkxVntZ)~8z5R9|mux?G>OFk5PtzQb1+{vs zJx6u_JxQUE_f&|mq$g5NxjO!|rJtx_-|cFeQM6OrI%R5NIryP-B||j6;nXp*H!+4G zY0c=eC!WjaZ%5R>nnxwS-vCDbey<%K!b72V#c=6F>U%gS?1j&PcU10C&_mn_CbZuo z>o|A`?K^&*d)3siz=K|2-MN^UT78s$wL=uCte@G9XMFSLuYl&8VE5UR{-}9lQkj~h z7NP_5Ph?DT0cvy1hk#3o8_b0xXNuow@PaRDv^bN3t8;~MwAGq0XK6Z_;F>`&dKZ{y z2}yoX6iZZ?*)KbPSGeUgyI}0+NNdX!#bmf(uaNNvMx`taA2J|Jjs{}1>fVd z%lqT@K)hr!=J%Xz*0+57P5`o(QCCt`GH&Ikz$@ty{~Kh6^ATV4$pE;r zzEkwyT`H>frZAQi`&mdBQ_5N_$2vdr)|R^OWO&mFtDf!ri*S9knkyT8HjB_DafSwc znDPEHqTb=~(06NZrplgw1b=EaA)e8#H9djtJT`#dPzc*?H)(9HTt=^G3f!d4)tb^Z zJJT^SJI#=ZZ97o^_KBux=%Z+!+`yfM7T#rmR+AR?R|%zA&Sh^Yz3J5yLt};5zG}CA z)e{k)bk>T9#(a7uQi;V`X%LZbCmQD%hpU1ni`XHZqJn%39+I`ya=(teV-oOixO{1n zjIM0%A@!cYCt1fK6HxyU={3!u1Qn=s3uF@YQqoRi$U85I9`N2Qd)GCch;{D#FG9Qv z5yT@kiy_qVbm%2wSbS{l%8ucXVCK_L6ygDA2>V>2ZnmOZfMgh4)ik9vD8D-z`Unpj z@R82%dkBSyD4#~ zWDWT+c>&>AhdsceU2 zb-d3z=Wk~waA)(O;zDSQv62Vkrk5=D$m%{dtCCwfNZDlt@T)q})qHq}n8R+doil*jWWJLeYBB5M|QM*k>NYfqfq zdGA_P$wR#aYIm0(#d{4sYIC-4^1AFpOlsf$N%j5H*$m2Hx6aom;ERVzkd4X}-r6Q| z54MKZ5&kLB%lloSg-g+d^poITw3YwNv~~U|@(ndvVlB|ahRFKz@7{vaW`{!RJWuen zK;EF3KqJBB5eqPsnB@3)#v*Z*%ROFhK^1R1@~XJy90kGHdi)d~emv_;9$o*H{jpt2 zT5YxO#nZ1ptN-rtPFR5Z8%h|Amhq0tl zx%{yjv7@3n&0Fso+tFXfy)~Y-qdXmpYtER%x&-s4&OzNXLuNFvCbX?d)8+-GxHCgE z;f~~j$ZWmoO01I@Y=_I?Ecn)dC*h83%qjX?>P|iFQ&OFBs_4+cnFHfzUp6! zj?Hg$qlieF|HtevJm>D!qilb!)f&eC#|_SU>b?8HD@IgUE*b?c4o@h4K{&a32|Au+ z$uk9mx0lRxoP~u>9v(q6iut9zu^zH_p6 z4t6ne?w9b_ZF`&2+lCBSc&F&)Ho}!AorY+&cNLz1rW=E@22B>|x9)=OhZg%p7=7s! zgl##IQ#@f`H$`naHOpDJ){jZG`+6&gC=_iNgF)*F@vMwZ!db3rO1?UG-rh)Dd{D-> zbght81aGgJTj>eb{X&o}UyxDGfrlUM;Rhiu*|jtNEEl)?Gq8h`S1TN|oc$|aPBbW6 zeLZsgPIF*s+JnT!m`zwf%D6+IMo9FKpomIwXTHnK_V&xm$||%7=%>-cr;6h(HXfM$ zQ)lzx+jjTcW~fUAKlxqIA_;Xq?gmP_^dC-|m_U-#(@kWYf1!)ZlRq@{gX^@fh_p{w z)3!14QB7lQ!>*%omA5LoBIJ(~illOl9eTfb^!k@va%y7=U7TFlsCC*N2GjLVSn-+_ zk_ZwS80E^wI+V5@{5MtJ$|Z}RjrdDsXKA3N=Dts2gE`7jHyYJ1AHziBpCu>dKgru$ zd%A;Hp-0BGph1 zgr0at_cC0^?*RtCiXcHytd$R!BP^AD#buYaywz2Q3#*K_P0m|&Tx~9Okh<}vP zsI|#_%h@8BHMix)ToKg%6d970;M^__k#a$0P#I6$@#g_*?vb%dH#5rQggOwsYd|;a zw72@pyvqeKZ`EZ59*s++wtHTGms{7bgMHbIVCZ!41`!=#qgcOs@qs--5BfYcU8=t* z>b$Wm_;Xk{t?8slTv&!Xg+T|2b)^q%p4;A zSRZ|U`}aPE&2`jm>S@QHm!_koz&~&FoiOKRkPR74XD)T_IIsKSw$!8wEBjX3g8Kqx zZ~Y&sC``+^QzLe+d(|t1o^D|Xnkbj-;EkD71i6osN> zvdA^It9#V%eP4_0fR*HJYv;OA-F`3DJ-&CR_;2-AyI6b6l02NX11gz8sy&Fm{E3$7 z9Fv5FdeNDK$z;Ju&0}@x-?P-togbq7lanc@OK%Uv0eZJBw-DY_dwU5b9Fy8Ey*)#C zCbJ6TPkeATLJQ|7C7-k_%8llSEB``c`W26-gz21Wt>=zI*S;1faJ-$xrwl0nS| zbj9n-YEm%x$L8h+sjf5z0}tm#4GKkQEH1G&$K3t=9oBi%3O#RG_s>W-#mB;0_XqhG zD?`MyB-`@8^ke+^<^Xwe8L!j0SWS6i34 z$^)dnZ1b`7p3f6*b6OcLf`R9uS@(U@@H-K!g=7x(D{gY3z>iOIWTcp2ZQIH&tg<|| zHg9I{6g<1Xd@&=~(Og`kDR+HH2-`k1p5kRS9Eo1gdpxmvJ2RJ|5|&^f6+bO$rro8{ zu+s`p)K3IaELd45(SqeQa4$>FYInf1j~8Z>-nw69^WC3LDkMvEj~{r&sd0Y)gM0p$ zo8a%Wc)$~zGZ=S`3S^B|EIdDFKAE9@YZu>tNLt9utS;I)M5u>OAvcUo2=Fr;#?z6|O3efupb*~P{ zGOnW@czr(H1>L^xw1%%Rl(}l1p_CbXOwIA;?V>f3Y?XYRdb|U@YmuNmIAsOR>ft^8 z;h?{3|IkUx;XLqS(azP{27lm*RN}L@#Gi>Ccc!q z&UUbXfOOZxyG8fr!&3t5eg3^>__7PGO>M_C0i)J1$}`GsJ>^~lWn61b9B61P%e50l zN7(;Hs3DQ6_L#|Z=;y3MOqOTh#!{JTi^pyEzRt9L3#r;u@yZGfu&0fC34F^f(F)t_ zTzIZ9n;zchpR?cYB_9>MwGWV94tHy!axU%T6jx zE3Y5_=$E>wrmw81bFpb`d?ipjvNmY`Vo931dYz?EfjRNW(t2l$&cBQyWy<|_Eb)2F zm!+;?rq_cVtrs%AuKF&YlC=u^+2H!q2eZ~kWO5_I*v-(ec6b3UeSA)JW1dg-z-t;BWWCfq6LCso>m0$mD&JPP3!6+qPNdM%$oaz z*h=?IEOvQolfuz~ucToTGm!i}@6y6&}Z7v%Rpl30u0pR13qd(kQ;X{uYn3hMP zF1MsA3hOW_mR)kN{s)~JzyS$b~gs+ZmO{*e*gYBM9<8BtfI~SA-MYWs{m;k z%SgW;*yOWrre9Y?w7!4st-$(%B|zzz1TMkiHBjZ+U(NAr6(~ zL|aMcdZ^);7uKhK(U8c}ZqgXCP`){tOyAkuto2f5Pftf#*|Fxo;KI_&kfR<9a_HPy zZ-}r4oPzn9KBK(WHYhAB(LXm-n_%@h`c3(&fhx~=`j@kzK4R`|5|Siu)a z`2E@?3}Pp)bk^x~+Wt@w*eq_@k-Mq$+5KLzbEV_-v??!0TLZXSWRF=C3pW=Huo|%d zcO8uVEEM32^5U4>w81UyW1VV9Y{|Ygmd;o8Z!7EdOT~W2^iw<2>nkS`v(&VI#z z6D)owpA~^&6T#`4H!qa%Ioh+=Z}zw(MTdN`Z+ubUUslxxwgAVFrM`()*>EQjh(8vSJEr}~~s%vISc>xGr=N*XbW$>X#``vAA)>SvkT#heAE_H%XD zu;fDj%?1$K z_N-e+7Lr{~en_iMb^}twH&vWNVMOq?)Vl08FUXJapJkX*F%kLlHl&%*EHC|?=ET*o zQka7g>3%Y&?~lo*;-(X~e6k@f0rA6tQr`$JE<`sXSw3=Gx#ogUxqC7Mb=*TN==o$f z++aUuB03Tk32_g{7q#xLU{U&x)o11RBgcHvx3S%QM3-vfcsRby?H$0mqDJeSx=eW7 zNC3XtOL3eU->#D-JndXdX()E@fnLJ`6rPErIlaARwx z;S?DBR_;Kz;pj$r>m1_j1Vvevv6JV&+pW|#UFof?wS^R;;z_c4+-x6JLQu<@>YX}T_Mf0>#W^hva53B2VQRM zG3hMlqgtmWX~APh4IK*LhZO!W6h?q!lg()lhfCb_T*Ek!Fr%U-Dn|$}vSrHsxNS;n zX03?5E_Fq)McTg*tp_RR*Tjq%OfmcJH@aHm^PRMpva$lQq9%tGR)Q$1oQ77W?@~Ym zv;zFmAaQiwBEl|mX2Z|n&9IDZQ)zYbQMQb0NLSe{i&7-k2)YInWhrei^z*L{=gO7c zQR{IUX(>4=ixAhM1gPSmudDxl$@cJS=+tlKLa{Nc3x{gppIQSwGNMpqZ^P@zKM76K zL={~NYT0>$?B?>|)_`e752yO&egdABCf}OdY%w!iGW&lFBo%yr5>|mFkV~tf86R>Z zL;+UWTcvl}V}olxw6aeCsyhYu*Vnq`)-Z)W6%Skf{vzvRc*(x!eTi)F{vVq6s=tgb zi(-Q1O|mob-xrMOe=e_IO^hV#Y3e&KtfQqA@GdZ!@mXz0?{VX}*K8wNYUBeH9xz!sNet z(NaSb0_E-$tQQyWr80T^!rSKN;6pt_&}mE~iNWW=Pb6X75DRvFRY?2SV6_y}1<%O0 zz%$dX=x^Co66&#mrF}ixUHk6zZs|}-)`NSy@%Q^R-63L?Dr?JMuhS(DFg{e_LJ{DR zZx^j!Ad}ZmKh$om2vRn3)j8*fH~W|^@_^~8f){=3WPc{)7cgGOAB}0>T|X#Z!Zzg-Kmnnb<)zC!9YiQ_}KD<#l7Wb zsFy>coWL}Fxa}TIKzH)%hYnE?4;kF^NLDk(@m`de_J z-IHOnpFXQn{+yz5WyB^F=0Y(d%@Y4+HGcxG7 z0la;Et34T>%z1||fV(Jn7*1gJf=_<^fi>~Q^Wh&W%>i2E6idqIW*Mwb?!IWmQntC& z&}QfLyW+`ytFzjPzhFfHQ#eTJRQbaBR_F2o){Lh{N}w${BBZYK@6eVaron*31M;&N zvPXwkBE;$CUtDd}EaGbVG`I}O4;>BWT$%nIScasd(F?HQ_kHRPY>^@gCd?Rg>m??J zco=(25HyaJ#ReKt0^g+e?=hVeDEM?{87GQ3AY%S?zW`Xlo>ruAnvS~-h}@A%8r6g& zYaL-G#Plv}3G?h0&PCcb*9g}YG`($Jrfv{w?X`-1^d>Y?17n!hn(8mW_@FGV2OLkHfI;Bvl=T;&Ic62DZ(|9v^6z?GA6s7b9_dd~OkA!ob zv%cl4nR^cM+ytHu-}a;}V)Dv7yKfK;ps_}aYvp>8Z)bADiH^%^(N~Pht47Ssa6}2uWU|jAnp&&dLvH%1 z?37E>N}ken#OCz4|MA3?+($IvR3^ALG%3UUjV07>GhW*=R{i3<%7)v(`dmdo$JdXe{n`}S#5CmarCsx@qlCh z!QouJ=URmOOk2Yl-mHNA`(v?f5u)6!J4^TN*GGjkzLb8-KeUvwb*$`)Zuq~fxQlDi z=O@SCKA+p4gPkj70h{aHH>1o4=)X^AdhR^5#M&N0R%SOcbm(Pj09Q~pJ*O(pO{*lX zlG>WEEZaBLUH1EP6mOM&$kHV9lqE!|9^X<>vJ0hx5*OVXs)* z*cfHTDE1w7DGNu+6de_gdfJ8we9?i_UIE*%0qQ=5_b(R2pC*gcZ~Yc33#Ex8L`0Hb z8p;(`U;o*+gO&;QuNSLx_@aL{zEBwY5EAG3r|aMIDRBLd&|VRvFf~bbc&=B79)85v zijKBerN3abbAVXrUS&AV)qNu-_b}Q9+8r;M10WC1WoJddr$7|ow?wy1NU!&=!ZB1f z+<(G_u-<{bxDF^k=_#>wG0-H-y5BK>T7_S!eh_zRL2Y8E*d2I|rhJ&M!nD_Pt-4{? z+^}f4(<&IWe@YTL6S|G?dDZmTsX^z)tEJIq`IPK7B5~Z-Tl3~8bmrJQD-yq1Kp=E$ zjb=y7g}=gJdhIQUxI|!?O`x(SN-v!FW-n(-;xES3K=@7_aLnYnuZClSvwmuxb!+&L zv`mE6B8BSvM^;umr*C#E-k|T6iFyN6;TLZUi2GyIKD?Nmr|%yjt^#-hUP|9|F=?Gf zU@_&b@zH#84gXC_lE1%P)|kC&aGFj49h>?&B8Y?Pc83<#3NgDZq1-n+3vE9Q2lj`w zmD^x82=7@jyQb9=k4I_axqe_Z-fka!p*b~ByV%|qh}94=dYf&!4(ZNcb)R3NHn66$ zd2fA}<6pX6{1SRBY~ZOu=8p>{Gk8Zd}YV9#<(;p#m5^;~|PK{dD$G2RCE2N+@ zDOIS8rt1&detf+NZE$hEVi?*UY(hneb$RKFj5Ji%3bjlN4C;wn4otfy4z$Svg08Q@ z*|2x3iXUHd(YeY}R#n-RA`FtIMOs$4F!GkhB^?S&0)q|pG>zK&yO=Qe65E3;sDGBL zv$)5ssKD7Q5?JR?NgZx5`lY!ITZqT{`Mx}(79vH&J-M_mf233vY^>Qb`=pTqPRPF7 z*IMkO=@S^;a!!7eg&A(y739j4xUag(CTEN#t-Z@^_?mxrv5;l5m9R0??k9On*S3(y zRN4KP31%byMy5_fmKicx4u;SX*m+s(#!qHN@5>)pbOd{j^||gS+C*AH?om zIaUxjs-^yy{R#;oE^B7$$o6Md+vOdey_9gQ*=i1w)y8mDLOQ3NMvQ^9|Ecd1spXX? zHnBKlMTSI3M1Cz8vohRz@;VJefdAfWXH+KXib8^ zEjK#QHJ6^)c+lMCIQi;vKjho## zFD^S8?XN&;vI59IXko~!6hQ09Z{0!qlzj#kJLsX3sEwrxe_7D+QEb`Vy&d}hSOA8x z8aEL#?g_qw=3O1bz>31kureoymvJxO%q8MydU0%zhXu>|ZuC|`wV~DPoY*aJbGyJ5 z;b#F~GcT6dr6muviXDPnj!0q6hV;8K+l>LU_F3uYT>-94VgaX7^d!$QvCUD*LDY2RZ%udTpPetl>s!16c5hG4 z@f10>dWf`{{59tZGF!OvJ2s7j7!N#NqLj6}o~oGwmGRn^!&XV5Gz1gy!m@46t!TM4JBlTC(s{Y|3lSH`xN61yLK>?Kx_XS7V~lmlCjZ zhue|M!`+cB7rIz$qZs%!Pl>7i<{6BrRImAp5PW*J0V?)(<=1W)pfb4$r#w*{SC)S&A>1Tklm7UtwBvGpZ!aP;sU=>D(^Z}?t(hhob&I<&Wx z*Y|Z&=m;JjIX%&jk9vzQe<>}{eV&#w-3RztK;|&lK^)-%7Ty6Ha%JsT4_uw^8Beo& zXQh_p7LXN2%X6MEQDTH#GKO7oi*52fX{qhNl7s0i36~TipJjiGN9!N6A)USH`+XUIpTSR;rmfanka*l9BkeTnnDn2jZ8o$jzq`SC{72I-z zkk7KImPBo3^$@ySr?^e4`BC;8{>DquL7@&y(b%bIy40#MnDD&f50x>d&&7EsXXv9Z zfO5O}(crrW2OcARI`Zerbek}%_nCLE!bdtXU8pU+LYs`(qJe0GRio136C^E&ZuhuR zw=dRuy+Xm~oM&3@=4}?&(=?AEZ>xLc2(b<6!lbZULk^!Am_JtAUDpTXFJW}-{!$1b zAqAS#z%-58T)^M4f)O#Vf;zsu=~DK4NS?Q%7&sM?omEJ5-u zwmBK}JTc?Fh$N`?5vsK=I{%t*)AWiN#xBJEen^YVp=Z;-t6=$!;y)1aLogBm0FJmv zn6CZJ(bN444MBO#O8ePjF|WuVkU}*4cPDrw7WDtT_)|4>H*vR zzIDLM^!-9n0s+==j9yT>pAx_f{5RLo-jVYDk$Q~f;)h^-11g)SAe+@B$04%#kCaeV z-b{}0(qYf>m>VOZYjjmm#bWir^z6}%$5SCT{PBBx(Q=D=YP9Dvq8PV%yu~&19xcSBzArp;g zspoAGK9K12Ky^Rz&sxfLhZtXry$BMRWs2zj5ZTkFyX{+^jL1IqGSZC>WaaVqKY#q8 z%U6|1Z(=oP(_rE54mjED4Lh_cZFWHC-%SYm4!iDoH2X%sr`ZCriBgas=5@cSML+HW;d6k_p;{20=5P6%+@HoMeC z07KhB;t-c34cyu!y#{UI^l>cNkp^K_%TF-nXQax*mpn^Ooy!53rE9nX)MsBZxaFoW zD^T2X>@?=kan~I+7d)A+8J+{m^)7g+jhc|7ZW0+HPRsJ$PjdqY+>ik&ZJYU$BERo7 zVsWvbjNtzGOcL)zI!eR;TG1?QlmvHj*_B!LCRGH8H?h&#vU1R`RQzjeQTj@Ip7_d5 z6q-sPXR|nDbtK$}lql6iNeF>@H zNPj5vu_+}}b~T&r2M)3oVZjttl70J){gqECqjy5_0~PAi7~rOKMz}8;>o)ODOmasBESKeJ=hc7IJC#;1 ztWa8w&e^x_+yo8RF)mw z+x{@q?z`P$19~D*!TkQ3EU<6zsO)nG%YVE^IydrPuT_9rZ6TmE(DMcNi6!A*8%MjG z3+!3D9#`d^hqoK}K6Zb-zB%fIa#Dv^GmaP{;&N;@WHoJEG&C=bvE5t034{`X-!{(P z@jfzkrYgAwRe-O|7jN-MhxIVmxMFVR?O{b8kJrSwkD2@W!+&1#9%)?oMW_D>wF&nn zX{_1P{!I3#`PCPG`yd}D*f%y^orqc45Wp_wBHj;DqP2NF2d1UL88N)s0tGPFn-$Us zBS(v|nCx9~CD^8z&|K-R=URo)LZ{rz8w*22xgZhJUwF~FxxI~wCUdlpbZF`2EsATV zdy4c-+9t1PTQaf9)g`KYYBF3W?YbjHj6*zb3z|$3U0k(QgoUy%==GH=AJUAL(HRp$ zs-27+G2>VKC~PyQ+I(C)jX+YJeljk% z-MIPD|KWaC%Ra4m1M8H{S(-;Y^Eo@}z{hB7>r}pJFVQ@Werc4>>bEVL83KvaS+4jBfb)> z4uH9u&l5@=7Y&k@S@o9LK#8HeS=@)Ut3hCyKw{Y~$sKcAmHCj*;eMLnVfu!h`swG3 zEQtB(60HxR9&x+tB}inv)mW8Hk|h7FzB?i_1=(N`=Y?&`d+~ff9{(zH(GS3xwWC7KUiZ_@x&^uLG4A|BI1lyb zT~MaFC4<%w{dE_q&@jRb{#DbXpM1FeEa$|)eHdCJqnwBN`qFCwcc0Bi3_`2COnQ8k zUHs)~>)PUNaq>{+Lk9+xOlteqTa~;Lb#2U++4ueS|F|NC3!UUO{;*@Ec4{Kfva-8jS`Kwn6@AbEwVddomry1+WIoyj!( zO_1L}c&gU5>0uX~fJ0r(12sQN>^+$btd992`z_sfP+oUB4eSwC`YT-&4?LOUtoKT5 zhgF`*Cb`C|i%gDd_7D8Mexj?dVWVHM7bal`ZZtBCMpFF=bAPY7TDr5WMg`y0;n|XF zj-EsQ8>O#U%a5z22^;oQGkjwnRacs9m!t5Vk$X%(Nx0@*LwmhBhXt7PS)3seVksY1 zo2f>f-4`-^%{O7Xiww}nc%p+NLvuf+pyW*!J7B$HP}I?qYvk;z^Zu-7SAtfQ8xtFC z+boz)^T|BepmQY8n`35w^*qYD2WQ&)Vr(kw0Kto^s?40H^!C)&dNnq;(RpJa_mtFk zC;SdMee=Z{a1@xg!s{})_dgz)5V+E!rO>Mqmxl#GSt>CEdQ};7C{QEE8%Zk{Mu^3l zil3w<_gQWNvUEmW4-%{iajzrr?PeO7>nIBzf2zTWk=d);Rt z@zheKWn~mzoA*HoH?s8{y8>oR!bgHdos-#%7qar)mbCwr!82Y!Yvt_Mezj;((QT-n zDjrt!1$+Fw`y)lOgEuDg2hTbyxLI;ZBIbpUeij(ct(n)VaRvKq8|7V_6mk#S{px6` zGo~dtrmQ(!^A~qAPRl$WeaU5E1TmB>b*6PEQBEu}HO!?+Ey9anlZkG|tBb;CEW-S9 zw7%+$`U=@ELdfM-d=axJ>9x;$+$D&SJ{AQ6)m=r^+#|M4iQw0YC`FZwxhYgE*NUjt zxKJh%Ln9nNtZvrUs#K@WuZv^SDVG=9nv|nI8h#I}m_%%mxeHmny0+w)jT+>+BQNvO zB@E*lW;k+Mtyo}2H%(J3W(IfyO_X?yW?HY8hetnk&pDrSz2p_icYAd_a?wt+pEC_R zh0nl5oxEfur`{_b&Nuit96S_@X_!P9bfSs64M#`2LZsO~0H<8u!nzS|8q=z^VT^47 znh^WhqSBQq43Z{aVg4b(A6;1z% zOQbjjUCJ6j*lN(5;FV`)qy!Jq0q4e*P4N$U`(MtVklC|=9U$~3rc2_%=qu(6&xCjy z9TrCj`5ivy#GS;I5F#3BN$bmsbzfX|)VZSOWDhetB zDkTa63IZb1ArTQ!X$nF_2vHD0s`QqkARsjYB1#KIdI`M+g7hjy2)&0IN(eQikel!C zzVE&NWaZ3S$;z5NCo^a7=ksjChhpiQmGT;{{~WK6Smr|(G=p87h?c3;(-WJu6&Fjc z+Gt!ZnyRV7I_+4V2VBmXazfFg-EX-pYqfjS!2C)c^`+4T%hq-*#rV!Dzh3T05wIDY zAWhEc__rK5KQZR3y=%q8RXpxfvUY!Az$EdMOkl~i)~ng|=N)+m&KeqgpKZS7MQlcW zl7p@_wnOn7F(!#y{Q{#VAl5)-UrqA*mgY4EJ}(26i+DBf-S92Jyrrz5)sY~{7bWCx zbPK?x%2n@1Ud?}c*6jAx#0Z-uQ5c2`TYqH6-Fa}1tCui?T4msi`(gMar9&6_1>JA&SyW-F|%@GF+%RK~qWI#BFY3Hh88H9&gYQN((`i1(F< ziesCCeKO?Ih0riJR>w;Nj_Io{%PomwF5!TBqTxck<63=&IE!2z_RhsmmR$1 zjEnkuc9e7>M~5fo+H?60$1igO(pF~c&0f4PTT!w}s^9t++s}LE?o8pWQk1hi-ZXI`ODh*n@5 z9_S(~C4JpDlXVz2fjH(B%sVuk-nG}yTP~8?aii5!)m8U zeAo2fMG!J>gmH4Yh-w=rBtKTSZOfWUxHQUx{h($j>Bp(hSC_NkB+nzWypI~iSB9eY z{j*D*Y2G+2w9&la(IV}g;e`s_!uIm6A7nV{fm@Ttu2);$)77YX@gWJeN*NAF6{eJ; z!wbA36IV6z;87e!wzY~yf&D6p!Pn|R@Ep$kk1=PIId^qWWz|a~o$r-uHP%vu{Muy2 zT0Ue+wKppM2BDYEf4Wmy`a`?9hwphzMeVI>4LzTTzbmFc@&ad5*Y;|_UcUZUOv}f* zv_iS#2Rp*CcE!oq!#W|K+^UOR8z|FTVVg^TclV4i## z(~Q>B4NF>)tCS7_j$}^CCBQEtL;w@mOJ4H(WMX-^qGK-lss$_v+ik4cF&&@b+5fBj zGwOQTHkpqZg*Tjk#QP>wu<9cI*_=a97yJEoHzA1G;VgKfA;xe^KI^StC}*u4;@}#* z;xkm~DSTV~hO0i~VecVS& z3HPL&D~{3e5+MXkN3nTx8%b|jX`pXg9_>(?F)yRAd+DoWjmSBT7`>HCAN}-;P4k@M zbhy-eZTDOSc#-l36@_je@3bGjyJz$5OPg2Za3k0$ziu2p+mnf|_1g=A;&bp9lp7NB zxP|YjmG4acFdBDoe|{)7hSLsF{asXcs?y0lNu--S%c(e$Zm`yUnd)Rx)_y-zLS-Vs(QLt+KTqGx~D2&{$v$Ww{UD5n%#0en~7-XbW*>PJ?_3~j!!qHP{?PqMuA$U@^|FkD-4TV3MlnYrW4#Jciu zay#jDZ$9~gqqVwq-Mre-t^Rx89WHY%^BimD7?;XDme^HxWA zvS3|9OZHZ-_zS#yC3pgbp{%)gD*;7Gn2}1uAv7UTMor zE?>>hZkLs>AQF`BddWv^$2{fF-om?3R*caf{)@rH_3Uv|-$>V_KBBcVlNemYT{+%= z{Xyp!)2W`mvqHA+NkYuVFTJu3i~~^w;J0V-(9bxuDnls|Lw8565`#FF8_c{{4<2M6 z;=E|DS@ykqnWOu0(g;{q+a=J*3rwe&oOX?v*qdN~nLzMm_+@|1^IU49(mO%yYU~`J zPX1U76``y+4ayiDTm9*gAzi3q!2t=pP(#QdJa?_Hc-L}G`GivX=yB@6rj*ahbC*^Q zA#5Ip<4v|wPKR*42r=p(G8iT^Pw>{^lyAF&h&JB?`(jfroVC?*Ifxp4SSQ zi*~NHSxuUm6el86kHG8W+D-&mHiR8XG+P^ZiV)E4{ujs6(~@h-`j{7*a%m1n_JebX zybmmngBGN>j^5#*9RnQ?k612BS493L_=Ghr|6t#cV*5SK8 z74pay>aLDM&deLKc?wmF;8fIW`&YaMK-6s9>T*iM$GLhvbSzchT}&2z761F1_pO8$ zYIdQU|L>xnU<>KZ%%ZK@wVgiGt%Kj2zT0FTZq9}m)%s6jUbr31O44vX#b15A*dA2( zd6C1iEp00+B47uF5ewN)lgT=LS!nF;v-(#hp^^r)E2^vgmncrM@c4hQSsli4%L2|B zlJHWmB0?ZwcT@ zGXf?Pd+ZYT2HHSRb1#;?eK3Zdb}!E5!+2!$ae3MK5qm*(J0tH6Al^&<*$0NsyVwnO zTQp*cMg+W#&L5UdmKLt>c?N5P73mlp^g9#N2H>|n_T@(iG!b4X99x^V_E?BWujmyX zxOE|U&7n5qUSqcPqi8U&dThjki}N~5=ld6C6_k#FZNZ^WuJW`095Fojz7xL>MpcJW5m;!DX^WQ_!aC(l zKqpQb?d`JRgHY*tS3ib?6*u!@jZl;1@VBtw^mCPedQA1yWq7KJMS;FKj}1iCwkhYe zO!tP2CECdT{E{ReEg@){QDo8us_#OW0d z=vY`T%V9W4c8OXYg?ZlI{zq?S60$*f?M8c29HnXhVu7*(`gAhUeO4(``GdoPmu=vF zOcqzwNXm8XEk+Xmx^520}a)6^krrI(;n3>>%$hU+oEna^ibS+qC5xb@phJ z^>v3LnPP@OH`&e_54QZo+hFVwZ8FIk#k@r|okYJ%>yQLYu7~fl_7{%?gP8UB6MZEqpM>;X=+YBX_tR|G zj@HtEH#enSS%Z8sc!uiRZJ#Nk+;to)2->4CHBxwBDSdi1YHDm`fY~(>|q? z=!-W)3A$DSXHCq%4{7ps8Qm;=^V+2YJ`hsTTaOpr$`k@vAK#?jts~0~YS9bVf?Qf0 zltp=|A_Vb~7#W4{c#3|749JR>gD0pQ)rb3rL5|=%<})Lk*rXy3x{*9B%nJUNdoEr%{@;TWD&J3r{JM-BY8OZ ziCm(pmS+Pv2t@8xPXK4w`xa21UQaY+M#^JLl$eZZqZ?@pDm%$#M+6N>=v7Dp%wX<_FwW0fYkxf+;>rr|0 znu4Q%iioOXmnax5VlaWq0Y+|1A*qQ>#RO4B{Slh=RcD&8@Mm+rQE*k_VTGT-Ene4X z!E49~aoP4KV)gZ+&;_vM z{{jTvKyC-gPs;Xavz3|Cq;)M{;x|Kbl=#J|qM77ZAfP8n{B&1?pItvc@oGiIB0c*LDgYNBq<()%)58&dtvR{RSPIwtCb{kKYQvl812#Qk zW4CsOIpEW0;-AX#9d!@5?a}m)edQ|+>QxUu9eLv5(={CbE;K15KkT`~sV+M?Imq2& zOuaX`mp_uCzVlfQnMV6f*Z^yj0r*s+3hg{^tMt)rK?O3;GTHqdeL5>_tW_29p*zA@ zM0EVeie^=U6w6?Ltks&u0qw8t%BcEpes@}F6FqJpmu(sNS7p~Bb37Hq;*2CwPJ8le z{g^oWz#}DW9-5Z7zgS=%9=ZOU?&f(tQE~)L?Ud_NKLEMA^t#l|)cA(ClL&ChP(G4F zt8@CZDbXRh)b8(XX;w+^&$f0wn=_8TKiX_y_hx50{@gFo>xsUSf!9tH>e}249W8H( zgq7z`yt4E?8*nyKinWq(fw8w8}{bz7=MUwxH^R_DYC z!suU2N9~Z8PV*6~B}-(l{j>s=HC97n(F2GD#yx}OdtPM?uc57avH@oc8A{_&#|Zb! z^8ZvCxZAG2tBdy%a$5SpQ@C zi*iQ$-rL&_h``VW6N?haERUq8QOD`4fLw0H`^(3w<3~fp4pwZhPwF*l@d9!)!q4M) zt-o6ox8(wtf8qF->!T7kKh9~E4!uC_dlx(nO;qz*yjDiBc)o2CdKYLkqGpd?{Tlnc zLdCF1Pt;{2K682EZS5aE|E&RezyweSyf!o$KRQH?9NcU(=|fb}8fd zl7=lE3EuJOj=-{pnEbs=OG3?*)-px#lb{Zr6LgAeXgfgDRCiZ|cRv<23s6G9z8Y=C z?_7bVi2zR&W6uG@IB&Gu)BN>jU9Sq1zD~#7-(jeM4~217&*w)FFVPdnP6HY*AR)l{ z18M=l6L#gim%!@CT=sR3^TP7Bd#iyPTZz`Cn2l@XAkRij)K=M@y#>!4hM+)wex2w| z+gn&4f39n5D4Zv*#%nRiUq+2d#~w1yr%s_dEikq5rAH=rfq644sV2@AYpCm9ThBbo zO?re$W0h9ktABbBOVl&cSyYQ=6SG#KFz7zIBrV&R_qb|tS5x2d%kO?z5ng?^831< z$Zm3c8G2W?a9+!%L!}ad#I*^i>1J_?imiF+%nM|{`g?cQYqi=N&-ExXDmcxOLc zeKg9D=173D8qqJV@!k&EUE*=*=&9QDR2;+$qWJmRp>vla>sn>z#W9ZtL6_y_uEx!= z<3^%0>k25c(%*3zTsuEF@_1pQc5av8sT9HZkDK9?m8OBCPhYuCUpK2*RatkG>`6f^ zYLM*Liojlz744jYYGd~K51<|=!%%NUuC+dW=rltFazTPI3q_nmwAI?>rNHu95ddzo zX1{+pqK8Ro4Z(LOImtxaK~1=;-BRT1O=7q(85jx&NJc8#xuwaFxKay^{STlj=uC$W z7PgT#o*Q*jj3HfG(=BGPkrYWEs~&}1gtLJtKaC?@Ho-+Pu`nxEMa8UcCdDzb#@3!to_~tF( zXq7Q(YTxg40By z08nldyv@L$7L@w{D}DBPsIoFxs{M;=*uwsm@pQ$*^(vOwK?FhmwPWdi&N+)x;c_{* zD|gdAtas_loM&bw}D6 zleqR4Su@+}Gb=|@gbkcPRnd$OF{pb4cOgS$q~Sw-{wqiP_vtF#u&B!n*4*snp3dz1 z^xUl6wTK;L%)ch;MvTMk5#8Hf3M#m(Q~qCMs=|QQ9vl@AWAOQ3=xRqtq;i&fK*4e}g*RW6`LZHc5 zn-ixo`vficbHGpcPSSqWZoZxy_7R^zXK(oiy&@7fas1=4-WaE=r5Q|3$i>ENae{>-UgJ3wVpw0K);BF!&7TZDidb^0~0 z*K{QH-J-y&i@Pas!jDE$W(ZHl*AYV9&3D>t7zvB*c&_>%!orGN6^qfB`n1 zP=TALQwBrC1BHOMy!=gqh6q}aF^XLxI1e#{w< zZ>5bUxR8c88F?924Z00tfRZrA&0j(tR;uHCIvDTt9S3p?Bh4Wejb#lgDOim#2fg?r|ig{BOE_ZEB^9IHodE(LsqOfmFC%K z6_fGy;{ecuSNZ$D27Yw*lgs`YBQp7w4U0Fv+W27ve0C*|UU)lN-|gszc;4yr`!c$P zs9w$|vQuf7VA*g(Xe{3Qou?wgfi!f4>m8n+#??MVjmt1LU6^Guh&9y|O2d|@d$6Z2 zuosnz-Rh7{gl{y7x42SgAI06yA4r2m2mbQJZnYnVBeJmc`gPV{QhZrx@OrgGg6hwc z+yaQrWA7?H!7r*I=GTO%%A7FDPX@SF-gf6;;)@8pUMucbKrKS7*f50pQNJN8iw!);BSTjF6&^ z5WU&~rh}4EG_2+9>DP-P#+C0zwPrSqg68WzSpub-YTDPbvklSvkQ#*h^@XJx+Z4uU z=2kwM(m=T3U`mvW>kRQ^G=qTL%cGP8to_$b=s7wm6!V2Bwv+StgK>gq}w6Xj#OAh5%l5bc7;>l zo_PeO>r8hjKu=0+8eV0*aF6^K!dZbfJ-1|NxQ2Q1F$Cv3x4ph=SqGwCcdNnBu}s}S zhYSe-+{tcnq&N!X=}hmbmB8SdbXYJFP|2=%OYS|3k10vi-Ss?XiktV|ll`fwBKm}d z0XF%|r1&4zQ{96SjcMY0Rj)l%NEPUk?+NYhZF`Xxs}WXQcgG?B)VrRX&3h-C=ByXz z4IJ&C{k`9G*}h(4UwKs1NQ88an1-nS74{K}zG3c895g5akf;ro0K_qcl;xqTLfSde+}b)ELS za?Yr%0pjv!LidP0Gd^-^x^eI0{>H6aH{va00QfTm)xA@dEMT>v|LWJa2F;!Hc}jBB zQB~F=&)7{z`m;+B?W_#>jEOC@=>mF6?C^!Yzto^E(LTreZcmtsNM37xpNa9_+mZH#F?zVv$*bu7YiKG52F`E*k@u%m6DPb~R!gx{ z$vd5|XU+|9k`b7Qv~K9uYLkQJTtiuf*TsHvhAF$nfZQKr^2Z;3#F#C z+1oO~bw7pw!MNM#{A)Ggr`nA?V8;7-??~Yck3@~=J*PM2Y|QU(AY-^Qn|r4W=f=JJUY(z*QeAi4LYZYEwLIPmn?is%qFBbh7?ernqie}jG!g6W+_7)mP= zHeqj-=5*-O=pnvu6^OREyEDTZZgaNz6XSb3<9`_Q8cKM1AFWD-3H_vMqelfUN@&t& zQl;<&N4&Jd)xUTncAY7wtaLIrqUEU?2bH5k-gjsMyR$(TIahVE{PRAD-rpH$3!*dv zj=Y%}AX=|;wuM^DM%}j5uqhv1`p}V|_0sQtVw|pAZYr6Z#xYF>FUXw2c8{!E7qzoW z!(tP04)j-`Jtk4mPkt*w@B0fTp0LWUL+1ZM7z>`gdRIccQpj zQ=ZRLGU2gDWtpMXeluB@)m_;+N#~11+p1_<(_JdG9(x_6oo)^-`IpH__{V0&yzbUTn|+*@&>h@j+G$8v^pjs7@sOKo)g{5!j# zp@#7E#?|=D9kTYsz<8Y23vFy-Eq+OZbSAM zFHlgiM}OBeC>d1ddXPBsAxLS*!7l|{g`EGrS=apmf0|T0jl&xk+Nr+Pl{J|9cTPmp z=9Ax4X;Zk9SaPKb3AumpFdD3vzk^5v-S}}e)Y{g(jyXS3%wBN0V4*Ja6WZ$upZ~qK zR=(gMm!~3E4BTXb=R@k=nso(tyxDp?r0r?z!0sb>x~%5os9*SgE6+C?bz0gb@}t0H zeY=0thGNBHx)W{UOyJt*MT6`H(VGbs3dOhhpDY9pt6@LBu~|Po`x{`8JroTdyWAJ> zFQyASXYg?|WE0o6@^_z~zB!vRWan`GMk*4N+8{ooT^eI=nAFy}tsHrw9G&ph&gfkR zL%&=Qlb12Un?2I@>_FTKyl>K$;eQ;W{&8rlFd4E;N#+}C;{z$I3S*Qby;9rZC|TIP z%B>A~2MvGO;R2bB3BSgm?B2xokN#y*pR1|{W>BMpP@{qO@?85lt2j!wkimtU8CgVuj^{Oe3NF}ZgMpA^ zf8aNV6y2>@IfuhrU>K&dVL^SK;2~kchyMH@9TfVMTO!J@m1VjUp^-L!DEyjnL-+g| zR%BvT^woMZ|K*2i202B5(?sKq?0q2>rJbI#876@K%jM|WyB(^vh1qgW_U(;Jd{|a; z!|uOn%O_VkMM@gW+w-G=DMXH92@}vxZg<+KO{nu72(`IrK5ECfWGfdlzK8hH`vT^w zAnu;ze1Ylq?pE!O-vmIKzjDd2Bale;ygz(8cLMpv*}0o}G!39^qG$^!TCn-SrjP)O zY?vH`6in+J(3*R0O*J~~qell%R;)6x2MPz{iqr4GC;Wwf4nLI!s!S{l;1+~*FW$>V z_g9&cgDhIzD3&8mri6Sw*vHbv?&4Yv2LoPUjtBM<*RN-VGV{8&NNsXDaUO43-{I2WTJj7vJJB`;L7k;mtodX7c1!+> z!3~USWgx`a{O48Hqxvh@ZSR;&8SPu;piYW z-|brr;#IC>wW;w8P+gO`4@QZxH62T0{$cL)xEnGCWS9vD7EPPYkRi3~(xrp{B<_nH zLw6z!s7ue4pLw65-#_)=y;{ZV47j;mA>kmd4YrYyKZ8S+{!%UbAAd4Zhnh!~K8+X! z{|^!x70_{D{vF+QUEtw|#F+pU`rU0);C&(}b$TntmqB0>!@Vsh)jW*&tHi|0S~X2& zdXQq6s)F|gOXaPpCJc!{DI3{huFw`mB>d7UM-Z83aKm%DibF715Fl?E6^g1o703&~ zOCO#{8-n#5D7>70$g--P)O9B7C=q;efjPwD%iqp@y8<44KF#!Rs5+2Cu4OAWZ0k1E z)p*SLx~Nd6K2?S~SR)6;k@QCX8A@BdA!EpJ3N|l}m|xn%AQ?+07(e{9HA=lwd2ee~ zo!1=Zei7Q;Al<(Exh*~{Oo$0<1r-ek-Drc8{!(>NP z{#g9siz}DV{?fmP0{n3u+>$lYqOi)kU-I>gmue$m!DW3E%7?sv9C_{wc4^>OOj+n! zKun92i!bq+aVnO2_+mL*UlXss@dwuD>&~EhPUlbgv!1H-(ds*sOFdaCV0^^=El5hO_0xu}DcQ@~wHN&Qft6^0g}aG@{V zzQ+>lMczgp*^qqt7Fo+?$#T_4sd7B9UdX1ozsOQTp;jUvR-qaOKK8oqD>wZvW^{#x zFOgjZ)VsuF=QI8ftMrmGWm8Cqa^p4RF+N-Yd@mX+>U@u6y}!o7b^m(lE6{R(RsfU8 zEa7XVL#aKp476Y90^hNPFEM@kNOr`H*UbCa;ZIOEcT zYR>A`1cawX_V7pZ_WXq~)c8Q-jS!W@>PjTRsQ-oo)c?;E_BMaLqMgE~ zI>V38KfSc;|9Sx|lUhWw>)yJ*4(&8r=e5)PaWvaok4>!@toTt}pC_HUw_fYG+g!9J z#ojI`>qqx)*u06CLVo2qUG^`ZZH1lM9D;k~yUkLGVyj33D<_&!UGm$Ul=F>|=8B5m z&eQ+A6EKd|Y{>mFTg5)Lot~xju^sk4v}%L$0sYj`-Q{UK|A=SB$KtsYLBdRb`pUtlL5(}kfCiWesBdt+55h24Tf1=r5BHvRU@~eLE75MavV#$-bYG=(>;pZ4)IVhS~ z=xR}1T{ty;yoL5p_gt`|#>;>;`u^bNO-5<yv0QUJ7f3rn=76v=D=rPehObf z+boWZkD!N$!hhiSwt$=ebbm8WpFtk$&`;N}j~Dt*1N)FOT!vlB&9Gd#gI=5!w1=qf zsUwGxBB$Mv;|Iz9O@AbyR$!;UW0Q24uyq>3B)6r8c>+(Cu?kd>4Oy{A`X4 z%LPd(jt|zSbh4TAli!KN4n3(2#+N`#c0qyC1l@Zj;+#G`vD|fp=I1IbleTwbxM>~J z0kp-gUF65RXZN@<;)?85BzPLg}cySLg=S;>$e9QUcR>OIm+W~2vOLr=*<_u-PtlAaD$p*=QwiD zgl{H|2QZoNe_)|-(tog!JfyXdT!FHM<1=S8B^9dWr&#u=>Kpt&4$f5ntDOFVK8TT*FVMIE~pE!o`UmH<(_1*E*1q|6G7@Q&ikTSU~UVn3l^Qz_Z zJTI+Os5UL6N<5T8$rPGNYkU}JK4>z@s*w>q$bzrQWZAX4G>oT}yd}X_r}5$$9Fbe? zXP&0%UYWFl+*AFz?)bU0 z7ALyT6wA9<7tRWtU?|`#Z&+usx!((To(U`-GLFzsqQv~;@Wups`qyAr6Vuj0`wsp> zcM?V@(OWwsMKm^T@dLvRGLHfx3#{aQn-uC0@7YWF0RpAtvH|DjW#PzlVV{XJ)v-3s zLm}4>43fvkqq+9gnht_a@*hb;R}bd)zRW&k_a>Jrw`TRu*Jta@J6#$HPSH<(=r}Dr z3Grtep-mipx=wO0yQW!j(_e%=Fd{Np)r-hDF+00-0p~MEnxj36IT$dZ^enxHHaPpF z?vtM+D{KqZ$=t^a`f;=+x-q{^ES2a0{jL(smFG^tRe~6O*{saoat;!(KCI#E8YNIpuNE zYJ|`Z+hgG3GPJ$w#LFqis&42)8K%P)RAC79Vj6M>U2Pr#1Ib)R@o2j4%pn;~C(q;_ zC|8_G8PZNCJ#^3R49io!xyiHCV2a<_drX3L{G^{Lf8$d!DlI_gxov>2ZZ-jzH#)KV z*Tv_WA!fWsS6)X)pOb+sq0B-7hzRb~)q`<=R3e+L5U8X|j@7+l_p7OI-|p}kjCZ~I z5*9H2EdBz`(opZ<6rYa8?YG=@LP!$4%@)?SG`M%Oh))`_KPAOqbF8*aWmVOCDt_nc zw3t)sPEnSE9DJOSGI?l~COUtm96*fSpsoidZ5^#APbm7VJywm|Avg>qPAFO~VBSW% z03WoSUcOLTGrr#nKNN9EDm%OXo@x<$g`B2xH)Gny8RUKR@AzZVJ|QD{vA(|DlAHsN zaR?kh)Z28!Yd%)RVJ@qu{#Bb^9%)%bPm)XK_>X@#S0pKc;9{CaPQ&L8h~WBRLt&4b z|E4q0R1l&V>`40pz6LWKbNWp3T$|gedqQv0_MG_mwjdo0Ii~Sa>r_fc6z0WaOg=qOp5yOPLk)_SbYx)Z~Xh zla0B37pCx+upfC?)yRJ=4I7Nwne=~QIph$*A)trNdqGt{Wq>)@5~k)w=A%w9*V&L- zptH0P0DL8_%I?&uC9HtLv8>x=LuM=A+u5(i4gKZFmi7#t#{uZ_xfg);r82hSmb%&4##$PyJrSi?5W! ziJTtD9Wl84Ml5hORsrS|iFv#F_F#H7WS9N6Np<2BA1OIs^*v3`x%Ri~{q1GBrqe+# zQH~Gj0eo(PK3hQ#y%!^^GG&4iKj-#2jaSrQ`gY%j7+z!H=acJttg2p{0au$ap~ds7 z`|+mJkyq8(dEa#C^6?{NEd7ceO``o89o-)xV`5d|@D+%7%3p}$22td>gbcJulv`)M;O8n&Wm|3agTNFcJhsjGPaw~s$>K5zaLUTjsSAd}# z3CAa!=+Ex;(K_)SJac^XXJqt@7jPx!hxpYdW!tMni0NX9W~FH`=njEn1~>XRx5@yq zOdqpt*mr_5;WBN2)fkQ74v*NP8F$Ojeg`VXI)5dIq5FOkprQAp2@^*!L%8}BXftyx_X zxURrR;DhaFEE+GrcJ!rLE7+F>aA{k9sK{p%(A!x1|Aufop@7=`qZt^JMV?mEfSV3J zkNu6jUs8W=O-rfw?s=y$(%j$MtCr_E#5B71EeH6+3!fNGDXq#uYR^943A0JO`5PnT zn=F7*#{a0CeW)89Y3e*}yX!xX1KHqBjvZ>O>#!3wgaG9aV^*UKs$x_W#62?D@QfP7 zX4A~Sm}$v$xl7nHKSv>x(=tQAzqH`r1q%I~In7Ub&r`Q>r`p=gQ|=C3pc_Lcr&c~> zmj2L7jNFtEZHqtRtp}!W+rvL?K$!tDqjgIcP%e~~!+M&Z3}be4y4l}bk&84nFw*Bt zTD^$RE;}GO?i)#jdCnspjNNiFq7g42-T>5sOy7ap@KkDxt-+3h|51$u1g4~mz@4Xoa8c`nj_%BU2 zjtzKI-@;0*h5Oi^oOpE6fa1mw^g4LGK53gq-NoL9W-pJwXQugIPjT!ZhS!^q_jnGJ zA;B9Bxu3l?GnSVc1qTc%3yK@?VSwLGV?Jv`{kx&+y}N)wV`g2Cvpn|N0n3Q%oF5c5 zC+|dGt2WYxRH`t$UR(wKMSzbEAt462`Ac)d+Ue9jl6`1a>ay^c!!%8itO2oDC+>&t zImux;wRXUQC7~Aa<0h#cmq)%Ib|&@s1W)6!s#F6J+ehfZi!Yq#)#H7~)1bgn)ikcV zz$}eA-Uc9kCvpZ$3HPPcm6{tqw0b#je^t0xRk~3X1H5 zC3V>|9gGS(#f`yC$_TvOoy44toyn0TVPW+;NU2Ve>-J{}M6gHZkbndr#~_qLh4TE% zlG#VoFh1eH--e>2kMc|2uDEqfd*8hMa#lyrCvGJq@}0V)J7jIEe)D@Pin1laqFk9P z+BE*C{BM=V4x6-ifSyMm(EA?}`xujb>a$j1hFD`~hs;G+&u2AXw}V^G4yUOayNr&n zm!DUh1{@m{%mG=jYqPgf+7b?Kymem-Vf5~`$as`POS{-h?Lf(?_q*SXN+bO&JO3)n z|B86st6A9qr(-s=YD`n6qr-QyMH9ZSS?v)$%^ z<7p_e{X~IVHA55_e4+BHL*ZNU_`P7$7jwyIVw7k?W$=kYHP3@WD^j!G~`l?@KfN2Qg$9fC!ii_i@TF5GbQe^lXpwJSO&G`PA6-dVG@*Y?bC zOYZvn?8--0nuZz6QBi8&wX@_NWteAF7_&e_FqQx_1+>2YAUYs zgk;oyV?k4$_NU!eIGM-t;1e^GB)3$=i9f4z{gL0DbM-u{IAls>H+th$XN|Js-6_AZ z?g<4KPK*VNq`5oVBe?+(m2a#pIafXxMB?XAC`^++0N z*-~D2+X4PHPjb4&A$_IB?+0p6)-(}{Vk6J`&XpMRcZa)jPTz=*k{gA2{BVQ@aGchE zXZ~FYbfMpDyW09<#e5y(mR8I%OEl^&qjs=+kZL5BkEl%+sPR?b9C+nO)P^|atKrg~ zEw4}vO5R2_&l~psd%shX%YsA)vVq3y0cVqCD=hzuCWi7~Y~@UiS3Zv62Y7zHdzA0I zw4B;LCXn5ZyqD(Q^P2fHoOuk~psbTtQ7>mm>jUldcqhR(YtW05FS9*ueOUgMj+?=5 zHHE@f=j5U`^Y6UY+SI-V8y0!6wfO2ySe@1ET2r-g2(85~t+FJqs3n*6381JFUI*q8 ztvNvc*S#eUne$bWl#^i@Ua`reKJA6OBq}x>{!Nsji$H%v^!UFobU3eFv-3Yj)ESzd zt^4d?tC}16>u*F=_1@!|8OZYd!{x01hpe}biYofs#Z?3p1XNmLRHQ*l8U_{V5|Hi^ z>F$9MDQS_;A*8#zV+diSW9R{f7;>m#h&$i=zW2WOw|@Vf_1SBkwf5&Z=d8WYeqz}M zOWLvIQ5*PGbE9I>V{N(`2r+!>Y@GZ~#E@EQno&IQE30Ab%KGtCHvJgXLrVSgEf(}E zGm?a{m>BM}UZ84Vl^31S`3Xu;dAlm#LFjg=nTo43C6L&hJ=OI|pYc`D?a4a6= zIbsTWD)k`o2pBR2AF{1O1EE?vC427wWNiNJrP^z?1DlM zQwY0<=lO5>ZUKGPI4sibZkTAnXVNZ$sd?Vd%SqDqs`1H8xK$MrU9W|?3&qN<+hvY`ll`A#P?3G{Q8-iCaly^+z5 zvCX*i>Rj%2AH28P7=W0)2-uqiThxNR?r_RgxfZAq!CWo|QZWRs)0n{Vv zIi%45KCjM!`@~FPVm&u@8<7cVgv=y&-uk|i`d z-~LdsZF=f>prGbEu{~URaYBvH^W+0A2sW77d&3{OFr++_rd?Tc#}zPOpn4o}-zuCn z%f$vp1J`wHsNF|gOQgt1&LH}jbXth-m0eGsM_aHLs9$C4`u$c9&=?r)zqAyJwikKQ z!w|)?9wS@*-agko?iHA8p*-ALEz`IIIo4`?HqGO6!%ZZ{E>r$=#y7V4lb*}ZIF&CA zxWhc)xsYQ)BAb$0lzncE5ovUFZrL2<@AU!v&uPQi4By=41kRRN`-_B4f?WeJ>d2nv zBsY%w?Lb70^PieQ#<#Gt)2RUBv0ENzdE(m+TYNpCKnNn zi~ewKz@4uI3UN6zYTz8F_i@!Ae6+TQC*bQO@YiZlm1=zi_lIw5-aSt5B6hlKe->u; zPp-$GCG5wp(fq6_s#U1`Fv)xQtIW5Xc@xIR7Rk-Gk>S8XG*^8*AzEsZdp#b%@db%) zDop1*p>y&bT-5B?P?8n*I@A{p*qT}-SX3Q6|B8hZ5lz1vmL8)C_xYfwUtQQc(PvJI z<~*$vYnbL8tLJgH8d0E^@_HU!b84u7uz?)S|CELk(>a^?hH1oJbR>9Fh4G(qrfz|B zZ3L)wRKfW^42$m*J;t00<>a&J#1_``wC&q_}=16_wL+30A!ipJr<%qewuty zhc-M^H5|XKtGtXzgk6`(6%enwLOvU``sdzoC0d?IAIR?f%t5hJ_H6m5pEC!tsq1Xe z|EaypiRT)&TvuAA5IeJ5s158}w{GF+yx#(_g3m$bera1voTO67NuaKX8}>52mN5&J zpf$1ugDHv!zcTzJ2;^CxuzRW%+pAQV<;6mO%Kb}_(%j7_52eUS8)>)6DQ-%o90Q@G=)naJk+10b} z3UC&1{N%%Z(n@rgG)7749qRM}>)t8TOO=D7Jnr4<@VVP5%K1W(RFh^e*!Bu=b4X~(MeB(=&J&_Wq0%t-6b&+=?|(`;Gnu5~yZJo75=p7#J@f}vsy#QjVAIhpsbWa&}Xd;;=M+JxSzSwfwmdZuJ5e1fh&xhxANqHWJ2yvke$1% zWGfyQYWAz9v)o@y`#$dFzkaVic#netO1LNSFSWDwnIj*sJbMxwA^(DZP7miO37|eu zRZM+AlaB$jcl5rsda=OdHHBpeuQwIz`IWdz>;Arv7vdq z!>&>flgkq@yuENU8?DN-rfss#^_r>}LQ)coT{Fd5+by^^c3KRh^6%R6jgcYfX6Ba0nOZ+f;E7Z+J+zWFC(Y!odow)-`{ zQu{=IEnQ0I?wqMNKzU=oI`!90pJl^i@aL+-Rjn2P}>_iP4+B)!KJk&fzxgHSx;@`{j59-H*SKbLW z0u1c86eAh!F`wO>zg*H6#;>f^&M)e0hN+9G_gdc-NgFt=!ZDZ9kBv?zwoi*S0Zr(C zH!D}yI=6E>34@+8j-}7(Jm}CpaRaaEJ*`W4i`;Whp2_mFXJn6IZQC3QVnui&3#EMe zUnZ)4(KUM$AJDRa94RS(<a;8C!Bx}<+N-*s>DSi9~JjBizz8HN6?ZR07>Mah94s1 zdi3638Q5d2Gnf&Vj?5CYq%@Hh()Vf$q>TNH6l3BAAIDl~l!UGEI{Z#k=Su`!{jfS? zCMMf$%zRB3q+hD7UyuIr)>#A<Z=!}lA`c#B8tY;35vRAe4Z8aU`# zQxW8AQ|;=$R2t1*#3ZPTT8NMry3HlUW8ZA%RuVDTn|uu!+L#{$yh54I!L)KzO>h<_@r|Y@IvM%A`13Uh=4V`Qyj|acHC=uv)}0<#tM`i_uL7aE*@|?mm}S{a?T9{ACs-%>3H&>MC|a0 z=htoQ=Zkc>h}Wx@<%HC~JpNi5VEgpyL(&p@%187hg3@17RY)DjXu{u2G)^bFgFO?Fpp~8_`%31kEHW%N03+N<#xLqu&Jrah7^1rTt1p@h`%1- zVW8JTsAXypUXi4(Oo9T;DF8T(`L7}L=t2v zwHzJQF%wa|6!;Uj<3bN{3Jn3fhSpKj3*!w-><^mTnc*qz6GKYBcFS9;ZeVY=Lv^)D zBqTF0G(+d~AAETETaQ`4(`7YqGw}&iERnA9_MEUSc#+icNkq|_w+O>oMz0`)Ck)t_ znArWW-t~DrhSKl60wlVyqaJ%}znA>CSCjtl2Vk-)*5J7*&B#q4j&)`~--!Zaeh^u| zLqzeCM&{u&W#X0yB^L7m)J*=(9NtAwVEbC(qNWHk4S`6F)rVuiJ|JEeom7v(VbVb> zGV9Q9M)>9k@(i!>Ghnabofh%Ogb42}Qvl~eN%uD53XiWyIot$&>M=1JlJK!?2_AF zxff`^IIr+vW8z2S<2cusU8XjNnGK&GZ516G${io^;#1(gX%K&J$v`O8D?*fXKvnp8 z_XMKNAHJ?PkI9gfw!POtbNTBp#}3dW|iCX9bR{ChZekIQy{@bURGvTC=F{lh8buUASa?Nw_dE8&I_gVpcIl!XaJ%K6%Bb+x;3g0IN zlausnECX)!oZ`@2?%)c2ThoB_-vS*<=xkjFtoTD2aO9%dj$Nc?$JoWpMBM<%m+@W1 z{<;;p)ysLVZwS1^Ss|*26bl8pOiX2sk;y6v-t&Wv5m4gE6Y?2&{|L*lZVkKR|AYOX zOVvN?Ua~6GUcY`kE$#YatY(l7)Wc5Uxm|)L67*ah(QhrMn+xJpXKdy?qmZm$21%l*>AmSbO zsgswSdr3Iez%y>Lu|C(G4b~9GUcZj&se#-8e9jAIKV#7wT?(epKiP%Y2wiWht4PWj zM2kbi1)`P{flv+64VAn5nE%Uk~N|nYDLljAOHL>6{xjjlBLq5F)g=I+xK`*{uqjjPc%g*sH!LgpWa6UsWZ?q5(BJ}C$Zq+aRIZBehh zir?>*p|ga~lu`361iDcGl3l>gzJKkT%*jMm7e704pj`4*=s(wU1^EM)c$ACeE;!d?X>Ol2PQx3+ipUs&|yRSvD@P@B| zVWcyGdLxM8E4BHhAN3z5s^? z&NQHOFOt?lJxfT31eUT1hZ3-|X^1L1(TFG>TCIGbS+r=2zG5Q=6r0Pd&7+Oa`IrXa z+vHYj|5;>Q4f@SPPrc3C%2|j3?A2VE=P)dX-hj}Z)rt3d=m~hptrJH$bLvD#(+HxT z7PSxJQx9xDzJH({rICE5xAbZ*_$0rfnk`x`^qAj;V}Kladwq|~cl8al!BO{~8pl{zUw#RL`^CT5U z?|*Iq5Ect(y=0Jbc^+0zy*0LmS!fE4Io6_{?sZLjbx6EVUQyL;U_9}_@>lh;xAop? zjWISO*IONF>*5bK<$?!Hkn)b$(>Y49SDGUouxL6eS!gVz%k09<({4qe^Gei>4B8(g zB0okQzkYq+(WKYRTh*B><1c2}i*mr+?4RL4qCEEXaIiWn;5gUTZFpTKq*#5xDkoaz zETV?CMsj`I!Xb0t)+=veHkW`A%t|}EejId2EaJK`xU%HCXJk@1BtfV~nfLvN?H0%= zt<0hoDoa=L*_kKqlmtNB&mt zD!ABsYwS~;ObB#+-V8Qlex20N@miu-=ttY>=^02R>0pwh6I*lXZwBABPtg0hb{jco zSq{ooKa@H;zH71>Sr_z{J)a$Q>fu&z8Vz@{QX&s5=jBzb#*}CKL{pFMYI*KDy!=Fu zsc}s$#5VC#zlqI@Bd4&4a`3*>8VKZfyoxjXxUl^PMsD7~M9{0}9r`dfeoR3DkN6pL zr;RNpL}^;_{@TF)x~-%N<<1)KwM$=Vvx~3Cfdq?7*6b&uw(`9P2WrrA%ciT$uw>B> zH&>O0`j~%&Ql?~y^9@ap$pI`9Q!l_X4-IYjX{p1D`pb&dK?o z57&0=&b#5h_z0BI4qD`6U6jFXQWd|P#cGaFI!Zq{5_znAtrD3Oypy6S%I|cBP^2WV zdomN2V$TCC;MGkF?)Ife=yPdM%-6&q*C&O7_`lR>rk_nH5NzfgB>z6Y5Us%A-e?{NdLp_P99dxxGWEF-)BQc4pqtZ428WIt>$&0}Zn z8L55VC}Tc!|G8cqC~KUHsT`UZU%~bp3hH@J5Sj-tq^`}vUrac?@tCM38y+B;9?(Gg zn8{Cz7|SgqC`&{0Rj<-w*L~C7|D2qOoiN^gA3B5sK-OT9^cC%W@ygnLFYkdh0DSjr zo8wttqyP2h#R~Wimjf)~^Gzfc%ZrA8&}CnjiF_r%Et%Fvag1O3A@&i8`;=A3swoxE z?y)XA&*u?6{m1D#X zU#uT$yBX%cylBCQros8re+`B|E+6~bEdrzlB{oiF(okaLzm8p7V`_~_BV_84k$zv> zRNB-BzCKead-=77Y-+?c;`5NE_=w1h<3Tx~t2=sB7$$j8eYe2aC;f!Q4erQjj!d6< zJ4cow+EMR#@HbV!z447Gqm`Y&ZgJ`L2dz^pY<@gs{qv!_RZ#ZfX?T>TBYI7atBajg zWnIZ|TY|@H=U-bmxAK6J8X@*se8b)Le&fMRVSz(*ykl%c(etDU!qK9@>E0yOcPE^iY`O-4 zmhG4zVWR=7%uGBU-~KL5xpy`i%y(Ko+DBCslv}Q6Y#v{YP2WFf&T3fB^*#15?)@%T za%3iuk+?O6a45qZNtRl`mD9{$^O0J9*SX~B=JLdz@7T~|f>Uq})&j&!UkjQ&5$7M(O^}{v+#(2#3 zns>NLMQ1%Nt8*kIK*R+&^(k{Vxq?mD*kARXIMrPQBd1lQlLsXbp{P8#KBOL|RnQM*t^;!v-=Hm@B)WK-h(3IXus9vSK7$69sd_VHE}2IFB-}t` zH$)Xux_$MJMy$u)A}AIjJ5cy5H!&2Q*zl6-RN6evqQch;`re{s^C9Fi=6{MdU<`Z< z`jEvZJ5rg*j&_5R8MT1xhNDHdT z_+Rw>RH%tF7cM?AV|pELVM>oRuiX5|;6Nb&;SMeC15`%s{O&IOxl0`MTd=xbqLlJ9%aR#%b43iwaB9K5~a9T^eqx{{dg=7&CD|wAR+YQOcLe?ckvKW zrCR-b#{c%IL06uEaFS>DHJOsN8<&*71zb^9CNgNU_%_>yyx7@6sO4us)w9DNh{P$0 z#4fjW>LdrPXotB$gArNkF_RuM*K6n1_+950Yp1DhOxL`92#d)~3YhOqt*jdOYEq}7 z{ainT6*=PN{Q4mripyO@a{UeOtYOF}RXudxV#1}dJjl%oR0;DQ;FSv}A@&)ndxrAR zJLtPON5QK(35q%MZ!+K36!T>yc`4g>j}rk8S0z+q9r~Bs^#b*qb{*>4v@O2>irbqZ8kZLjp2UPN~=k~{pC31Rq+t8ee| zjThX!;z0f4GK?Oe?`uPIuVA*rz%$mjGZmbkD}6apY6%D?VGOrP$9IED@4)AWovQd2 zIxmjcwgR8LEB{{90||6Ukauj8so36zK4^u$PyFx~$(!t-Pm)Xr5V*}ybQLKK z^!H*jp7{I}>*v(zHdv|;bCneF%a=5(=K^#UL_ZiioUOS@u_1}FJCdb7wuo&+tlh81 zl%U*$zuzDzSPuL9xvxJo^+YaQrhM1Lg^&;V-+9bdN^I(x2wwED0$qX)E>RzaaU#TT zb;5zi(EEx*Y6R4Pg^i-LT)sZv4EGr_vus0@-r$>??}IdJng-pms`m=Uv~Lllo3%#>TtYl-~gQ zIQ!M%Yg?nVs*pe=4sLHl7DUAS{2}?1*CxUZq0^i)zrPK__?l~$E z&5|}=6E$PJ5s55q6OB7=Kg&oslmvY{O+LJd9EaR=f+eoD!|v{@U5QyV);n~kFTB0q zcpps17ihsEBco2&8Y{t&)n7uxL(3!ett`#w>McBWKJMx@-5}83Yp%i0^*8sBO{=i^ zN2^D>B0E*wJ_-J`bJ*r(KqJ^CL^RvB?bYwyKF8Dm`{!cqFrK~dxxXHMHYjPeAhRooh zmfrx^aCRvTie8%dfFr8;vP*fXi8p}-k;EesJmMz5dYQyQWk>iRVJGZ1v}2Fc`h2NraM;C~j}()k?+rqP z^6Ho+wKF`BAKAnMidT6j zQs?M_ls#s!9Jyq=deDG;<0v3bww6N%p4(RHKq<+oU0$=soEz3VxrfJQN{iP#Yc5~( zy!~bg8Y&@+&-*;Z!7y@mOqASUFHC)`u7=RHb{Nf$*s(`+WLO01#!TGZ6Y8{YY+Jf4 zHK$PS$h^chDP;I2S&F1A(;nv^0M+Y$7BS_NE#;2vo|VLGIo$zIRi$%Ex|ogE zG{&Z{Y^ut2`3N|=c@#^k-AZ=s#7ga$LVJ9qU>6wK#X8;1m;gSoR2+^}QBx|FV~ z^@Kk*6dq#x2*g)Mx*jnuv5+*GG2UN{AQ<3!kwbzvKKHO=`ww999n;q*cqw@*F{et@ zuW41y~TTDsHd)!d{aH8ipk;Ovl?lsc{PEgZ-~oC-3RfpNGHkA zYa_j)#$#^^VL1P$l>5gg=yzj%N}nyxO>|Tc=$MF3Q%3+fE3CALo=;)}uf9QI1(vvb; zxE2B%^#r5D#*K7>O_ zlGr@yik0MTXs=K*us2Z@OKh9q%aZvwBj%UA^xdk@X%OMz)lMGz&>u4@d?))P1yR9* zvVN4`Qbr&W4fW0X#U_r+r3i0kj^D&l<;|BQ)5LvRCYxhRd(n#oI_GNi?=3v@?i zNpRr1k)1(AfV!ifC->fFqp?d%y`2)DNdi2}Xe8~XhuV9AXZ`S|XV2JqG^pY(d|%uX zwfYO%o0BYri~JpVGv@Y(%j(w%xtP`^XV7n6`m&-zl+uej4f^9hJ>o_Y;#s=fQB~Po zkKQq|v8R*D+so0uZ#VWNK>NB4$v#&$&c8i*cBTsx7uQ}(`R)CRCdS)714`^#wS|1; z)rJ|XAV69U4Us@!m8tNU{+4jv$PzVvd^ZcenavZwy#;7H*NZq}YlwGIpC!qZCu7m~ zOh7*tj~W?*ri#f;IdWR+Sm}DGP2_gb^iZ)XilgfgpHeBZ5QOtRZ3OkcjgykZ@1QqL zx8?_Nkelssa;ZDC&e6ThW=ZV%edz3vE9KaA(^CK(=CHAX$+s#McPns^hi4Y>?2*kZ z7va77sh%a*)na9ogFm9!tGlZb2X3+rWSP|b`s%FBJ+M>&zu(Xv10`H1C}sHeui^QAlJ1v2E`^8>ah_uJBqr zy;{h=W3trX5|_hcx-J4X__(Ym_c+h6k-LFDPv=<#!fs(l{@rCJrH^N;wsZpr^_lv4 zV)eD7wGWrif;DE3VZJfZNwbrz+`l(@!D4iI_E!Fcu=6yJr{ngOaEHz0dM-CJ48{## zO*FT7iWfgnO_9pemrVq=xeG)LYHu6|8@s#z%TBULjTYO{nXJ($Xk7~?l<6M`8(>Gk zc7tANw~d#@_yn_8C-#>A!!ab1uBQ74DGP7R(R`>!;cNTnW|nF^I-T0 zbg*Dw$+hI=IeyuyQl=}z2a#x3{MJA%`F)wDeW1wd5BY1$RZg?xUQ(#JbA?2^sa5ax z0-=$V?~w`_o#a|LMEFW4*7tNc%dT=@MC&QB+$S28gerV)->!-Iw+CW)k>z|!W%$pS zVIMm9fe+7q7R%fEr-|D0=)T(rO&m=+}M2`T}fD}onj^UxJ_cU zxHL*#7lbtB<}H|(Erupz$f`;sp}uxgxWbU1--gXy!YJgzZkMhB@`6P0-~FbzWCKud zzpj77PovVs8XB9?-_>2=r;yWb`Xrx zG9I=L15IvZUsYvY;=S+-_xi|`w<5e4Z77MjdqmjpG6r8Z6l%net=`NzgY`@!acDcQ^6_!5+^m+PzfQTEMO(l&WYRkEjOBh&HHVu#FY&(?;7j-gQ9sV zt6N_>Kks=PV0rHVd^;!ZdpF+5h-r;&OCt+5mz>d`d$RrVZ*$4%ymsJh(R=fAnC~qk z{KaIsE7pB@WhZ4}VnOwkZr=yU+WJev2w&ZhawnKv%QM2!8{mx{^_bjxm%VxFkE?JQ}pXvg+VL>~BhP%7%61#v#U zfhHdBFZQ~uT;AGIWkAY=Z^MaAuSiF#R5>? zi|7p_Hq~Klh+b+B6>UR>cagE;2Wzjq+a4#o>54Qyb@Szq*3h;gg}f+=py9Op4-Rvs z5NY%Cg`pFjs^t~*jUII7zX1}FmJ*IuBiZxFiq)HJPcZ5d4V zdov<1Kk0tkbqE?oA^5Uln_e~lrz{fC=>uF3-OzsvIFxj{i_=-YtRlQ&<1t_NQTMw? z#PXQbt*t&fOuahE0w7)FJ{ZTzb>gec5fhwj>-<@|I<~BjrVw(^o!|b7W-pwti4Fhc zQkqNYmn(~5>d$b5k3muttCBdohs3aHjk{i^g{Gq1gP+!~#>}{JqK`tPdTU!V=Ec1N zOL{x%EEahwks?JGhwcgoX>p`Nh=Cb0XB;%rB)_{Ihn0mMir2Uvt#&tK4@BEsp$uMs z89MeV#={X%og`RRb>x9JoNjN}6WO;1Uun3H!T6csWf91yg4^0150~5XZm<`XsHIjX z_ujkX?dF?V6kxyA6R_OeuEod2$g_nYigy@X-~<*Oqwq$OlkDL&(Nd>f1wyY#`z?3o zo@}VteEiM*2pBw)zRDdC8*(d#z606Sj#~q%>^%?(w)kn-$yb>X zuK|z)3TE2p%151wb|S1G30EQ~#XFYdXEd-8AbUAx#+@$<>ir+M(wtO~h@$wJcIJxz z;|1Vjv{sM)6xq!u{g~d}R=Zlp?*5g%;PpGPeyVcJ`Mm9=je7*QK6<})`e<^S!k}&o z8`gOhdI)dyS|K}_tG8f+w2l&Q3OVYp@``zR(gxKhtvhdZX>IWs(0oY#TBjA1>+15J zurk0l$f!X9`fNn@cDq-dgp$`|U9^Ql7_mcqPktiam(inPPEW4vI(xmy=2$6U?eDi# zC}3WDee%a><8>5b|C;s_ZEsUObM-Io&YMSTeWW&c2XfX7)xUeq<9PxCW8xpIf;?D~ zJeVZxE#1#gX(gIAH?}vz$%W=u++dP<GxzB$8*08(}60>Y=O9l2bV%yQp+y zj!n)hvtMena)ef7<}Ha=>dyObR*ZK@>LC7I)w|)sXe7m=lM9^_VY@bG6fi7p;6bv+z{40~W&ii`DV}@g^=T~dvmozIUC2?1u$A~g9H;a=Z+6P0 z&KMUryxgR%>xtB3MZY7j-=sR|B7XRcV;mkq{1^Qk#6RweVrcyGQ%yh6rIdTtbtb^=w#{>c&v|G&gMDU>p0mbcTF#>*J9~h(}mtfsV;+2gWci>mlcKJNwSVip)^yA zj$&esDqk&JYt`KKFn+s0n?(hej~LJR|y`~E}J@*aP;G+3Dq}@v8puM zH1kHinBp$~%jc-B?4cD^mX}h+|HigOVn zZ538YnK4!kIid_e8{vsTB8?bQO^Sjdel{+U$K&;gREJzfh(n>&@Xj)Ne3+%;K*QzM zP~Gi87SzptJ8aeG$Ea^FKTu~rqxE=7^zu*d1CVU%`E*E~)MRk5GH8j@U*yA@+yIgG zegn*f8-J|B^tB3ks{@yLnHXV~@UsHfZw7D~fP>Ny1RL-0YOhaKph_

    XrN^k76s*z2C;26z~ zM-yr-cPr?aS+7}6Dl@3c^xr$klPSx@ z-ya^gp6ws6E=c}S>8$2fN%}20eQ)1me%5vC@zU;ts7=`1ug-WF@~cRnVmy9kLS(2$ zm8gPAL$B*rMjDSJs77af%n?el}K>+gTFDe8L@+Rhq%Hw3E^8GVO@mECx zcx=7%G}80$IOg-a6;y}EE#xltC;*DDWo#}$ z#614Q29p<_V)zv0_`jmRc&a;<9>=e5hzBPdeF@+eV^_VE_MVs7oXy1*rT(YrA9Rne z?(UYSW6Nq*YWoVX)Z&l*3bcH9_)XvfG`K_>*K+?KS*XxD?~~gpp8oh6c{O7py8L(V zC$iT)Y-$wAg;85d;-=@bah%mm?%7M>Kn-9Hdcg3_=16AlHqDWbl zdg$3UL@5La6h%W!MO43iUeBs~H;(7D|1*73874PW!%O6R4_($?4&5iD$ig>1p?&(9 zVnj`N(O?YSYRETX8aDeu^mvZL)%^g}qQl4ty1nv2q3hQBHoxi?+u{G6P1x#MeALPi zjo}SRP2+P@;9rjm9NSG-6E8CU8sy^$gf%|41yafK<3p3ZPxBec(i2q!j0xT}f+Hq} z$P!uH(V45g<^mLS-A8W37K}u8Iw*D^vlEUTdI8!%05F}#M-#$~uc@ZkI*bqr*_&sYI&kj zfK>@%GO9g!6FIy>^9h$b-hgR0@!l6U_PX(KTJYJV6vw0~FL#9MR4(AVd7n0A3T&9d zJ}4n|MO$3HTPeJYo{}K@yFSK5o{%s@g8Emtb3&tsN)U9^e=6o$MEpgpQurxQBo6by zo|XDxQA<4U(NttzpWSL1+-KOY(JWD)%y+9NGl%k?eza=jM`B9cM|l+DWu#xsXcKr3e$_Ej)h1s zj?bB%4IPmEaUXhgPuIiEB!Lx{2iMqwue2I{n=*vxhpY{do~cI-skD`1shOLx9v;QJ6+hLv^lqjFitW?xXG z6K3WVC_BpN!ML)Xrv^b;oUU1-FR6G?Z>FFrREPeOQVR5DEXP=tcBOqOe%odqF%c^D(@MG~gTPk|sbT*9ye)N;ti<=K zX(ACPaSBTw#XgqRH~%G9O;ot_+cZ^}{{BBACZh)h_tx`9E#VPSrbYS^X|*cV${}P; z=o}%d2f|spl+g51`gqA1sB4$8bD+-PkDwpP9GCm|AQk>EQwVNN%^93Cde>_T=89)v zRcc#QE|wvMEL6N}P6P1GDh?@+i+!)QwMfWC$?Uy>r=>&*C>bp{2QP(utn%ZPwZf>p zIZdROPa955;P+gt90F~;R5&3*Sjf-HNp|#KVC2$cpE;b%L@9Po=Bd>Dh)|Sz%y2?m zBM`=$8^1yMbT=T`hJ~&0#thYgc>-KDJG}f zrHHZ@PXs2tf2%z&J1;-!sIU+5aWbxda6kjSEjX_(%8nw(o2Ca+dzYrq>b(c`5mK{P zpvL8@gWWvS6s=vZo-n{E(x(DcePsenpJ_>yymMSxRC5`?6Qe?>^*Uq`@3aIZPO_>k zd0dVKtzherU>J|hgYz88SOT+$+VMDb7CAMhfj$&R)6UIJ{if)ba6Co$lJigMtHLPN8s5P{3@9sbx(4! z>R~gGG%0*#6!x^ca#hRP>}PtxhX0rK?na3hg3x235Fw-a&ZEE_`ro)sub60A|1ZN4 z2w5}T+vbAsS&aMcL;tuTBIv!W%Au*8d)h1)*SQIn*(4VXf8^M$C>_@fyAyZ6T^-kx zUB>ASEJa_cI(KGBcwRd>w(gHn1Ci-u*IMBXs(J#OBXH@Ts^ohn8n+YG z1vW3uETsQiedbUOilVdv=m@Dh8F1n>Y4gxTl_~hlFjQCl+{KFgtfBsdPdkC~!bs}2 z9ec6jzT{+BZw({g5*mXYs~GC0!ZrKe{`EMNp2?1g33sNyY~?&{dfk(woPX>-joSoV zqJ1MFtj+v!iY!S$z4HKk;@0<;k&M8tJ@?=K8T6e`PBUqqieYG%?^#Yb5ri|8Ts@bS z{-s5hCZQ&pq#A%@d^#_f7(X_OQc0|ra@OWCb8ZK@s5mMlNYb$nSFR2{1Pmpa2#Mj@ zV!HL|TQs0LqgSs1^R--HGQj}H1V_44>_b|jEFC0by!`yyqwfbJEL0lOANM%Ijn2hk zXeo^JX2PLy@pc&5c>+DqOU#yg#=6Vqr!)UK&?DW@qKwV!1li_K6AKB(5w}qmgDkra zcAK~|wh5=?gX?2xI7do*6EhD)nnx-FdYiSou}@ zUrK|`VS=;QVI;&9&x0Ya0r|F9eYNl7i6I$)GJWEc$xEO0 zGbaDm4bRZ})AxyC<2jSs_Luo!VlsHnV~qzxjw2Rk-_AsibC=&56)<-O@P1qwQZq^V zSxDpnJaFgS5t779=W}Vxj1IZY=$a3@v`C=-Z~}Cb@bo%ZKf%O%fv+0?n7IjPz+b6& zf1%p~0K>P66GSh%I7G??GR$m?9iQGLPZpKYHXgS*i4|vQ1ASNEFzQue)sLL4sXwi! znVLSD2%iBNG$i3to07m+=U{9gUb>Ta-^}5%*JypE@myQe&~jl1UwM^Jbw+)0^cjK* zKvv|L>DMez`Uv&b@QuCnW{KXCJpt4@oVUIoSCtG3oco=WAeNvd zh7kjO+)}gVxsu4C7UiEWw3j;99CLz3y!-=QwzWh1xM|NhU$17q$oQuq+HBIJg@VR1 zUk%^|A)w1$loMe_u$E5TUjvMhNqexP+Y{7idW-X{Ol zPJT)~=G}ckV7g@~kL!!Z&Af2q_-`LuVG?7L2RB2Up&(`hWtHvua3PERUItqE-RGQ< z+UkfzDY`GH@frQ6P7}6R*D-wU}BZv?!4=GuYTI+X@4M&JY)Xa0Hvw%!}THS zGHG;=Qs=)LC2^xKRH*~n`IKL&j?+@%1T<~N$NA)m9kP-I{gahe@mVWS)v#jb^e>G` zx^~Al)7IS8GwT8)CQgAi3nz`s=QpvP2Lp7=Eq;eukP-EG@SDr;Mtc{FK_@-1VY(Fe8Y zK_~Rh%loY}sz=KIyPy#xsQrshadkiIP?k1^{P;K4{5fJjE4lL8 z#M#L&NTc5}^yP|mq%IE`#-|nO|K!A9$ZQ2;u~Lm(paYyT;bMdsezxXZ;3^sccv6z>KCBfz^!{xH=o7aZEX+A> zqTjvRA=8kU6VNZ9Jj%NFy5q9j*c(`x&6(%=RaMIw6qURuFQ{azzwVZ91)87Dk6!8s zoRxt5ghH6S*;YU;EWM1tWYTH@#zQ`6$+a|&>Vmxh-q4X4ex29h!)O5Fiv0q=nv-*Z`$P1?eOzU7EDegVackfYbny8hU_0 zAdTG3IQO1=Pq}l>`#$G=Uj8AhU)j&vK(h9Ceb)L(h3wteqG#qQcwfnIHgx9Fre?15 z2Ot}O-AfLAt9N(h@0qfe=?^M|>9wweDA7Rwdv5rjNB8y}NLt2t=X#Z|T8};Ntbg(g zDkX5Jo%@U(n#7u!69Wd!> zDX(tEoiNxm$Fqc1v+cH(6h|Bf%73YE5onwVAm6 z#F|;i?g>SU)lel|Im_8))!#qwRByz1=AORU8u77g&`C`d*E|i>7yL{2WjY}5ol|Ds z*@$BtY-X4RD#qcj(qAB?`9^6etdGF_Px*b#$_Lj z$h}D;vT>|jMAWD+6+0Zb0WJt&h96>|v(2C58s&D*LT+6-XTp(u1^WkeHzjfpOSBjs ztF6ie-4AN!X*>6WSjOIJ`gtCTDK@=X%ddZy0^1S$Cu5_S#)j=TgX1to6ekZIZA6ab z!?b!GpyWfbB0Uv<@94!lW9gX-jKtw?L-K{NmaPpEm%)SaSy$}GkG0kWij_XCdaB}2 zld%-};y-`LR5*Y=fz2qbZO-SHwlPaX~5w*&j5TvvE4GibCiyQjNFD^CWj%2Td-vw z4#%me`cAe!A00%N_s>~dKWbb2;%K@h-Ef|s6Le1a+Ooujj-O9njcbi2^X+gZX&6)mJ$IR{2Cs%4$#(1Rw+VzEkh1{Y zi?}&;=1*>qAx>Z9ZH(!F`_10hUkr?F#x=<&V%3+*J@W8Et)Z&x_Z#{vq{QDO8XVCE#nu7h}P$pv}o7f z=Nee*wTA}}tg2$I5qK-*Aj~UiBu*+0Es-K=^g^h#L^gCbB{}CF&?t)XQ>=bWz{L7H zP;JU!i>*NB#pBRd%V#e)&TdYXcX#C?9MwkWUZ`}x)vz)PKwl9iHG-SRj~yP$ZKU~R zxi3i!Mo?r4T|T*;6xr{GS+f%aE~_T=5Q2KKcJ?z*{GKbk4;Sk0G~Cf9+_G&vTN;1l zOhrh_6zY2^ByKOi_lequRCHPPvo%9By3h=X&>Zbs-3UNqr?~c`Tz1zBv4ImMqnz*p ze>%P<5Ej^k89`5~w0TBLGpf&ZzOy+r{e}k>-PoheKBj~@dV%s)Apf`HL?PW7%S)rS z@uapLo4mVwOtWk5y}--#3)>Xg?MKcvX|WugduilW%+EVjH1F06?**#L6N<}512-|sBb+gQuHB5e zYKq}b`e`SX)o-`NVN!qx#PHDsP&F?;=BpQBvq z>?;eEF2OCMLJnhKKnh;IWyi|LGlR=(79GF2mw55QT_&#C3wHM|-Chx?a>1m)2tWNM zE#h^G#QOLsvpr{8(Xf4N{q5xX<_YEl;hq`RDU6Y!cG-~v%DeDSiTkp=(g)J{qbeHP zVzU_!lGsv}YoA3ovn)?Vyj(39)HTU|#@NK|XeO98**pK{z_<7&-wGUJ93F2y8sZb8 zg4rxYl_SnYZAM52K;K(|XtT4@s`$Z*$fBgzpjn(YiPBC4y$DG%kn*Mrh#V2&yMyL+3Kx2G!pnd$8x3eTGmOL?%h>aSa4`P-8MoC@r`l)nh*LMxt_QR z`9vbC84M4;fu`gS@TeuYrR7D9E4+q#tBr*KX$>M)K?<}D4LGiNP;1H z@WLClVsifebaqCtzy1uxcwuDD?!)ws_9EWhilF5>QphDkD>aHm+x??9Uz@LY(lF)A zoy+m^R-Zml_t=THDr=G=-RkQmAMeKHn9S^P`)Y6Px{~350zR~;o_)sMgBWa3_Y3tH zQg6W|@x2=3y-}59beWFHklD|rHIp}0>mKU17$hw6<$B=Y27Bsl9<*)_Kh&EMzxYc& z9IBXbt>!rhslgNFq_A0ZQjAfEi1Ix!aHzQ>NpLXKc)8rTiWqbR&NDf-er7|AF>z)? zl<~e`t9du7RpeUm$m3&o^+>9dSHD;4jYrrqTqH$wT^^fm@mR7*`qQKHB!71sA>+Fv zwl@XyZ=@Cwt|vV(v<`hR=6H!2pbPNh0zQ8_Ktgd6Kz>ZcesfN1PJZPapNW$7^XoiK z*AEVCj)_%Ux%&J2m${v2P*OsCPq&acfKxOz`5 zVqn(DsX?2zft!x>s7^h+B|He{kBEYauZ2af8}+L5r_F_A=s1~&rgjh~x8 z<+Djr2C8)vM~ST&!NIDdMx9P7`l67nGVP_BjXVkc;T0zst-CDc#^<6sH#=s=aJJXs z?~SbjFnAQeU)LXOsqb}ITaO3W>>n8Y4H)|6|2pu{bUgmX_W>JlC;n(@Xa6cKfXFJx zP#eD9Sdiw<$)R#asz+(~j%^Bf(da#gJNfwugTJ2$4y117)NX_E*jj(uL-iQfob$QV z1^M&FP!)NqvfeYCo~%f<@=)J>sCfRf8z`O-txNHzGG0DoY9xGpQh5DQSo***A*5E+ z<(3KHNb{~G`jwpfH-wS(k~d@0v57W;M|DaB8=P^Alg-{fCP%*wdo?4Rd!9WS_Azs2 zfBj9hJH>wb)q%-6@!jZ|fjycKxRfXRaq(LX1LE?j8#E0)&#@oPJZh-RV_0wyrLYXL zQ3XToSC1c4`zdTLZDAclRRJ0}UK4&_%r2(;S~L#~!{1c)zU=lZu3S0V&hp35CHsSz zUI+z8B)~~JX(B33x9FO=rBG+;?*q{#+^SLLo5iHEB~&LSXQSGUgKM(@4WU| zHEM?M%n9eodr~0UT_$f0HJ;+hN`!1G=ERWtVM$*b>pur{YZA_!m6W2zqaqu4T%@WI z`-6R=i!IeSJB(PXBReE9L;nMjQKT1HrK@G8+yQ}m@&GSf? zqk7UrmKA2(UFs#b8&qq`e-?EL$WK%Rae7<7UQxptq6|2&&^10{0 zK#RC*S?bXD8i5WvVYNxof^ag3%_F?(#k`{niNGSDWoL!EBHEpaNS0UCyEEFxN0 z88lk_u>XBpcAM9PyZ4~FD0ui@*a?VDPKri<#yoCv6Wo z!3HaJ59vMJ{*<2N8 zYWdg8&nrD4t`-oH=JQC_^%B(V_m43K<2?FvFCTe7pl04r1D?ask$&iN1}te5;^d0U z6zS4j>O$dU4S2N#a(jsT`N?kKtzH3ptXqTLA%8}!3=~uGXg*d?WVzxuiu5yqjL?1YvEU_2-c~f-`3F1M0Pf zMVRYCf>_cSvGdC-jlvxawXt{n&1+(wyg80aX*))zpMICuHLI|%s;dAg zTf;3Y{oI!(vyD)J+?tIV&e!*W$a|rE*0TJ{4EEGJ>c{cI(PIETdw+FQ%zvmb?{Lc#ez;jeXqAbQ!|gDf6uJskA#%28FtT!e@;bMrb`WeqnG$MI=c! zc3h+#qAMHZ%>#{qiRsU|-YL28({cU1=^eBXm!N%w+jLQHmBFG5y+TjN*w3{t8(0*f z-b!jGzmPer`CH0ivey@=*X=L0lO{DK;FxIFAj4C;3opx|+OVG2g>BKYGFDe>8!4Qf zVTihTjkfxG%9#No7}L7mSrvkf+#2v=&e&k|rzg-Z{p4!u3|6FyJ5VsF8?tFLxd!lb%1M&(NuRteqhM<;+ z3A|H2au$tucSfEq#BkxI@n+ zMc!P(7a4KXWO^EAE8Gs}RZe!VT}GRvLlG6ljB9+MU;Uw{3Z8wR)Nj{X=(#9ifSB20 zQBnPc6PYMR4$R|w>>K%u``T+7H`D!6D126r6MndQC{1SihyOvhwIHOdlwNWaX4R0+tY8Obo@<7 z3y+(*BsQi#L0@wx{M3U~xvdu)O@u4>dj+WV`#^`X4%%UpyjKW(9ou1dFM*;cChn?s z3Yl)P+H)_@zDKS4h4+(0hC91)h}+$~cJi3TKuE8DV)e?)8pjRHnSF9zK&`;Q3Pdfa ze+-7_Vr)^&r@P^*)2nw)?>-l%%-gacb03N~X#bk4f6VSAj0t6!Ze9}tpLpO+h&2K< z$pae(ql{?WV32C$+?5Ci8j@je0F;;_SrdAI>Rr3mOda-V z!i&Oio`fa%fcMmr1bndCPD))vf=AP#ar5n3uEA=2kjj<8eZ-exg$u6s`=j$W)?DMt1XaU> z`x?eQBp29VvB$vd_Pq?N$cne^g}-yhnRg`t-)jDWZ;(iRfM3M_g@sGigME7%`PgP( zds_MThc;L^wu6xP7ZywHuOT=J$vzq~o2EiNgC~{|#Zle2+()&m_d2$u)iSVnfIIbp ztyf!A`Dh^8`dqN3?$)P7KWK@kG&SE_oz)23>a!{#T*UXBxM*-U%Q%sJ$(_Gbn}qR)Bd-wSBOaRCjfuF!*je2P)*kb(QZPrQi z`xn^Eltto8Fi4?rKqywWJw?rbJeHrJkEbjQ_SAZ>&9rQcpDyc}c#(T8F{?&j<3fLO zb?~YG2AchI&IJMYL~koiCK=IYb^~N}2UGZ>iD%$$$oQc_0sCLnevfXVOX-mOAzx?m z7CgV&roULQ3=W)WoCgJkP=er-(G<7&q;(hbXLc5^`8%3)W*6aeN!Gi>zXn~7B+`#s zIY(DHtaz?e*Sf_cj{eN+Q4^*>Y4>=^YpOr+e6Dx~Y&_D5Ob{sqT;=_1`@GQW7G*%+XUSl zxf)egG5Jf6avk5r^LDZ}{X<;wj-L9CRc@Or>VQ(p){$BO0V_`jP$Ct>Ij~%^Ly1;J zaJ1$f#&$D9K})6}E4}k zapn$yE?-34e04GTH;?6<)wp+2Ey7>hsqbDZf?#nPNBH_%h_~XkNJf)u!r7B?mZ9Gn zlMqYN=S*Bz94ct+Af^Y!Geb^M^CE*}WKuW{6Pa-kL6h;1`<{|MLNE0;Acf?qAAgbX zqf+W*Y6!1{^uNuY#yzAV#mL=(5opQ^20oS!w}u8VUILJO4JDXA5+_;a)~$U31!Pyr z^*ZEw+}bL?0H6*L`6N!b7`l#SQG;gpICmLajoAsk#cN44wV?LNRb{cw0Ctoex?B|A zTJYya5f0;XVx)RO1(LPo0;>${@01(C2U3KbM~b`)Mq)7h4n=n~TNB@9J&TC38}Iiu zs2q<~h_O3kr+`hCAUR((Fb;YMeZ6~P!Zf#4)ysOO^#Xr?3)VKk++MwSMZ;6-#7+n5p~*YAp|8UYSVmQjQA4f z+MHr_|N2T8x&DjnQ2i~)dDlDD<1haikG6dulr2X%E%GV!Eel(42BCM*a24nrwe z>QFra+O{?^FC%FRTM9fNEw?%e3My&%Y$&qu4sGMp65~H9pzHZ;@&_LGyL~{Vl~q0& z8}rvMS}H8|akUIxG})19fto8$rfw2w^!NAKxeeeIyZTbr)cgLlM~9mu&k@rHU85a% zx=VdI)>4G8Ew<{%9)n`ZZyMf_8e_0MICRd%pSBb;bN7g?{yHu&OX*Be_p_d5YokTM zbRkL{k;9nvq-d_0D?fp%%!j0WJoGaHsR-30oR#6+{)x$U#3j1MqWZS-kcCW=#Fc_(F9V$S%o5Ur|SjgA>r8j)HWWg4wZxjZH!7%C%~=!t?Zz2`Kxl`|}lrH2ysO8N@-4 zqc`p{Z_T_SzDiMjekA2=f&4YiYjo2sQ&tZ8#YgzdtyXk3GmMcZOs5Xu7+orhTVH}@ zpqiev=_YMi=OM3=`uchS4dr$ol6j(zl$-wOa_@z*YHX5;TWVShL;;tW`NnP{i5os?)*?mrb(b1zCL&90(x zgXi#l6LW9Z^>MVI`bK1E)xe>6J|TVUaeUzH@F0{ZD?@(TKmj!wS-PsaGuOy+=GAWG z4)WGCtK$eLPw8#S-D8Gu;qlO*kcDkE!31O6{VhN^EnE5N>PY!i#B z6zB+`hMTf7>8SoEan7Jc^I^qWJJvI0Iq6{)NbO1;)W^BvNdH%e!vwp2D>yjP#P$R1 zd9_^wyBZv5$+{|K@del2YvX$yttb$p#Gd_H_07&s8pKwUjAuW)GH@>@+MUi{3KGJ# z-oX3ojxn+Wq~1xme_`*JHCBJl%fiYg*SgJjCwP{b-&aMoHBE(sG~Kt>+)?X{j}NdX zn{v4wc<$z#<*F6p9nAy|@z7o)xO1*U4B|4-v-+Q-h7jieaO(2ugh=J6C>NOdeN*$n zN^8<|MN^Kf%Q1_>Pwv)4oD7sc=EkwqT@F;}f~nS8BPERKCgXyYi^59n)Ob?4^%4H1 zUE=kT-hW&^)cV zw&ClD|JGV}ijbT%896r2sEU*86t%>=t$Z0w=d;I;-Gi&lmKl;{{)Y2u)y#MPFp4wQ z1p0WRrINDB^4@MEK@+Wiiv;~;YU}Ep+pe%*#u&X~^ErmwM35j~TEr*(YNb6Soe@l z)8~J-Gj}YVKd;GY(2Qxef6mcw_PP^Z2C4%KR{)|Tt{LjJeo3FN+3!S8ANL`rpbrN8 zldq@5=A{=j#jn>IbZnW>-;xt#G?yARlL-Olw~ieH@C?m|pn|VqXD%Qj19ZcwZL^4@ zu)hE=8#>?m_3?Qc`F(UT5@BP|Q8kU2Lw&zX9qU-C9Ev0T$Q+(c|p>jx&%^R34g zQEldmUYuY#pVPKBOUU?Iu#H2Q-80k4E!}Ki?T1>)xKs#Y1L#W+$o1Db(p)d?DI1o* z|F#u`?V&lnEd7_h_ujvkPFwXMs=p}w$1KG^ge?9)8Hj&D^^Dc?`tW$ikNiClDx31@ z_E;kB4_=pO(*r)8V>s-7N5N)D{ zN^6zm@3>^G#eiYaP_;RzmckhU%YasZ_LLD_&-)M$oE-NjxzxX#YCfL5+-*b;(sP~7 zf(tZ7-1VD1ABYz(^ZHg6W^?00_5Yj8B^m7Dz2B46um{w$+4t#N?;3xa(w9qkMIeWe z%W>k^^l`A=>Xyp~F3=*z&x$DHC2NBk5%e2Mc&X{)^%3mEOt5JU^m1jk{XPizrL$$*rACO8*Hw;LP%X-4K>&*A)= zRyfC`!^IAsd8{u(xV0vudkf>~H%Qx#Z{X|iw+#!nmUK1{F)(2{hx9(ct!+TGB8oi+ z-p4gVWTjH~<@1!TJ@u=iJVI~xgy|OoG7ErG4rCdUrr^{Dv#KU~)b@a~6W5eg#=MdzlOz>fYMIt3kgM3p&}ifK@2#yx(sMki9n7DB0l_(-7S}BG#r2d z{VrN>cwn(*T3E?IX@5AnI*!GzmSJB1(PE%xm_l*sl4upv86}C6aONLEZ+p+1KT7)Z zf(#*lRFV6et^OhTzAgAzpxWovHE62=a=+%$QI-+zuF*_8qI|YL$f@!e;h!-dY6PaU zRO3oj z=L;NUnk6owFd9scwL!=Al>bs)|3;bo>z(H|e#o5@l>~PV%iXr#s07#lKhgvTsQ=`GZyvc!UxoIzKlzmoe8rKufl}0VV4Wl@ZzKE?Lezk4#GmP50Mt?z#?(gIFZ%v%+OUH9K zEB(Ig?1)-yVreg8>!N$vLT<(co zBH7IoJ@ozKJI@s9htpY|y7(>-iZFVVj~TS%1c0_!lS znX&5Vr}b&OuBJYl++U`-8VwRXYY(i(vS&`JHsqn%liEBj$6XP#Z(xNxcI+I#b^XfS zNePJB%}%%ZGZ04C6^{@oh|z-npBF;@*LK`nRLxJKzB2NdsgO+c{Y>xS{;jE6{dv#( zSnovc>{PFohvt-8-UJ@IzEYrKx^W!}*vXrj!NDrq<^|KXk8}q_-y`G%Dg6q@Bc;!s zo?CcBd%jqoCR`AXdTx~8qt=P>9s*BQT8JvICu16zxjpP=tPknnuNL+MJ@A_MkL6V< zEh#^iR}dclz8oHiX6JxtYZRVeDHHXl@rgRM9d=DCn{#ctwH<_Dt@fzXrGz!o@ZR9| zgM}JjXUiC;x-5A#+lBhSF{tgB#ZE88 zSI1$HNy=cqqTNf+fweIOW-X9nz}GD;{p Date: Thu, 28 Dec 2023 19:08:24 +0530 Subject: [PATCH 08/27] feat: adding zustand for state management --- frontend/src/components/Form.tsx | 46 ++++++++++++++++----- frontend/src/store/form.ts | 69 +++++++++++++++++++++++++++----- 2 files changed, 95 insertions(+), 20 deletions(-) diff --git a/frontend/src/components/Form.tsx b/frontend/src/components/Form.tsx index 34bfe659..ca8ec2b7 100644 --- a/frontend/src/components/Form.tsx +++ b/frontend/src/components/Form.tsx @@ -25,6 +25,7 @@ import { DownloadSpecButton } from "./DownloadSpecButton"; import { Species } from "./fields/Species/Species"; import { DownloadTxtButton } from "./DownloadTxtButton"; import Switch from "@mui/joy/Switch"; +import useFromStore from "../store/form"; export interface Response { data?: T; @@ -50,15 +51,38 @@ export const Form: React.FunctionComponent = ({ spectra, setSpectra, }) => { - const [isNonEquilibrium, setIsNonEquilibrium] = useState(false); - const [showNonEquilibriumSwitch, setShowNonEquilibriumSwitch] = - useState(false); - const [useSlit, setUseSlit] = useState(false); // checking that user wants to apply the slit function or not in available modes - const [useSimulateSlitFunction, setUseSimulateSlitFunction] = useState(false); // checking the mode and enable or disable slit feature - const [disableDownloadButton, setDisableDownloadButton] = useState(true); - const [disableAddToPlotButton, setDisableAddToPlotButton] = useState(true); + //zustand + const { + isNonEquilibrium, + toggleIsNonEquilibrium, + showNonEquilibriumSwitch, + toggleshowNonEquilibriumSwitch, + useSlit, + setUseSlit, + useSimulateSlitFunction, + setUseSimulateSlitFunction, + simulateSlitUnit, + setSimulateSlitUnit, + disableAddToPlotButton, + setDisableAddToPlotButton, + disableDownloadButton, + setDisableDownloadButton, + } = useFromStore(); //zustand + + // const [disableDownloadButton, setDisableDownloadButton] = useState(true); + // const [disableAddToPlotButton, setDisableAddToPlotButton] = useState(true); + + // const [simulateSlitUnit, setSimulateSlitUnit] = useState(false); + + // const [isNonEquilibrium, setIsNonEquilibrium] = useState(false); + // const [showNonEquilibriumSwitch, setShowNonEquilibriumSwitch] = + // useState(false); + // const [useSlit, setUseSlit] = useState(false); // checking that user wants to apply the slit function or not in available modes + // const [useSimulateSlitFunction, setUseSimulateSlitFunction] = useState(false); // checking the mode and enable or disable slit feature + // const [disableDownloadButton, setDisableDownloadButton] = useState(true); + // const [disableAddToPlotButton, setDisableAddToPlotButton] = useState(true); - const [simulateSlitUnit, setSimulateSlitUnit] = useState(false); + // const [simulateSlitUnit, setSimulateSlitUnit] = useState(false); const { control, handleSubmit, @@ -73,10 +97,10 @@ export const Form: React.FunctionComponent = ({ const databaseWatch = watch("database"); React.useEffect(() => { if (databaseWatch === Database.GEISA) { - setIsNonEquilibrium(false); - setShowNonEquilibriumSwitch(false); + toggleIsNonEquilibrium(false); + toggleshowNonEquilibriumSwitch(false); } else { - setShowNonEquilibriumSwitch(true); + toggleshowNonEquilibriumSwitch(true); } }, [databaseWatch]); diff --git a/frontend/src/store/form.ts b/frontend/src/store/form.ts index 1eac8919..fa1d7238 100644 --- a/frontend/src/store/form.ts +++ b/frontend/src/store/form.ts @@ -1,15 +1,66 @@ import { create } from "zustand"; +import { devtools } from "zustand/middleware"; interface TFromState { - isNonEquilibrium: boolean; - toggleIsNonEquilibrium: (value: boolean) => void; + isNonEquilibrium: boolean; // trot tvib inputs + showNonEquilibriumSwitch: boolean; // equilibrium switch + useSlit: boolean; // slit input + useSimulateSlitFunction: boolean; // slit switch + simulateSlitUnit: boolean; // slit unit + disableDownloadButton: boolean; + disableAddToPlotButton: boolean; } -const useFromStore = create()((set) => ({ - isNonEquilibrium: false, - toggleIsNonEquilibrium: (value: any) => - set((state) => ({ - isNonEquilibrium: !state.isNonEquilibrium, - })), -})); + +interface TFromActions { + toggleIsNonEquilibrium: (value: boolean) => void; // to show the trot and tvib fields + toggleshowNonEquilibriumSwitch: (value: boolean) => void; // to show the equilibrium switch + setUseSlit: (value: boolean) => void; // to show slit input + setUseSimulateSlitFunction: (value: boolean) => void; // to show the slit switch + setSimulateSlitUnit: (value: boolean) => void; // change the unit according to the wavelength unit selected + setDisableDownloadButton: (value: boolean) => void; + setDisableAddToPlotButton: (value: boolean) => void; +} + +const useFromStore = create()( + devtools((set) => ({ + isNonEquilibrium: false, + showNonEquilibriumSwitch: false, + useSlit: false, + useSimulateSlitFunction: false, + simulateSlitUnit: false, + disableDownloadButton: true, + disableAddToPlotButton: true, + toggleIsNonEquilibrium: (value: boolean) => + set((_) => ({ + isNonEquilibrium: value, + })), + + toggleshowNonEquilibriumSwitch: (value: boolean) => + set((_) => ({ + showNonEquilibriumSwitch: value, + })), + + setUseSlit: (value: boolean) => + set((_) => ({ + useSlit: value, + })), + setUseSimulateSlitFunction: (value: boolean) => + set((_) => ({ + useSimulateSlitFunction: value, + })), + setSimulateSlitUnit: (value: boolean) => + set((_) => ({ + simulateSlitUnit: value, + })), + setDisableDownloadButton: (value: boolean) => + set((_) => ({ + disableDownloadButton: value, + })), + setDisableAddToPlotButton: (value: boolean) => + set((_) => ({ + disableAddToPlotButton: value, + })), + })) +); export default useFromStore; From 04fb8bcb024274a77d90b28a2bc1147af9a0beda Mon Sep 17 00:00:00 2001 From: Arunava Basu Date: Thu, 28 Dec 2023 19:14:02 +0530 Subject: [PATCH 09/27] feat: adding zustand --- frontend/src/components/Form.tsx | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/frontend/src/components/Form.tsx b/frontend/src/components/Form.tsx index ca8ec2b7..73f962b3 100644 --- a/frontend/src/components/Form.tsx +++ b/frontend/src/components/Form.tsx @@ -1,11 +1,9 @@ -import React, { useEffect, useState } from "react"; +import React, { useEffect } from "react"; import Grid from "@mui/material/Grid"; import { Controller, useForm } from "react-hook-form"; import axios from "axios"; import { yupResolver } from "@hookform/resolvers/yup"; import FormControlLabel from "@mui/material/FormControlLabel"; -// import Switch from "@mui/material/Switch"; -// import Button from "@mui/material/Button"; import Button from "@mui/joy/Button"; import ReactGA from "react-ga4"; import { PlotSettings, Spectrum } from "../constants"; @@ -69,20 +67,6 @@ export const Form: React.FunctionComponent = ({ setDisableDownloadButton, } = useFromStore(); //zustand - // const [disableDownloadButton, setDisableDownloadButton] = useState(true); - // const [disableAddToPlotButton, setDisableAddToPlotButton] = useState(true); - - // const [simulateSlitUnit, setSimulateSlitUnit] = useState(false); - - // const [isNonEquilibrium, setIsNonEquilibrium] = useState(false); - // const [showNonEquilibriumSwitch, setShowNonEquilibriumSwitch] = - // useState(false); - // const [useSlit, setUseSlit] = useState(false); // checking that user wants to apply the slit function or not in available modes - // const [useSimulateSlitFunction, setUseSimulateSlitFunction] = useState(false); // checking the mode and enable or disable slit feature - // const [disableDownloadButton, setDisableDownloadButton] = useState(true); - // const [disableAddToPlotButton, setDisableAddToPlotButton] = useState(true); - - // const [simulateSlitUnit, setSimulateSlitUnit] = useState(false); const { control, handleSubmit, @@ -307,7 +291,7 @@ export const Form: React.FunctionComponent = ({ sx={{ m: 2 }} data-testid="non-equilibrium-switch-testid" checked={isNonEquilibrium} - onChange={(event) => setIsNonEquilibrium(event.target.checked)} + onChange={(event) => toggleIsNonEquilibrium(event.target.checked)} /> } /> From 04f7f972e2e83333d147e536a4b0b13a0b899b55 Mon Sep 17 00:00:00 2001 From: Arunava Basu Date: Wed, 10 Jan 2024 19:46:58 +0530 Subject: [PATCH 10/27] feat: adding updates --- frontend/package.json | 2 +- frontend/src/App.tsx | 47 ++------------------------------ frontend/src/components/Form.tsx | 40 +++++++++++++-------------- 3 files changed, 24 insertions(+), 65 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index 18044283..13435062 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -32,7 +32,7 @@ "zustand": "^4.4.7" }, "scripts": { - "dev": "vite", + "dev": "vite dev", "build": "vite build", "serve": "vite preview", "test": "vitest", diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index c3a6bdec..49e1ab33 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -8,24 +8,12 @@ import Toolbar from "@mui/material/Toolbar"; import Typography from "@mui/material/Typography"; import InfoIcon from "@mui/icons-material/Info"; import GitHubIcon from "@mui/icons-material/GitHub"; -import { createTheme, ThemeProvider, useTheme } from "@mui/material/styles"; import { makeStyles } from "@mui/styles"; import "fontsource-roboto"; import CssBaseline from "@mui/material/CssBaseline"; import { PlotSpectra } from "./components/PlotSpectra"; -import { palette } from "./constants"; -import logo from "./logo.png"; - -const ColorModeContext = React.createContext({ - toggleColorMode: () => { - console.warn("toggleColorMode has no implementation"); - }, -}); - -export const theme = createTheme({ - palette, -}); +import logo from "./logo.png"; const useStyles = makeStyles({ root: { flexGrow: 1, @@ -96,8 +84,6 @@ const InfoPopover = () => { const Header: React.FC = () => { const classes = useStyles(); - const theme = useTheme(); - const colorMode = React.useContext(ColorModeContext); return ( { ); }; -function App(): React.ReactElement { +export default function App(): React.ReactElement { const classes = useStyles(); - const theme = useTheme(); + return (

    @@ -154,33 +140,6 @@ function App(): React.ReactElement { -
    ); } - - - -export default function ToggleColorMode() { - const [mode, setMode] = React.useState<"light" | "dark">("light"); - const colorMode = React.useMemo( - () => ({ - toggleColorMode: () => { - setMode((prevMode) => (prevMode === "light" ? "dark" : "light")); - }, - }), - [] - ); - - const theme = React.useMemo( - () => - createTheme({ - palette: { - mode, - }, - }), - [mode] - ); - - return ; -} diff --git a/frontend/src/components/Form.tsx b/frontend/src/components/Form.tsx index 73f962b3..002a3739 100644 --- a/frontend/src/components/Form.tsx +++ b/frontend/src/components/Form.tsx @@ -1,5 +1,5 @@ import React, { useEffect } from "react"; -import Grid from "@mui/material/Grid"; +import Grid from '@mui/joy/Grid'; import { Controller, useForm } from "react-hook-form"; import axios from "axios"; import { yupResolver } from "@hookform/resolvers/yup"; @@ -333,13 +333,13 @@ export const Form: React.FunctionComponent = ({ onSubmit={handleSubmit((data) => onSubmit(data, `calculate-spectrum`))} > - + - + - + = ({ {isNonEquilibrium ? ( - + ) : ( - + )} {isNonEquilibrium ? ( <> - + - + ) : null} {isNonEquilibrium ? ( - + ) : ( - + )} {isNonEquilibrium ? ( <> - + ) : ( <> - + )} - + = ({ {useSimulateSlitFunction ? ( - + ) : null} {useSimulateSlitFunction ? ( useSlit ? ( - + = ({ ) : null ) : null} {showNonEquilibriumSwitch && ( - + )} - + - + - + { @@ -445,7 +445,7 @@ export const Form: React.FunctionComponent = ({ })} /> - + { From eb1723f3722cdd7ed7a9b080feece6184fb5e992 Mon Sep 17 00:00:00 2001 From: Arunava Basu Date: Wed, 10 Jan 2024 19:59:07 +0530 Subject: [PATCH 11/27] feat: adding UseNonEquilibriumCalculationsSwitch --- frontend/src/components/Form.tsx | 30 ++++++++++--------- .../UseNonEquilibriumCalculationsSwitch.tsx | 17 +++++++++++ 2 files changed, 33 insertions(+), 14 deletions(-) create mode 100644 frontend/src/components/fields/UseNonEquilibriumCalculationsSwitch.tsx diff --git a/frontend/src/components/Form.tsx b/frontend/src/components/Form.tsx index 002a3739..36c2738b 100644 --- a/frontend/src/components/Form.tsx +++ b/frontend/src/components/Form.tsx @@ -24,6 +24,7 @@ import { Species } from "./fields/Species/Species"; import { DownloadTxtButton } from "./DownloadTxtButton"; import Switch from "@mui/joy/Switch"; import useFromStore from "../store/form"; +import UseNonEquilibriumCalculationsSwitch from "./fields/UseNonEquilibriumCalculationsSwitch"; export interface Response { data?: T; @@ -283,19 +284,19 @@ export const Form: React.FunctionComponent = ({ } }, [setValue, isNonEquilibrium]); - const UseNonEquilibriumCalculationsSwitch = () => ( - toggleIsNonEquilibrium(event.target.checked)} - /> - } - /> - ); + // const UseNonEquilibriumCalculationsSwitch = () => ( + // toggleIsNonEquilibrium(event.target.checked)} + // /> + // } + // /> + // ); //slit-switch const UseSimulateSlit = () => ( @@ -420,7 +421,8 @@ export const Form: React.FunctionComponent = ({ ) : null} {showNonEquilibriumSwitch && ( - + {/* */} + )} diff --git a/frontend/src/components/fields/UseNonEquilibriumCalculationsSwitch.tsx b/frontend/src/components/fields/UseNonEquilibriumCalculationsSwitch.tsx new file mode 100644 index 00000000..86a81a95 --- /dev/null +++ b/frontend/src/components/fields/UseNonEquilibriumCalculationsSwitch.tsx @@ -0,0 +1,17 @@ +import Switch from "@mui/joy/Switch"; +import useFromStore from "../../store/form"; + +function UseNonEquilibriumCalculationsSwitch() { + const { isNonEquilibrium, toggleIsNonEquilibrium } = useFromStore(); //zustand + + return ( + toggleIsNonEquilibrium(event.target.checked)} + /> + ); +} + +export default UseNonEquilibriumCalculationsSwitch; From 14844bc11dfb67578068953cec4888b404826752 Mon Sep 17 00:00:00 2001 From: Arunava Basu Date: Wed, 10 Jan 2024 20:11:47 +0530 Subject: [PATCH 12/27] feat: adding updates --- frontend/src/components/Form.tsx | 90 +++++-------------- frontend/src/components/fields/Mode.tsx | 2 +- .../fields/UseSimulateSlitSwitch.tsx | 34 +++++++ 3 files changed, 58 insertions(+), 68 deletions(-) create mode 100644 frontend/src/components/fields/UseSimulateSlitSwitch.tsx diff --git a/frontend/src/components/Form.tsx b/frontend/src/components/Form.tsx index 36c2738b..bb289b1f 100644 --- a/frontend/src/components/Form.tsx +++ b/frontend/src/components/Form.tsx @@ -1,5 +1,5 @@ import React, { useEffect } from "react"; -import Grid from '@mui/joy/Grid'; +import Grid from "@mui/joy/Grid"; import { Controller, useForm } from "react-hook-form"; import axios from "axios"; import { yupResolver } from "@hookform/resolvers/yup"; @@ -25,6 +25,7 @@ import { DownloadTxtButton } from "./DownloadTxtButton"; import Switch from "@mui/joy/Switch"; import useFromStore from "../store/form"; import UseNonEquilibriumCalculationsSwitch from "./fields/UseNonEquilibriumCalculationsSwitch"; +import UseSimulateSlitSwitch from "./fields/UseSimulateSlitSwitch"; export interface Response { data?: T; @@ -284,63 +285,18 @@ export const Form: React.FunctionComponent = ({ } }, [setValue, isNonEquilibrium]); - // const UseNonEquilibriumCalculationsSwitch = () => ( - // toggleIsNonEquilibrium(event.target.checked)} - // /> - // } - // /> - // ); - - //slit-switch - const UseSimulateSlit = () => ( - ( - { - console.log(event.target.checked); - setUseSlit(event.target.checked); - field.onChange(event.target.checked); - if (event.target.checked) { - setValue("simulate_slit", 5); - } else { - setValue("simulate_slit", undefined); - } - }} - /> - } - /> - )} - /> - ); - return ( onSubmit(data, `calculate-spectrum`))} > - + - + - + = ({ {isNonEquilibrium ? ( - + ) : ( - + )} {isNonEquilibrium ? ( <> - + - + ) : null} {isNonEquilibrium ? ( - + ) : ( - + )} {isNonEquilibrium ? ( <> - + ) : ( <> - + )} - + = ({ {useSimulateSlitFunction ? ( - - + + ) : null} {useSimulateSlitFunction ? ( useSlit ? ( - + = ({ ) : null ) : null} {showNonEquilibriumSwitch && ( - + {/* */} - + )} - + - + - + { @@ -447,7 +403,7 @@ export const Form: React.FunctionComponent = ({ })} /> - + { diff --git a/frontend/src/components/fields/Mode.tsx b/frontend/src/components/fields/Mode.tsx index bde4fa4c..97d339df 100644 --- a/frontend/src/components/fields/Mode.tsx +++ b/frontend/src/components/fields/Mode.tsx @@ -16,7 +16,7 @@ export const Mode: React.FC = ({ control }) => { Mode ( Date: Wed, 10 Jan 2024 21:16:44 +0530 Subject: [PATCH 14/27] feat: adding updates --- frontend/src/components/Form.tsx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/frontend/src/components/Form.tsx b/frontend/src/components/Form.tsx index 4fed4ec0..90350d9a 100644 --- a/frontend/src/components/Form.tsx +++ b/frontend/src/components/Form.tsx @@ -49,7 +49,6 @@ export const Form: React.FunctionComponent = ({ spectra, setSpectra, }) => { - //zustand const { isNonEquilibrium, toggleIsNonEquilibrium, @@ -64,8 +63,9 @@ export const Form: React.FunctionComponent = ({ setDisableAddToPlotButton, disableDownloadButton, setDisableDownloadButton, - } = useFromStore(); //zustand + } = useFromStore(); + //TODO - we need to make it global (zuatand) const { control, handleSubmit, @@ -374,7 +374,6 @@ export const Form: React.FunctionComponent = ({ ) : null} {showNonEquilibriumSwitch && ( - {/* */} )} From 038bdc789c824d93de3b6b776126b9bffe1509dd Mon Sep 17 00:00:00 2001 From: Arunava Basu Date: Sun, 21 Jan 2024 20:18:48 +0530 Subject: [PATCH 15/27] feat: adding form state to global --- frontend/src/components/Form.tsx | 225 ++++++++++++------------ frontend/src/components/fields/TGas.tsx | 81 +++++---- 2 files changed, 155 insertions(+), 151 deletions(-) diff --git a/frontend/src/components/Form.tsx b/frontend/src/components/Form.tsx index 90350d9a..57dbb362 100644 --- a/frontend/src/components/Form.tsx +++ b/frontend/src/components/Form.tsx @@ -1,6 +1,6 @@ import React, { useEffect } from "react"; import Grid from "@mui/joy/Grid"; -import { useForm } from "react-hook-form"; +import { useForm, FormProvider } from "react-hook-form"; import axios from "axios"; import { yupResolver } from "@hookform/resolvers/yup"; import Button from "@mui/joy/Button"; @@ -65,17 +65,20 @@ export const Form: React.FunctionComponent = ({ setDisableDownloadButton, } = useFromStore(); - //TODO - we need to make it global (zuatand) + //TODO - we need to make it global + + const methods = useForm({ + defaultValues: { species: [{ molecule: "CO", mole_fraction: 0.1 }] }, + resolver: yupResolver(formSchema), + }); + const { control, handleSubmit, setValue, watch, formState: { dirtyFields }, - } = useForm({ - defaultValues: { species: [{ molecule: "CO", mole_fraction: 0.1 }] }, - resolver: yupResolver(formSchema), - }); + } = methods; const databaseWatch = watch("database"); React.useEffect(() => { @@ -283,131 +286,133 @@ export const Form: React.FunctionComponent = ({ }, [setValue, isNonEquilibrium]); return ( - onSubmit(data, `calculate-spectrum`))} - > - - - - - - - - - - - - {isNonEquilibrium ? ( - - + + onSubmit(data, `calculate-spectrum`))} + > + + + - ) : ( - - + + + + + - )} - {isNonEquilibrium ? ( - <> + {isNonEquilibrium ? ( - + - - + ) : ( + + - - ) : null} + )} - {isNonEquilibrium ? ( - - - - ) : ( - - - - )} + {isNonEquilibrium ? ( + <> + + + + + + + + ) : null} - {isNonEquilibrium ? ( - <> + {isNonEquilibrium ? ( - + - - ) : ( - <> + ) : ( - + - - )} + )} - - - + {isNonEquilibrium ? ( + <> + + + + + ) : ( + <> + + + + + )} - {useSimulateSlitFunction ? ( - + - ) : null} - {useSimulateSlitFunction ? ( - useSlit ? ( + {useSimulateSlitFunction ? ( + + + + ) : null} + + {useSimulateSlitFunction ? ( + useSlit ? ( + + + + ) : null + ) : null} + {showNonEquilibriumSwitch && ( - + - ) : null - ) : null} - {showNonEquilibriumSwitch && ( + )} + + + + + + - + { + onSubmit(data, `download-spectrum`); + })} + /> + + + { + onSubmit(data, `download-txt`); + })} + /> - )} - - - - - - - - { - onSubmit(data, `download-spectrum`); - })} - /> - - - { - onSubmit(data, `download-txt`); - })} - /> - - + + ); }; diff --git a/frontend/src/components/fields/TGas.tsx b/frontend/src/components/fields/TGas.tsx index f2c1ee7d..6e992d13 100644 --- a/frontend/src/components/fields/TGas.tsx +++ b/frontend/src/components/fields/TGas.tsx @@ -2,47 +2,46 @@ import Input from "@mui/joy/Input"; import FormControl from "@mui/joy/FormControl"; import FormLabel from "@mui/joy/FormLabel"; import FormHelperText from "@mui/joy/FormHelperText"; -import React, { ReactNode } from "react"; import InputAdornment from "@mui/material/InputAdornment"; -import { Control, Controller } from "react-hook-form"; -import { FormValues } from "../types"; +import { Controller, useFormContext } from "react-hook-form"; -interface TGasProps { - control: Control; -} -export const TGas: React.FC = ({ control }) => ( - ( - - TGas - K} - onKeyPress={(event: any) => { - if (event?.key === "-" || event?.key === "+") { - event.preventDefault(); - } - }} - /> - {formState.errors?.tgas ? ( - { + const { control } = useFormContext(); + return ( + ( + + TGas + K} + onKeyPress={(event: any) => { + if (event?.key === "-" || event?.key === "+") { + event.preventDefault(); + } }} - > - {formState.errors?.tgas?.message} - - ) : null} - - )} - name="tgas" - control={control} - defaultValue={300} - /> -); + /> + {fieldState.error ? ( + + {fieldState.error.message} + + ) : null} +
    + )} + name="tgas" + control={control} + defaultValue={300} + /> + ); +}; From fbee72c0b11f50589fddcc6bbfce05cb42f5ec84 Mon Sep 17 00:00:00 2001 From: Arunava Basu Date: Sun, 21 Jan 2024 20:48:27 +0530 Subject: [PATCH 16/27] feat: refactoring the tgas and trot to the global state --- frontend/src/components/fields/TGas.tsx | 9 ++- frontend/src/components/fields/TRot.tsx | 80 ++++++++++++------------- 2 files changed, 43 insertions(+), 46 deletions(-) diff --git a/frontend/src/components/fields/TGas.tsx b/frontend/src/components/fields/TGas.tsx index 6e992d13..005faf42 100644 --- a/frontend/src/components/fields/TGas.tsx +++ b/frontend/src/components/fields/TGas.tsx @@ -2,7 +2,6 @@ import Input from "@mui/joy/Input"; import FormControl from "@mui/joy/FormControl"; import FormLabel from "@mui/joy/FormLabel"; import FormHelperText from "@mui/joy/FormHelperText"; -import InputAdornment from "@mui/material/InputAdornment"; import { Controller, useFormContext } from "react-hook-form"; @@ -11,6 +10,9 @@ export const TGas: React.FC = () => { const { control } = useFormContext(); return ( ( TGas @@ -21,7 +23,7 @@ export const TGas: React.FC = () => { onChange={field.onChange} value={field.value} error={!!fieldState.error} - endDecorator={K} + endDecorator={"k"} onKeyPress={(event: any) => { if (event?.key === "-" || event?.key === "+") { event.preventDefault(); @@ -39,9 +41,6 @@ export const TGas: React.FC = () => { ) : null} )} - name="tgas" - control={control} - defaultValue={300} /> ); }; diff --git a/frontend/src/components/fields/TRot.tsx b/frontend/src/components/fields/TRot.tsx index a754c2ba..6b2cc1ec 100644 --- a/frontend/src/components/fields/TRot.tsx +++ b/frontend/src/components/fields/TRot.tsx @@ -2,47 +2,45 @@ import Input from "@mui/joy/Input"; import FormControl from "@mui/joy/FormControl"; import FormLabel from "@mui/joy/FormLabel"; import FormHelperText from "@mui/joy/FormHelperText"; -import React, { ReactNode } from "react"; + import InputAdornment from "@mui/material/InputAdornment"; -import { Control, Controller } from "react-hook-form"; -import { FormValues } from "../types"; +import { Controller, useFormContext } from "react-hook-form"; -interface TRotProps { - control: Control; -} -export const TRot: React.FC = ({ control }) => ( - ( - - TGas - K} - onKeyPress={(event: any) => { - if (event?.key === "-" || event?.key === "+") { - event.preventDefault(); - } - }} - /> - {formState.errors?.trot ? ( - { + const { control } = useFormContext(); + return ( + ( + + TRot + K} + onKeyPress={(event: any) => { + if (event?.key === "-" || event?.key === "+") { + event.preventDefault(); + } }} - > - {formState.errors?.trot?.message} - - ) : null} - - )} - name="trot" - control={control} - defaultValue={300} - /> -); + /> + {fieldState.error ? ( + + {fieldState.error.message} + + ) : null} +
    + )} + /> + ); +}; From 74771cac9ee8ebe9696628d433c169cc42b4525e Mon Sep 17 00:00:00 2001 From: Arunava Basu Date: Sun, 21 Jan 2024 20:51:35 +0530 Subject: [PATCH 17/27] refactor: adding tvib --- frontend/package.json | 4 + frontend/pnpm-lock.yaml | 454 +++++++++++++++++++++++- frontend/src/components/fields/TVib.tsx | 83 +++-- 3 files changed, 497 insertions(+), 44 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index 13435062..edefa9f4 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -13,6 +13,7 @@ "@testing-library/jest-dom": "5.16.4", "@testing-library/react": "13.3.0", "@testing-library/user-event": "13.5.0", + "@vercel/analytics": "^1.1.2", "@vitejs/plugin-react": "^4.0.0", "axios": "0.27.2", "dotenv": "^16.0.3", @@ -22,11 +23,13 @@ "react": "18.2.0", "react-dom": "18.2.0", "react-ga4": "^1.4.1", + "react-helmet": "^6.1.0", "react-hook-form": "7.33.1", "react-plotly.js": "2.5.1", "react-scripts": "5.0.1", "react-top-loading-bar": "2.1.0", "typescript": "4.7.4", + "vite": "^5.0.12", "web-vitals": "3.0.3", "yup": "0.32.11", "zustand": "^4.4.7" @@ -64,6 +67,7 @@ "@types/node": "16.11.45", "@types/react": "18.0.15", "@types/react-dom": "18.0.6", + "@types/react-helmet": "^6.1.11", "@types/react-plotly.js": "2.5.1", "@vitest/coverage-v8": "^0.32.2", "@vitest/ui": "^0.32.2", diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index 25121c1c..d051488a 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -15,7 +15,9 @@ specifiers: '@types/node': 16.11.45 '@types/react': 18.0.15 '@types/react-dom': 18.0.6 + '@types/react-helmet': ^6.1.11 '@types/react-plotly.js': 2.5.1 + '@vercel/analytics': ^1.1.2 '@vitejs/plugin-react': ^4.0.0 '@vitest/coverage-v8': ^0.32.2 '@vitest/ui': ^0.32.2 @@ -34,12 +36,14 @@ specifiers: react: 18.2.0 react-dom: 18.2.0 react-ga4: ^1.4.1 + react-helmet: ^6.1.0 react-hook-form: 7.33.1 react-plotly.js: 2.5.1 react-scripts: 5.0.1 react-top-loading-bar: 2.1.0 typescript: 4.7.4 typescript-eslint: 0.0.1-alpha.0 + vite: ^5.0.12 vitest: ^0.32.2 web-vitals: 3.0.3 yup: 0.32.11 @@ -56,7 +60,8 @@ dependencies: '@testing-library/jest-dom': 5.16.4 '@testing-library/react': 13.3.0_biqbaboplfbrettd7655fr4n2y '@testing-library/user-event': 13.5.0 - '@vitejs/plugin-react': 4.2.1 + '@vercel/analytics': 1.1.2 + '@vitejs/plugin-react': 4.2.1_vite@5.0.12 axios: 0.27.2 dotenv: 16.3.1 fontsource-roboto: 4.0.0 @@ -65,11 +70,13 @@ dependencies: react: 18.2.0 react-dom: 18.2.0_react@18.2.0 react-ga4: 1.4.1 + react-helmet: 6.1.0_react@18.2.0 react-hook-form: 7.33.1_react@18.2.0 react-plotly.js: 2.5.1_3gwbzzxlhcfw4vshlyzpaxc2g4 react-scripts: 5.0.1_legnkqzp7ghso7ex3mqhmamure react-top-loading-bar: 2.1.0_react@18.2.0 typescript: 4.7.4 + vite: 5.0.12_@types+node@16.11.45 web-vitals: 3.0.3 yup: 0.32.11 zustand: 4.4.7_3hx2ussxxho4jajbwrd6gq34qe @@ -79,6 +86,7 @@ devDependencies: '@types/node': 16.11.45 '@types/react': 18.0.15 '@types/react-dom': 18.0.6 + '@types/react-helmet': 6.1.11 '@types/react-plotly.js': 2.5.1 '@vitest/coverage-v8': 0.32.4_vitest@0.32.4 '@vitest/ui': 0.32.4_vitest@0.32.4 @@ -1870,6 +1878,15 @@ packages: resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==} dev: false + /@esbuild/aix-ppc64/0.19.11: + resolution: {integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: false + optional: true + /@esbuild/android-arm/0.18.20: resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} engines: {node: '>=12'} @@ -1879,6 +1896,15 @@ packages: dev: true optional: true + /@esbuild/android-arm/0.19.11: + resolution: {integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: false + optional: true + /@esbuild/android-arm64/0.18.20: resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} @@ -1888,6 +1914,15 @@ packages: dev: true optional: true + /@esbuild/android-arm64/0.19.11: + resolution: {integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: false + optional: true + /@esbuild/android-x64/0.18.20: resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} engines: {node: '>=12'} @@ -1897,6 +1932,15 @@ packages: dev: true optional: true + /@esbuild/android-x64/0.19.11: + resolution: {integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: false + optional: true + /@esbuild/darwin-arm64/0.18.20: resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} engines: {node: '>=12'} @@ -1906,6 +1950,15 @@ packages: dev: true optional: true + /@esbuild/darwin-arm64/0.19.11: + resolution: {integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + /@esbuild/darwin-x64/0.18.20: resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} engines: {node: '>=12'} @@ -1915,6 +1968,15 @@ packages: dev: true optional: true + /@esbuild/darwin-x64/0.19.11: + resolution: {integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + /@esbuild/freebsd-arm64/0.18.20: resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} engines: {node: '>=12'} @@ -1924,6 +1986,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-arm64/0.19.11: + resolution: {integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + /@esbuild/freebsd-x64/0.18.20: resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} engines: {node: '>=12'} @@ -1933,6 +2004,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-x64/0.19.11: + resolution: {integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-arm/0.18.20: resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} engines: {node: '>=12'} @@ -1942,6 +2022,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm/0.19.11: + resolution: {integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-arm64/0.18.20: resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} engines: {node: '>=12'} @@ -1951,6 +2040,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm64/0.19.11: + resolution: {integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-ia32/0.18.20: resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} engines: {node: '>=12'} @@ -1960,6 +2058,15 @@ packages: dev: true optional: true + /@esbuild/linux-ia32/0.19.11: + resolution: {integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-loong64/0.18.20: resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} engines: {node: '>=12'} @@ -1969,6 +2076,15 @@ packages: dev: true optional: true + /@esbuild/linux-loong64/0.19.11: + resolution: {integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-mips64el/0.18.20: resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} engines: {node: '>=12'} @@ -1978,6 +2094,15 @@ packages: dev: true optional: true + /@esbuild/linux-mips64el/0.19.11: + resolution: {integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-ppc64/0.18.20: resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} @@ -1987,6 +2112,15 @@ packages: dev: true optional: true + /@esbuild/linux-ppc64/0.19.11: + resolution: {integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-riscv64/0.18.20: resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} engines: {node: '>=12'} @@ -1996,6 +2130,15 @@ packages: dev: true optional: true + /@esbuild/linux-riscv64/0.19.11: + resolution: {integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-s390x/0.18.20: resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} engines: {node: '>=12'} @@ -2005,6 +2148,15 @@ packages: dev: true optional: true + /@esbuild/linux-s390x/0.19.11: + resolution: {integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-x64/0.18.20: resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} engines: {node: '>=12'} @@ -2014,6 +2166,15 @@ packages: dev: true optional: true + /@esbuild/linux-x64/0.19.11: + resolution: {integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/netbsd-x64/0.18.20: resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} @@ -2023,6 +2184,15 @@ packages: dev: true optional: true + /@esbuild/netbsd-x64/0.19.11: + resolution: {integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: false + optional: true + /@esbuild/openbsd-x64/0.18.20: resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} @@ -2032,6 +2202,15 @@ packages: dev: true optional: true + /@esbuild/openbsd-x64/0.19.11: + resolution: {integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: false + optional: true + /@esbuild/sunos-x64/0.18.20: resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} engines: {node: '>=12'} @@ -2041,6 +2220,15 @@ packages: dev: true optional: true + /@esbuild/sunos-x64/0.19.11: + resolution: {integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: false + optional: true + /@esbuild/win32-arm64/0.18.20: resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} engines: {node: '>=12'} @@ -2050,6 +2238,15 @@ packages: dev: true optional: true + /@esbuild/win32-arm64/0.19.11: + resolution: {integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + /@esbuild/win32-ia32/0.18.20: resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} engines: {node: '>=12'} @@ -2059,6 +2256,15 @@ packages: dev: true optional: true + /@esbuild/win32-ia32/0.19.11: + resolution: {integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + /@esbuild/win32-x64/0.18.20: resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} engines: {node: '>=12'} @@ -2068,6 +2274,15 @@ packages: dev: true optional: true + /@esbuild/win32-x64/0.19.11: + resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + /@eslint-community/eslint-utils/4.4.0_eslint@8.20.0: resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3019,6 +3234,110 @@ packages: rollup: 2.79.1 dev: false + /@rollup/rollup-android-arm-eabi/4.9.5: + resolution: {integrity: sha512-idWaG8xeSRCfRq9KpRysDHJ/rEHBEXcHuJ82XY0yYFIWnLMjZv9vF/7DOq8djQ2n3Lk6+3qfSH8AqlmHlmi1MA==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-android-arm64/4.9.5: + resolution: {integrity: sha512-f14d7uhAMtsCGjAYwZGv6TwuS3IFaM4ZnGMUn3aCBgkcHAYErhV1Ad97WzBvS2o0aaDv4mVz+syiN0ElMyfBPg==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-darwin-arm64/4.9.5: + resolution: {integrity: sha512-ndoXeLx455FffL68OIUrVr89Xu1WLzAG4n65R8roDlCoYiQcGGg6MALvs2Ap9zs7AHg8mpHtMpwC8jBBjZrT/w==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-darwin-x64/4.9.5: + resolution: {integrity: sha512-UmElV1OY2m/1KEEqTlIjieKfVwRg0Zwg4PLgNf0s3glAHXBN99KLpw5A5lrSYCa1Kp63czTpVll2MAqbZYIHoA==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-arm-gnueabihf/4.9.5: + resolution: {integrity: sha512-Q0LcU61v92tQB6ae+udZvOyZ0wfpGojtAKrrpAaIqmJ7+psq4cMIhT/9lfV6UQIpeItnq/2QDROhNLo00lOD1g==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-arm64-gnu/4.9.5: + resolution: {integrity: sha512-dkRscpM+RrR2Ee3eOQmRWFjmV/payHEOrjyq1VZegRUa5OrZJ2MAxBNs05bZuY0YCtpqETDy1Ix4i/hRqX98cA==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-arm64-musl/4.9.5: + resolution: {integrity: sha512-QaKFVOzzST2xzY4MAmiDmURagWLFh+zZtttuEnuNn19AiZ0T3fhPyjPPGwLNdiDT82ZE91hnfJsUiDwF9DClIQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-riscv64-gnu/4.9.5: + resolution: {integrity: sha512-HeGqmRJuyVg6/X6MpE2ur7GbymBPS8Np0S/vQFHDmocfORT+Zt76qu+69NUoxXzGqVP1pzaY6QIi0FJWLC3OPA==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-x64-gnu/4.9.5: + resolution: {integrity: sha512-Dq1bqBdLaZ1Gb/l2e5/+o3B18+8TI9ANlA1SkejZqDgdU/jK/ThYaMPMJpVMMXy2uRHvGKbkz9vheVGdq3cJfA==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-x64-musl/4.9.5: + resolution: {integrity: sha512-ezyFUOwldYpj7AbkwyW9AJ203peub81CaAIVvckdkyH8EvhEIoKzaMFJj0G4qYJ5sw3BpqhFrsCc30t54HV8vg==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-win32-arm64-msvc/4.9.5: + resolution: {integrity: sha512-aHSsMnUw+0UETB0Hlv7B/ZHOGY5bQdwMKJSzGfDfvyhnpmVxLMGnQPGNE9wgqkLUs3+gbG1Qx02S2LLfJ5GaRQ==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-win32-ia32-msvc/4.9.5: + resolution: {integrity: sha512-AiqiLkb9KSf7Lj/o1U3SEP9Zn+5NuVKgFdRIZkvd4N0+bYrTOovVd0+LmYCPQGbocT4kvFyK+LXCDiXPBF3fyA==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-win32-x64-msvc/4.9.5: + resolution: {integrity: sha512-1q+mykKE3Vot1kaFJIDoUFv5TuW+QQVaf2FmTT9krg86pQrGStOSJJ0Zil7CFagyxDuouTepzt5Y5TVzyajOdQ==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + /@rushstack/eslint-patch/1.6.1: resolution: {integrity: sha512-UY+FGM/2jjMkzQLn8pxcHGMaVLh9aEitG3zY2CiY7XHdLiz3bZOwa6oDxNqEMv7zZkV+cj5DOdz0cQ1BP5Hjgw==} dev: false @@ -3461,6 +3780,12 @@ packages: dependencies: '@types/react': 18.0.15 + /@types/react-helmet/6.1.11: + resolution: {integrity: sha512-0QcdGLddTERotCXo3VFlUSWO3ztraw8nZ6e3zJSgG7apwV5xt+pJUS8ewPBqT4NYB1optGLprNQzFleIY84u/g==} + dependencies: + '@types/react': 18.0.15 + dev: true + /@types/react-plotly.js/2.5.1: resolution: {integrity: sha512-e9sjVl6qEkpMx4l1YRiQZJqTUh1YuyppqgMmZ9S/oT4QYb5MKBWsQLBdFH6OxxRWIyoNO0ypzkAaarrwWJK2eA==} dependencies: @@ -3696,7 +4021,13 @@ packages: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 - /@vitejs/plugin-react/4.2.1: + /@vercel/analytics/1.1.2: + resolution: {integrity: sha512-CodhkLCQ/EHzjX8k+Qg+OzTBY0UadykrcfolfSOJVZZY/ZJM5nbhztm9KdbYvMfqKlasAr1+OYy0ThZnDA/MYA==} + dependencies: + server-only: 0.0.1 + dev: false + + /@vitejs/plugin-react/4.2.1_vite@5.0.12: resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -3707,6 +4038,7 @@ packages: '@babel/plugin-transform-react-jsx-source': 7.23.3_@babel+core@7.23.6 '@types/babel__core': 7.20.5 react-refresh: 0.14.0 + vite: 5.0.12_@types+node@16.11.45 transitivePeerDependencies: - supports-color dev: false @@ -6037,6 +6369,37 @@ packages: '@esbuild/win32-x64': 0.18.20 dev: true + /esbuild/0.19.11: + resolution: {integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.11 + '@esbuild/android-arm': 0.19.11 + '@esbuild/android-arm64': 0.19.11 + '@esbuild/android-x64': 0.19.11 + '@esbuild/darwin-arm64': 0.19.11 + '@esbuild/darwin-x64': 0.19.11 + '@esbuild/freebsd-arm64': 0.19.11 + '@esbuild/freebsd-x64': 0.19.11 + '@esbuild/linux-arm': 0.19.11 + '@esbuild/linux-arm64': 0.19.11 + '@esbuild/linux-ia32': 0.19.11 + '@esbuild/linux-loong64': 0.19.11 + '@esbuild/linux-mips64el': 0.19.11 + '@esbuild/linux-ppc64': 0.19.11 + '@esbuild/linux-riscv64': 0.19.11 + '@esbuild/linux-s390x': 0.19.11 + '@esbuild/linux-x64': 0.19.11 + '@esbuild/netbsd-x64': 0.19.11 + '@esbuild/openbsd-x64': 0.19.11 + '@esbuild/sunos-x64': 0.19.11 + '@esbuild/win32-arm64': 0.19.11 + '@esbuild/win32-ia32': 0.19.11 + '@esbuild/win32-x64': 0.19.11 + dev: false + /escalade/3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -10780,10 +11143,26 @@ packages: resolution: {integrity: sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==} dev: false + /react-fast-compare/3.2.2: + resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} + dev: false + /react-ga4/1.4.1: resolution: {integrity: sha512-ioBMEIxd4ePw4YtaloTUgqhQGqz5ebDdC4slEpLgy2sLx1LuZBC9iYCwDymTXzcntw6K1dHX183ulP32nNdG7w==} dev: false + /react-helmet/6.1.0_react@18.2.0: + resolution: {integrity: sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==} + peerDependencies: + react: '>=16.3.0' + dependencies: + object-assign: 4.1.1 + prop-types: 15.8.1 + react: 18.2.0 + react-fast-compare: 3.2.2 + react-side-effect: 2.1.2_react@18.2.0 + dev: false + /react-hook-form/7.33.1_react@18.2.0: resolution: {integrity: sha512-ydTfTxEJdvgjCZBj5DDXRc58oTEfnFupEwwTAQ9FSKzykEJkX+3CiAkGtAMiZG7IPWHuzgT6AOBfogiKhUvKgg==} engines: {node: '>=12.22.0'} @@ -10921,6 +11300,14 @@ packages: - webpack-plugin-serve dev: false + /react-side-effect/2.1.2_react@18.2.0: + resolution: {integrity: sha512-PVjOcvVOyIILrYoyGEpDN3vmYNLdy1CajSFNt4TDsVQC5KpTijDvWVoR+/7Rz2xT978D8/ZtFceXxzsPwZEDvw==} + peerDependencies: + react: ^16.3.0 || ^17.0.0 || ^18.0.0 + dependencies: + react: 18.2.0 + dev: false + /react-top-loading-bar/2.1.0_react@18.2.0: resolution: {integrity: sha512-07IPCC4fThfkH5PHm7d49s9UAq2rpy4RAyD+5gtwtBbBrwxkvcff7ZlbCgzrBXq8AvcGafDkpjcGdntJ4F0O9A==} engines: {node: '>=10'} @@ -11293,6 +11680,29 @@ packages: fsevents: 2.3.3 dev: true + /rollup/4.9.5: + resolution: {integrity: sha512-E4vQW0H/mbNMw2yLSqJyjtkHY9dslf/p0zuT1xehNRqUTBOFMqEjguDvqhXr7N7r/4ttb2jr4T41d3dncmIgbQ==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.9.5 + '@rollup/rollup-android-arm64': 4.9.5 + '@rollup/rollup-darwin-arm64': 4.9.5 + '@rollup/rollup-darwin-x64': 4.9.5 + '@rollup/rollup-linux-arm-gnueabihf': 4.9.5 + '@rollup/rollup-linux-arm64-gnu': 4.9.5 + '@rollup/rollup-linux-arm64-musl': 4.9.5 + '@rollup/rollup-linux-riscv64-gnu': 4.9.5 + '@rollup/rollup-linux-x64-gnu': 4.9.5 + '@rollup/rollup-linux-x64-musl': 4.9.5 + '@rollup/rollup-win32-arm64-msvc': 4.9.5 + '@rollup/rollup-win32-ia32-msvc': 4.9.5 + '@rollup/rollup-win32-x64-msvc': 4.9.5 + fsevents: 2.3.3 + dev: false + /rrweb-cssom/0.6.0: resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} @@ -11507,6 +11917,10 @@ packages: - supports-color dev: false + /server-only/0.0.1: + resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==} + dev: false + /set-function-length/1.1.1: resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} engines: {node: '>= 0.4'} @@ -12660,6 +13074,42 @@ packages: fsevents: 2.3.3 dev: true + /vite/5.0.12_@types+node@16.11.45: + resolution: {integrity: sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 16.11.45 + esbuild: 0.19.11 + postcss: 8.4.32 + rollup: 4.9.5 + optionalDependencies: + fsevents: 2.3.3 + dev: false + /vitest/0.32.4_o6kyuis2qfnfbtw6d3u5hromrm: resolution: {integrity: sha512-3czFm8RnrsWwIzVDu/Ca48Y/M+qh3vOnF16czJm98Q/AN1y3B6PBsyV8Re91Ty5s7txKNjEhpgtGPcfdbh2MZg==} engines: {node: '>=v14.18.0'} diff --git a/frontend/src/components/fields/TVib.tsx b/frontend/src/components/fields/TVib.tsx index 504145a2..53594c34 100644 --- a/frontend/src/components/fields/TVib.tsx +++ b/frontend/src/components/fields/TVib.tsx @@ -2,46 +2,45 @@ import Input from "@mui/joy/Input"; import FormControl from "@mui/joy/FormControl"; import FormLabel from "@mui/joy/FormLabel"; import FormHelperText from "@mui/joy/FormHelperText"; -import React, { ReactNode } from "react"; -import InputAdornment from "@mui/material/InputAdornment"; -import { Control, Controller } from "react-hook-form"; -import { FormValues } from "../types"; -interface TVibProps { - control: Control; -} -export const TVib: React.FC = ({ control }) => ( - ( - - TVib - K} - onKeyPress={(event: any) => { - if (event?.key === "-" || event?.key === "+") { - event.preventDefault(); - } - }} - /> - {formState.errors?.tvib ? ( - { + const { control } = useFormContext(); + + return ( + ( + + TVib + { + if (event?.key === "-" || event?.key === "+") { + event.preventDefault(); + } }} - > - {formState.errors?.tvib?.message} - - ) : null} - - )} - name="tvib" - control={control} - defaultValue={300} - /> -); + /> + {fieldState.error ? ( + + {fieldState.error.message} + + ) : null} +
    + )} + /> + ); +}; From 6fdd8687944c86ea295790f2e078dd916ea7b4a6 Mon Sep 17 00:00:00 2001 From: Arunava Basu Date: Sun, 21 Jan 2024 20:58:48 +0530 Subject: [PATCH 18/27] refactor: adding pressure and pressure units --- frontend/src/components/fields/Pressure.tsx | 46 +++++++++---------- .../src/components/fields/PressureUnits.tsx | 18 +++----- 2 files changed, 29 insertions(+), 35 deletions(-) diff --git a/frontend/src/components/fields/Pressure.tsx b/frontend/src/components/fields/Pressure.tsx index 5fa1db82..aab8a42a 100644 --- a/frontend/src/components/fields/Pressure.tsx +++ b/frontend/src/components/fields/Pressure.tsx @@ -1,49 +1,49 @@ -import React, { ReactNode } from "react"; import FormControl from "@mui/joy/FormControl"; import FormLabel from "@mui/joy/FormLabel"; import FormHelperText from "@mui/joy/FormHelperText"; import Input from "@mui/joy/Input"; -import { Control, Controller } from "react-hook-form"; -import { FormValues } from "../types"; +import {Controller, useFormContext } from "react-hook-form"; + import { PressureUnit } from "./PressureUnits"; import Divider from "@mui/joy/Divider"; -interface TGasProps { - control: Control; -} -export const Pressure: React.FC = ({ control }) => ( - ( - + +export const Pressure: React.FC = () => { + const { control } = useFormContext(); + + return ( + + ( + Pressure +
    - - + +
    } - /> - {formState.errors?.pressure ? ( + {fieldState.error ? ( - {formState.errors?.pressure?.message} + {fieldState.error.message} ) : null}
    )} - name="pressure" - control={control} - defaultValue={1.01325} - /> -); + + />); +}; diff --git a/frontend/src/components/fields/PressureUnits.tsx b/frontend/src/components/fields/PressureUnits.tsx index 3ea9e536..cf443346 100644 --- a/frontend/src/components/fields/PressureUnits.tsx +++ b/frontend/src/components/fields/PressureUnits.tsx @@ -1,25 +1,20 @@ import Option from "@mui/joy/Option"; import Select from "@mui/joy/Select"; -// import FormLabel from "@mui/joy/FormLabel"; -import FormControl from "@mui/joy/FormControl"; -import { Control, Controller } from "react-hook-form"; -import { FormValues } from "../types"; +import { Controller, useFormContext } from "react-hook-form"; -interface PressureUnitsProps { - control: Control; -} -export const PressureUnit: React.FC = ({ control }) => { + +export const PressureUnit: React.FC = () => { + const { control } = useFormContext(); + return ( - ( + render={({ field }) => ( )} /> - ); }; From 48e3aed5c8a8b3081c23cc60d18df8f8630459a3 Mon Sep 17 00:00:00 2001 From: Arunava Basu Date: Sun, 21 Jan 2024 21:05:58 +0530 Subject: [PATCH 19/27] feat: adding more fields --- frontend/src/components/fields/Database.tsx | 11 ++- frontend/src/components/fields/Mode.tsx | 12 +-- frontend/src/components/fields/PathLength.tsx | 80 +++++++++---------- .../src/components/fields/PathLengthUnits.tsx | 13 ++- frontend/src/components/fields/Pressure.tsx | 71 ++++++++-------- .../src/components/fields/PressureUnits.tsx | 62 +++++++------- .../src/components/fields/SimulateSlit.tsx | 4 +- 7 files changed, 121 insertions(+), 132 deletions(-) diff --git a/frontend/src/components/fields/Database.tsx b/frontend/src/components/fields/Database.tsx index 77c82014..35850ab5 100644 --- a/frontend/src/components/fields/Database.tsx +++ b/frontend/src/components/fields/Database.tsx @@ -2,14 +2,13 @@ import Option from "@mui/joy/Option"; import Select from "@mui/joy/Select"; import FormLabel from "@mui/joy/FormLabel"; import FormControl from "@mui/joy/FormControl"; -import { Control, Controller } from "react-hook-form"; -import { Database as TDatabase, FormValues } from "../types"; +import { Controller, useFormContext } from "react-hook-form"; +import { Database as TDatabase } from "../types"; -interface DatabaseProps { - control: Control; -} -export const Database: React.FC = ({ control }) => { + +export const Database: React.FC = () => { + const { control } = useFormContext(); return ( Database diff --git a/frontend/src/components/fields/Mode.tsx b/frontend/src/components/fields/Mode.tsx index bde4fa4c..01de70cc 100644 --- a/frontend/src/components/fields/Mode.tsx +++ b/frontend/src/components/fields/Mode.tsx @@ -4,13 +4,10 @@ import FormLabel from "@mui/joy/FormLabel"; import Select from "@mui/joy/Select"; import Option from "@mui/joy/Option"; -import { Control, Controller } from "react-hook-form"; -import { FormValues } from "../types"; -interface DatabaseProps { - control: Control; -} +import { Controller, useFormContext } from "react-hook-form"; -export const Mode: React.FC = ({ control }) => { +export const Mode: React.FC = () => { + const { control } = useFormContext(); return ( Mode @@ -18,10 +15,9 @@ export const Mode: React.FC = ({ control }) => { name="mode" defaultValue="absorbance" control={control} - render={({ field, formState }) => ( + render={({ field }) => ( - - - - } - /> - {formState.errors?.path_length ? ( - - {formState.errors?.path_length?.message} - - ) : null} - - )} - name="path_length" - control={control} - defaultValue={1} - /> -); + +export const PathLength: React.FC = () => { + const { control } = useFormContext(); + return ( + ( + + Path Length + + + + + } + /> + {fieldState.error ? ( + + {fieldState.error.message} + + ) : null} + + )} + name="path_length" + control={control} + defaultValue={1} + /> + ); +}; diff --git a/frontend/src/components/fields/PathLengthUnits.tsx b/frontend/src/components/fields/PathLengthUnits.tsx index 386b8618..1ae21c8d 100644 --- a/frontend/src/components/fields/PathLengthUnits.tsx +++ b/frontend/src/components/fields/PathLengthUnits.tsx @@ -1,24 +1,21 @@ import Option from "@mui/joy/Option"; import Select from "@mui/joy/Select"; import FormControl from "@mui/joy/FormControl"; -import { Control, Controller } from "react-hook-form"; -import { FormValues } from "../types"; +import { Controller, useFormContext } from "react-hook-form"; -interface PathLengthUnitsProps { - control: Control; -} -export const PathLengthUnit: React.FC = ({ control }) => { + +export const PathLengthUnit: React.FC = () => { + const { control } = useFormContext(); return ( ( + render={({ field }) => ( - - - - } - /> - {fieldState.error ? ( - - {fieldState.error.message} - - ) : null} - - )} - - />); + control={control} + defaultValue={1.01325} + render={({ field, fieldState }) => ( + + Pressure + + + + + } + /> + {fieldState.error ? ( + + {fieldState.error.message} + + ) : null} + + )} + /> + ); }; diff --git a/frontend/src/components/fields/PressureUnits.tsx b/frontend/src/components/fields/PressureUnits.tsx index cf443346..585b02e7 100644 --- a/frontend/src/components/fields/PressureUnits.tsx +++ b/frontend/src/components/fields/PressureUnits.tsx @@ -2,40 +2,38 @@ import Option from "@mui/joy/Option"; import Select from "@mui/joy/Select"; import { Controller, useFormContext } from "react-hook-form"; - - export const PressureUnit: React.FC = () => { const { control } = useFormContext(); - + return ( - ( - - )} - /> + ( + + )} + /> ); }; diff --git a/frontend/src/components/fields/SimulateSlit.tsx b/frontend/src/components/fields/SimulateSlit.tsx index 24d36ddb..c670d971 100644 --- a/frontend/src/components/fields/SimulateSlit.tsx +++ b/frontend/src/components/fields/SimulateSlit.tsx @@ -13,7 +13,9 @@ interface SimulateSlitProps { export const SimulateSlit: React.FC = ({ control, isUnitChangeable, -}) => ( +}) => + +( ( From c8165949808a406af109eb9bb624554610d0fe6d Mon Sep 17 00:00:00 2001 From: Arunava Basu Date: Sun, 21 Jan 2024 21:15:19 +0530 Subject: [PATCH 20/27] feat: adding UseSimulateSlitSwitch for global state --- frontend/src/components/Form.tsx | 22 ++--- .../src/components/fields/SimulateSlit.tsx | 97 +++++++++---------- .../fields/UseSimulateSlitSwitch.tsx | 5 +- 3 files changed, 60 insertions(+), 64 deletions(-) diff --git a/frontend/src/components/Form.tsx b/frontend/src/components/Form.tsx index 57dbb362..6db99172 100644 --- a/frontend/src/components/Form.tsx +++ b/frontend/src/components/Form.tsx @@ -292,10 +292,10 @@ export const Form: React.FunctionComponent = ({ > - + - + = ({ {isNonEquilibrium ? ( - + ) : ( @@ -320,34 +320,34 @@ export const Form: React.FunctionComponent = ({ {isNonEquilibrium ? ( <> - + - + ) : null} {isNonEquilibrium ? ( - + ) : ( - + )} {isNonEquilibrium ? ( <> - + ) : ( <> - + )} @@ -362,7 +362,7 @@ export const Form: React.FunctionComponent = ({ {useSimulateSlitFunction ? ( - + ) : null} @@ -370,8 +370,6 @@ export const Form: React.FunctionComponent = ({ useSlit ? ( ) : null diff --git a/frontend/src/components/fields/SimulateSlit.tsx b/frontend/src/components/fields/SimulateSlit.tsx index c670d971..470b8e34 100644 --- a/frontend/src/components/fields/SimulateSlit.tsx +++ b/frontend/src/components/fields/SimulateSlit.tsx @@ -4,56 +4,53 @@ import FormControl from "@mui/joy/FormControl"; import FormLabel from "@mui/joy/FormLabel"; import FormHelperText from "@mui/joy/FormHelperText"; import InputAdornment from "@mui/material/InputAdornment"; -import { Control, Controller } from "react-hook-form"; -import { FormValues } from "../types"; -interface SimulateSlitProps { - control: Control; - isUnitChangeable: boolean; -} -export const SimulateSlit: React.FC = ({ - control, - isUnitChangeable, -}) => +import {Controller, useFormContext } from "react-hook-form"; +import useFromStore from "../../store/form"; -( - ( - - Slit Size - nm - ) : ( - cm-1 - ) - } - onKeyPress={(event) => { - if (event?.key === "-" || event?.key === "+") { - event.preventDefault(); +export const SimulateSlit: React.FC = () => { + const { control } = useFormContext(); + + const { simulateSlitUnit } = useFromStore(); + + return ( + ( + + Slit Size + nm + ) : ( + cm-1 + ) } - }} - /> - {formState.errors?.simulate_slit ? ( - { + if (event?.key === "-" || event?.key === "+") { + event.preventDefault(); + } }} - > - {formState.errors?.simulate_slit?.message} - - ) : null} - - )} - name="simulate_slit" - control={control} - defaultValue={5} - /> -); + /> + {fieldState.error ? ( + + {fieldState.error.message} + + ) : null} + + )} + name="simulate_slit" + control={control} + defaultValue={5} + /> + ); +}; diff --git a/frontend/src/components/fields/UseSimulateSlitSwitch.tsx b/frontend/src/components/fields/UseSimulateSlitSwitch.tsx index bf8669ba..0a092bf8 100644 --- a/frontend/src/components/fields/UseSimulateSlitSwitch.tsx +++ b/frontend/src/components/fields/UseSimulateSlitSwitch.tsx @@ -1,9 +1,10 @@ import { Switch } from "@mui/joy"; -import { Control, Controller } from "react-hook-form"; +import { Controller, useFormContext } from "react-hook-form"; import useFromStore from "../../store/form"; -function UseSimulateSlitSwitch({ control ,setValue}: any) { +function UseSimulateSlitSwitch() { const { useSlit, setUseSlit } = useFromStore(); //zustand + const { control, setValue } = useFormContext(); return ( Date: Mon, 22 Jan 2024 19:53:03 +0530 Subject: [PATCH 21/27] style: adding zutand --- frontend/src/components/fields/UseSimulateSlitSwitch.tsx | 2 +- frontend/src/components/fields/WavenumberRangeSlider.tsx | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/frontend/src/components/fields/UseSimulateSlitSwitch.tsx b/frontend/src/components/fields/UseSimulateSlitSwitch.tsx index 0a092bf8..16f97aea 100644 --- a/frontend/src/components/fields/UseSimulateSlitSwitch.tsx +++ b/frontend/src/components/fields/UseSimulateSlitSwitch.tsx @@ -3,7 +3,7 @@ import { Controller, useFormContext } from "react-hook-form"; import useFromStore from "../../store/form"; function UseSimulateSlitSwitch() { - const { useSlit, setUseSlit } = useFromStore(); //zustand + const { useSlit, setUseSlit } = useFromStore(); const { control, setValue } = useFormContext(); return ( diff --git a/frontend/src/components/fields/WavenumberRangeSlider.tsx b/frontend/src/components/fields/WavenumberRangeSlider.tsx index 9196a789..3f054017 100644 --- a/frontend/src/components/fields/WavenumberRangeSlider.tsx +++ b/frontend/src/components/fields/WavenumberRangeSlider.tsx @@ -32,6 +32,8 @@ export const WavenumberRangeSlider: React.FC = ({ const classes = useStyles(); const [lowerRange, setLowerRange] = React.useState(1900); const [upperRange, setUpperRange] = React.useState(2300); + + React.useEffect(() => { setValue("min_wavenumber_range", lowerRange === "" ? minRange : lowerRange); setValue("max_wavenumber_range", upperRange === "" ? maxRange : upperRange); From 5240310d0af411f01a7ce86cf02b65f4d470634e Mon Sep 17 00:00:00 2001 From: Arunava Basu Date: Mon, 22 Jan 2024 20:02:08 +0530 Subject: [PATCH 22/27] refactor: adding waverange slider --- frontend/src/components/Form.tsx | 29 ++++++-------- .../src/components/fields/WaveLengthUnits.tsx | 16 ++++---- .../fields/WavenumberRangeSlider.tsx | 39 +++++++------------ 3 files changed, 33 insertions(+), 51 deletions(-) diff --git a/frontend/src/components/Form.tsx b/frontend/src/components/Form.tsx index 6db99172..58a32283 100644 --- a/frontend/src/components/Form.tsx +++ b/frontend/src/components/Form.tsx @@ -295,21 +295,15 @@ export const Form: React.FunctionComponent = ({ - + - + {isNonEquilibrium ? ( - + ) : ( @@ -320,34 +314,34 @@ export const Form: React.FunctionComponent = ({ {isNonEquilibrium ? ( <> - + - + ) : null} {isNonEquilibrium ? ( - + ) : ( - + )} {isNonEquilibrium ? ( <> - + ) : ( <> - + )} @@ -362,15 +356,14 @@ export const Form: React.FunctionComponent = ({ {useSimulateSlitFunction ? ( - + ) : null} {useSimulateSlitFunction ? ( useSlit ? ( - + ) : null ) : null} diff --git a/frontend/src/components/fields/WaveLengthUnits.tsx b/frontend/src/components/fields/WaveLengthUnits.tsx index 48771384..7417b820 100644 --- a/frontend/src/components/fields/WaveLengthUnits.tsx +++ b/frontend/src/components/fields/WaveLengthUnits.tsx @@ -1,24 +1,24 @@ import Option from "@mui/joy/Option"; import Select from "@mui/joy/Select"; import FormControl from "@mui/joy/FormControl"; -import { Control, Controller } from "react-hook-form"; -import { FormValues } from "../types"; +import { Controller, useFormContext } from "react-hook-form"; -interface WaveLengthUnProps { - control: Control; -} -export const WaveLengthUnit: React.FC = ({ control }) => { + + +export const WaveLengthUnit: React.FC = () => { + const { control } = useFormContext(); + + return ( ( + render={({ field }) => (