draft: Dogfood the hollis configuration

This commit is contained in:
zkldi
2022-05-06 02:55:56 +01:00
parent 1137bda1b4
commit 61ea7a4bf7
4 changed files with 143 additions and 161 deletions
+3 -1
View File
@@ -4,4 +4,6 @@
# may cause crashes, as it will try and lint a couple million lines of JS.
node_modules
js
js
**/*.test.ts
+4 -107
View File
@@ -1,113 +1,10 @@
{
"root": true,
"env": {
"node": true,
"es6": true
},
"plugins": [
"@typescript-eslint",
"import"
"import",
"hollis"
],
"overrides": [
{
"files": [
"*.ts",
"*.tsx"
],
"parserOptions": {
"project": [
"./tsconfig.json"
]
}
}
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"sourceType": "module",
"ecmaVersion": 2020
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:prettier/recommended",
"plugin:import/typescript",
"plugin:import/warnings",
"plugin:import/errors"
],
"rules": {
"prettier/prettier": [
"error",
{
"printWidth": 100,
"tabWidth": 4,
"semi": true,
"singleQuote": false,
"trailingComma": "es5",
"bracketSpacing": true,
"endOfLine": "lf",
"useTabs": true
}
],
"@typescript-eslint/explicit-module-boundary-types": "off",
"@typescript-eslint/no-non-null-assertion": "off",
"@typescript-eslint/no-misused-promises": [
"error",
{
"checksVoidReturn": false
}
],
"@typescript-eslint/no-unused-vars": [
"warn",
{
"argsIgnorePattern": "logger"
}
],
// breaks with baseUrl
"import/no-unresolved": "off",
"require-await": "warn",
"no-await-in-loop": "warn",
"no-unused-labels": "error",
"prefer-const": "error",
"no-console": "error",
"eqeqeq": "error",
"no-eval": "error",
"no-var": "error",
"no-new-object": "error",
"quote-props": [
"error",
"as-needed"
],
"no-array-constructor": "error",
"prefer-template": "error",
"prefer-promise-reject-errors": "error",
"no-useless-escape": "error",
"no-loop-func": "error",
"prefer-rest-params": "error",
"default-param-last": "error",
"no-new-func": "error",
"arrow-body-style": "error",
"no-useless-constructor": "error",
"no-duplicate-imports": "error",
"dot-notation": "error",
"space-before-blocks": "error",
"no-prototype-builtins": "off",
"prefer-arrow-callback": "error",
"curly": "error",
"no-template-curly-in-string": "error",
"no-implied-eval": "error",
"yoda": "error",
"no-labels": "error",
"no-useless-concat": "error",
"radix": "error",
"no-octal-escape": "error",
"no-param-reassign": "error",
"no-proto": "error",
"no-return-await": "error",
"no-throw-literal": "error",
"no-unmodified-loop-condition": "error",
"no-unused-expressions": "error",
"no-useless-call": "error",
"no-useless-return": "error",
"require-unicode-regexp": "error"
}
"plugin:hollis/recommended"
]
}
+4 -3
View File
@@ -35,12 +35,13 @@
"@types/supertest": "2.0.11",
"@types/tap": "15.0.5",
"@types/uuid": "8.3.4",
"@typescript-eslint/eslint-plugin": "5.10.2",
"@typescript-eslint/parser": "5.10.2",
"@typescript-eslint/eslint-plugin": "5.22.0",
"@typescript-eslint/parser": "5.22.0",
"eslint": "8.8.0",
"eslint-config-prettier": "8.3.0",
"eslint-plugin-import": "2.25.4",
"eslint-plugin-import": "2.26.0",
"eslint-plugin-prettier": "4.0.0",
"eslint-plugin-hollis": "file:../../Hollis/eslint-plugin-hollis",
"express-request-mock": "3.1.0",
"node-mocks-http": "1.11.0",
"prettier": "2.5.1",
+132 -50
View File
@@ -22,8 +22,8 @@ specifiers:
'@types/supertest': 2.0.11
'@types/tap': 15.0.5
'@types/uuid': 8.3.4
'@typescript-eslint/eslint-plugin': 5.10.2
'@typescript-eslint/parser': 5.10.2
'@typescript-eslint/eslint-plugin': 5.22.0
'@typescript-eslint/parser': 5.22.0
'@valuabletouch/winston-seq': 1.3.0
bcryptjs: 2.4.3
bullmq: 1.68.4
@@ -35,7 +35,8 @@ specifiers:
dotenv: 16.0.0
eslint: 8.8.0
eslint-config-prettier: 8.3.0
eslint-plugin-import: 2.25.4
eslint-plugin-hollis: file:../../Hollis/eslint-plugin-hollis
eslint-plugin-import: 2.26.0
eslint-plugin-prettier: 4.0.0
express: 4.17.2
express-async-errors: 3.1.1
@@ -139,11 +140,12 @@ devDependencies:
'@types/supertest': 2.0.11
'@types/tap': 15.0.5
'@types/uuid': 8.3.4
'@typescript-eslint/eslint-plugin': 5.10.2_2595c2126aec4d4b6e944b931dabb4c2
'@typescript-eslint/parser': 5.10.2_eslint@8.8.0+typescript@4.5.5
'@typescript-eslint/eslint-plugin': 5.22.0_355088e8e28124fa0cfd62cacce88724
'@typescript-eslint/parser': 5.22.0_eslint@8.8.0+typescript@4.5.5
eslint: 8.8.0
eslint-config-prettier: 8.3.0_eslint@8.8.0
eslint-plugin-import: 2.25.4_eslint@8.8.0
eslint-plugin-hollis: link:../../Hollis/eslint-plugin-hollis
eslint-plugin-import: 2.26.0_eslint@8.8.0
eslint-plugin-prettier: 4.0.0_43197c8d12d1d439034cfcf65e1c48c2
express-request-mock: 3.1.0
node-mocks-http: 1.11.0
@@ -1538,8 +1540,8 @@ packages:
'@types/node': 17.0.15
dev: false
/@typescript-eslint/eslint-plugin/5.10.2_2595c2126aec4d4b6e944b931dabb4c2:
resolution: {integrity: sha512-4W/9lLuE+v27O/oe7hXJKjNtBLnZE8tQAFpapdxwSVHqtmIoPB1gph3+ahNwVuNL37BX7YQHyGF9Xv6XCnIX2Q==}
/@typescript-eslint/eslint-plugin/5.22.0_355088e8e28124fa0cfd62cacce88724:
resolution: {integrity: sha512-YCiy5PUzpAeOPGQ7VSGDEY2NeYUV1B0swde2e0HzokRsHBYjSdF6DZ51OuRZxVPHx0032lXGLvOMls91D8FXlg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
'@typescript-eslint/parser': ^5.0.0
@@ -1549,10 +1551,10 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/parser': 5.10.2_eslint@8.8.0+typescript@4.5.5
'@typescript-eslint/scope-manager': 5.10.2
'@typescript-eslint/type-utils': 5.10.2_eslint@8.8.0+typescript@4.5.5
'@typescript-eslint/utils': 5.10.2_eslint@8.8.0+typescript@4.5.5
'@typescript-eslint/parser': 5.22.0_eslint@8.8.0+typescript@4.5.5
'@typescript-eslint/scope-manager': 5.22.0
'@typescript-eslint/type-utils': 5.22.0_eslint@8.8.0+typescript@4.5.5
'@typescript-eslint/utils': 5.22.0_eslint@8.8.0+typescript@4.5.5
debug: 4.3.3
eslint: 8.8.0
functional-red-black-tree: 1.0.1
@@ -1565,8 +1567,8 @@ packages:
- supports-color
dev: true
/@typescript-eslint/parser/5.10.2_eslint@8.8.0+typescript@4.5.5:
resolution: {integrity: sha512-JaNYGkaQVhP6HNF+lkdOr2cAs2wdSZBoalE22uYWq8IEv/OVH0RksSGydk+sW8cLoSeYmC+OHvRyv2i4AQ7Czg==}
/@typescript-eslint/parser/5.22.0_eslint@8.8.0+typescript@4.5.5:
resolution: {integrity: sha512-piwC4krUpRDqPaPbFaycN70KCP87+PC5WZmrWs+DlVOxxmF+zI6b6hETv7Quy4s9wbkV16ikMeZgXsvzwI3icQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
@@ -1575,9 +1577,9 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/scope-manager': 5.10.2
'@typescript-eslint/types': 5.10.2
'@typescript-eslint/typescript-estree': 5.10.2_typescript@4.5.5
'@typescript-eslint/scope-manager': 5.22.0
'@typescript-eslint/types': 5.22.0
'@typescript-eslint/typescript-estree': 5.22.0_typescript@4.5.5
debug: 4.3.3
eslint: 8.8.0
typescript: 4.5.5
@@ -1585,16 +1587,16 @@ packages:
- supports-color
dev: true
/@typescript-eslint/scope-manager/5.10.2:
resolution: {integrity: sha512-39Tm6f4RoZoVUWBYr3ekS75TYgpr5Y+X0xLZxXqcZNDWZdJdYbKd3q2IR4V9y5NxxiPu/jxJ8XP7EgHiEQtFnw==}
/@typescript-eslint/scope-manager/5.22.0:
resolution: {integrity: sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
'@typescript-eslint/types': 5.10.2
'@typescript-eslint/visitor-keys': 5.10.2
'@typescript-eslint/types': 5.22.0
'@typescript-eslint/visitor-keys': 5.22.0
dev: true
/@typescript-eslint/type-utils/5.10.2_eslint@8.8.0+typescript@4.5.5:
resolution: {integrity: sha512-uRKSvw/Ccs5FYEoXW04Z5VfzF2iiZcx8Fu7DGIB7RHozuP0VbKNzP1KfZkHBTM75pCpsWxIthEH1B33dmGBKHw==}
/@typescript-eslint/type-utils/5.22.0_eslint@8.8.0+typescript@4.5.5:
resolution: {integrity: sha512-iqfLZIsZhK2OEJ4cQ01xOq3NaCuG5FQRKyHicA3xhZxMgaxQazLUHbH/B2k9y5i7l3+o+B5ND9Mf1AWETeMISA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: '*'
@@ -1603,7 +1605,7 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/utils': 5.10.2_eslint@8.8.0+typescript@4.5.5
'@typescript-eslint/utils': 5.22.0_eslint@8.8.0+typescript@4.5.5
debug: 4.3.3
eslint: 8.8.0
tsutils: 3.21.0_typescript@4.5.5
@@ -1612,13 +1614,13 @@ packages:
- supports-color
dev: true
/@typescript-eslint/types/5.10.2:
resolution: {integrity: sha512-Qfp0qk/5j2Rz3p3/WhWgu4S1JtMcPgFLnmAKAW061uXxKSa7VWKZsDXVaMXh2N60CX9h6YLaBoy9PJAfCOjk3w==}
/@typescript-eslint/types/5.22.0:
resolution: {integrity: sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
/@typescript-eslint/typescript-estree/5.10.2_typescript@4.5.5:
resolution: {integrity: sha512-WHHw6a9vvZls6JkTgGljwCsMkv8wu8XU8WaYKeYhxhWXH/atZeiMW6uDFPLZOvzNOGmuSMvHtZKd6AuC8PrwKQ==}
/@typescript-eslint/typescript-estree/5.22.0_typescript@4.5.5:
resolution: {integrity: sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
typescript: '*'
@@ -1626,8 +1628,8 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/types': 5.10.2
'@typescript-eslint/visitor-keys': 5.10.2
'@typescript-eslint/types': 5.22.0
'@typescript-eslint/visitor-keys': 5.22.0
debug: 4.3.3
globby: 11.1.0
is-glob: 4.0.3
@@ -1638,16 +1640,16 @@ packages:
- supports-color
dev: true
/@typescript-eslint/utils/5.10.2_eslint@8.8.0+typescript@4.5.5:
resolution: {integrity: sha512-vuJaBeig1NnBRkf7q9tgMLREiYD7zsMrsN1DA3wcoMDvr3BTFiIpKjGiYZoKPllfEwN7spUjv7ZqD+JhbVjEPg==}
/@typescript-eslint/utils/5.22.0_eslint@8.8.0+typescript@4.5.5:
resolution: {integrity: sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
'@types/json-schema': 7.0.9
'@typescript-eslint/scope-manager': 5.10.2
'@typescript-eslint/types': 5.10.2
'@typescript-eslint/typescript-estree': 5.10.2_typescript@4.5.5
'@typescript-eslint/scope-manager': 5.22.0
'@typescript-eslint/types': 5.22.0
'@typescript-eslint/typescript-estree': 5.22.0_typescript@4.5.5
eslint: 8.8.0
eslint-scope: 5.1.1
eslint-utils: 3.0.0_eslint@8.8.0
@@ -1656,11 +1658,11 @@ packages:
- typescript
dev: true
/@typescript-eslint/visitor-keys/5.10.2:
resolution: {integrity: sha512-zHIhYGGGrFJvvyfwHk5M08C5B5K4bewkm+rrvNTKk1/S15YHR+SA/QUF8ZWscXSfEaB8Nn2puZj+iHcoxVOD/Q==}
/@typescript-eslint/visitor-keys/5.22.0:
resolution: {integrity: sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
'@typescript-eslint/types': 5.10.2
'@typescript-eslint/types': 5.22.0
eslint-visitor-keys: 3.2.0
dev: true
@@ -2049,7 +2051,7 @@ packages:
hasBin: true
optionalDependencies:
dtrace-provider: 0.8.8
moment: 2.29.1
moment: 2.29.3
mv: 2.1.1
safe-json-stringify: 1.2.0
dev: false
@@ -2747,8 +2749,8 @@ packages:
find-up: 2.1.0
dev: true
/eslint-plugin-import/2.25.4_eslint@8.8.0:
resolution: {integrity: sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==}
/eslint-plugin-import/2.26.0_eslint@8.8.0:
resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==}
engines: {node: '>=4'}
peerDependencies:
eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
@@ -2763,10 +2765,10 @@ packages:
has: 1.0.3
is-core-module: 2.8.1
is-glob: 4.0.3
minimatch: 3.0.5
minimatch: 3.1.2
object.values: 1.1.5
resolve: 1.22.0
tsconfig-paths: 3.12.0
tsconfig-paths: 3.14.1
dev: true
/eslint-plugin-prettier/4.0.0_43197c8d12d1d439034cfcf65e1c48c2:
@@ -4085,9 +4087,19 @@ packages:
dependencies:
brace-expansion: 1.1.11
/minimatch/3.1.2:
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
dependencies:
brace-expansion: 1.1.11
dev: true
/minimist/1.2.5:
resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==}
/minimist/1.2.6:
resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==}
dev: true
/minipass/2.9.0:
resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==}
dependencies:
@@ -4137,6 +4149,12 @@ packages:
resolution: {integrity: sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==}
dev: false
/moment/2.29.3:
resolution: {integrity: sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==}
requiresBuild: true
dev: false
optional: true
/mongodb/3.6.3:
resolution: {integrity: sha512-rOZuR0QkodZiM+UbQE5kDsJykBqWi0CL4Ec2i1nrGrUI3KO11r6Fbxskqmq3JK2NH7aW4dcccBuUujAP0ERl5w==}
engines: {node: '>=4'}
@@ -4264,19 +4282,73 @@ packages:
/ms/2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
/msgpackr-extract/1.0.16:
resolution: {integrity: sha512-fxdRfQUxPrL/TizyfYfMn09dK58e+d65bRD/fcaVH4052vj30QOzzqxcQIS7B0NsqlypEQ/6Du3QmP2DhWFfCA==}
/msgpackr-extract-darwin-arm64/1.1.0:
resolution: {integrity: sha512-s1kHoT12tS2cCQOv+Wl3I+/cYNJXBPtwQqGA+dPYoXmchhXiE0Nso+BIfvQ5PxbmAyjj54Q5o7PnLTqVquNfZA==}
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: false
optional: true
/msgpackr-extract-darwin-x64/1.1.0:
resolution: {integrity: sha512-yx/H/i12IKg4eWGu/eKdKzJD4jaYvvujQSaVmeOMCesbSQnWo5X6YR9TFjoiNoU9Aexk1KufzL9gW+1DozG1yw==}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: false
optional: true
/msgpackr-extract-linux-arm/1.1.0:
resolution: {integrity: sha512-0VvSCqi12xpavxl14gMrauwIzHqHbmSChUijy/uo3mpjB1Pk4vlisKpZsaOZvNJyNKj0ACi5jYtbWnnOd7hYGw==}
cpu: [arm]
os: [linux]
requiresBuild: true
dev: false
optional: true
/msgpackr-extract-linux-arm64/1.1.0:
resolution: {integrity: sha512-AxFle3fHNwz2V4CYDIGFxI6o/ZuI0lBKg0uHI8EcCMUmDE5mVAUWYge5WXmORVvb8sVWyVgFlmi3MTu4Ve6tNQ==}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: false
optional: true
/msgpackr-extract-linux-x64/1.1.0:
resolution: {integrity: sha512-O+XoyNFWpdB8oQL6O/YyzffPpmG5rTNrr1nKLW70HD2ENJUhcITzbV7eZimHPzkn8LAGls1tBaMTHQezTBpFOw==}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: false
optional: true
/msgpackr-extract-win32-x64/1.1.0:
resolution: {integrity: sha512-6AJdM5rNsL4yrskRfhujVSPEd6IBpgvsnIT/TPowKNLQ62iIdryizPY2PJNFiW3AJcY249AHEiDBXS1cTDPxzA==}
cpu: [x64]
os: [win32]
requiresBuild: true
dev: false
optional: true
/msgpackr-extract/1.1.4:
resolution: {integrity: sha512-WQbHvsThprXh+EqZYy+SQFEs7z6bNM7a0vgirwUfwUcphWGT2mdPcpyLCNiRsN6w5q5VKJUMblHY+tNEyceb9Q==}
requiresBuild: true
dependencies:
nan: 2.15.0
node-gyp-build: 4.3.0
node-gyp-build-optional-packages: 4.3.2
optionalDependencies:
msgpackr-extract-darwin-arm64: 1.1.0
msgpackr-extract-darwin-x64: 1.1.0
msgpackr-extract-linux-arm: 1.1.0
msgpackr-extract-linux-arm64: 1.1.0
msgpackr-extract-linux-x64: 1.1.0
msgpackr-extract-win32-x64: 1.1.0
dev: false
optional: true
/msgpackr/1.5.4:
resolution: {integrity: sha512-Z7w5Jg+2Q9z9gJxeM68d7tSuWZZGnFIRhZnyqcZCa/1dKkhOCNvR1TUV3zzJ3+vj78vlwKRzUgVDlW4jiSOeDA==}
optionalDependencies:
msgpackr-extract: 1.0.16
msgpackr-extract: 1.1.4
dev: false
/multer/1.4.4:
@@ -4342,8 +4414,8 @@ packages:
whatwg-url: 5.0.0
dev: false
/node-gyp-build/4.3.0:
resolution: {integrity: sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==}
/node-gyp-build-optional-packages/4.3.2:
resolution: {integrity: sha512-P5Ep3ISdmwcCkZIaBaQamQtWAG0facC89phWZgi5Z3hBU//J6S48OIvyZWSPPf6yQMklLZiqoosWAZUj7N+esA==}
hasBin: true
dev: false
optional: true
@@ -5582,6 +5654,16 @@ packages:
json5: 1.0.1
minimist: 1.2.5
strip-bom: 3.0.0
dev: false
/tsconfig-paths/3.14.1:
resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==}
dependencies:
'@types/json5': 0.0.29
json5: 1.0.1
minimist: 1.2.6
strip-bom: 3.0.0
dev: true
/tslib/1.14.1:
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}