diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 960d902e..95c4964b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -77,6 +77,15 @@ jobs: - name: Run Cypress tests (Development mode) run: npm run test + - name: Upload Cypress screenshots + if: failure() + uses: actions/upload-artifact@v4 + with: + name: "cypress-screenshots-${{ matrix.name }}-${{ matrix.browser }}" + path: cypress/screenshots + retention-days: 2 + if-no-files-found: ignore + - name: Install Bubblewrap if: matrix.os == 'ubuntu-latest' run: sudo apt-get install bubblewrap diff --git a/client/src/css/level.css b/client/src/css/level.css index 18056847..ea38765a 100644 --- a/client/src/css/level.css +++ b/client/src/css/level.css @@ -320,6 +320,11 @@ td code { box-shadow: -.1rem .3rem .3rem 0 rgba(0, 0, 0, 0.1); } +.menu.dropdown .btn { + text-align: left; + margin: 0; +} + .menu.dropdown.hidden { display: none; } diff --git a/client/tsconfig.json b/client/tsconfig.json index a793c10d..7f7aae47 100644 --- a/client/tsconfig.json +++ b/client/tsconfig.json @@ -1,24 +1,17 @@ { + "extends": "../tsconfig.json", "compilerOptions": { + "allowSyntheticDefaultImports": true, "composite": true, - "outDir": "./dist/", - "module": "esnext", - "target": "es5", - "allowJs": true, - "resolveJsonModule": true, "esModuleInterop": true, - "moduleResolution": "node", - "jsx": "react", - "downlevelIteration": true, - "experimentalDecorators": true, - "allowSyntheticDefaultImports": true, - "lib": [ - "ES2021.String", - "DOM" - ] + "incremental": true, + "jsx": "react-jsx", + "lib": ["ES2022", "DOM"], + "outDir": "./dist", + "resolveJsonModule": true, + "rootDir": "./src", + "strict": true }, - "include": [ - "./src/", - "./src/config.json", - ] + "include": ["src/**/*"], + "exclude": ["dist"] } diff --git a/cypress.config.ts b/cypress.config.mjs similarity index 100% rename from cypress.config.ts rename to cypress.config.mjs diff --git a/cypress/tsconfig.json b/cypress/tsconfig.json new file mode 100644 index 00000000..8f70eba9 --- /dev/null +++ b/cypress/tsconfig.json @@ -0,0 +1,20 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "allowSyntheticDefaultImports": true, + "composite": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "incremental": true, + "jsx": "react-jsx", + "lib": ["ES2022", "DOM"], + "module": "nodenext", + "outDir": "./dist", + "resolveJsonModule": true, + "rootDir": "./", + "strict": true, + "target": "ES2022", + }, + "include": ["**/*.ts", "**/*.tsx", "../cypress.config.cjs"], + "exclude": ["dist"] +} diff --git a/package-lock.json b/package-lock.json index da08eff8..f510e889 100644 --- a/package-lock.json +++ b/package-lock.json @@ -239,7 +239,7 @@ "version": "7.25.7", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz", "integrity": "sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -261,7 +261,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "devOptional": true, + "dev": true, "dependencies": { "@babel/types": "^7.22.5" }, @@ -341,7 +341,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "devOptional": true, + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -353,7 +353,7 @@ "version": "7.23.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", - "devOptional": true, + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", @@ -1488,14 +1488,14 @@ "version": "9.3.0", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "devOptional": true, + "dev": true, "license": "BSD-3-Clause" }, "node_modules/@hapi/topo": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "devOptional": true, + "dev": true, "license": "BSD-3-Clause", "dependencies": { "@hapi/hoek": "^9.0.0" @@ -1536,7 +1536,7 @@ "version": "0.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "devOptional": true, + "dev": true, "peer": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", @@ -2987,7 +2987,7 @@ "version": "4.1.5", "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", - "devOptional": true, + "dev": true, "license": "BSD-3-Clause", "dependencies": { "@hapi/hoek": "^9.0.0" @@ -2997,14 +2997,14 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", - "devOptional": true, + "dev": true, "license": "BSD-3-Clause" }, "node_modules/@sideway/pinpoint": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "devOptional": true, + "dev": true, "license": "BSD-3-Clause" }, "node_modules/@sindresorhus/is": { @@ -3774,7 +3774,7 @@ "version": "20.11.16", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.16.tgz", "integrity": "sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==", - "devOptional": true, + "dev": true, "dependencies": { "undici-types": "~5.26.4" } @@ -4217,7 +4217,7 @@ "version": "8.16.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "devOptional": true, + "dev": true, "license": "MIT", "bin": { "acorn": "bin/acorn" @@ -4467,7 +4467,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "devOptional": true, + "dev": true, "engines": { "node": ">=8" } @@ -4476,7 +4476,7 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "devOptional": true, + "dev": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -4588,7 +4588,7 @@ "version": "3.2.6", "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", - "devOptional": true, + "dev": true, "license": "MIT" }, "node_modules/asynckit": { @@ -4686,7 +4686,7 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "devOptional": true, + "dev": true, "funding": [ { "type": "github", @@ -4844,7 +4844,7 @@ "version": "1.1.12", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", @@ -4855,7 +4855,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "fill-range": "^7.1.1" @@ -5052,7 +5052,7 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "devOptional": true, + "dev": true, "funding": [ { "type": "github", @@ -5086,7 +5086,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "devOptional": true, + "dev": true, "peer": true }, "node_modules/buffer-xor": { @@ -5234,7 +5234,7 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "devOptional": true, + "dev": true, "engines": { "node": ">=10" }, @@ -5243,9 +5243,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001763", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001763.tgz", - "integrity": "sha512-mh/dGtq56uN98LlNX9qdbKnzINhX0QzhiWBFEkFfsFO4QyCvL8YegrJAazCwXIeqkIob8BlZPGM3xdnY+sgmvQ==", + "version": "1.0.30001777", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001777.tgz", + "integrity": "sha512-tmN+fJxroPndC74efCdp12j+0rk0RHwV5Jwa1zWaFVyw2ZxAuPeG8ZgWC3Wz7uSjT3qMRQ5XHZ4COgQmsCMJAQ==", "devOptional": true, "funding": [ { @@ -5281,7 +5281,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "devOptional": true, + "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -5297,7 +5297,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "devOptional": true, + "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -5312,7 +5312,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "devOptional": true, + "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -5324,13 +5324,13 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "devOptional": true + "dev": true }, "node_modules/chalk/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "devOptional": true, + "dev": true, "engines": { "node": ">=8" } @@ -5339,7 +5339,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "devOptional": true, + "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -5446,7 +5446,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "restore-cursor": "^3.1.0" @@ -5555,7 +5555,7 @@ "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "devOptional": true, + "dev": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -5569,7 +5569,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "devOptional": true, + "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -5581,7 +5581,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "devOptional": true, + "dev": true, "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", @@ -5640,7 +5640,7 @@ "version": "9.5.0", "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", - "devOptional": true, + "dev": true, "engines": { "node": "^12.20.0 || >=14" } @@ -5664,7 +5664,7 @@ "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "devOptional": true + "dev": true }, "node_modules/concurrently": { "version": "7.6.0", @@ -5907,7 +5907,7 @@ "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "path-key": "^3.1.0", @@ -6313,7 +6313,7 @@ "version": "1.11.13", "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", - "devOptional": true, + "dev": true, "license": "MIT" }, "node_modules/debounce": { @@ -6412,7 +6412,7 @@ "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "devOptional": true, + "dev": true, "engines": { "node": ">=0.10.0" } @@ -6652,7 +6652,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "devOptional": true + "dev": true }, "node_modules/emojis-list": { "version": "3.0.0", @@ -6755,7 +6755,7 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "devOptional": true, + "dev": true, "dependencies": { "stackframe": "^1.3.4" } @@ -7294,7 +7294,7 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" @@ -7346,7 +7346,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "devOptional": true, + "dev": true, "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -7470,6 +7470,7 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, "hasInstallScript": true, "optional": true, "os": [ @@ -7509,7 +7510,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "devOptional": true, + "dev": true, "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -7699,7 +7700,7 @@ "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "devOptional": true + "dev": true }, "node_modules/gulp-sort": { "version": "2.0.0", @@ -8614,7 +8615,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "devOptional": true, + "dev": true, "funding": [ { "type": "github", @@ -9002,7 +9003,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=0.12.0" @@ -9047,7 +9048,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "devOptional": true, + "dev": true, "dependencies": { "isobject": "^3.0.1" }, @@ -9099,7 +9100,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -9163,7 +9164,7 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -9213,13 +9214,13 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "devOptional": true + "dev": true }, "node_modules/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "devOptional": true, + "dev": true, "engines": { "node": ">=0.10.0" } @@ -9243,7 +9244,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "devOptional": true, + "dev": true, "peer": true, "dependencies": { "@types/node": "*", @@ -9258,7 +9259,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "devOptional": true, + "dev": true, "peer": true, "engines": { "node": ">=8" @@ -9268,7 +9269,7 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "devOptional": true, + "dev": true, "peer": true, "dependencies": { "has-flag": "^4.0.0" @@ -9284,7 +9285,7 @@ "version": "17.13.3", "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", - "devOptional": true, + "dev": true, "license": "BSD-3-Clause", "dependencies": { "@hapi/hoek": "^9.3.0", @@ -9453,7 +9454,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "devOptional": true, + "dev": true, "engines": { "node": ">=0.10.0" } @@ -9653,7 +9654,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "devOptional": true, + "dev": true, "dependencies": { "p-locate": "^5.0.0" }, @@ -9680,7 +9681,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "chalk": "^4.1.0", @@ -10224,7 +10225,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "devOptional": true + "dev": true }, "node_modules/merge2": { "version": "1.4.1", @@ -10812,7 +10813,7 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "braces": "^3.0.3", @@ -10866,7 +10867,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -10902,7 +10903,7 @@ "version": "3.1.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" @@ -10915,7 +10916,7 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "devOptional": true, + "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -11062,7 +11063,7 @@ "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "devOptional": true, + "dev": true, "peer": true }, "node_modules/no-case": { @@ -11255,7 +11256,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "devOptional": true, + "dev": true, "engines": { "node": ">=0.10.0" } @@ -11288,7 +11289,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "path-key": "^3.0.0" @@ -11405,7 +11406,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "devOptional": true, + "dev": true, "dependencies": { "wrappy": "1" } @@ -11414,7 +11415,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" @@ -11452,7 +11453,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "devOptional": true, + "dev": true, "dependencies": { "yocto-queue": "^0.1.0" }, @@ -11467,7 +11468,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "devOptional": true, + "dev": true, "dependencies": { "p-limit": "^3.0.2" }, @@ -11600,7 +11601,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "devOptional": true, + "dev": true, "engines": { "node": ">=8" } @@ -11609,7 +11610,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "devOptional": true, + "dev": true, "engines": { "node": ">=8" } @@ -11672,7 +11673,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "devOptional": true, + "dev": true, "engines": { "node": ">=8.6" }, @@ -11863,7 +11864,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "devOptional": true + "dev": true }, "node_modules/prop-types": { "version": "15.8.1", @@ -12317,7 +12318,7 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "devOptional": true, + "dev": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -12948,7 +12949,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "devOptional": true, + "dev": true, "engines": { "node": ">=0.10.0" } @@ -13030,7 +13031,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "onetime": "^5.1.0", @@ -13450,7 +13451,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "devOptional": true, + "dev": true, "dependencies": { "kind-of": "^6.0.2" }, @@ -13462,7 +13463,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "devOptional": true, + "dev": true, "dependencies": { "shebang-regex": "^3.0.0" }, @@ -13474,7 +13475,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "devOptional": true, + "dev": true, "engines": { "node": ">=8" } @@ -13483,7 +13484,7 @@ "version": "1.8.3", "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -13564,7 +13565,7 @@ "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "devOptional": true + "dev": true }, "node_modules/simple-update-notifier": { "version": "2.0.0", @@ -13661,7 +13662,7 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "devOptional": true, + "dev": true, "peer": true, "dependencies": { "buffer-from": "^1.0.0", @@ -13672,7 +13673,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "devOptional": true, + "dev": true, "peer": true, "engines": { "node": ">=0.10.0" @@ -13749,7 +13750,7 @@ "version": "1.3.4", "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", - "devOptional": true + "dev": true }, "node_modules/statuses": { "version": "2.0.1", @@ -13820,7 +13821,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "devOptional": true, + "dev": true, "dependencies": { "safe-buffer": "~5.2.0" } @@ -13829,7 +13830,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "devOptional": true, + "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -13843,7 +13844,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "devOptional": true, + "dev": true, "engines": { "node": ">=8" } @@ -13852,7 +13853,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "devOptional": true, + "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -13864,7 +13865,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -13966,7 +13967,7 @@ "version": "5.46.0", "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.0.tgz", "integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==", - "devOptional": true, + "dev": true, "license": "BSD-2-Clause", "peer": true, "dependencies": { @@ -14082,7 +14083,7 @@ "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "devOptional": true, + "dev": true, "peer": true }, "node_modules/thingies": { @@ -14119,7 +14120,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "devOptional": true, + "dev": true, "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" @@ -14129,13 +14130,13 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "devOptional": true + "dev": true }, "node_modules/through2/node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "devOptional": true, + "dev": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -14150,13 +14151,13 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "devOptional": true + "dev": true }, "node_modules/through2/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "devOptional": true, + "dev": true, "dependencies": { "safe-buffer": "~5.1.0" } @@ -14266,7 +14267,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "is-number": "^7.0.0" @@ -14529,7 +14530,7 @@ "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "devOptional": true + "dev": true }, "node_modules/unified": { "version": "10.1.2", @@ -14790,7 +14791,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "devOptional": true + "dev": true }, "node_modules/utils-merge": { "version": "1.0.1", @@ -15575,7 +15576,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "devOptional": true, + "dev": true, "dependencies": { "isexe": "^2.0.0" }, @@ -15649,7 +15650,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "devOptional": true, + "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -15666,7 +15667,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "devOptional": true, + "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -15681,7 +15682,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "devOptional": true, + "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -15693,13 +15694,13 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "devOptional": true + "dev": true }, "node_modules/wrap-ansi/node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "devOptional": true, + "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -15711,7 +15712,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "devOptional": true + "dev": true }, "node_modules/ws": { "version": "8.18.1", @@ -15746,7 +15747,7 @@ "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "devOptional": true, + "dev": true, "engines": { "node": ">=10" } @@ -15761,7 +15762,7 @@ "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "devOptional": true, + "dev": true, "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -15779,7 +15780,7 @@ "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "devOptional": true, + "dev": true, "engines": { "node": ">=12" } @@ -15798,7 +15799,7 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "devOptional": true, + "dev": true, "engines": { "node": ">=10" }, diff --git a/package.json b/package.json index 4fea3ef4..53303730 100644 --- a/package.json +++ b/package.json @@ -8,8 +8,8 @@ "@emotion/react": "^11.10.5", "@emotion/styled": "^11.10.5", "@floating-ui/react": "^0.27.4", - "@fontsource/roboto-mono": "^4.5.8", "@fontsource/roboto": "^4.5.8", + "@fontsource/roboto-mono": "^4.5.8", "@fortawesome/fontawesome-svg-core": "6.5.1", "@fortawesome/free-regular-svg-icons": "6.5.1", "@fortawesome/free-solid-svg-icons": "6.5.1", @@ -19,23 +19,24 @@ "@mui/material": "^5.11.1", "@reduxjs/toolkit": "^1.9.1", "@vscode/webview-ui-toolkit": "^1.4.0", + "cytoscape": "^3.23.0", "cytoscape-elk": "^2.1.0", "cytoscape-klay": "^3.1.4", - "cytoscape": "^3.23.0", "debounce": "^1.2.1", "express": "^4.18.2", "got": "^14.4.6", "highlightjs-lean": "^1.2.0", - "i18next-http-backend": "^2.5.0", "i18next": "^23.10.1", + "i18next-http-backend": "^2.5.0", "ip-anonymize": "^0.1.0", - "jotai-location": "^0.6.2", "jotai": "^2.13.1", + "jotai-location": "^0.6.2", "lean4monaco": "1.1.7", "marked": "^4.3.0", "monaco-editor-wrapper": "^5.3.1", "node-schedule": "^2.1.1", "octokit": "^5.0.5", + "react": "^18.2.0", "react-contenteditable": "^3.3.7", "react-country-flag": "^3.1.0", "react-dom": "^18.2.0", @@ -45,14 +46,13 @@ "react-redux": "^8.0.5", "react-split": "^2.0.14", "react-syntax-highlighter": "^15.6.1", - "react": "^18.2.0", "rehype-katex": "^6.0.2", "rehype-mathjax": "^7.1.0", "rehype-raw": "^7.0.0", "remark-gfm": "^3.0.1", "remark-math": "^5.1.1", - "request-progress": "^3.0.0", "request": "^2.88.2", + "request-progress": "^3.0.0", "uuid": "^11.1.0", "vscode-lean4": "github:leanprover/vscode-lean4#de0062c", "web-worker": "^1.2.0", @@ -73,11 +73,11 @@ "concurrently": "^7.6.0", "cross-env": "^7.0.3", "css-loader": "^6.7.3", - "cypress-iframe": "^1.0.1", "cypress": "^14.5.0", + "cypress-iframe": "^1.0.1", "file-loader": "^6.2.0", - "i18next-scanner-typescript": "^1.2.0", "i18next-scanner": "^4.4.0", + "i18next-scanner-typescript": "^1.2.0", "memfs": "^4.51.1", "nodemon": "^3.0.1", "react-refresh": "^0.14.0", @@ -86,10 +86,10 @@ "ts-loader": "^9.4.2", "typescript": "^4.9.4", "url-loader": "^4.1.1", + "vite": "^6.1.1", "vite-plugin-node-polyfills": "^0.23.0", "vite-plugin-static-copy": "^2.2.0", "vite-plugin-svgr": "^4.3.0", - "vite": "^6.1.1", "wait-on": "^8.0.2", "warning": "^4.0.3" }, diff --git a/relay/src/import.ts b/relay/src/import.ts index e62aa676..61acd837 100644 --- a/relay/src/import.ts +++ b/relay/src/import.ts @@ -5,6 +5,13 @@ import { safeImport } from './middleware.js' import { Octokit } from 'octokit'; import { spawn } from 'child_process' import { fileURLToPath } from 'url'; +import type { Request, Response } from "express"; +import { Params } from './param-types.js'; + +interface Progress { + done: boolean, + output: string, +} const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); @@ -17,9 +24,9 @@ const octokit = new Octokit({ auth: TOKEN }) -const progress = {} +const progress: Record = {} -async function runProcess(id, cmd, args, cwd) { +async function runProcess(id: string, cmd: string, args: string[], cwd: string) { return new Promise((resolve, reject) => { const ls = spawn(cmd, args, {cwd}); @@ -35,9 +42,12 @@ async function runProcess(id, cmd, args, cwd) { progress[id].output += data.toString() } } catch(e){ - progress[id].output += `Error: ${e.toString()}\n${e.stack}` + if (e instanceof Error) { + progress[id].output += `Error: ${e.toString()}\n${e.stack}` + } else { + progress[id].output += `Error: ${e}` + } } - }); ls.on('close', (code) => { @@ -46,7 +56,7 @@ async function runProcess(id, cmd, args, cwd) { }) } -async function download(id, url, dest) { +async function download(id: string, url: string, dest: string) { let numProgressChars = 0 return new Promise((resolve, reject) => { // The options argument is optional so you can omit it @@ -78,7 +88,7 @@ async function download(id, url, dest) { }) } -async function doImport (owner, repo, id) { +async function doImport (owner: string, repo: string, id: string) { progress[id].output += `Import starting in a few seconds...\n` await new Promise(resolve => setTimeout(resolve, 3000)) let artifactId = null @@ -91,7 +101,7 @@ async function doImport (owner, repo, id) { } }) const artifact = artifacts.data.artifacts - .reduce((acc, cur) => acc.created_at < cur.created_at ? cur : acc) + .reduce((acc, cur) => acc.created_at! < cur.created_at! ? cur : acc) artifactId = artifact.id const url = artifact.archive_download_url @@ -113,7 +123,7 @@ async function doImport (owner, repo, id) { progress[id].output += `Download finished.\n` // Unpack downloaded game - await runProcess(id, "/bin/bash", [unpackingScript, gamesPath, artifactId, owner.toLowerCase(), repo.toLowerCase()], path.join(__dirname, "..", "..")) + await runProcess(id, "/bin/bash", [unpackingScript, gamesPath, `${artifactId}`, owner.toLowerCase(), repo.toLowerCase()], path.join(__dirname, "..", "..")) // Install necessary toolchain await runProcess(id, "/bin/bash", [toolchainScript, gamesPath, owner.toLowerCase(), repo.toLowerCase()], path.join(__dirname, "..", "..")) @@ -134,7 +144,12 @@ async function doImport (owner, repo, id) { progress[id].output += `Done!\n` progress[id].output += `Play the game at: {your website}/#/g/${owner}/${repo}\n` } catch (e) { - progress[id].output += `Error: ${e.toString()}\n${e.stack}` + if (e instanceof Error) { + progress[id].output += `Error: ${e.toString()}\n${e.stack}` + } else { + progress[id].output += `Error: ${e}` + } + } finally { // clean-up temp. files if (artifactId) { @@ -146,7 +161,7 @@ async function doImport (owner, repo, id) { await new Promise(resolve => setTimeout(resolve, 10000)) } -export const importTrigger = (req, res) => { +export const importTrigger = (req: Request, res: Response) => { const owner = req.params.owner const repo = req.params.repo const id = req.params.owner + '/' + req.params.repo @@ -166,7 +181,7 @@ export const importTrigger = (req, res) => { res.redirect(`/import/status/${owner}/${repo}`) } -export const importStatus = (req, res) => { +export const importStatus = (req: Request, res: Response) => { const owner = req.params.owner const repo = req.params.repo const id = req.params.owner + '/' + req.params.repo diff --git a/relay/src/index.ts b/relay/src/index.ts index fe531e83..1f3f4d3c 100644 --- a/relay/src/index.ts +++ b/relay/src/index.ts @@ -9,6 +9,8 @@ import { spawn } from 'child_process' import { GameManager } from './serverProcess.js'; import { GameSessionsObserver } from './websocket.js'; import { WebSocketServer } from 'ws'; +import type { Request, Response } from "express"; +import type { Params } from './param-types.js'; // import fs from 'fs' // const __filename = url.fileURLToPath(import.meta.url); @@ -25,12 +27,14 @@ router.get('/import/trigger/:owner/:repo', importTrigger) const server = app .use(express.static(clientDistPath)) // TODO: add a dist folder from inside the game - .use('/i18n/g/:owner/:repo/:lang/*', (req, res, next) => { + .use('/i18n/g/:owner/:repo/:lang/*', (req: Request, res: Response, next) => { const owner = req.params.owner; const repo = req.params.repo const lang = req.params.lang - const anon_ip = anonymize(req.headers['x-forwarded-for'] as string || req.socket.remoteAddress) + + const headers = req.headers['x-forwarded-for'] + const anon_ip = anonymize((Array.isArray(headers) ? headers[0] : headers) ?? req.socket.remoteAddress ?? "") const log = path.join(process.cwd(), 'logs', 'game-access.log') const header = "date;anon-ip;game;lang\n" const data = `${new Date()};${anon_ip};${owner}/${repo};${lang}\n` @@ -55,7 +59,7 @@ const server = app req.url = filename; express.static(path.join(gameManager.getGameDir(owner,repo),".i18n",lang))(req, res, next); }) - .use('/data/g/:owner/:repo/*', (req, res, next) => { + .use('/data/g/:owner/:repo/*', (req: Request, res: Response, next) => { const owner = req.params.owner; const repo = req.params.repo const filename = req.params[0]; @@ -63,7 +67,7 @@ const server = app console.debug(gameManager.getGameDir(owner,repo)) express.static(path.join(gameManager.getGameDir(owner,repo),".lake","gamedata"))(req, res, next); }) - .use('/data/stats', (req, res, next) => { + .use('/data/stats', (req: Request, res: Response, next) => { // TODO: this throws on Windows const statsScriptPath = path.join(__dirname, "..", "..", "scripts", "stats.sh"); const statsProcess = spawn('/bin/bash', [statsScriptPath, process.pid.toString()]) diff --git a/relay/src/middleware.ts b/relay/src/middleware.ts index 73cb50fa..efab4e3a 100644 --- a/relay/src/middleware.ts +++ b/relay/src/middleware.ts @@ -1,4 +1,4 @@ -import { exec } from 'child_process' +import { exec, ExecOptions } from 'child_process' import fs from 'fs' import anonymize from 'ip-anonymize' import { Octokit } from 'octokit' @@ -7,16 +7,17 @@ import { resolve } from 'path' import process from 'process' import { AccessLogger, Connection } from './services/AccessLogger.js' import { Request, Response } from 'express' +import type { Params } from './param-types.js' const TOKEN = process.env.LEAN4GAME_GITHUB_TOKEN -const RESERVED_DISK_SPACE_MB: number = parseInt(process.env.RESERVED_DISC_SPACE_MB) +const RESERVED_DISK_SPACE_MB: number = parseInt(process.env.RESERVED_DISC_SPACE_MB ?? "0") const DISK_INFO_CMD_MB = 'df -BM' const octokit = new Octokit({auth: TOKEN}) const accessLogger = new AccessLogger() -function checkDiskSpace(path) { +function checkDiskSpace(path: string) { return new Promise((resolve, reject) => { - exec(DISK_INFO_CMD_MB, path, (error, stdout, stderr) => { + exec(DISK_INFO_CMD_MB, { cwd: path }, (error, stdout, stderr) => { if (error) { return reject(new Error(`Error checking disk space: ${error.message}`)) } @@ -34,7 +35,7 @@ function checkDiskSpace(path) { }) } -function getGitHubArtifactInformation(owner, repo){ +function getGitHubArtifactInformation(owner: string, repo: string){ return new Promise(async (resolve, reject) =>{ const artifacts = octokit.request('GET /repos/{owner}/{repo}/actions/artifacts', { owner, @@ -45,14 +46,14 @@ function getGitHubArtifactInformation(owner, repo){ }) const artifact = (await artifacts).data.artifacts.reduce( - (acc, cur) => acc.created_at < cur.created_at ? cur : acc) + (acc, cur) => acc.created_at! < cur.created_at! ? cur : acc) resolve(artifact.size_in_bytes) }) } // TODO: Game directory has to be set correctly. Currently games are sourced from dist/games which is not correct -export function safeImport(owner, repo, id, importFunc) { +export function safeImport(owner: string, repo: string, id: string, importFunc: (owner: string, repo: string, id: string) => void) { return new Promise((resolve, reject) => { const rootPath = '/' checkDiskSpace(rootPath).then(async usedDiskSpace => { @@ -78,12 +79,13 @@ export function getActiveConnections(): Connection[] { return accessLogger.getActiveConnections() } -export function logGameAccess(req) { +export function logGameAccess(req: Request) { const owner = req.params.owner; const repo = req.params.repo; const lang = req.params.lang; - const anon_ip = anonymize(req.headers['x-forwarded-for'] || req.socket.remoteAddress); + const headers = req.headers['x-forwarded-for'] + const anon_ip = anonymize((Array.isArray(headers) ? headers[0] : headers) ?? req.socket.remoteAddress ?? "") const log = path.join(process.cwd(), 'logs', 'game-access.log'); const header = "date;anon-ip;game;lang\n"; const data = `${new Date()};${anon_ip};${owner}/${repo};${lang}\n`; diff --git a/relay/src/param-types.ts b/relay/src/param-types.ts new file mode 100644 index 00000000..44674cd8 --- /dev/null +++ b/relay/src/param-types.ts @@ -0,0 +1,6 @@ +export interface Params { + owner: string; + repo: string; + lang: string; + 0: string; // wildcard +} diff --git a/relay/src/serverProcess.ts b/relay/src/serverProcess.ts index 8d950c68..c6a174e9 100644 --- a/relay/src/serverProcess.ts +++ b/relay/src/serverProcess.ts @@ -17,8 +17,8 @@ const isDevelopment = environment === 'development'; const noBwrap = process.env.NO_BWRAP == "true" export class GameManager { - queueLength: {} - queue: {} + queueLength: Record + queue: Record urlRegEx: RegExp dir: string @@ -40,9 +40,9 @@ export class GameManager { this.dir = directory } - startGame(req: IncomingMessage, ip: string): GameSession{ - let ps: ChildProcess - const reRes = this.urlRegEx.exec(req.url); + startGame(req: IncomingMessage, ip: string): GameSession | undefined { + let ps: ChildProcess | undefined + const reRes = this.urlRegEx.exec(req.url!); if (!reRes) { console.error(`Connection refused because of invalid URL: ${req.url}`); return; } const reResTag: Tag = { owner: reRes[1], repo: reRes[2] }; @@ -60,17 +60,17 @@ export class GameManager { this.fillQueue(reResTag); } - if (ps == null) { + if (ps == undefined) { console.error(`[${new Date()}]server process is undefined/null`); return; } const gameDir = this.getGameDir(reResTag.owner, reResTag.repo) - return {process: ps, game: game, gameDir: gameDir, usesCustomLeanServer: customLeanServer !== null } + return {process: ps, game: game, gameDir: gameDir, usesCustomLeanServer: customLeanServer != null } } - getCustomLeanServer(owner, repo) : string | null { + getCustomLeanServer(owner: string, repo: string) : string | null { let gameDir = this.getGameDir(owner, repo); let binary = path.join(gameDir, ".lake", "packages", "GameServer", "server", ".lake", "build", "bin", "gameserver"); if (fs.existsSync(binary)) { @@ -124,13 +124,13 @@ export class GameManager { fillQueue(tag: { owner: string; repo: string; }) { const tagString = this.getTagString(tag); while (this.queue[tagString].length < this.queueLength[tagString]) { - let serverProcess: cp.ChildProcessWithoutNullStreams; + let serverProcess: ChildProcess | undefined; serverProcess = this.createGameProcess( tag.owner, tag.repo, this.getCustomLeanServer(tag.owner, tag.repo) ); - if (serverProcess == null) { - console.error(`[${new Date()}] serverProcess was undefined/null`); + if (!serverProcess) { + console.error(`[${new Date()}] serverProcess was undefined`); return; } this.queue[tagString].push(serverProcess); @@ -156,25 +156,24 @@ export class GameManager { } for (let key in p) { if (typeof p[key] === 'object' && p[key] !== null) { - p[key] = shiftLines(p[key], offset); + p[key] = shiftLines(p[key], offset) } } return p; } - function replaceUri(obj: object, val: string) { + function replaceUri(obj: Record, val: string): Record { for (const key in obj) { - if (key === 'uri') { + if (key === "uri") { obj[key] = val; - } else if (typeof obj[key] === 'object' && obj[key] !== null) { - replaceUri(obj[key], val); + } else if (typeof obj[key] === "object" && obj[key] !== null) { + replaceUri(obj[key], val) } } return obj } - - // These values will be set by the initialize message + // These values will be set by the initialise message let difficulty: number let inventory: string[] let worldId: string @@ -277,7 +276,7 @@ export class GameManager { if (semanticTokenRequestIds.delete((message as any)?.id)) { const data : number[] = (message as any).result.data let i = 0 - let newData = [] + let newData: number[] = [] let line = 0 // Search for semantic tokens at or after PROOF_START_LINE while (i < data.length) { diff --git a/relay/src/websocket.ts b/relay/src/websocket.ts index 2a02aaff..8f2bb821 100644 --- a/relay/src/websocket.ts +++ b/relay/src/websocket.ts @@ -32,7 +32,8 @@ export class GameSessionsObserver { this.gameManager = gameManager this.wss = wss this.players = new Map() - }; + this.socketCounter = 0 + } /** * Return information about all current open game sessions on the server. @@ -56,11 +57,12 @@ export class GameSessionsObserver { * player's information to the PlayerMeasuremnt intance. */ webSockets.forEach( (ws) => { - if(this.players.get(ws) !== undefined){ + const player = this.players.get(ws) + if (player != undefined) { measurement.date.push(timestamp) - measurement.anon_Ip.push(this.players.get(ws).anonIP) - measurement.game.push(this.players.get(ws).currentGame) - measurement.lang.push( this.players.get(ws).lang) + measurement.anon_Ip.push(player.anonIP) + measurement.game.push(player.currentGame) + measurement.lang.push(player.lang) } }) @@ -75,8 +77,12 @@ export class GameSessionsObserver { * @param wss */ startObservedGame(ws: WebSocket, req: IncomingMessage) { - const ip = anonymize(req.headers['x-forwarded-for'] as string || req.socket.remoteAddress); - let gameSession: GameSession = this.gameManager.startGame(req, ip) + const headers = req.headers['x-forwarded-for'] + const ip = anonymize(((Array.isArray(headers) ? headers[0] : headers) ?? req.socket.remoteAddress) ?? "") ?? "" + let gameSession: GameSession | undefined = this.gameManager.startGame(req, ip) + + if (!gameSession) return // TODO: can this happen? do we need to do anytthing here? + let ps = gameSession.process let game = gameSession.game let gameDir = gameSession.gameDir @@ -84,8 +90,12 @@ export class GameSessionsObserver { const langRegex: RegExp = /^[a-zA-Z-]+(?=,)/ let lang = "en-US" - if(langRegex.exec(req.headers['accept-language']) !== null) { - lang = langRegex.exec(req.headers['accept-language'])[0] + const accept_lang = req.headers['accept-language'] + if(accept_lang && langRegex.exec(accept_lang) !== null) { + const newLang = langRegex.exec(accept_lang) + if (newLang) { + lang = newLang[0] + } } this.addPlayerConnection(ws, game, ip, ps, lang); @@ -105,8 +115,10 @@ export class GameSessionsObserver { const socketConnection = jsonrpcserver.createConnection(reader, writer, () => { ws.close() }); - const serverConnection = jsonrpcserver.createProcessStreamConnection(this.players.get(ws).process); - + const player = this.players.get(ws) + if (!player) return + const serverConnection = jsonrpcserver.createProcessStreamConnection(player.process); + if (!serverConnection) return this.gameManager.messageTranslation( socketConnection, serverConnection, gameDir, gameSession.usesCustomLeanServer ) @@ -124,8 +136,12 @@ export class GameSessionsObserver { ws.on('close', () => { const player = this.players.get(ws) this.players.delete(ws) - //this.socketCounter-- - console.log(`[${new Date()}] Socket closed by ${ip} on ${player.currentGame}`) + //this.socketCounter-- // TODO?: why is this commented out? + if (player) { + console.log(`[${new Date()}] Socket closed by ${ip} on ${player.currentGame}`) + } else { + console.log(`[${new Date()}] Tried to close non-existing socket by ${ip}`) + } }) } diff --git a/relay/tsconfig.json b/relay/tsconfig.json index 15829bc9..30b6b8f0 100644 --- a/relay/tsconfig.json +++ b/relay/tsconfig.json @@ -1,23 +1,22 @@ { + "extends": "../tsconfig.json", "compilerOptions": { - "composite": true, - "outDir": "./dist/", - "module": "NodeNext", - "target": "es5", "allowJs": true, - "resolveJsonModule": true, + "allowSyntheticDefaultImports": true, + "composite": true, "esModuleInterop": true, - "moduleResolution": "nodenext", - "jsx": "react", - "downlevelIteration": true, "experimentalDecorators": true, - "allowSyntheticDefaultImports": true, - "lib": [ - "ES2021.String", - "DOM" - ], + "incremental": true, + "lib": ["ES2022"], + "module": "nodenext", + "outDir": "./dist", + "resolveJsonModule": true, + "rootDir": "./src", "skipLibCheck": true, - "sourceMap": true + "sourceMap": true, + "strict": true, + "target": "ES2022" }, - "include": ["./src/"] + "include": ["src/**/*"], + "exclude": ["dist"] } diff --git a/relay/tsconfig.tsbuildinfo b/relay/tsconfig.tsbuildinfo new file mode 100644 index 00000000..17efb17d --- /dev/null +++ b/relay/tsconfig.tsbuildinfo @@ -0,0 +1 @@ +{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/cacheable-lookup/index.d.ts","../node_modules/quick-lru/index.d.ts","../node_modules/http2-wrapper/index.d.ts","../node_modules/form-data-encoder/lib/index.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/buffer/index.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/keyv/src/index.d.ts","../node_modules/responselike/index.d.ts","../node_modules/@types/http-cache-semantics/index.d.ts","../node_modules/cacheable-request/dist/types.d.ts","../node_modules/cacheable-request/dist/index.d.ts","../node_modules/@szmarczak/http-timer/dist/source/index.d.ts","../node_modules/p-cancelable/index.d.ts","../node_modules/got/dist/source/core/timed-out.d.ts","../node_modules/got/dist/source/core/index.d.ts","../node_modules/got/dist/source/core/response.d.ts","../node_modules/got/dist/source/core/errors.d.ts","../node_modules/got/dist/source/as-promise/types.d.ts","../node_modules/got/dist/source/core/options.d.ts","../node_modules/got/dist/source/core/calculate-retry-delay.d.ts","../node_modules/type-fest/source/primitive.d.ts","../node_modules/type-fest/source/typed-array.d.ts","../node_modules/type-fest/source/basic.d.ts","../node_modules/type-fest/source/observable-like.d.ts","../node_modules/type-fest/source/union-to-intersection.d.ts","../node_modules/type-fest/source/keys-of-union.d.ts","../node_modules/type-fest/source/distributed-omit.d.ts","../node_modules/type-fest/source/distributed-pick.d.ts","../node_modules/type-fest/source/empty-object.d.ts","../node_modules/type-fest/source/if-empty-object.d.ts","../node_modules/type-fest/source/required-keys-of.d.ts","../node_modules/type-fest/source/has-required-keys.d.ts","../node_modules/type-fest/source/is-equal.d.ts","../node_modules/type-fest/source/except.d.ts","../node_modules/type-fest/source/require-at-least-one.d.ts","../node_modules/type-fest/source/non-empty-object.d.ts","../node_modules/type-fest/source/unknown-record.d.ts","../node_modules/type-fest/source/unknown-array.d.ts","../node_modules/type-fest/source/tagged-union.d.ts","../node_modules/type-fest/source/simplify.d.ts","../node_modules/type-fest/source/writable.d.ts","../node_modules/type-fest/source/is-never.d.ts","../node_modules/type-fest/source/if-never.d.ts","../node_modules/type-fest/source/internal/array.d.ts","../node_modules/type-fest/source/internal/characters.d.ts","../node_modules/type-fest/source/is-any.d.ts","../node_modules/type-fest/source/is-float.d.ts","../node_modules/type-fest/source/is-integer.d.ts","../node_modules/type-fest/source/numeric.d.ts","../node_modules/type-fest/source/is-literal.d.ts","../node_modules/type-fest/source/trim.d.ts","../node_modules/type-fest/source/and.d.ts","../node_modules/type-fest/source/or.d.ts","../node_modules/type-fest/source/greater-than.d.ts","../node_modules/type-fest/source/greater-than-or-equal.d.ts","../node_modules/type-fest/source/less-than.d.ts","../node_modules/type-fest/source/internal/tuple.d.ts","../node_modules/type-fest/source/internal/string.d.ts","../node_modules/type-fest/source/internal/keys.d.ts","../node_modules/type-fest/source/internal/numeric.d.ts","../node_modules/type-fest/source/internal/type.d.ts","../node_modules/type-fest/source/internal/object.d.ts","../node_modules/type-fest/source/internal/index.d.ts","../node_modules/type-fest/source/writable-deep.d.ts","../node_modules/type-fest/source/omit-index-signature.d.ts","../node_modules/type-fest/source/pick-index-signature.d.ts","../node_modules/type-fest/source/merge.d.ts","../node_modules/type-fest/source/conditional-simplify.d.ts","../node_modules/type-fest/source/non-empty-tuple.d.ts","../node_modules/type-fest/source/array-tail.d.ts","../node_modules/type-fest/source/enforce-optional.d.ts","../node_modules/type-fest/source/simplify-deep.d.ts","../node_modules/type-fest/source/merge-deep.d.ts","../node_modules/type-fest/source/merge-exclusive.d.ts","../node_modules/type-fest/source/require-exactly-one.d.ts","../node_modules/type-fest/source/require-all-or-none.d.ts","../node_modules/type-fest/source/require-one-or-none.d.ts","../node_modules/type-fest/source/single-key-object.d.ts","../node_modules/type-fest/source/partial-deep.d.ts","../node_modules/type-fest/source/required-deep.d.ts","../node_modules/type-fest/source/subtract.d.ts","../node_modules/type-fest/source/paths.d.ts","../node_modules/type-fest/source/pick-deep.d.ts","../node_modules/type-fest/source/array-splice.d.ts","../node_modules/type-fest/source/literal-union.d.ts","../node_modules/type-fest/source/union-to-tuple.d.ts","../node_modules/type-fest/source/omit-deep.d.ts","../node_modules/type-fest/source/is-null.d.ts","../node_modules/type-fest/source/is-unknown.d.ts","../node_modules/type-fest/source/if-unknown.d.ts","../node_modules/type-fest/source/partial-on-undefined-deep.d.ts","../node_modules/type-fest/source/undefined-on-partial-deep.d.ts","../node_modules/type-fest/source/readonly-deep.d.ts","../node_modules/type-fest/source/promisable.d.ts","../node_modules/type-fest/source/arrayable.d.ts","../node_modules/type-fest/source/tagged.d.ts","../node_modules/type-fest/source/invariant-of.d.ts","../node_modules/type-fest/source/set-optional.d.ts","../node_modules/type-fest/source/set-readonly.d.ts","../node_modules/type-fest/source/optional-keys-of.d.ts","../node_modules/type-fest/source/set-required.d.ts","../node_modules/type-fest/source/set-required-deep.d.ts","../node_modules/type-fest/source/set-non-nullable.d.ts","../node_modules/type-fest/source/value-of.d.ts","../node_modules/type-fest/source/async-return-type.d.ts","../node_modules/type-fest/source/conditional-keys.d.ts","../node_modules/type-fest/source/conditional-except.d.ts","../node_modules/type-fest/source/conditional-pick.d.ts","../node_modules/type-fest/source/conditional-pick-deep.d.ts","../node_modules/type-fest/source/stringified.d.ts","../node_modules/type-fest/source/join.d.ts","../node_modules/type-fest/source/sum.d.ts","../node_modules/type-fest/source/less-than-or-equal.d.ts","../node_modules/type-fest/source/array-slice.d.ts","../node_modules/type-fest/source/string-slice.d.ts","../node_modules/type-fest/source/fixed-length-array.d.ts","../node_modules/type-fest/source/multidimensional-array.d.ts","../node_modules/type-fest/source/multidimensional-readonly-array.d.ts","../node_modules/type-fest/source/iterable-element.d.ts","../node_modules/type-fest/source/entry.d.ts","../node_modules/type-fest/source/entries.d.ts","../node_modules/type-fest/source/set-return-type.d.ts","../node_modules/type-fest/source/set-parameter-type.d.ts","../node_modules/type-fest/source/asyncify.d.ts","../node_modules/type-fest/source/jsonify.d.ts","../node_modules/type-fest/source/jsonifiable.d.ts","../node_modules/type-fest/source/find-global-type.d.ts","../node_modules/type-fest/source/structured-cloneable.d.ts","../node_modules/type-fest/source/schema.d.ts","../node_modules/type-fest/source/literal-to-primitive.d.ts","../node_modules/type-fest/source/literal-to-primitive-deep.d.ts","../node_modules/type-fest/source/string-key-of.d.ts","../node_modules/type-fest/source/exact.d.ts","../node_modules/type-fest/source/readonly-tuple.d.ts","../node_modules/type-fest/source/override-properties.d.ts","../node_modules/type-fest/source/has-optional-keys.d.ts","../node_modules/type-fest/source/readonly-keys-of.d.ts","../node_modules/type-fest/source/has-readonly-keys.d.ts","../node_modules/type-fest/source/writable-keys-of.d.ts","../node_modules/type-fest/source/has-writable-keys.d.ts","../node_modules/type-fest/source/spread.d.ts","../node_modules/type-fest/source/if-any.d.ts","../node_modules/type-fest/source/is-tuple.d.ts","../node_modules/type-fest/source/tuple-to-object.d.ts","../node_modules/type-fest/source/tuple-to-union.d.ts","../node_modules/type-fest/source/int-range.d.ts","../node_modules/type-fest/source/int-closed-range.d.ts","../node_modules/type-fest/source/array-indices.d.ts","../node_modules/type-fest/source/array-values.d.ts","../node_modules/type-fest/source/set-field-type.d.ts","../node_modules/type-fest/source/shared-union-fields.d.ts","../node_modules/type-fest/source/all-union-fields.d.ts","../node_modules/type-fest/source/shared-union-fields-deep.d.ts","../node_modules/type-fest/source/if-null.d.ts","../node_modules/type-fest/source/words.d.ts","../node_modules/type-fest/source/camel-case.d.ts","../node_modules/type-fest/source/camel-cased-properties.d.ts","../node_modules/type-fest/source/camel-cased-properties-deep.d.ts","../node_modules/type-fest/source/delimiter-case.d.ts","../node_modules/type-fest/source/kebab-case.d.ts","../node_modules/type-fest/source/delimiter-cased-properties.d.ts","../node_modules/type-fest/source/kebab-cased-properties.d.ts","../node_modules/type-fest/source/delimiter-cased-properties-deep.d.ts","../node_modules/type-fest/source/kebab-cased-properties-deep.d.ts","../node_modules/type-fest/source/pascal-case.d.ts","../node_modules/type-fest/source/pascal-cased-properties.d.ts","../node_modules/type-fest/source/pascal-cased-properties-deep.d.ts","../node_modules/type-fest/source/snake-case.d.ts","../node_modules/type-fest/source/snake-cased-properties.d.ts","../node_modules/type-fest/source/snake-cased-properties-deep.d.ts","../node_modules/type-fest/source/screaming-snake-case.d.ts","../node_modules/type-fest/source/split.d.ts","../node_modules/type-fest/source/replace.d.ts","../node_modules/type-fest/source/string-repeat.d.ts","../node_modules/type-fest/source/includes.d.ts","../node_modules/type-fest/source/get.d.ts","../node_modules/type-fest/source/last-array-element.d.ts","../node_modules/type-fest/source/global-this.d.ts","../node_modules/type-fest/source/package-json.d.ts","../node_modules/type-fest/source/tsconfig-json.d.ts","../node_modules/type-fest/index.d.ts","../node_modules/got/dist/source/types.d.ts","../node_modules/got/dist/source/create.d.ts","../node_modules/got/dist/source/core/parse-link-header.d.ts","../node_modules/got/dist/source/index.d.ts","../node_modules/ip-anonymize/index.d.ts","../node_modules/before-after-hook/index.d.ts","../node_modules/@octokit/types/dist-types/requestmethod.d.ts","../node_modules/@octokit/types/dist-types/url.d.ts","../node_modules/@octokit/types/dist-types/fetch.d.ts","../node_modules/@octokit/types/dist-types/requestrequestoptions.d.ts","../node_modules/@octokit/types/dist-types/requestheaders.d.ts","../node_modules/@octokit/types/dist-types/requestparameters.d.ts","../node_modules/@octokit/types/dist-types/endpointoptions.d.ts","../node_modules/@octokit/types/dist-types/responseheaders.d.ts","../node_modules/@octokit/types/dist-types/octokitresponse.d.ts","../node_modules/@octokit/types/dist-types/endpointdefaults.d.ts","../node_modules/@octokit/types/dist-types/requestoptions.d.ts","../node_modules/@octokit/types/dist-types/route.d.ts","../node_modules/@octokit/openapi-types/types.d.ts","../node_modules/@octokit/types/dist-types/generated/endpoints.d.ts","../node_modules/@octokit/types/dist-types/endpointinterface.d.ts","../node_modules/@octokit/types/dist-types/requestinterface.d.ts","../node_modules/@octokit/types/dist-types/authinterface.d.ts","../node_modules/@octokit/types/dist-types/requesterror.d.ts","../node_modules/@octokit/types/dist-types/strategyinterface.d.ts","../node_modules/@octokit/types/dist-types/version.d.ts","../node_modules/@octokit/types/dist-types/getresponsetypefromendpointmethod.d.ts","../node_modules/@octokit/types/dist-types/index.d.ts","../node_modules/@octokit/request/dist-types/index.d.ts","../node_modules/@octokit/graphql/dist-types/types.d.ts","../node_modules/@octokit/graphql/dist-types/error.d.ts","../node_modules/@octokit/graphql/dist-types/index.d.ts","../node_modules/@octokit/request-error/dist-types/types.d.ts","../node_modules/@octokit/request-error/dist-types/index.d.ts","../node_modules/@octokit/core/dist-types/types.d.ts","../node_modules/@octokit/core/dist-types/index.d.ts","../node_modules/@octokit/plugin-paginate-graphql/dist-types/iterator.d.ts","../node_modules/@octokit/plugin-paginate-graphql/dist-types/paginate.d.ts","../node_modules/@octokit/plugin-paginate-graphql/dist-types/page-info.d.ts","../node_modules/@octokit/plugin-paginate-graphql/dist-types/version.d.ts","../node_modules/@octokit/plugin-paginate-graphql/dist-types/index.d.ts","../node_modules/@octokit/plugin-paginate-rest/dist-types/generated/paginating-endpoints.d.ts","../node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts","../node_modules/@octokit/plugin-paginate-rest/dist-types/compose-paginate.d.ts","../node_modules/@octokit/plugin-paginate-rest/dist-types/paginating-endpoints.d.ts","../node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts","../node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/parameters-and-response-types.d.ts","../node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/method-types.d.ts","../node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts","../node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts","../node_modules/octokit/dist-types/octokit.d.ts","../node_modules/@octokit/oauth-methods/dist-types/version.d.ts","../node_modules/@octokit/oauth-authorization-url/dist-types/types.d.ts","../node_modules/@octokit/oauth-authorization-url/dist-types/index.d.ts","../node_modules/@octokit/oauth-methods/dist-types/get-web-flow-authorization-url.d.ts","../node_modules/@octokit/oauth-methods/dist-types/types.d.ts","../node_modules/@octokit/oauth-methods/dist-types/exchange-web-flow-code.d.ts","../node_modules/@octokit/oauth-methods/dist-types/create-device-code.d.ts","../node_modules/@octokit/oauth-methods/dist-types/exchange-device-code.d.ts","../node_modules/@octokit/oauth-methods/dist-types/check-token.d.ts","../node_modules/@octokit/oauth-methods/dist-types/refresh-token.d.ts","../node_modules/@octokit/oauth-methods/dist-types/scope-token.d.ts","../node_modules/@octokit/oauth-methods/dist-types/reset-token.d.ts","../node_modules/@octokit/oauth-methods/dist-types/delete-token.d.ts","../node_modules/@octokit/oauth-methods/dist-types/delete-authorization.d.ts","../node_modules/@octokit/oauth-methods/dist-types/index.d.ts","../node_modules/@octokit/auth-oauth-device/dist-types/types.d.ts","../node_modules/@octokit/auth-oauth-device/dist-types/index.d.ts","../node_modules/@octokit/auth-oauth-user/dist-types/types.d.ts","../node_modules/@octokit/auth-oauth-user/dist-types/requires-basic-auth.d.ts","../node_modules/@octokit/auth-oauth-user/dist-types/index.d.ts","../node_modules/@octokit/auth-oauth-app/dist-types/types.d.ts","../node_modules/@octokit/auth-oauth-app/dist-types/index.d.ts","../node_modules/@octokit/oauth-app/dist-types/oauth-app-octokit.d.ts","../node_modules/@octokit/oauth-app/dist-types/types.d.ts","../node_modules/@octokit/oauth-app/dist-types/methods/get-user-octokit.d.ts","../node_modules/@octokit/oauth-app/dist-types/methods/get-web-flow-authorization-url.d.ts","../node_modules/@octokit/oauth-app/dist-types/methods/create-token.d.ts","../node_modules/@octokit/oauth-app/dist-types/methods/check-token.d.ts","../node_modules/@octokit/oauth-app/dist-types/methods/reset-token.d.ts","../node_modules/@octokit/oauth-app/dist-types/methods/refresh-token.d.ts","../node_modules/@octokit/oauth-app/dist-types/methods/scope-token.d.ts","../node_modules/@octokit/oauth-app/dist-types/methods/delete-token.d.ts","../node_modules/@octokit/oauth-app/dist-types/methods/delete-authorization.d.ts","../node_modules/@octokit/oauth-app/dist-types/middleware/types.d.ts","../node_modules/@octokit/oauth-app/dist-types/middleware/handle-request.d.ts","../node_modules/@octokit/oauth-app/dist-types/middleware/unknown-route-response.d.ts","../node_modules/@octokit/oauth-app/dist-types/middleware/node/index.d.ts","../node_modules/@octokit/oauth-app/dist-types/middleware/node/send-response.d.ts","../node_modules/@octokit/oauth-app/dist-types/middleware/web-worker/index.d.ts","../node_modules/@types/aws-lambda/common/api-gateway.d.ts","../node_modules/@types/aws-lambda/common/cloudfront.d.ts","../node_modules/@types/aws-lambda/handler.d.ts","../node_modules/@types/aws-lambda/trigger/alb.d.ts","../node_modules/@types/aws-lambda/trigger/api-gateway-proxy.d.ts","../node_modules/@types/aws-lambda/trigger/api-gateway-authorizer.d.ts","../node_modules/@types/aws-lambda/trigger/appsync-resolver.d.ts","../node_modules/@types/aws-lambda/trigger/autoscaling.d.ts","../node_modules/@types/aws-lambda/trigger/cloudformation-custom-resource.d.ts","../node_modules/@types/aws-lambda/trigger/cdk-custom-resource.d.ts","../node_modules/@types/aws-lambda/trigger/cloudfront-request.d.ts","../node_modules/@types/aws-lambda/trigger/cloudfront-response.d.ts","../node_modules/@types/aws-lambda/trigger/cloudwatch-alarm.d.ts","../node_modules/@types/aws-lambda/trigger/eventbridge.d.ts","../node_modules/@types/aws-lambda/trigger/cloudwatch-events.d.ts","../node_modules/@types/aws-lambda/trigger/cloudwatch-logs.d.ts","../node_modules/@types/aws-lambda/trigger/codebuild-cloudwatch-state.d.ts","../node_modules/@types/aws-lambda/trigger/codecommit.d.ts","../node_modules/@types/aws-lambda/trigger/codepipeline.d.ts","../node_modules/@types/aws-lambda/trigger/codepipeline-cloudwatch-action.d.ts","../node_modules/@types/aws-lambda/trigger/codepipeline-cloudwatch-pipeline.d.ts","../node_modules/@types/aws-lambda/trigger/codepipeline-cloudwatch-stage.d.ts","../node_modules/@types/aws-lambda/trigger/codepipeline-cloudwatch.d.ts","../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/_common.d.ts","../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/create-auth-challenge.d.ts","../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/custom-email-sender.d.ts","../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/custom-message.d.ts","../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/custom-sms-sender.d.ts","../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/define-auth-challenge.d.ts","../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/post-authentication.d.ts","../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/post-confirmation.d.ts","../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/pre-authentication.d.ts","../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/pre-signup.d.ts","../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/pre-token-generation.d.ts","../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/pre-token-generation-v2.d.ts","../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/pre-token-generation-v3.d.ts","../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/user-migration.d.ts","../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/verify-auth-challenge-response.d.ts","../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/index.d.ts","../node_modules/@types/aws-lambda/trigger/connect-contact-flow.d.ts","../node_modules/@types/aws-lambda/trigger/dynamodb-stream.d.ts","../node_modules/@types/aws-lambda/trigger/guard-duty-event-notification.d.ts","../node_modules/@types/aws-lambda/trigger/iot.d.ts","../node_modules/@types/aws-lambda/trigger/iot-authorizer.d.ts","../node_modules/@types/aws-lambda/trigger/kinesis-firehose-transformation.d.ts","../node_modules/@types/aws-lambda/trigger/kinesis-stream.d.ts","../node_modules/@types/aws-lambda/trigger/lambda-function-url.d.ts","../node_modules/@types/aws-lambda/trigger/lex.d.ts","../node_modules/@types/aws-lambda/trigger/lex-v2.d.ts","../node_modules/@types/aws-lambda/trigger/amplify-resolver.d.ts","../node_modules/@types/aws-lambda/trigger/msk.d.ts","../node_modules/@types/aws-lambda/trigger/s3.d.ts","../node_modules/@types/aws-lambda/trigger/s3-batch.d.ts","../node_modules/@types/aws-lambda/trigger/s3-event-notification.d.ts","../node_modules/@types/aws-lambda/trigger/secretsmanager.d.ts","../node_modules/@types/aws-lambda/trigger/self-managed-kafka.d.ts","../node_modules/@types/aws-lambda/trigger/ses.d.ts","../node_modules/@types/aws-lambda/trigger/sns.d.ts","../node_modules/@types/aws-lambda/trigger/sqs.d.ts","../node_modules/@types/aws-lambda/trigger/transfer-family-authorizer.d.ts","../node_modules/@types/aws-lambda/index.d.ts","../node_modules/@octokit/oauth-app/dist-types/middleware/aws-lambda/api-gateway-v2.d.ts","../node_modules/@octokit/oauth-app/dist-types/index.d.ts","../node_modules/@octokit/webhooks/dist-types/index.d.ts","../node_modules/@octokit/app/dist-types/types.d.ts","../node_modules/@octokit/app/dist-types/middleware/node/index.d.ts","../node_modules/@octokit/app/dist-types/index.d.ts","../node_modules/octokit/dist-types/app.d.ts","../node_modules/octokit/dist-types/index.d.ts","../node_modules/uuid/dist/esm/types.d.ts","../node_modules/uuid/dist/esm/max.d.ts","../node_modules/uuid/dist/esm/nil.d.ts","../node_modules/uuid/dist/esm/parse.d.ts","../node_modules/uuid/dist/esm/stringify.d.ts","../node_modules/uuid/dist/esm/v1.d.ts","../node_modules/uuid/dist/esm/v1tov6.d.ts","../node_modules/uuid/dist/esm/v35.d.ts","../node_modules/uuid/dist/esm/v3.d.ts","../node_modules/uuid/dist/esm/v4.d.ts","../node_modules/uuid/dist/esm/v5.d.ts","../node_modules/uuid/dist/esm/v6.d.ts","../node_modules/uuid/dist/esm/v6tov1.d.ts","../node_modules/uuid/dist/esm/v7.d.ts","../node_modules/uuid/dist/esm/validate.d.ts","../node_modules/uuid/dist/esm/version.d.ts","../node_modules/uuid/dist/esm/index.d.ts","../node_modules/@types/mime/index.d.ts","../node_modules/@types/send/index.d.ts","../node_modules/@types/qs/index.d.ts","../node_modules/@types/range-parser/index.d.ts","../node_modules/@types/express-serve-static-core/index.d.ts","../node_modules/@types/http-errors/index.d.ts","../node_modules/@types/serve-static/index.d.ts","../node_modules/@types/connect/index.d.ts","../node_modules/@types/body-parser/index.d.ts","../node_modules/@types/express/index.d.ts","./src/services/accesslogger.ts","./src/param-types.ts","./src/middleware.ts","./src/import.ts","../node_modules/vscode-jsonrpc/typings/thenable.d.ts","../node_modules/vscode-jsonrpc/lib/common/messages.d.ts","../node_modules/vscode-jsonrpc/lib/common/linkedmap.d.ts","../node_modules/vscode-jsonrpc/lib/common/disposable.d.ts","../node_modules/vscode-jsonrpc/lib/common/events.d.ts","../node_modules/vscode-jsonrpc/lib/common/cancellation.d.ts","../node_modules/vscode-jsonrpc/lib/common/encoding.d.ts","../node_modules/vscode-jsonrpc/lib/common/ral.d.ts","../node_modules/vscode-jsonrpc/lib/common/messagereader.d.ts","../node_modules/vscode-jsonrpc/lib/common/messagewriter.d.ts","../node_modules/vscode-jsonrpc/lib/common/connection.d.ts","../node_modules/vscode-jsonrpc/lib/common/sharedarraycancellation.d.ts","../node_modules/vscode-jsonrpc/lib/common/messagebuffer.d.ts","../node_modules/vscode-jsonrpc/lib/common/api.d.ts","../node_modules/vscode-ws-jsonrpc/lib/server/connection.d.ts","../node_modules/vscode-ws-jsonrpc/lib/socket/socket.d.ts","../node_modules/vscode-ws-jsonrpc/lib/server/launch.d.ts","../node_modules/vscode-ws-jsonrpc/lib/server/index.d.ts","./src/serverprocess.ts","../node_modules/vscode-ws-jsonrpc/lib/disposable.d.ts","../node_modules/vscode-ws-jsonrpc/lib/socket/reader.d.ts","../node_modules/vscode-ws-jsonrpc/lib/socket/writer.d.ts","../node_modules/vscode-ws-jsonrpc/lib/socket/connection.d.ts","../node_modules/vscode-ws-jsonrpc/lib/socket/index.d.ts","../node_modules/vscode-ws-jsonrpc/lib/logger.d.ts","../node_modules/vscode-ws-jsonrpc/lib/connection.d.ts","../node_modules/vscode-ws-jsonrpc/lib/index.d.ts","../node_modules/@types/ws/index.d.mts","./src/websocket.ts","./src/index.ts","../node_modules/@types/aria-query/index.d.ts","../node_modules/blob-util/dist/blob-util.d.ts","../node_modules/cypress/types/cy-blob-util.d.ts","../node_modules/cypress/types/bluebird/index.d.ts","../node_modules/cypress/types/cy-bluebird.d.ts","../node_modules/cypress/types/cy-minimatch.d.ts","../node_modules/cypress/types/chai/index.d.ts","../node_modules/cypress/types/cy-chai.d.ts","../node_modules/cypress/types/lodash/common/common.d.ts","../node_modules/cypress/types/lodash/common/array.d.ts","../node_modules/cypress/types/lodash/common/collection.d.ts","../node_modules/cypress/types/lodash/common/date.d.ts","../node_modules/cypress/types/lodash/common/function.d.ts","../node_modules/cypress/types/lodash/common/lang.d.ts","../node_modules/cypress/types/lodash/common/math.d.ts","../node_modules/cypress/types/lodash/common/number.d.ts","../node_modules/cypress/types/lodash/common/object.d.ts","../node_modules/cypress/types/lodash/common/seq.d.ts","../node_modules/cypress/types/lodash/common/string.d.ts","../node_modules/cypress/types/lodash/common/util.d.ts","../node_modules/cypress/types/lodash/index.d.ts","../node_modules/@types/sinonjs__fake-timers/index.d.ts","../node_modules/cypress/types/sinon/index.d.ts","../node_modules/cypress/types/sinon-chai/index.d.ts","../node_modules/cypress/types/mocha/index.d.ts","../node_modules/cypress/types/jquery/jquerystatic.d.ts","../node_modules/cypress/types/jquery/jquery.d.ts","../node_modules/cypress/types/jquery/misc.d.ts","../node_modules/cypress/types/jquery/legacy.d.ts","../node_modules/@types/sizzle/index.d.ts","../node_modules/cypress/types/jquery/index.d.ts","../node_modules/cypress/types/chai-jquery/index.d.ts","../node_modules/cypress/types/cypress-npm-api.d.ts","../node_modules/cypress/types/net-stubbing.d.ts","../node_modules/eventemitter2/eventemitter2.d.ts","../node_modules/cypress/types/cypress-eventemitter.d.ts","../node_modules/cypress/types/cypress-type-helpers.d.ts","../node_modules/cypress/types/cypress.d.ts","../node_modules/cypress/types/cypress-global-vars.d.ts","../node_modules/cypress/types/cypress-expect.d.ts","../node_modules/cypress/types/index.d.ts","../node_modules/@types/cytoscape/index.d.ts","../node_modules/@types/debounce/index.d.ts","../node_modules/@types/ms/index.d.ts","../node_modules/@types/debug/index.d.ts","../node_modules/@types/estree/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/eslint/use-at-your-own-risk.d.ts","../node_modules/@types/eslint/index.d.ts","../node_modules/@types/eslint-scope/index.d.ts","../node_modules/tough-cookie/dist/cookie/constants.d.ts","../node_modules/tough-cookie/dist/cookie/cookie.d.ts","../node_modules/tough-cookie/dist/utils.d.ts","../node_modules/tough-cookie/dist/store.d.ts","../node_modules/tough-cookie/dist/memstore.d.ts","../node_modules/tough-cookie/dist/pathmatch.d.ts","../node_modules/tough-cookie/dist/permutedomain.d.ts","../node_modules/tough-cookie/dist/getpublicsuffix.d.ts","../node_modules/tough-cookie/dist/validators.d.ts","../node_modules/tough-cookie/dist/version.d.ts","../node_modules/tough-cookie/dist/cookie/canonicaldomain.d.ts","../node_modules/tough-cookie/dist/cookie/cookiecompare.d.ts","../node_modules/tough-cookie/dist/cookie/cookiejar.d.ts","../node_modules/tough-cookie/dist/cookie/defaultpath.d.ts","../node_modules/tough-cookie/dist/cookie/domainmatch.d.ts","../node_modules/tough-cookie/dist/cookie/formatdate.d.ts","../node_modules/tough-cookie/dist/cookie/parsedate.d.ts","../node_modules/tough-cookie/dist/cookie/permutepath.d.ts","../node_modules/tough-cookie/dist/cookie/index.d.ts","../node_modules/@types/got/index.d.ts","../node_modules/@types/unist/index.d.ts","../node_modules/@types/hast/index.d.ts","../node_modules/@types/react/ts5.0/global.d.ts","../node_modules/csstype/index.d.ts","../node_modules/@types/prop-types/index.d.ts","../node_modules/@types/scheduler/tracing.d.ts","../node_modules/@types/react/ts5.0/index.d.ts","../node_modules/@types/hoist-non-react-statics/index.d.ts","../node_modules/@types/katex/index.d.ts","../node_modules/@types/mathjax/index.d.ts","../node_modules/@types/mdast/index.d.ts","../node_modules/@types/parse-json/index.d.ts","../node_modules/@types/react-dom/index.d.ts","../node_modules/@types/react-transition-group/config.d.ts","../node_modules/@types/react-transition-group/transition.d.ts","../node_modules/@types/react-transition-group/csstransition.d.ts","../node_modules/@types/react-transition-group/switchtransition.d.ts","../node_modules/@types/react-transition-group/transitiongroup.d.ts","../node_modules/@types/react-transition-group/index.d.ts","../node_modules/@types/scheduler/index.d.ts","../node_modules/@types/tough-cookie/index.d.ts","../node_modules/@types/trusted-types/lib/index.d.ts","../node_modules/@types/trusted-types/index.d.ts","../node_modules/@types/use-sync-external-store/index.d.ts","../node_modules/@types/ws/index.d.ts","../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","impliedFormat":1},{"version":"7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","impliedFormat":1},{"version":"8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","impliedFormat":1},{"version":"5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","impliedFormat":1},{"version":"4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","impliedFormat":1},{"version":"1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","impliedFormat":1},{"version":"746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","impliedFormat":1},{"version":"d11a03592451da2d1065e09e61f4e2a9bf68f780f4f6623c18b57816a9679d17","impliedFormat":1},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true,"impliedFormat":1},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true,"impliedFormat":1},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true,"impliedFormat":1},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true,"impliedFormat":1},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true,"impliedFormat":1},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true,"impliedFormat":1},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true,"impliedFormat":1},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true,"impliedFormat":1},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true,"impliedFormat":1},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true,"impliedFormat":1},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true,"impliedFormat":1},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true,"impliedFormat":1},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true,"impliedFormat":1},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true,"impliedFormat":1},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true,"impliedFormat":1},{"version":"34c839eaaa6d78c8674ae2c37af2236dee6831b13db7b4ef4df3ec889a04d4f2","affectsGlobalScope":true,"impliedFormat":1},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab7d58e6161a550ff92e5aff755dc37fe896245348332cd5f1e1203479fe0ed1","affectsGlobalScope":true,"impliedFormat":1},{"version":"6bda95ea27a59a276e46043b7065b55bd4b316c25e70e29b572958fa77565d43","affectsGlobalScope":true,"impliedFormat":1},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true,"impliedFormat":1},{"version":"a4da0551fd39b90ca7ce5f68fb55d4dc0c1396d589b612e1902f68ee090aaada","affectsGlobalScope":true,"impliedFormat":1},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true,"impliedFormat":1},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b8db4ddeab4e3d3bcdbc033f82db9c610d79d9dac4822a166b48b8115a56b86","impliedFormat":99},{"version":"a3c2abd98c3eb44a14869dabd47493c9a6ab2cbdbcbced5aa76003d0c98fe0ed","impliedFormat":1},{"version":"b0f2ff06100ac2f28b4bd6c1b0078a8e6dec8a8a4b9c73c2807c4a47d14b94bb","impliedFormat":1},{"version":"bf270d22eb31b585892e5e59ef5aa7730ebbc4d19e7de860320826de9836e912","impliedFormat":99},{"version":"efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","impliedFormat":1},{"version":"3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","impliedFormat":1},{"version":"e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","impliedFormat":1},{"version":"471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","impliedFormat":1},{"version":"c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","impliedFormat":1},{"version":"40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","impliedFormat":1},{"version":"8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","impliedFormat":1},{"version":"4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1","impliedFormat":1},{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true,"impliedFormat":1},{"version":"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c","impliedFormat":1},{"version":"e2eb1ce13a9c0fa7ab62c63909d81973ef4b707292667c64f1e25e6e53fa7afa","affectsGlobalScope":true,"impliedFormat":1},{"version":"16d74fe4d8e183344d3beb15d48b123c5980ff32ff0cc8c3b96614ddcdf9b239","impliedFormat":1},{"version":"7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba","impliedFormat":1},{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"a1d2988ad9d2aef7b9915a22b5e52c165c83a878f2851c35621409046bbe3c05","affectsGlobalScope":true,"impliedFormat":1},{"version":"bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","impliedFormat":1},{"version":"4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","impliedFormat":1},{"version":"8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","impliedFormat":1},{"version":"af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","impliedFormat":1},{"version":"b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e","impliedFormat":1},{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ae9dc7dbb58cd843065639707815df85c044babaa0947116f97bdb824d07204","affectsGlobalScope":true,"impliedFormat":1},{"version":"fe1fd6afdfe77976d4c702f3746c05fb05a7e566845c890e0e970fe9376d6a90","impliedFormat":1},{"version":"313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","impliedFormat":1},{"version":"f1ace2d2f98429e007d017c7a445efad2aaebf8233135abdb2c88b8c0fef91ab","impliedFormat":1},{"version":"87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","impliedFormat":1},{"version":"396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","impliedFormat":1},{"version":"21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac","impliedFormat":1},{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true,"impliedFormat":1},{"version":"440aa12c483d9dcd62b8cad2ddf4549ef3e54926c2aa6c78d520dcd320ba4980","impliedFormat":1},{"version":"45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","impliedFormat":1},{"version":"0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7","impliedFormat":1},{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true,"impliedFormat":1},{"version":"0666f4c99b8688c7be5956df8fecf5d1779d3b22f8f2a88258ae7072c7b6026f","affectsGlobalScope":true,"impliedFormat":1},{"version":"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","impliedFormat":1},{"version":"54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","impliedFormat":1},{"version":"d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","impliedFormat":1},{"version":"8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","impliedFormat":1},{"version":"01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","impliedFormat":1},{"version":"8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"7424817d5eb498771e6d1808d726ec38f75d2eaf3fa359edd5c0c540c52725c1","impliedFormat":1},{"version":"9a9634296cca836c3308923ba7aa094fa6ed76bb1e366d8ddcf5c65888ab1024","impliedFormat":1},{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true,"impliedFormat":1},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true,"impliedFormat":1},{"version":"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","impliedFormat":1},{"version":"4b55240c2a03b2c71e98a7fc528b16136faa762211c92e781a01c37821915ea6","impliedFormat":1},{"version":"7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","impliedFormat":1},{"version":"7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df","impliedFormat":1},{"version":"4d0405568cf6e0ff36a4861c4a77e641366feaefa751600b0a4d12a5e8f730a8","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true,"impliedFormat":1},{"version":"e393915d3dc385e69c0e2390739c87b2d296a610662eb0b1cb85224e55992250","impliedFormat":1},{"version":"79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","impliedFormat":1},{"version":"37dc027f781c75f0f546e329cfac7cf92a6b289f42458f47a9adc25e516b6839","impliedFormat":1},{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447","impliedFormat":1},{"version":"42baf4ca38c38deaf411ea73f37bc39ff56c6e5c761a968b64ac1b25c92b5cd8","impliedFormat":1},{"version":"e938de3d9b0516644b3e7069e3e94e325ca00eab9a664f5fa81e84c884d52d5e","impliedFormat":99},{"version":"d7dbe0ad36bdca8a6ecf143422a48e72cc8927bab7b23a1a2485c2f78a7022c6","impliedFormat":1},{"version":"209fee357248e750f26ff83b8b111ec666edb2f5d403118ef07167baea886301","impliedFormat":99},{"version":"8858836919775574adca11a5570d9a33d1ef06dfa68742c8b68ff0c397ff3729","impliedFormat":99},{"version":"9e0e9aeffbc647cee65d2f255de8c72198fb72ed13b8d8447de3f2c40f1bc8ab","impliedFormat":99},{"version":"b8d353cd41fc68412dc03f92bfc3e5606d606a875fc1c2a5f29fb92fe95dd79f","impliedFormat":99},{"version":"e8c1f41aeaca02f97f93626d289dcdb89b4de617b070dc0652aa9682ffd2b216","impliedFormat":99},{"version":"c869e1aba81046b2f8d96b43f06522e9735b7a15b1ff46bfa4dba090d9111702","impliedFormat":99},{"version":"a6d0096ffc95d52d04b1590e3b0f5342c3008ed6cc4309d0a8b37206f0eb952c","impliedFormat":99},{"version":"bca0786d47b7f35c2c48e27798076b396b743be45702c711896063d5388ddf3c","impliedFormat":99},{"version":"6658ca0bf1bc8bf9695e9103e9772899be9579ceb632c9b284abd2eb378c9dd8","impliedFormat":99},{"version":"acfa761f52b41b1f3087746bfb5484ac73b1fcd4bee3c68aa0fd22351db55609","impliedFormat":99},{"version":"712f55bbecce74c21e38d124b789802c59a1a9ad8564cc841cda45f1b5c8c5d3","impliedFormat":99},{"version":"cd51ceafea7762ad639afb3ca5b68e1e4ffeaacaa402d7ef2cae17016e29e098","impliedFormat":1},{"version":"1b8357b3fef5be61b5de6d6a4805a534d68fe3e040c11f1944e27d4aec85936a","impliedFormat":1},{"version":"130ec22c8432ade59047e0225e552c62a47683d870d44785bee95594c8d65408","impliedFormat":1},{"version":"4f24c2781b21b6cd65eede543669327d68a8cf0c6d9cf106a1146b164a7c8ef9","affectsGlobalScope":true,"impliedFormat":1},{"version":"928f96b9948742cbaec33e1c34c406c127c2dad5906edb7df08e92b963500a41","impliedFormat":1},{"version":"56613f2ebdd34d4527ca1ee969ab7e82333c3183fc715e5667c999396359e478","impliedFormat":1},{"version":"d9720d542df1d7feba0aa80ed11b4584854951f9064232e8d7a76e65dc676136","impliedFormat":1},{"version":"d0fb3d0c64beba3b9ab25916cc018150d78ccb4952fac755c53721d9d624ba0d","impliedFormat":1},{"version":"86b484bcf6344a27a9ee19dd5cef1a5afbbd96aeb07708cc6d8b43d7dfa8466c","impliedFormat":1},{"version":"ba93f0192c9c30d895bee1141dd0c307b75df16245deef7134ac0152294788cc","impliedFormat":1},{"version":"75a7db3b7ddf0ca49651629bb665e0294fda8d19ba04fddc8a14d32bb35eb248","impliedFormat":1},{"version":"eb31477c87de3309cbe4e9984fa74a052f31581edb89103f8590f01874b4e271","impliedFormat":1},{"version":"892abbe1081799073183bab5dc771db813938e888cf49eb166f0e0102c0c1473","impliedFormat":1},{"version":"b10d98a3178cf39b3cb34a26a1704633126c7306a37120af128f2075f0be848d","impliedFormat":1},{"version":"865f3db83300a1303349cc49ed80943775a858e0596e7e5a052cc65ac03b10bb","impliedFormat":1},{"version":"28fa41063a242eafcf51e1a62013fccdd9fd5d6760ded6e3ff5ce10a13c2ab31","impliedFormat":1},{"version":"ada60ff3698e7fd0c7ed0e4d93286ee28aed87f648f6748e668a57308fde5a67","impliedFormat":1},{"version":"1a67ba5891772a62706335b59a50720d89905196c90719dad7cec9c81c2990e6","impliedFormat":1},{"version":"5d6f919e1966d45ea297c2478c1985d213e41e2f9a6789964cdb53669e3f7a6f","impliedFormat":1},{"version":"a8289d1d525cf4a3a2d5a8db6b8e14e19f43d122cc47f8fb6b894b0aa2e2bde6","impliedFormat":1},{"version":"d7735a9ccd17767352ab6e799d76735016209aadd5c038a2fc07a29e7b235f02","impliedFormat":1},{"version":"4e251317bb109337e4918e5d7bcda7ef2d88f106cac531dcea03f7eee1dd2240","impliedFormat":1},{"version":"0f2c77683296ca2d0e0bee84f8aa944a05df23bc4c5b5fef31dda757e75f660f","impliedFormat":1},{"version":"cf41091fcbf45daff9aba653406b83d11a3ec163ff9d7a71890035117e733d98","impliedFormat":1},{"version":"742be2239f1a967692c4562a16973a08a1177663f972cbb4e1ef2b21bc97c9cf","impliedFormat":1},{"version":"ce92e662f86a36fc38c5aaa2ec6e6d6eed0bc6cf231bd06a9cb64cc652487550","impliedFormat":1},{"version":"bcf177e80d5a2c3499f587886b4a190391fc9ad4388f74ae6aa935a1c22cd623","impliedFormat":1},{"version":"521f9f4dd927972ed9867e3eb2f0dd6990151f9edbb608ce59911864a9a2712d","impliedFormat":1},{"version":"b2a793bde18962a2e1e0f9fa5dce43dd3e801331d36d3e96a7451727185fb16f","impliedFormat":1},{"version":"9d8fc1d9b6b4b94127eec180183683a6ef4735b0e0a770ba9f7e2d98dd571e0c","impliedFormat":1},{"version":"8504003e88870caa5474ab8bd270f318d0985ba7ede4ee30fe37646768b5362a","impliedFormat":1},{"version":"65465a64d5ee2f989ad4cf8db05f875204a9178f36b07a1e4d3a09a39f762e2e","impliedFormat":1},{"version":"2878f694f7d3a13a88a5e511da7ac084491ca0ddde9539e5dad76737ead9a5a9","impliedFormat":1},{"version":"1c0c6bd0d9b697040f43723d5b1dd6bb9feb743459ff9f95fda9adb6c97c9b37","impliedFormat":1},{"version":"0915ce92bb54e905387b7907e98982620cb7143f7b44291974fb2e592602fe00","impliedFormat":1},{"version":"3cd6df04a43858a6d18402c87a22a68534425e1c8c2fc5bb53fead29af027fcc","impliedFormat":1},{"version":"7c0a4d3819fb911cdb5a6759c0195c72b0c54094451949ebaa89ffceadd129ca","impliedFormat":1},{"version":"4733c832fb758f546a4246bc62f2e9d68880eb8abf0f08c6bec484decb774dc9","impliedFormat":1},{"version":"58d91c410f31f4dd6fa8d50ad10b4ae9a8d1789306e73a5fbe8abea6a593099b","impliedFormat":1},{"version":"3aea7345c25f1060791fc83a6466b889924db87389e5c344fa0c27b75257ebe4","impliedFormat":1},{"version":"d8d5061cb4521772457a2a3f0fcec028669990daceea78068bc968620641cd25","impliedFormat":1},{"version":"d6d2f8418a0479848393410d9840e1ff5e36a5f42a54b935cd83d020ba8219af","impliedFormat":1},{"version":"1f129869a0ee2dcb7ea9a92d6bc8ddf2c2cdaf2d244eec18c3a78efeb5e05c83","impliedFormat":1},{"version":"843e98d09268e2b5b9e6ff60487cf68f4643a72c2e55f7c29b35d1091a4ee4e9","impliedFormat":1},{"version":"e6804515ba7c8f647e145ecc126138dd9d27d3e6283291d0f50050700066a0ea","impliedFormat":1},{"version":"9420a04edbe321959de3d1aab9fa88b45951a14c22d8a817f75eb4c0a80dba02","impliedFormat":1},{"version":"6927ceeb41bb451f47593de0180c8ff1be7403965d10dc9147ee8d5c91372fff","impliedFormat":1},{"version":"ef4c9ef3ec432ccbf6508f8aa12fbb8b7f4d535c8b484258a3888476de2c6c36","impliedFormat":1},{"version":"77ff2aeb024d9e1679c00705067159c1b98ccac8310987a0bdaf0e38a6ca7333","impliedFormat":1},{"version":"1b609b28df5d753bb0ba20c7eb674fa93298fa268c9b20f40176f088878caef3","impliedFormat":1},{"version":"952c4a8d2338e19ef26c1c0758815b1de6c082a485f88368f5bece1e555f39d4","impliedFormat":1},{"version":"1d953cb875c69aeb1ec8c58298a5226241c6139123b1ff885cedf48ac57b435c","impliedFormat":1},{"version":"1a80e164acd9ee4f3e2a919f9a92bfcdb3412d1fe680b15d60e85eadbaa460f8","impliedFormat":1},{"version":"f981ffdbd651f67db134479a5352dac96648ca195f981284e79dc0a1dbc53fd5","impliedFormat":1},{"version":"a1c85a61ff2b66291676ab84ae03c1b1ff7139ffde1942173f6aee8dc4ee357b","impliedFormat":1},{"version":"ee1969bda02bd6c3172c259d33e9ea5456f1662a74e0acf9fa422bb38263f535","impliedFormat":1},{"version":"f1a5a12e04ad1471647484e7ff11e36eef7960f54740f2e60e17799d99d6f5ab","impliedFormat":1},{"version":"672c1ebc4fa15a1c9b4911f1c68de2bc889f4d166a68c5be8f1e61f94014e9d8","impliedFormat":1},{"version":"88293260a4744980874bdc1fd796db707374d852b8031599197408bc77563d1c","impliedFormat":1},{"version":"5a0d920468aa4e792285943cadad77bcb312ba2acf1c665e364ada1b1ee56264","impliedFormat":1},{"version":"c27c5144d294ba5e38f0cd483196f911047500a735490f85f318b4d5eb8ac2cc","impliedFormat":1},{"version":"ae4f913025ed64c54103725f2a16e351b15f5aab6cc770b2fa9ae8382f82fbdf","impliedFormat":1},{"version":"a2e4333bf0c330ae26b90c68e395ad0a8af06121f1c977979c75c4a5f9f6bc29","impliedFormat":1},{"version":"08c027d3d6e294b5607341125d1c4689b4fece03bdb9843bd048515fe496a73e","impliedFormat":1},{"version":"2cbf557a03f80df74106cb7cfb38386db82725b720b859e511bdead881171c32","impliedFormat":1},{"version":"918956b37f3870f02f0659d14bba32f7b0e374fd9c06a241db9da7f5214dcd79","impliedFormat":1},{"version":"260e6d25185809efc852e9c002600ad8a85f8062fa24801f30bead41de98c609","impliedFormat":1},{"version":"dd9694eecd70a405490ad23940ccd8979a628f1d26928090a4b05a943ac61714","impliedFormat":1},{"version":"42ca885a3c8ffdffcd9df252582aef9433438cf545a148e3a5e7568ca8575a56","impliedFormat":1},{"version":"309586820e31406ed70bb03ea8bca88b7ec15215e82d0aa85392da25d0b68630","impliedFormat":1},{"version":"98245fec2e886e8eb5398ce8f734bd0d0b05558c6633aefc09b48c4169596e4e","impliedFormat":1},{"version":"1410d60fe495685e97ed7ca6ff8ac6552b8c609ebe63bd97e51b7afe3c75b563","impliedFormat":1},{"version":"c6843fd4514c67ab4caf76efab7772ceb990fbb1a09085fbcf72b4437a307cf7","impliedFormat":1},{"version":"03ed68319c97cd4ce8f1c4ded110d9b40b8a283c3242b9fe934ccfa834e45572","impliedFormat":1},{"version":"956618754d139c7beb3c97df423347433473163d424ff8248af18851dd7d772a","impliedFormat":1},{"version":"7d8f40a7c4cc81db66ac8eaf88f192996c8a5542c192fdebb7a7f2498c18427d","impliedFormat":1},{"version":"c69ecf92a8a9fb3e4019e6c520260e4074dc6cb0044a71909807b8e7cc05bb65","impliedFormat":1},{"version":"c0c259eb2e1d212153e434aba2e0771ea8defe515caf6f5d7439b9591da61117","impliedFormat":1},{"version":"a33a9b9b9210506915937c1b109eaa2b827f25e9a705892e23c5731a50b2b36f","impliedFormat":1},{"version":"1edc9192dfc277c60b92525cdfa1980e1bfd161ae77286c96777d10db36be73c","impliedFormat":1},{"version":"ed53f2563bbdc94c69e4091752a1f7a5fe3d279896bab66979bb799325241db4","impliedFormat":1},{"version":"cc9bf8080004ee3d8d9ef117c8df0077d6a76b13cb3f55fd3eefbb3e8fcd1e63","impliedFormat":1},{"version":"1f0ee5ddb64540632c6f9a5b63e242b06e49dd6472f3f5bd7dfeb96d12543e15","impliedFormat":1},{"version":"18b86125c67d99150f54225df07349ddd07acde086b55f3eeac1c34c81e424d8","impliedFormat":1},{"version":"2d3f23c577a913d0f396184f31998507e18c8712bc74303a433cf47f94fd7e07","impliedFormat":1},{"version":"b848b40bfeb73dfe2e782c5b7588ef521010a3d595297e69386670cbde6b4d82","impliedFormat":1},{"version":"aa79b64f5b3690c66892f292e63dfe3e84eb678a886df86521f67c109d57a0c5","impliedFormat":1},{"version":"a692e092c3b9860c9554698d84baf308ba51fc8f32ddd6646e01a287810b16c6","impliedFormat":1},{"version":"64df9b13259fe3e3fea8ed9cdce950b7a0d40859d706c010eeea8c8d353d53fd","impliedFormat":1},{"version":"1848ebe5252ccb5ca1ca4ff52114516bdbbc7512589d6d0839beeea768bfb400","impliedFormat":1},{"version":"d2e3a1de4fde9291f9fb3b43672a8975a83e79896466f1af0f50066f78dbf39e","impliedFormat":1},{"version":"d0d03f7d2ba2cf425890e0f35391f1904d0d152c77179ddfc28dfad9d4a09c03","impliedFormat":1},{"version":"e37650b39727a6cf036c45a2b6df055e9c69a0afdd6dbab833ab957eb7f1a389","impliedFormat":1},{"version":"c58d6d730e95e67a62ebd7ba324e04bcde907ef6ba0f41922f403097fe54dd78","impliedFormat":1},{"version":"0f5773d0dd61aff22d2e3223be3b4b9c4a8068568918fb29b3f1ba3885cf701f","impliedFormat":1},{"version":"31073e7d0e51f33b1456ff2ab7f06546c95e24e11c29d5b39a634bc51f86d914","impliedFormat":1},{"version":"9ce0473b0fbaf7287afb01b6a91bd38f73a31093e59ee86de1fd3f352f3fc817","impliedFormat":1},{"version":"6f0d708924c3c4ee64b0fef8f10ad2b4cb87aa70b015eb758848c1ea02db0ed7","impliedFormat":1},{"version":"6addbb18f70100a2de900bace1c800b8d760421cdd33c1d69ee290b71e28003d","impliedFormat":1},{"version":"37569cc8f21262ca62ec9d3aa8eb5740f96e1f325fad3d6aa00a19403bd27b96","impliedFormat":1},{"version":"e0ef70ca30cdc08f55a9511c51a91415e814f53fcc355b14fc8947d32ce9e1aa","impliedFormat":1},{"version":"14be139e0f6d380a3d24aaf9b67972add107bea35cf7f2b1b1febac6553c3ede","impliedFormat":1},{"version":"23195b09849686462875673042a12b7f4cd34b4e27d38e40ca9c408dae8e6656","impliedFormat":1},{"version":"ff1731974600a4dad7ec87770e95fc86ca3d329b1ce200032766340f83585e47","impliedFormat":1},{"version":"91bc53a57079cf32e1a10ccf1a1e4a068e9820aa2fc6abc9af6bd6a52f590ffb","impliedFormat":1},{"version":"8dd284442b56814717e70f11ca22f4ea5b35feeca680f475bfcf8f65ba4ba296","impliedFormat":1},{"version":"a304e0af52f81bd7e6491e890fd480f3dc2cb0541dec3c7bd440dba9fea5c34e","impliedFormat":1},{"version":"c60fd0d7a1ba07631dfae8b757be0bffd5ef329e563f9a213e4a5402351c679f","impliedFormat":1},{"version":"02687b095a01969e6e300d246c9566a62fa87029ce2c7634439af940f3b09334","impliedFormat":1},{"version":"e79e530a8216ee171b4aca8fc7b99bd37f5e84555cba57dc3de4cd57580ff21a","impliedFormat":1},{"version":"ceb2c0bc630cca2d0fdd48b0f48915d1e768785efaabf50e31c8399926fee5b1","impliedFormat":1},{"version":"f351eaa598ba2046e3078e5480a7533be7051e4db9212bb40f4eeb84279aa24d","impliedFormat":1},{"version":"12aeda564ee3f1d96ac759553d6749534fafeb2e5142ea2867f22ed39f9d3260","impliedFormat":1},{"version":"4ce53edb8fb1d2f8b2f6814084b773cdf5846f49bf5a426fbe4029327bda95bf","impliedFormat":1},{"version":"85d63aaff358e8390b666a6bc68d3f56985f18764ab05f750cb67910f7bccb1a","impliedFormat":1},{"version":"0a0bf0cb43af5e0ac1703b48325ebc18ad86f6bf796bdbe96a429c0e95ca4486","impliedFormat":1},{"version":"22fcfd509683e3edfaf0150c255f6afdf437fec04f033f56b43d66fe392e2ad3","impliedFormat":1},{"version":"f08d2151bd91cdaa152532d51af04e29201cfc5d1ea40f8f7cfca0eb4f0b7cf3","impliedFormat":1},{"version":"3d5d9aa6266ea07199ce0a1e1f9268a56579526fad4b511949ddb9f974644202","impliedFormat":1},{"version":"b9c889d8a4595d02ebb3d3a72a335900b2fe9e5b5c54965da404379002b4ac44","impliedFormat":1},{"version":"a3cd30ebae3d0217b6b3204245719fc2c2f29d03b626905cac7127e1fb70e79c","impliedFormat":1},{"version":"d9c6f10eebf03d123396d4fee1efbe88bc967a47655ec040ffe7e94271a34fc7","impliedFormat":1},{"version":"8dd21a3054ca0c046840c308b014aec4cc5be0824a2504e365c4d499ea206ba8","impliedFormat":1},{"version":"f52fb387ac45e7b8cdc98209714c4aedc78d59a70f92e9b5041309b6b53fc880","impliedFormat":1},{"version":"1502a23e43fd7e9976a83195dc4eaf54acaff044687e0988a3bd4f19fc26b02b","impliedFormat":1},{"version":"5faa3d4b828440882a089a3f8514f13067957f6e5e06ec21ddd0bc2395df1c33","impliedFormat":1},{"version":"f0f95d40b0b5a485b3b97bd99931230e7bf3cbbe1c692bd4d65c69d0cdd6fa9d","impliedFormat":1},{"version":"380b4fe5dac74984ac6a58a116f7726bede1bdca7cec5362034c0b12971ac9c1","impliedFormat":1},{"version":"00de72aa7abede86b016f0b3bfbf767a08b5cff060991b0722d78b594a4c2105","impliedFormat":1},{"version":"fdf949030336b31644def7e6529d500301fb2b235a51691de84c36ffdaf8a2db","impliedFormat":1},{"version":"f70a315e029dacf595f025d13fa7599e8585d5ccfc44dd386db2aa6596aaf553","impliedFormat":1},{"version":"f385a078ad649cc24f8c31e4f2e56a5c91445a07f25fbdc4a0a339c964b55679","impliedFormat":1},{"version":"520e09c896f218d5871ba109df4fcf006642084cf6e6cd677897f7b93139ce46","impliedFormat":1},{"version":"4f5bbef956920cfd90f2cbffccb3c34f8dfc64faaba368d9d41a46925511b6b0","impliedFormat":1},{"version":"e3ffa968cbd25e0cad7056efa8223c83e9d4716af41c6904552b1a8a686e05b2","impliedFormat":1},{"version":"fd53b02b51f3b38b6c57bc7a2af7d766d9b0dbbf7376d9ec5027339a478438b5","impliedFormat":1},{"version":"7b7f39411329342a28ea19a4ca3aa4c7f7d888c9f01a411b05e4126280026ea6","impliedFormat":1},{"version":"37408aeaa2b98dad9fbc56a0d373aec76b9bdc67a51384b97a0f8e20c8a40912","impliedFormat":1},{"version":"c799def72e3d5c15fea3604f0b0ebbac3cca7570b4ce4a662e50142c882d70b3","impliedFormat":1},{"version":"0520bb170bfb6392e738b9cab09c29c5ed474c8ea9ff38236e2421faa544db36","impliedFormat":1},{"version":"789110b95e963c99ace4e9ad8b60901201ddc4cab59f32bde5458c1359a4d887","impliedFormat":1},{"version":"92eb8a98444729aa61be5e6e489602363d763da27d1bcfdf89356c1d360484da","impliedFormat":1},{"version":"72bbfa838556113625a605be08f9fed6a4aed73ba03ab787badb317ab6f3bcd7","impliedFormat":1},{"version":"d729b8b400507b9b51ff40d11e012379dbf0acd6e2f66bf596a3bc59444d9bf1","impliedFormat":1},{"version":"32ac4394bb4b0348d46211f2575f22ab762babb399aca1e34cf77998cdef73b2","impliedFormat":1},{"version":"665c7850d78c30326b541d50c4dfad08cea616a7f58df6bb9c4872dd36778ad0","impliedFormat":1},{"version":"1567c6dcf728b0c1044606f830aafd404c00590af56d375399edef82e9ddce92","impliedFormat":1},{"version":"06222fcc4e8839589e43ca1f3cec9f3ca80fffe2b67a44752d91bc53333320c5","impliedFormat":1},{"version":"e08e58ac493a27b29ceee80da90bb31ec64341b520907d480df6244cdbec01f8","impliedFormat":1},{"version":"c0fe2b1135ca803efa203408c953e1e12645b8065e1a4c1336ad8bb11ea1101b","impliedFormat":1},{"version":"a2ea224c325ef66a069280de98f455415a13ce4da0d3a462842e78e2f40aef9a","impliedFormat":1},{"version":"22e595a35d641ce3bc472f01e50f56e3ef944e5aa7e1ef48096d11bd8a476d62","impliedFormat":1},{"version":"381ed2bbdda025dc724911b316ed6b7414fdf7390e3f052a885017861539f391","impliedFormat":1},{"version":"3d9fb85cc7089ca54873c9924ff47fcf05d570f3f8a3a2349906d6d953fa2ccf","impliedFormat":1},{"version":"d82c245bfb76da44dd573948eca299ff75759b9714f8410468d2d055145a4b64","impliedFormat":1},{"version":"373adcd45da66437ea212398d3f3c028979a0a2ea45da631764653a62fa77923","impliedFormat":1},{"version":"db08c1807e3ae065930d88a3449d926273816d019e6c2a534e82da14e796686d","impliedFormat":1},{"version":"9e5c7463fc0259a38938c9afbdeda92e802cff87560277fd3e385ad24663f214","impliedFormat":1},{"version":"ef83477cca76be1c2d0539408c32b0a2118abcd25c9004f197421155a4649c37","impliedFormat":1},{"version":"2c3936b0f811f38ab1a4f0311993bf599c27c2da5750e76aa5dfbed8193c9922","impliedFormat":1},{"version":"47a1a3def4e6e7ebde192692b000cea586a35d7f3b6c8bb333f1b12f2b3310f6","impliedFormat":1},{"version":"3d9eae3609064bc0a3d0e828006577ff96f873107b586dda0aa1457767f569a4","impliedFormat":99},{"version":"c93424262e6e8274db30fcc998af77a95dea685a5a754d3a725e33bbc6913ac9","impliedFormat":99},{"version":"dc84604f43e4305be0acb23cff60f89e94156bb277b6fb8db97c99db01730906","impliedFormat":99},{"version":"f88fb23d72ea1139f3322f887d4978b698cc63f1e1aaf6b0804ece0331f40281","impliedFormat":99},{"version":"8f251a02591b99ffff737ad1783c6f30bd4170a3ff552b2a4f4f1421025c451c","impliedFormat":1},{"version":"fb1853fc6e52955d4b8abad35a2de9929c6721ce9134a93880af9818ca2ae691","impliedFormat":99},{"version":"1257ee54981d320653568ebc2bd84cf1ef6ccd42c6fb301a76b1faf87a54dbd5","impliedFormat":1},{"version":"9ab0a0c34faa1a3dd97f2f3350be4ecf195d0e8a41b92e534f6d9c910557a2e6","impliedFormat":1},{"version":"45d8db9ee4ddbc94861cf9192b30305ba7d72aea6a593961b17e7152c5916bd0","impliedFormat":1},{"version":"669f17243c14fdba947356e6fe78c6ad4230fb7342a78054102fe2badb4cc78e","impliedFormat":1},{"version":"d764a9e8ead572f6d8105bc0c0598a473e76d6ba1af29e4201641711cb9f185c","impliedFormat":1},{"version":"dc83ee46e715dd6b992556d1fa24fd89d5a7a6d0319180e7db46f69ce46525f7","impliedFormat":1},{"version":"bc2b16f630894b1dadc05c6374b53bd4fa8c01451cd356881607e78f45931f31","impliedFormat":1},{"version":"15a804ec22020d2ca86842807cb6c18277c72fbc9d1a374c217d191d12cfa691","impliedFormat":1},{"version":"a6b5dea55f228fa87c3f316f8c91af07d01a2080a437eba452f1d1ea1be8abff","impliedFormat":1},{"version":"3f6404f453b4e74246ecd5149d2b502e5d2fcd964a00d3e42ec581b247e984cf","impliedFormat":1},{"version":"a6724f6446d94a9283a44b467a6d5fecf8e4730a2dec6ecdca858a4038339c63","impliedFormat":1},{"version":"5180a1a33602d0eb1ff18a8370eab0bc98f81060f4c64dcbbfab9d8db0075379","impliedFormat":1},{"version":"5ea3c3448d2922206d87fe5898f2dbaf1fd98a80826aef19695697c7468fe58f","impliedFormat":1},{"version":"b96fafd59befcd4f8682ce1e4b0a7eede23b225574b2173ee4c05cb23ac379b9","impliedFormat":1},{"version":"4de92032a7a8b82b794e14062f09bcc28f0ec56fb9904eb2bc1770d0400367ec","impliedFormat":1},{"version":"1e5935ce49f6c2f108f23f18e1609dbf3b29d6d4d4efdb6bbae7315ea4fc4462","impliedFormat":1},{"version":"c884d560430256ab7765cdad72f9e466e9e65db61a245c2310490b5ced3abe76","impliedFormat":1},{"version":"3925651610dbede7cbdbeb71e1a61e8457b3c87697e18080b23f7c17c48e4920","impliedFormat":1},{"version":"1c34c2ca74699b26ac7025304600240c5ab570acf6d4cad4519c8c306164ada9","impliedFormat":1},{"version":"40f0d07b2b368f8142694fec17d5fd53b82348c1626d559149be9e725542554e","impliedFormat":1},{"version":"a4c07340daf98bb36410874a47a9c6f8de19fa54b015505f173bffb802fd110a","impliedFormat":1},{"version":"e9af2804e0d79776e63796d14bcb32804d7d7fb4d043d70df74288eb42a1f4eb","impliedFormat":1},{"version":"758e92a92871b11a9aede1787106be4764ae6a32f6c76bb29f072bfa28d9f69a","impliedFormat":99},{"version":"1694f761640dd96d805157f64c826748860207f375b0a4ccf255cb672daf0f83","impliedFormat":99},{"version":"2fea489e3c5f8d4134f54efc5bda5ec68e419e7ec3d190161f78bac4b8396c0b","impliedFormat":99},{"version":"b2eadc9b2db171f930beddf847a4e064a2985b83bf344beb44d65a8f016f08aa","impliedFormat":99},{"version":"e8929942cd604bafd4c7a0bd04e275b9ec3ac2e1302d324b644df9a6f4316deb","impliedFormat":99},{"version":"929288672d6b91a25b82e047ee87bf37e03f38d3602aaf3a4fba53e028675264","impliedFormat":99},{"version":"c80c5fa57f74841b3c266b12ac1b3e479f40fd9946df1bda6d467c81a57a996e","impliedFormat":99},{"version":"64369f418f9b248b960b5b7c0e98001488e029b2b3a70add5439e0886d0694b5","impliedFormat":99},{"version":"4a05223e9c0c052cdb7a1647cd811f92780ef840a526d89910dea45f9703e7c4","impliedFormat":99},{"version":"bbfd94baff3313a154bdd395ee20ea2bddd1d9df8e26198db1c78da57c89208e","impliedFormat":99},{"version":"679915083555255e93493a51165ac4c8f48f03b88f48e92d831bd1347c0e65f4","impliedFormat":99},{"version":"dcfcdca68a97c41277d8be8eaa0cbd633d6bde53d3723992590044b623641973","impliedFormat":99},{"version":"f0743414ec3994319dca562d455903b16a49a075972a4d9b07f806e5c3a9699b","impliedFormat":99},{"version":"b82e754f9866ae6d8e4c4d0f3a2754818a30f60cffb4b8bf63c4898c3f43d509","impliedFormat":99},{"version":"446354125e9c0d91ddce893d3314a896f43c7b1ec86a2df5c9d2da9e79fcbae1","impliedFormat":99},{"version":"c2bbbdad520259f1b029852cf29d8a19c886c4b9a965ead205e354678a4a222b","impliedFormat":99},{"version":"7812a1bb9b5475ab4216005fdb6332d5b57c5c96696dec1eddeafe87d04b69de","impliedFormat":99},{"version":"e91d958316d91eca21850be2d86d01995e6ee5071ca51483bbd9bd61692a22b8","impliedFormat":99},{"version":"3a4729e996e265f62d42f109caba40371d0dc97694f06b1f025f4886e5f4f55f","impliedFormat":99},{"version":"6ca4f054710eeaddaea89786af58b4b4834ed510e9921bf9295fd05ea0bd7c5c","impliedFormat":99},{"version":"62accaae04a3db14c5ef4033231408edb801d983c8a355c5e03f56c90bec8648","impliedFormat":99},{"version":"78b64de15366b18545ec6a3dcc3e78078f47d7d4adaf5cdc39b5960c1f93a19c","impliedFormat":99},{"version":"355af16f736eb8443063cef65f3b08402a5598ceaf23937ea8f687f75c1fc5fb","impliedFormat":99},{"version":"a76d4a09a1cd9ef6d53cce92c5884fb0c9ddcc8dc5b6e6260c442dc37b8c96a5","impliedFormat":99},{"version":"7e41e20b827c3bee1d8c0da989753c1ab69714265d7dc799020106328a746bfb","impliedFormat":99},{"version":"1b63f1533a5a92effeea1e2f4e4b781828d8cfd61fad428e9173bbe7dbdddce7","impliedFormat":99},{"version":"4458568824d3b6282ba265e09a831812bfa152b8924d7856367eb6e3d41187c8","impliedFormat":99},{"version":"c6a9669d9599e3e5d40c8ef637963c5fa3e3b23620561062c0567da2f3661b5e","impliedFormat":99},{"version":"6c366bd15f632812adc9cea6cd6a8d4da25d922c0363f6fd4c5b0d424bd59985","impliedFormat":99},{"version":"520a60fff6b561bab033dc0a3a9da06d06c00a6c5b745ba2a08df3892210c77b","impliedFormat":99},{"version":"1339837dc67fff2a3dfe3fc6595dbea374b33c79bb49f1d22659b9e54faf3bfe","impliedFormat":99},{"version":"b98b4c9c7146562ec1fede6bef5d4cfa9042d8a0a1d8454d3eea1bb727838a40","impliedFormat":99},{"version":"85d52c02ce84212ce49484c78acfd4b34398a7e49ff8d2ce91c0187dbd72d20c","impliedFormat":99},{"version":"df85d0f7a2ef27f2dd74b38b92d8fddec265de91cc789b14e2b019825f341dd8","impliedFormat":99},{"version":"57d05ea2d2c2d8f1b9226b343514c963570db0028a91c754e08f0122986075ce","impliedFormat":99},{"version":"976f1274b025d67f597a315b294026787a92f33c2b427394c783c7ca3d281d3d","impliedFormat":99},{"version":"20d5b5c441ed3aa6996064dc968b13c134cb673fbe457e0c106b559ec460b031","impliedFormat":99},{"version":"de5b2f3db67f619657b08871c530fadaa65dcd568f380d5b19113018c1b6995a","impliedFormat":99},{"version":"64064067dd2d0ee20735597624c42523cba4da1c87b05effb156dedc53d2046a","impliedFormat":99},{"version":"847599cfa9cd2a145cdee7fe1a704f838bf5ba923e961b1c53684a597fe19fdd","impliedFormat":99},{"version":"eb66cd1d139b03784e548da100f976b26093dfe997e180628bcad82dca1e54c0","impliedFormat":99},{"version":"2d0cef1e8f2d8d9f25cf1813dd3d796877916345449fbc58bbb6038104d49989","impliedFormat":99},{"version":"875748f7da4c252f7cf26bebe513243058805d5e9a7cfa684aa32c4d562765b0","impliedFormat":99},{"version":"630e7c6283478f269ebaa95e920c27578a995d4ac9962e82bdd2b447226ebc3a","impliedFormat":99},{"version":"12d424176d20a5c47f36494bc0157971d99631ae872fd4ce3e690594e06b4748","impliedFormat":99},{"version":"fb14e297b3b96cbf91192454ca3d932b3c4948f8a249119477f4c61e5f3937c3","impliedFormat":99},{"version":"7da8839dadf37e1b2e07f780f347ee02eb81b29edcb2cd7d17e68d9ee7524878","impliedFormat":99},{"version":"c3064f3383a19aea008da71f17c2b9e5b85d43ea47bcc12e8aca1e3de7cc3f8c","impliedFormat":99},{"version":"cf8454ea561eb1395b4af2fb9926884388d1ba8d92c2794b72f9b83840655b78","impliedFormat":99},{"version":"0fa603ada81bc84f62275bd2348c45f66d13f9aefc6455b31455290732cc9338","impliedFormat":99},{"version":"92eebb97bf5ca1da945b8db6e4bdf41832348a6e5cb04eea7823dd1bef2d35db","impliedFormat":99},{"version":"46eb2515ca3446c38490966d732baf57ad7723a9851c0d759830291aa924d01a","impliedFormat":99},{"version":"cdba209e07fabef829525ebf9c3ed56fbfee784c61626f2a4a2a3b92878a8139","impliedFormat":99},{"version":"d507ffcb968932760d57df27b19474e5ffa84a65078c16bd9a5fa395f7a7e643","impliedFormat":99},{"version":"4bc05cb2e0d8f99024392adbb3c41a1405bee8a07d223531861edee437245dff","impliedFormat":99},{"version":"5148c6bd9b67ec7bac59f6a675942a96874daf08e637f479773bbad5e9c6cc4f","impliedFormat":99},{"version":"b31873f61f336722bac5e715494d2d188cd396ff16a1846d66414429dadaa9c7","impliedFormat":99},{"version":"d2a2226878acc00147b1a1b7d5e190ba136f120b731fcf0c9138a1ef9f95fbf0","impliedFormat":99},{"version":"978876602b0bd463b2c24d26e013fe2bace642a2e8a726f0fe6e056ab976d96d","impliedFormat":99},{"version":"c056a328f0d7883f8094f0d391f2edc6781e448fc049efee23fba9ff44ce73a2","impliedFormat":99},{"version":"07f81878d81524f363d536425e2db646fcc64079b0609f5b7ca54b24a9c93c72","impliedFormat":99},{"version":"b1f16528bbafa8520addfaeee4db5e52df333d82aeee7eac56fd172f3b21c24c","impliedFormat":99},{"version":"2acc7c310e7e07127e510980c07faad6ad6b5de20c403d79e69b889e77bf96f5","impliedFormat":1},{"version":"01dea450d742aa55ce9b8ab8877bbda8eb73bf88609e440cc34f6f59f35080db","impliedFormat":1},{"version":"2c8285467489bceb54f466371800d0fa24231ab47ec596c4186fd6d216a84324","affectsGlobalScope":true,"impliedFormat":1},{"version":"b788ef070e70003842cbd03c3e04f87d46b67a47b71e9e7d8713fd8c58c5f5ec","impliedFormat":1},{"version":"583d365dc19f813f1e2767771e844c7c4ea9ab1a01e85e0119f2e083488379c2","impliedFormat":1},{"version":"b82fc3869c625b828dd3feac4b5ebf335ed007d586dc16176602db73bc4e7c65","impliedFormat":1},{"version":"05e30605274c26f405c411eebed776fa2102418c05beec885e5c9bd0fa716f32","impliedFormat":1},{"version":"58c7f7820dc027a539b0437be7e1f8bdf663f91fbc9e861d80bb9368a38d4a94","impliedFormat":1},{"version":"d67d6b779d0dece9450d7a4170d3ee58ea7fcae0af2ab5e1d0ad711474b4f7f5","impliedFormat":1},{"version":"1066c11177d085898185548e1b38ed15fcea50061508f7c313ab8bec35d46b95","impliedFormat":1},{"version":"bbc49fd9dc6ee162ba3d270c834398e0c1d44e657ac4edfa55ac837902b7e0da","impliedFormat":1},{"version":"ada7b3ac06dabcd6a410bd2bc416d1e50e7a0dcd8ce36201689759b061f7341e","impliedFormat":1},{"version":"f11eb1fb4e569b293a7cae9e7cdae57e13efc12b0e4510e927868c93ec055e82","impliedFormat":1},{"version":"715682cddbefe50e27e5e7896acf4af0ffc48f9e18f64b0a0c2f8041e3ea869b","impliedFormat":1},{"version":"6d2f5a67bfe2034aa77b38f10977a57e762fd64e53c14372bcc5f1d3175ca322","impliedFormat":1},{"version":"4ff4add7b8cf26df217f2c883292778205847aefb0fd2aee64f5a229d0ffd399","impliedFormat":1},{"version":"33859aa36b264dd91bef77c279a5a0d259c6b63684d0c6ad538e515c69a489ec","impliedFormat":1},{"version":"33fa69f400b34c83e541dd5f4474f1c6fb2788614a1790c6c7b346b5c7eaa7dd","impliedFormat":1},{"version":"be213d7cbc3e5982b22df412cf223c2ac9d841c75014eae4c263761cd9d5e4c0","impliedFormat":1},{"version":"66451f9540fdf68a5fd93898257ccd7428cf7e49029f2e71b8ce70c8d927b87a","impliedFormat":1},{"version":"8a051690018330af516fd9ea42b460d603f0839f44d3946ebb4b551fe3bc7703","impliedFormat":1},{"version":"301fb04ef91ae1340bec1ebc3acdd223861c887a4a1127303d8eef7638b2d893","impliedFormat":1},{"version":"06236dfec90a14b0c3db8249831069ea3f90b004d73d496a559a4466e5a344a4","impliedFormat":1},{"version":"fc26991e51514bfc82e0f20c25132268b1d41e8928552dbaed7cc6f3d08fc3ac","impliedFormat":1},{"version":"5d82bb58dec5014c02aaeb3da465d34f4b7d5c724afea07559e3dfca6d8da5bc","impliedFormat":1},{"version":"8f61ab69e33b153d9db6158c84db3e7f4e9cc7729220684e35e646f46f420bb5","impliedFormat":1},{"version":"b2818e8d05d6e6ad0f1899abf90a70309240a15153ea4b8d5e0c151e117b7338","impliedFormat":1},{"version":"1c708c15bb96473ce8ec2a946bd024ecded341169a0b84846931f979172244ba","impliedFormat":1},{"version":"ed0f5e1f45dc7c3f40356e0a855e8594aa57c125a5d8dfeef118e0a3024f98ff","impliedFormat":1},{"version":"dc187f457333356ddc1ab8ec7833cd836f85e0bbcade61290dc55116244867cb","impliedFormat":1},{"version":"25525e173de74143042e824eaa786fa18c6b19e9dafb64da71a5faacc5bd2a5c","impliedFormat":1},{"version":"7a3d649f2de01db4b316cf4a0ce5d96832ee83641f1dc84d3e9981accf29c3a1","impliedFormat":1},{"version":"26e4260ee185d4af23484d8c11ef422807fb8f51d33aa68d83fab72eb568f228","impliedFormat":1},{"version":"c4d52d78e3fb4f66735d81663e351cf56037270ed7d00a9b787e35c1fc7183ce","impliedFormat":1},{"version":"864a5505d0e9db2e1837dce8d8aae8b7eeaa5450754d8a1967bf2843124cc262","impliedFormat":1},{"version":"c132dd6e7e719abe5a9882eca297056d233099f0f928c2bb700f574872223697","impliedFormat":1},{"version":"2d045f00292ac7a14ead30d1f83269f1f0ad3e75d1f8e5a245ab87159523cf98","impliedFormat":1},{"version":"54bcb32ab0c7c72b61becd622499a0ae1c309af381801a30878667e21cba85bb","impliedFormat":1},{"version":"106f1d8b7ac71ddc5e1aa2463c9a04d617e3874a992841fb83c20bba9329ed26","impliedFormat":1},{"version":"deb57e949dbec3f2165561935ac172a51e31dc32cc844b9d208556a07e6b14a1","impliedFormat":1},{"version":"4e9d6a8974e6853faccfded1e5419e241620814b1f4e4ab2b937d226e5027df0","impliedFormat":1},{"version":"89bcaf21b0531640604ca9e0796f54a6e1b4e2d43c07422ffa1e3d2e1bb0e456","impliedFormat":1},{"version":"66738976a7aa2d5fb2770a1b689f8bc643af958f836b7bc08e412d4092de3ab9","impliedFormat":1},{"version":"35a0eac48984d20f6da39947cf81cd71e0818feefc03dcb28b4ac7b87a636cfd","impliedFormat":1},{"version":"f6c226d8222108b3485eb0745e8b0ee48b0b901952660db20e983741e8852654","impliedFormat":1},{"version":"93c3b758c4dc64ea499c9416b1ed0e69725133644b299b86c5435e375d823c75","impliedFormat":1},{"version":"4e85f443714cff4858fdaffed31052492fdd03ff7883b22ed938fc0e34b48093","impliedFormat":1},{"version":"0146912d3cad82e53f779a0b7663f181824bba60e32715adb0e9bd02c560b8c6","impliedFormat":1},{"version":"70754650d1eba1fc96a4ed9bbbc8458b341b41063fe79f8fa828db7059696712","impliedFormat":1},{"version":"220783c7ca903c6ce296b210fae5d7e5c5cc1942c5a469b23d537f0fbd37eb18","impliedFormat":1},{"version":"0974c67cf3e2d539d0046c84a5e816e235b81c8516b242ece2ed1bdbb5dbd3d6","impliedFormat":1},{"version":"b4186237e7787a397b6c5ae64e155e70ac2a43fdd13ff24dfb6c1e3d2f930570","impliedFormat":1},{"version":"2647784fffa95a08af418c179b7b75cf1d20c3d32ed71418f0a13259bf505c54","impliedFormat":1},{"version":"0480102d1a385b96c05316b10de45c3958512bb9e834dbecbbde9cc9c0b22db3","impliedFormat":1},{"version":"eea44cfed69c9b38cc6366bd149a5cfa186776ca2a9fb87a3746e33b7e4f5e74","impliedFormat":1},{"version":"7f375e5ef1deb2c2357cba319b51a8872063d093cab750675ac2eb1cef77bee9","impliedFormat":1},{"version":"b7f06aec971823244f909996a30ef2bbeae69a31c40b0b208d0dfd86a8c16d4f","impliedFormat":1},{"version":"0f450f92257b3ee6d73ebee5aa6a2fb87d6a64b8f76d0418e891fe364c989b2d","impliedFormat":1},{"version":"1517236728263863a79500653cc15ceb286f048907b3dba3141a482ca6946bd7","impliedFormat":1},{"version":"7c7b418e467a88a714b4c6dac321923b933f82875f063f48abf952021a2c2df1","impliedFormat":1},{"version":"33120063a7e106818ce109be9238569edca74d4e8530f853bd30d298d1375fd8","impliedFormat":1},{"version":"d0be977b493b9373d8e6cb3f6f98858fe7cfa5f439e50a56c812c94fd7d7ee61","impliedFormat":99},{"version":"485961a5ca6ca89d71573fd4c7696bba490da7ff564151ffb4ad617400f8a3b3","impliedFormat":99},{"version":"298760501fb5e81a9b4884be76e2909ebbdd88693fce9bf8d6d1939ba994734b","impliedFormat":99},{"version":"09471ebe4db9e9b3632ca90b961f423f657ab9e84d286f9513413e6911d33a6e","impliedFormat":99},{"version":"ecf1f756a9df1efecb84969ee6ea54c4396b258a6c3a0024ba9f35c40a20d6dc","impliedFormat":99},{"version":"1c2d93d98b52513fa1a81a5826ba8eb0b3d0b485dd880fa34ab236c6507d429e","impliedFormat":99},{"version":"c3994feb30a49fe6ab1b4e1f9f3f6e9a3caf76a5e9c0e0774c7e02e36a90c927","impliedFormat":99},{"version":"27dd3aedb487653c77807742875f6ed467259650815e97509364e3046f7d5883","impliedFormat":99},{"version":"cff399d99c68e4fafdd5835d443a980622267a39ac6f3f59b9e3d60d60c4f133","impliedFormat":99},{"version":"6ada175c0c585e89569e8feb8ff6fc9fc443d7f9ca6340b456e0f94cbef559bf","impliedFormat":99},{"version":"e56e4d95fad615c97eb0ae39c329a4cda9c0af178273a9173676cc9b14b58520","impliedFormat":99},{"version":"73e8dfd5e7d2abc18bdb5c5873e64dbdd1082408dd1921cad6ff7130d8339334","impliedFormat":99},{"version":"fc820b2f0c21501f51f79b58a21d3fa7ae5659fc1812784dbfbb72af147659ee","impliedFormat":99},{"version":"4f041ef66167b5f9c73101e5fd8468774b09429932067926f9b2960cc3e4f99d","impliedFormat":99},{"version":"31501b8fc4279e78f6a05ca35e365e73c0b0c57d06dbe8faecb10c7254ce7714","impliedFormat":99},{"version":"7bc76e7d4bbe3764abaf054aed3a622c5cdbac694e474050d71ce9d4ab93ea4b","impliedFormat":99},{"version":"ff4e9db3eb1e95d7ba4b5765e4dc7f512b90fb3b588adfd5ca9b0d9d7a56a1ae","impliedFormat":99},{"version":"f205fd03cd15ea054f7006b7ef8378ef29c315149da0726f4928d291e7dce7b9","impliedFormat":99},{"version":"d683908557d53abeb1b94747e764b3bd6b6226273514b96a942340e9ce4b7be7","impliedFormat":99},{"version":"7c6d5704e2f236fddaf8dbe9131d998a4f5132609ef795b78c3b63f46317f88a","impliedFormat":99},{"version":"d05bd4d28c12545827349b0ac3a79c50658d68147dad38d13e97e22353544496","impliedFormat":99},{"version":"b6436d90a5487d9b3c3916b939f68e43f7eaca4b0bb305d897d5124180a122b9","impliedFormat":99},{"version":"04ace6bedd6f59c30ea6df1f0f8d432c728c8bc5c5fd0c5c1c80242d3ab51977","impliedFormat":99},{"version":"57a8a7772769c35ba7b4b1ba125f0812deec5c7102a0d04d9e15b1d22880c9e8","impliedFormat":99},{"version":"badcc9d59770b91987e962f8e3ddfa1e06671b0e4c5e2738bbd002255cad3f38","impliedFormat":99},{"version":"d3f2d715f57df3f04bf7b16dde01dec10366f64fce44503c92b8f78f614c1769","impliedFormat":1},{"version":"b78cd10245a90e27e62d0558564f5d9a16576294eee724a59ae21b91f9269e4a","impliedFormat":1},{"version":"baac9896d29bcc55391d769e408ff400d61273d832dd500f21de766205255acb","impliedFormat":1},{"version":"2f5747b1508ccf83fad0c251ba1e5da2f5a30b78b09ffa1cfaf633045160afed","impliedFormat":1},{"version":"86ea91bfa7fef1eeb958056f30f1db4e0680bc9b5132e5e9d6e9cfd773c0c4fd","affectsGlobalScope":true,"impliedFormat":1},{"version":"b71c603a539078a5e3a039b20f2b0a0d1708967530cf97dec8850a9ca45baa2b","impliedFormat":1},{"version":"0e13570a7e86c6d83dd92e81758a930f63747483e2cd34ef36fcdb47d1f9726a","impliedFormat":1},{"version":"104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","impliedFormat":1},{"version":"cc0d0b339f31ce0ab3b7a5b714d8e578ce698f1e13d7f8c60bfb766baeb1d35c","impliedFormat":1},{"version":"d26a79f97f25eb1c5fc36a8552e4decc7ad11104a016d31b1307c3afaf48feb1","impliedFormat":1},{"version":"b45ee087f87a32499fec9112b205641255dfcd7141e677447d3f15857a29ddeb","signature":"36948efba18a51b185d665e04024e971654063a1f4dcf3b2bb8697cab8b5444e","impliedFormat":99},{"version":"1375b6e8cc7227fa55c021ec7a064717f5bd13a8e56075fefa92df275ad0da07","signature":"f10e3e7c1dfb0a52becd03dc1ff8b03f5eb3ab6304eda54f4014240881c2d1b8","impliedFormat":99},{"version":"d9d7b930ec122f0ed61ef10890ef8c1331cfd0ea861504e82bdae9c3ef67d4b7","signature":"7f64ae50e5d4e492ef2ff33da3645f3f3824eb98c9f5b9e63074e2a3d7f56450","impliedFormat":99},{"version":"fb99eaf5d90b2a76faaad41ffb2dadb879d31d26131aed7a89d5f56f2b6ca2f9","signature":"e8a8c0e3dbe59dae6a768be8bbaf64d254f7cda55a3083a9a2828d5c344adb98","impliedFormat":99},{"version":"65b9243c80068ec9696b1fbdd23c9acf80d51df02f97b2d7a0514312b0a9fe7d","affectsGlobalScope":true,"impliedFormat":1},{"version":"b716daa9737308e83fc9d3826cac21b3a6c12ff420b5e89415d1ca396616f1b6","impliedFormat":1},{"version":"cab0ba78dc961d90d639ccaf3d56c484e584056da39dc0d9bdaf1957be965f72","impliedFormat":1},{"version":"f0745ab78e18a2befaf1d9951481973318722c4e2f33e859239f55fa999ff2b1","impliedFormat":1},{"version":"886e183dd0199e7de45d6308ac3e2185dac6f83283d1b8200ea62cf5c43966a1","impliedFormat":1},{"version":"392dd7b1117b588cba36c04909efd24b0458980506e8e8c1966114f8989058e2","impliedFormat":1},{"version":"e445daedeac3005da51d0a3e3258be16096e1c0116701e8979272aaf7aba5fb4","impliedFormat":1},{"version":"2d79ae695899e28c4dba32ba39268a1eafc556f3f183175a355424fae553585a","impliedFormat":1},{"version":"3ca7b2e8012b9a6be09fafd62f8f3937388b9e1600a59c98887d2b11f6d01b43","impliedFormat":1},{"version":"b138b3f30708386023a7dc9981bb867808e5ff3383429ac7f69b7bfd0dcc5bd5","impliedFormat":1},{"version":"2ff2789ae43f9c056917e7516a02ad07c4cc1cafff3c68ff6b7ff8df623fd259","impliedFormat":1},{"version":"13ec544ab0a3a7ff96afac1016f55b264c812428e37d595dc33b688296435469","impliedFormat":1},{"version":"4962729121c2cb97a4481cdb06dfc720a79a3bc2fc9330ff2bcf604cfc541177","impliedFormat":1},{"version":"d576ef1b6aa804d0f0e8dfb3f6149b576788b598054aa2e15d5a7f7f52faf371","impliedFormat":1},{"version":"cc372cfef3cd3282eda417447af1a885876a49606c30509b865de01cf3da7b38","impliedFormat":99},{"version":"e75c0c55475040023513b25f41da08f74759c2f8b527230bfe9ece1be38e77a2","impliedFormat":99},{"version":"bf8ea3972c61c23b797b22b9d8d2afff69b51805ddf613d06f5e8a3f11b80ed0","impliedFormat":99},{"version":"fa77ce34a986d2d4b4b2317a8ea18a216d8565bc420b81cfd1984f88218379b5","impliedFormat":99},{"version":"d7c0a9b5de8113602b5c4213417b34ef4f438ac88bf9a2faf651bb258c973ce0","signature":"34b59fe2648f16d5dd4c7153d7a6c7260932a1fe60cbfa70ecefbb7aa8042905","impliedFormat":99},{"version":"d3450a90691b8318b4b570064c05635e6d6fd88145c4659db7b628ad7955105b","impliedFormat":99},{"version":"3a25c34c54cbdd7dd71d6b0f0b29c1e046f28d62fa9022e5141625cc55ce3a22","impliedFormat":99},{"version":"7a816011ad9f404d723b1da613b669ae9be112a0e05a918c4c8cf0a15045c4e7","impliedFormat":99},{"version":"2fe985f6ab860128d610850b5ee86818c41bb45dc1d21bc03ab2438022481abf","impliedFormat":99},{"version":"2d73544069abb7c34765a9ce1506f83628026b0ce446e3a991582e477e05cb13","impliedFormat":99},{"version":"10fa89962cc69cd83c17fd6d80ac94ad170022babbdff2baf7769337060b43bd","impliedFormat":99},{"version":"d526a85f8d8f48134435a27310649bdd85ed54ae580866f4d860bb620a606110","impliedFormat":99},{"version":"c3a4241e86b5b47feef10d33c04457f739e68b8f66b7663285f585f487923891","impliedFormat":99},{"version":"316f1486e15cbf7896425f0a16dfe12d447dd57cfb3244b8b119c77df870858f","impliedFormat":99},{"version":"11dd6d35b93d839e8fc6c3b9e6731d781ea7c051cf893701cbc1077b4f3386cd","signature":"86e08cec059db2f8320c1a7ecb0f41517c29c23cf042ca04cd2d221562b24792","impliedFormat":99},{"version":"742bdb2eceac30ad5a6952932566c7a6e8dd5d77ff2acc42d16a9157efbdb9dd","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"ae77d81a5541a8abb938a0efedf9ac4bea36fb3a24cc28cfa11c598863aba571","impliedFormat":1},{"version":"bc90fb5b7ac9532ac8bbe8181112e58b9df8daa3b85a44c5122323ee4ecbc2bd","impliedFormat":1},{"version":"9261ae542670cb581169afafa421aeeaf0f6ccd6c8f2d97b8a97ee4be9986c3e","impliedFormat":1},{"version":"6247a016129906c76ba4012d2d77773c919ea33a96830b0a8d522a9790fc7efe","impliedFormat":1},{"version":"01e24df7c7f6c1dabd80333bdd4e61f996b70edec78cc8c372cc1de13d67cfa5","impliedFormat":1},{"version":"f4742762590497b770af445215e3a7cf1965664b39257dba4ce2a4317fc949d8","impliedFormat":1},{"version":"ceeda631f23bd41ca5326b665a2f078199e5e190ab29a9a139e10c9564773042","affectsGlobalScope":true,"impliedFormat":1},{"version":"1b43d676651f4548af6a6ebd0e0d4a9d7583a3d478770ef5207a2931988fe4e4","affectsGlobalScope":true,"impliedFormat":1},{"version":"3594c022901a1c8993b0f78a3f534cfb81e7b619ed215348f7f6882f3db02abc","impliedFormat":1},{"version":"438284c7c455a29b9c0e2d1e72abc62ee93d9a163029ffe918a34c5db3b92da2","impliedFormat":1},{"version":"0c75b204aed9cf6ff1c7b4bed87a3ece0d9d6fc857a6350c0c95ed0c38c814e8","impliedFormat":1},{"version":"187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","impliedFormat":1},{"version":"c9f396e71966bd3a890d8a36a6a497dbf260e9b868158ea7824d4b5421210afe","impliedFormat":1},{"version":"509235563ea2b939e1bbe92aae17e71e6a82ceab8f568b45fb4fce7d72523a32","impliedFormat":1},{"version":"9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","impliedFormat":1},{"version":"00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","impliedFormat":1},{"version":"c311349ec71bb69399ffc4092853e7d8a86c1ca39ddb4cd129e775c19d985793","impliedFormat":1},{"version":"3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","impliedFormat":1},{"version":"4908e4c00832b26ce77a629de8501b0e23a903c094f9e79a7fec313a15da796a","impliedFormat":1},{"version":"2630a7cbb597e85d713b7ef47f2946d4280d3d4c02733282770741d40672b1a5","impliedFormat":1},{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true,"impliedFormat":1},{"version":"550650516d34048712520ffb1fce4a02f2d837761ee45c7d9868a7a35e7b0343","impliedFormat":1},{"version":"11aba3fa22da1d81bc86ab9e551c72267d217d0a480d3dda5cada8549597c5e4","impliedFormat":1},{"version":"c66593f9dd5b7e24da87f3bc76eacf9da83541e8dce5fec4c7bbe28b0a415ea0","affectsGlobalScope":true,"impliedFormat":1},{"version":"060f0636cb83057f9a758cafc817b7be1e8612c4387dfe3fbadda865958cf8c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"84c8e0dfd0d885abd37c1d213ef0b949dd8ef795291e7e7b1baadbbe4bc0f8a9","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d21da8939908dafa89d693c3e22aabeef28c075b68bb863257e631deef520f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"5261e21f183c6c1c3b65784cdab8c2a912b6f4cd5f8044a1421466a8c894f832","affectsGlobalScope":true,"impliedFormat":1},{"version":"8c4a3355af2c490a8af67c4ec304e970424a15ef648a3c3fbb3ee6634461e2cc","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc1ba043b19fbfc18be73c0b2b77295b2db5fe94b5eb338441d7d00712c7787e","impliedFormat":1},{"version":"6739393f79c9a48ec82c6faa0d6b25d556daf3b6871fc4e5131f5445a13e7d15","impliedFormat":1},{"version":"66a11cff774f91be73e9c9890fe16bcc4bce171d5d7bd47b19a0d3e396c5f4ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b9ef3d2c7ea6e6b4c4f5634cfccd609b4c164067809c2da007bf56f52d98647","affectsGlobalScope":true,"impliedFormat":1},{"version":"1d0830a20a9030f638012fc67537c99dbfc14f9a0928a3c6e733195f03558bfc","affectsGlobalScope":true,"impliedFormat":1},{"version":"452234c0b8169349b658a4b5e2b271608879b3914fcc325735ed21b9cb88d58d","impliedFormat":1},{"version":"eb0a79b91cda3b1bd685c17805cc7a734669b983826f18cc75eeb6266b1eb7cb","affectsGlobalScope":true,"impliedFormat":1},{"version":"326d76935bfa6ffe5b62a6807a59c123629032bd15a806e15103fd255ea0922b","affectsGlobalScope":true,"impliedFormat":1},{"version":"bde39c192b9ede1d5615c918daa1727e0c52602fba0230f4fe8d522f47b84679","affectsGlobalScope":true,"impliedFormat":1},{"version":"d0f7e7733d00981d550d8d78722634f27d13b063e8fef6d66ee444efc06d687f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6757e50adf5370607dcfbcc179327b12bdfdd7e1ff19ea14a2bffb1bbeadf900","affectsGlobalScope":true,"impliedFormat":1},{"version":"91353032510f8961e70e92a01f8b44f050cd67d22f6c87c9e5169c657c622aff","impliedFormat":1},{"version":"0295386c43db7d424c77715e92be0d07d0a333e4acc61b028028c47a1d3d3917","impliedFormat":1},{"version":"072099609280e6659eb29b1d2a601e95708c90b7db2aba2571ebda50d1be0dd5","impliedFormat":1},{"version":"68cc8d6fcc2f270d7108f02f3ebc59480a54615be3e09a47e14527f349e9d53e","impliedFormat":1},{"version":"3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","impliedFormat":1},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"a4a39b5714adfcadd3bbea6698ca2e942606d833bde62ad5fb6ec55f5e438ff8","impliedFormat":1},{"version":"bbc1d029093135d7d9bfa4b38cbf8761db505026cc458b5e9c8b74f4000e5e75","impliedFormat":1},{"version":"1f68ab0e055994eb337b67aa87d2a15e0200951e9664959b3866ee6f6b11a0fe","impliedFormat":1},{"version":"c1d53a14aad7cda2cb0b91f5daccd06c8e3f25cb26c09e008f46ad2896c80bf1","impliedFormat":1},{"version":"c789127b81f23a44e7cd20eaff043bb8ddd8b75aca955504b81217d6347709d8","impliedFormat":1},{"version":"1e13bda0589d714493973ae87a135aadb8bdadc2b8ba412a62d6a8f05f13ae76","impliedFormat":1},{"version":"9e9217786bc4dced2d11b82eaf62c77f172a2b4671f1a6353835dcbf7eef0843","impliedFormat":1},{"version":"8c18473f354a9648fd8798196f520b3c3868181c315ab6a726177e5b5d2ada1c","impliedFormat":1},{"version":"067fe0fe11f79aa3eef819ee2f1d7beecc7a6d9e95ee1b2b84553495fb61b2fe","impliedFormat":1},{"version":"65e7aa0d38b9513dad1d66fa622ca0897efd8f6e11cb3887231451eb1dde719a","impliedFormat":1},{"version":"cf8d966c5b46aa3b4e2bc55aeaf5932253a734d2c09fc9e05867d47f7fc3fe31","impliedFormat":1},{"version":"e11fb3c6b0788cddcda16e472a173c03d8729201dc325beb1251f54d2630ebbb","impliedFormat":1},{"version":"9034c961e85ef73bdd4e07e2c56d7adfa4c00ee6cf568dcfc13d059575aac8a8","impliedFormat":1},{"version":"48676769d0f4904e916425f778ae25c140370fb90b33ad85151c7ebab166a0cc","impliedFormat":1},{"version":"b70a8d1c0d9628260158c2e96982f5ffb415ca87f97388ea743e52bd6ef37a9c","impliedFormat":1},{"version":"709bae51a9b0263a888c6adf48fb1380634e37267abcea46a52eb02a14b76292","impliedFormat":1},{"version":"7a625afe5721361715736bc3f9548206e1f173dcdc43eecaf7f70557f5151361","impliedFormat":1},{"version":"4d114e382693704d3792d2d6da45adc1aa2d8a86c1b8ebe5fc225dccd30aaf36","impliedFormat":1},{"version":"329760175a249a5e13e16f281ede4d8da4a4a72d511bf631bf7e5bd363146a80","impliedFormat":1},{"version":"9fbdb40eb68109a83dcc5f19c450556b20699b4fa19783dabdfc06a9937c9c30","impliedFormat":1},{"version":"afb75becf7075fc3673a6f1f7b669b5bb909ae67609284ce6548ec44d8038a61","impliedFormat":1},{"version":"4018b7fb337b14d2a40dd091208fbd39b3400136dfda00e9995b51cf64783a9f","impliedFormat":1},{"version":"19bf3ca55fd356755cda33e6e8c753d3d13d4aaa54ad9c5c032927f362188066","impliedFormat":1},{"version":"6d09838b65c3c780513878793fc394ae29b8595d9e4729246d14ce69abc71140","impliedFormat":1},{"version":"fefa1d4c62ddb09c78d9f46e498a186e72b5e7aeb37093aa6b2c321b9d6ecd14","impliedFormat":1},{"version":"0bd5e7096c7bc02bf70b2cc017fc45ef489cb19bd2f32a71af39ff5787f1b56a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8a8eb4ebffd85e589a1cc7c178e291626c359543403d58c9cd22b81fab5b1fb9","impliedFormat":1},{"version":"87d9d29dbc745f182683f63187bf3d53fd8673e5fca38ad5eaab69798ed29fbc","impliedFormat":1},{"version":"b1bf87add0ccfb88472cd4c6013853d823a7efb791c10bb7a11679526be91eda","impliedFormat":1},{"version":"d98f8eb7c12ecf3b67340afd5c2624033ce2bae5c30a3ec2ab58283af491447c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a7ca2a9e61286d74bc37fe64e5dcd7da04607f7f5432f7c651b47b573fc76cef","impliedFormat":1},{"version":"a3c1977660766af91c7b8efe2106792f0f6375bde60a4f28a438242bd93c558e","impliedFormat":1},{"version":"2ce11d27704635675cd9890cfe59e40bf36cc8aa16553dbb80ba6b41b737b7a9","affectsGlobalScope":true,"impliedFormat":1},{"version":"202f8582ee3cd89e06c4a17d8aabb925ff8550370559c771d1cc3ec3934071c2","impliedFormat":1},{"version":"916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","impliedFormat":1},{"version":"7ac7ef12f7ece6464d83d2d56fea727260fb954fdd51a967e94f97b8595b714b","impliedFormat":1},{"version":"960a68ced7820108787135bdae5265d2cc4b511b7dcfd5b8f213432a8483daf1","impliedFormat":1},{"version":"7c52a6d05a6e68269e63bc63fad6e869368a141ad23a20e2350c831dc499c5f2","impliedFormat":1},{"version":"2e7ebdc7d8af978c263890bbde991e88d6aa31cc29d46735c9c5f45f0a41243b","impliedFormat":1},{"version":"b57fd1c0a680d220e714b76d83eff51a08670f56efcc5d68abc82f5a2684f0c0","impliedFormat":1},{"version":"8cf121e98669f724256d06bebafec912b92bb042a06d4944f7fb27a56c545109","impliedFormat":1},{"version":"1084565c68b2aed5d6d5cea394799bd688afdf4dc99f4e3615957857c15bb231","impliedFormat":1},{"version":"4ef960df4f672e93b479f88211ed8b5cfa8a598b97aafa3396cacdc3341e3504","impliedFormat":1},{"version":"03c258e060b7da220973f84b89615e4e9850e9b5d30b3a8e4840b3e3268ae8eb","impliedFormat":1},{"version":"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e","impliedFormat":1},{"version":"2c3b8be03577c98530ef9cb1a76e2c812636a871f367e9edf4c5f3ce702b77f8","affectsGlobalScope":true,"impliedFormat":1},{"version":"61f41da9aaa809e5142b1d849d4e70f3e09913a5cb32c629bf6e61ef27967ff7","impliedFormat":1},{"version":"1ba59c8bbeed2cb75b239bb12041582fa3e8ef32f8d0bd0ec802e38442d3f317","impliedFormat":1},{"version":"74d5a87c3616cd5d8691059d531504403aa857e09cbaecb1c64dfb9ace0db185","impliedFormat":1}],"options":{"allowSyntheticDefaultImports":true,"composite":true,"esModuleInterop":true,"experimentalDecorators":true,"module":199,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9},"fileIdsList":[[355,472,473,474,475],[474,476],[347,355],[390,391],[347,387,390],[386],[347,385],[388,389],[347,385,387],[325,348,351,354],[347,353,355],[347,349],[348,349,350],[347],[394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,471],[385,394],[392,394],[355,390,394],[394,404,470,472],[394,404,472],[404],[355],[355,392,393],[372],[347,375],[347,373],[371,374,375,376,377,378,379,380,381,382,383,384],[355,356,357,358,359],[362],[355,362,363,364],[361],[347,355,361],[347,366],[355,366,368],[347,367],[347,352],[331,332,334,337,341],[326,327,330,331],[331,335,336,337,339],[326,327,331],[329,330,334,338],[326,327,328,329,330,331,332,333,334,335,336,337,339,340,341,342,343,344,345,346],[327,333],[331,334,337,339,340],[326,327,329,330],[327,329,330],[328],[342],[110,144,152],[125],[410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469],[412],[412,416],[410,412,414],[410,412],[412,418],[411,412],[423],[412,429,430,431],[412,433],[412,434,435,436,437,438,439,440,441,442,443,444,445,446,447],[412,415],[412,414],[412,423],[110,144,152,503],[583],[585,588],[585,586,587],[588],[107,110,144,152,497,498,499],[500,502,504],[110,112,125,136,144,152,608],[610],[616],[58],[94],[95,100,128],[96,107,108,115,125,136],[96,97,107,115],[98,137],[99,100,108,116],[100,125,133],[101,103,107,115],[94,102],[103,104],[107],[105,107],[94,107],[107,108,109,125,136],[107,108,109,122,125,128],[92,95,141],[103,107,110,115,125,136,152],[107,108,110,111,115,125,133,136],[110,112,125,133,136],[58,59,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143],[107,113],[114,136,141],[103,107,115,125],[116],[117],[94,118],[119,135,141],[120],[121],[107,122,123],[122,124,137,139],[95,107,125,126,127,128],[95,125,127],[125,126],[128],[129],[94,125],[107,131,132],[131,132],[100,115,125,133],[134],[115,135],[95,110,121,136],[100,137],[125,138],[114,139],[140],[95,100,107,109,118,125,136,139,141],[125,142],[616,624],[623,624,625,626,627],[612,613,614,615],[108,125,144,496],[110,144,152,497,501],[631],[107,110,112,115,125,133,136,142,144,152],[107,125,144],[103,110,152],[148],[95,107,110,136,144,145,146,147],[546,570],[541],[543],[546],[60,574],[572,575,576],[542,544,545,547,560,562,563,564,570,571,572,573,576,577,578,579],[565,566,567,568,569],[548,550,551,552,553,554,555,556,557,558,559,560],[548,549,551,552,553,554,555,556,557,558,559,560],[549,550,551,552,553,554,555,556,557,558,559,560],[548,549,550,552,553,554,555,556,557,558,559,560],[548,549,550,551,553,554,555,556,557,558,559,560],[548,549,550,551,552,554,555,556,557,558,559,560],[548,549,550,551,552,553,555,556,557,558,559,560],[548,549,550,551,552,553,554,556,557,558,559,560],[548,549,550,551,552,553,554,555,557,558,559,560],[548,549,550,551,552,553,554,555,556,558,559,560],[548,549,550,551,552,553,554,555,556,557,559,560],[548,549,550,551,552,553,554,555,556,557,558,560],[548,549,550,551,552,553,554,555,556,557,558,559],[546,562],[561],[95,151,153,154,155],[157],[150,152,153,154,157],[110,115,125,150,154,155,157],[54,56,57,95,103,110,112,115,125,133,146,149,150,152,154,155,156],[95,150,153,155,157],[110],[320],[152,153,154,155,156,157,158,320,321,322],[95,153,154,156,157,319],[55,107,110,111,112,133,136,152],[353,354,355,360,365,369,472,473,476],[370,477],[353,354,355,360,365,369],[95,125],[592],[590],[591],[590,591,592,593],[590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607],[591,592,593],[592,608],[159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,184,185,186,187,188,189,190,191,192,193,194,202,203,204,205,207,208,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318],[164,176,178,201,289],[171],[171,187,190,192,193,201,222,250,251],[176,193,201,219],[201],[260],[293],[176,201,294],[294],[172,244],[181],[167,171,175,201,206,245],[244],[188,293],[176,201,297],[297],[164],[178],[258],[159,164,171,201,227],[201,220,223,270,310],[192],[171,187,190,191,201],[238],[275],[169],[277],[184],[167],[180],[226],[227],[250,284],[201,219],[176,181],[182,183,195,196,197,198,199,200],[184,188,196],[176,180,187,196],[164,171,176,178,196,197,199],[183,187,189,195],[176,187,192,194],[159,180],[187],[185,187,201],[159,180,181,187,201],[176,181,280],[161],[160,161,167,176,180,184,187,201,227],[293,297],[301],[299],[163],[193],[203,268],[159],[175,176,201,203,204,205,206,207,208,209,210],[178,203,204],[171,219],[170,173],[185,186],[171,176,180,201,210,220,222,223,224],[205],[161,223],[201,205,228],[294,303],[167,176,184,192,201,219],[163,176,178,180,201,220],[172],[201,213],[293,306],[164,172,178,201],[176,201,227],[176,184,201,210,218,220,224,239],[164,172,176,178,201,238],[176,180,201],[176,178,180,201],[201,206],[168,201],[188,190,191,201],[169,178],[187,188],[201,249,252],[160,265],[187,194,201],[187,201,219],[176,280,281],[163,180],[172,178],[69,73,136],[69,125,136],[64],[66,69,133,136],[115,133],[144],[64,144],[66,69,115,136],[61,62,65,68,95,107,125,136],[61,67],[65,69,95,128,136,144],[95,144],[85,95,144],[63,64,144],[69],[63,64,65,66,67,68,69,70,71,73,74,75,76,77,78,79,80,81,82,83,84,86,87,88,89,90,91],[69,76,77],[67,69,77,78],[68],[61,64,69],[69,73,77,78],[73],[67,69,72,136],[61,66,67,69,73,76],[64,69,85,95,141,144],[479,480,481,482,483,484,485,487,488,489,490,491,492,493,494],[479],[479,486],[510,511,512,513,514,515,516,517,518,519,520,521,522],[513,514],[511,513,514,515,518,519],[511,517],[513],[517],[511,514,516,517,523],[511,514,516,517],[513,516],[511,515,520],[523,525],[523],[529,533,534,535],[524,526],[96,115,125,144,524,525],[525,530,531,532],[518,523,525],[523,524],[511,519,525],[96,108,117,136,323,478,505,507,508],[96,108,117,119,136,324,505,507,509,528,537,538],[96,108,117,119,324,478,505,506,507],[96,108,110,117,152,527],[110,152,495,505],[96,100,110,152,324,527,528,536,537],[505,507],[505,506,507],[96,110,152,527],[505],[96,100,110,152,528,537]],"referencedMap":[[476,1],[475,2],[474,3],[392,4],[391,5],[387,6],[386,7],[390,8],[388,9],[355,10],[354,11],[350,12],[351,13],[349,14],[472,15],[398,16],[397,17],[403,16],[402,16],[395,18],[396,16],[400,16],[399,16],[401,16],[471,19],[405,20],[407,20],[408,21],[406,21],[409,20],[393,22],[394,23],[373,24],[379,25],[377,14],[384,14],[383,14],[378,25],[376,25],[374,26],[385,27],[380,25],[382,25],[381,25],[360,28],[356,22],[357,22],[363,29],[361,14],[365,30],[364,31],[362,32],[367,33],[366,14],[369,34],[368,35],[353,36],[352,14],[348,14],[342,37],[335,38],[340,39],[332,40],[339,41],[347,42],[334,43],[341,44],[336,45],[331,46],[329,47],[344,48],[150,49],[412,50],[470,51],[413,52],[459,53],[415,54],[414,55],[416,52],[417,52],[419,56],[418,52],[420,57],[421,57],[422,52],[424,58],[425,52],[426,58],[427,52],[429,52],[430,52],[431,52],[432,59],[428,52],[434,60],[435,60],[436,60],[437,60],[438,60],[448,61],[439,60],[440,60],[441,60],[442,60],[444,60],[445,60],[443,60],[446,60],[447,60],[449,52],[450,52],[423,52],[451,58],[453,62],[452,52],[454,52],[455,52],[456,63],[458,52],[457,52],[460,52],[462,52],[463,64],[461,52],[464,52],[465,52],[466,52],[467,52],[468,52],[469,52],[504,65],[503,49],[584,66],[589,67],[588,68],[587,69],[500,70],[505,71],[609,72],[611,73],[617,74],[620,73],[58,75],[59,75],[94,76],[95,77],[96,78],[97,79],[98,80],[99,81],[100,82],[101,83],[102,84],[103,85],[104,85],[106,86],[105,87],[107,88],[108,89],[109,90],[93,91],[110,92],[111,93],[112,94],[144,95],[113,96],[114,97],[115,98],[116,99],[117,100],[118,101],[119,102],[120,103],[121,104],[122,105],[123,105],[124,106],[125,107],[127,108],[126,109],[128,110],[129,111],[130,112],[131,113],[132,114],[133,115],[134,116],[135,117],[136,118],[137,119],[138,120],[139,121],[140,122],[141,123],[142,124],[622,74],[625,125],[628,126],[626,74],[624,74],[627,125],[616,127],[497,128],[502,129],[632,130],[537,131],[634,131],[635,132],[54,133],[149,134],[148,135],[571,136],[542,137],[544,138],[547,139],[575,140],[577,141],[580,142],[570,143],[549,144],[550,145],[548,146],[551,147],[552,148],[553,149],[554,150],[555,151],[556,152],[557,153],[558,154],[559,155],[560,156],[563,157],[562,158],[156,159],[158,160],[155,161],[153,162],[157,163],[154,164],[152,165],[321,166],[323,167],[320,168],[56,169],[145,86],[477,170],[478,171],[370,172],[146,173],[600,174],[591,175],[601,176],[602,177],[603,174],[604,174],[608,178],[606,174],[594,179],[593,180],[598,174],[319,181],[290,182],[190,183],[252,184],[222,185],[208,186],[262,187],[294,188],[296,189],[295,190],[245,191],[244,192],[247,193],[246,194],[297,195],[301,196],[299,197],[165,198],[166,198],[209,199],[259,200],[271,201],[172,183],[314,202],[193,203],[192,204],[274,205],[276,206],[170,207],[278,208],[280,209],[168,210],[181,211],[292,212],[228,213],[313,183],[285,214],[284,215],[182,216],[201,217],[197,218],[198,219],[200,220],[196,221],[195,222],[199,223],[185,224],[186,225],[188,226],[281,227],[227,212],[264,228],[263,229],[298,230],[302,231],[300,232],[164,233],[251,203],[194,234],[269,235],[223,236],[211,237],[205,238],[255,239],[256,239],[174,240],[187,241],[225,242],[191,183],[273,243],[317,244],[217,186],[229,245],[303,190],[305,246],[304,246],[220,247],[221,248],[231,186],[275,183],[214,186],[173,249],[215,250],[218,186],[309,251],[288,199],[236,252],[261,253],[237,252],[240,254],[239,255],[260,213],[291,256],[289,257],[210,258],[216,259],[306,230],[308,231],[307,232],[310,260],[279,261],[312,262],[253,263],[266,264],[219,265],[250,266],[189,186],[282,267],[230,186],[224,268],[293,186],[202,186],[277,183],[179,269],[76,270],[83,271],[75,270],[90,272],[67,273],[66,274],[89,275],[84,276],[87,277],[69,278],[68,279],[64,280],[63,281],[86,282],[65,283],[70,284],[74,284],[92,285],[91,284],[78,286],[79,287],[81,288],[77,289],[80,290],[85,275],[72,291],[73,292],[82,293],[62,173],[88,294],[495,295],[484,296],[487,297],[486,296],[488,296],[489,297],[490,296],[492,296],[523,298],[515,299],[520,300],[516,301],[514,302],[522,303],[518,304],[519,305],[517,306],[521,307],[535,308],[529,309],[536,310],[534,309],[524,309],[527,311],[526,312],[532,308],[533,313],[530,314],[525,315],[531,316],[509,317],[539,318],[508,319],[528,320],[506,321],[538,322]],"exportedModulesMap":[[476,1],[475,2],[474,3],[392,4],[391,5],[387,6],[386,7],[390,8],[388,9],[355,10],[354,11],[350,12],[351,13],[349,14],[472,15],[398,16],[397,17],[403,16],[402,16],[395,18],[396,16],[400,16],[399,16],[401,16],[471,19],[405,20],[407,20],[408,21],[406,21],[409,20],[393,22],[394,23],[373,24],[379,25],[377,14],[384,14],[383,14],[378,25],[376,25],[374,26],[385,27],[380,25],[382,25],[381,25],[360,28],[356,22],[357,22],[363,29],[361,14],[365,30],[364,31],[362,32],[367,33],[366,14],[369,34],[368,35],[353,36],[352,14],[348,14],[342,37],[335,38],[340,39],[332,40],[339,41],[347,42],[334,43],[341,44],[336,45],[331,46],[329,47],[344,48],[150,49],[412,50],[470,51],[413,52],[459,53],[415,54],[414,55],[416,52],[417,52],[419,56],[418,52],[420,57],[421,57],[422,52],[424,58],[425,52],[426,58],[427,52],[429,52],[430,52],[431,52],[432,59],[428,52],[434,60],[435,60],[436,60],[437,60],[438,60],[448,61],[439,60],[440,60],[441,60],[442,60],[444,60],[445,60],[443,60],[446,60],[447,60],[449,52],[450,52],[423,52],[451,58],[453,62],[452,52],[454,52],[455,52],[456,63],[458,52],[457,52],[460,52],[462,52],[463,64],[461,52],[464,52],[465,52],[466,52],[467,52],[468,52],[469,52],[504,65],[503,49],[584,66],[589,67],[588,68],[587,69],[500,70],[505,71],[609,72],[611,73],[617,74],[620,73],[58,75],[59,75],[94,76],[95,77],[96,78],[97,79],[98,80],[99,81],[100,82],[101,83],[102,84],[103,85],[104,85],[106,86],[105,87],[107,88],[108,89],[109,90],[93,91],[110,92],[111,93],[112,94],[144,95],[113,96],[114,97],[115,98],[116,99],[117,100],[118,101],[119,102],[120,103],[121,104],[122,105],[123,105],[124,106],[125,107],[127,108],[126,109],[128,110],[129,111],[130,112],[131,113],[132,114],[133,115],[134,116],[135,117],[136,118],[137,119],[138,120],[139,121],[140,122],[141,123],[142,124],[622,74],[625,125],[628,126],[626,74],[624,74],[627,125],[616,127],[497,128],[502,129],[632,130],[537,131],[634,131],[635,132],[54,133],[149,134],[148,135],[571,136],[542,137],[544,138],[547,139],[575,140],[577,141],[580,142],[570,143],[549,144],[550,145],[548,146],[551,147],[552,148],[553,149],[554,150],[555,151],[556,152],[557,153],[558,154],[559,155],[560,156],[563,157],[562,158],[156,159],[158,160],[155,161],[153,162],[157,163],[154,164],[152,165],[321,166],[323,167],[320,168],[56,169],[145,86],[477,170],[478,171],[370,172],[146,173],[600,174],[591,175],[601,176],[602,177],[603,174],[604,174],[608,178],[606,174],[594,179],[593,180],[598,174],[319,181],[290,182],[190,183],[252,184],[222,185],[208,186],[262,187],[294,188],[296,189],[295,190],[245,191],[244,192],[247,193],[246,194],[297,195],[301,196],[299,197],[165,198],[166,198],[209,199],[259,200],[271,201],[172,183],[314,202],[193,203],[192,204],[274,205],[276,206],[170,207],[278,208],[280,209],[168,210],[181,211],[292,212],[228,213],[313,183],[285,214],[284,215],[182,216],[201,217],[197,218],[198,219],[200,220],[196,221],[195,222],[199,223],[185,224],[186,225],[188,226],[281,227],[227,212],[264,228],[263,229],[298,230],[302,231],[300,232],[164,233],[251,203],[194,234],[269,235],[223,236],[211,237],[205,238],[255,239],[256,239],[174,240],[187,241],[225,242],[191,183],[273,243],[317,244],[217,186],[229,245],[303,190],[305,246],[304,246],[220,247],[221,248],[231,186],[275,183],[214,186],[173,249],[215,250],[218,186],[309,251],[288,199],[236,252],[261,253],[237,252],[240,254],[239,255],[260,213],[291,256],[289,257],[210,258],[216,259],[306,230],[308,231],[307,232],[310,260],[279,261],[312,262],[253,263],[266,264],[219,265],[250,266],[189,186],[282,267],[230,186],[224,268],[293,186],[202,186],[277,183],[179,269],[76,270],[83,271],[75,270],[90,272],[67,273],[66,274],[89,275],[84,276],[87,277],[69,278],[68,279],[64,280],[63,281],[86,282],[65,283],[70,284],[74,284],[92,285],[91,284],[78,286],[79,287],[81,288],[77,289],[80,290],[85,275],[72,291],[73,292],[82,293],[62,173],[88,294],[495,295],[484,296],[487,297],[486,296],[488,296],[489,297],[490,296],[492,296],[523,298],[515,299],[520,300],[516,301],[514,302],[522,303],[518,304],[519,305],[517,306],[521,307],[535,308],[529,309],[536,310],[534,309],[524,309],[527,311],[526,312],[532,308],[533,313],[530,314],[525,315],[531,316],[509,323],[508,324],[528,325],[506,326],[538,327]],"semanticDiagnosticsPerFile":[476,475,474,392,391,387,386,390,389,388,355,354,350,351,349,472,398,397,403,402,395,396,400,399,401,471,405,407,408,404,406,409,393,394,373,372,379,377,384,383,378,376,374,385,380,382,381,375,371,338,360,356,358,357,359,363,361,365,364,362,367,366,369,368,353,352,348,342,335,340,332,328,339,346,347,334,343,330,341,326,336,331,329,333,337,344,327,345,473,150,540,410,411,412,470,413,459,415,414,416,417,419,418,420,421,422,424,425,426,427,429,430,431,432,428,433,434,435,436,437,438,448,439,440,441,442,444,445,443,446,447,449,450,423,451,453,452,454,455,456,458,457,460,462,463,461,464,465,466,467,468,469,504,503,581,582,584,589,588,587,585,500,505,609,611,617,147,501,586,618,619,620,496,583,58,59,94,95,96,97,98,99,100,101,102,103,104,106,105,107,108,109,93,143,110,111,112,144,113,114,115,116,117,118,119,120,121,122,123,124,125,127,126,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,621,614,498,499,622,623,625,628,626,624,627,612,616,629,615,497,502,561,569,630,632,631,610,633,537,634,635,325,541,60,54,149,148,613,543,571,546,542,544,547,545,575,579,578,572,576,577,580,570,566,565,568,567,549,550,548,551,552,553,554,555,556,557,558,559,560,564,573,563,562,574,57,156,158,155,153,157,322,154,152,321,323,320,56,324,145,477,478,370,151,55,146,600,590,591,601,602,603,604,605,608,606,607,597,594,595,596,593,592,598,599,319,290,190,286,252,222,208,287,233,243,262,161,294,296,295,245,244,247,246,206,297,301,299,165,166,167,209,259,258,271,172,265,254,314,316,193,192,274,276,170,278,280,168,181,292,228,313,285,284,182,183,201,197,198,200,196,195,199,235,184,171,185,186,188,180,226,281,227,257,249,264,263,298,302,300,164,315,251,194,269,268,223,211,212,205,255,256,174,207,187,162,225,203,238,191,273,317,217,229,303,305,304,220,221,204,159,232,231,275,272,311,214,173,213,215,218,169,267,309,288,241,236,261,237,240,239,260,291,289,210,178,216,306,308,307,310,279,270,312,253,248,266,219,250,177,234,189,318,282,283,160,230,163,224,176,175,242,293,202,277,179,11,10,2,12,13,14,15,16,17,18,19,3,4,23,20,21,22,24,25,26,5,27,28,29,30,6,34,31,32,33,35,7,36,41,42,37,38,39,40,8,46,43,44,45,47,9,48,49,50,51,52,1,53,76,83,75,90,67,66,89,84,87,69,68,64,63,86,65,70,71,74,61,92,91,78,79,81,77,80,85,72,73,82,62,88,495,480,481,482,483,479,484,485,487,486,488,489,490,491,492,493,494,523,515,520,513,516,514,512,522,518,511,519,517,521,510,535,529,536,534,524,527,526,532,533,530,525,531,509,539,508,507,528,506,538],"latestChangedDtsFile":"./dist/index.d.ts"},"version":"4.9.5"} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index e847c343..0a627f0c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,21 +1,7 @@ { - "compilerOptions": { - "composite": true, - "module": "esnext", - "target": "es5", - "allowJs": true, - "resolveJsonModule": true, - "esModuleInterop": true, - "moduleResolution": "node", - "jsx": "react", - "downlevelIteration": true, - "experimentalDecorators": true, - "allowSyntheticDefaultImports": true, - "lib": [ - "ES2021.String", - "DOM" - ] - }, - "references": [{"path": "./relay"}, {"path": "./client"}], - "exclude": ["./server/"] + "references": [ + { "path": "./client" }, + { "path": "./relay" }, + { "path": "./cypress" } + ] }