this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Draw the rest of the owl.

alice a6efbe3b 9395b182

+2717 -1372
+130
.dockerignore
··· 1 + # Logs 2 + logs 3 + *.log 4 + npm-debug.log* 5 + yarn-debug.log* 6 + yarn-error.log* 7 + lerna-debug.log* 8 + .pnpm-debug.log* 9 + 10 + # Diagnostic reports (https://nodejs.org/api/report.html) 11 + report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 12 + 13 + # Runtime data 14 + pids 15 + *.pid 16 + *.seed 17 + *.pid.lock 18 + 19 + # Directory for instrumented libs generated by jscoverage/JSCover 20 + lib-cov 21 + 22 + # Coverage directory used by tools like istanbul 23 + coverage 24 + *.lcov 25 + 26 + # nyc test coverage 27 + .nyc_output 28 + 29 + # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 30 + .grunt 31 + 32 + # Bower dependency directory (https://bower.io/) 33 + bower_components 34 + 35 + # node-waf configuration 36 + .lock-wscript 37 + 38 + # Compiled binary addons (https://nodejs.org/api/addons.html) 39 + build/Release 40 + 41 + # Dependency directories 42 + node_modules/ 43 + jspm_packages/ 44 + 45 + # Snowpack dependency directory (https://snowpack.dev/) 46 + web_modules/ 47 + 48 + # TypeScript cache 49 + *.tsbuildinfo 50 + 51 + # Optional npm cache directory 52 + .npm 53 + 54 + # Optional eslint cache 55 + .eslintcache 56 + 57 + # Optional stylelint cache 58 + .stylelintcache 59 + 60 + # Microbundle cache 61 + .rpt2_cache/ 62 + .rts2_cache_cjs/ 63 + .rts2_cache_es/ 64 + .rts2_cache_umd/ 65 + 66 + # Optional REPL history 67 + .node_repl_history 68 + 69 + # Output of 'npm pack' 70 + *.tgz 71 + 72 + # Yarn Integrity file 73 + .yarn-integrity 74 + 75 + # dotenv environment variable files 76 + .env 77 + .env.development.local 78 + .env.test.local 79 + .env.production.local 80 + .env.local 81 + 82 + # parcel-bundler cache (https://parceljs.org/) 83 + .cache 84 + .parcel-cache 85 + 86 + # Next.js build output 87 + .next 88 + out 89 + 90 + # Nuxt.js build / generate output 91 + .nuxt 92 + dist 93 + 94 + # Gatsby files 95 + .cache/ 96 + # Comment in the public line in if your project uses Gatsby and not Next.js 97 + # https://nextjs.org/blog/next-9-1#public-directory-support 98 + # public 99 + 100 + # vuepress build output 101 + .vuepress/dist 102 + 103 + # vuepress v2.x temp and cache directory 104 + .temp 105 + .cache 106 + 107 + # Docusaurus cache and generated files 108 + .docusaurus 109 + 110 + # Serverless directories 111 + .serverless/ 112 + 113 + # FuseBox cache 114 + .fusebox/ 115 + 116 + # DynamoDB Local files 117 + .dynamodb/ 118 + 119 + # TernJS port file 120 + .tern-port 121 + 122 + # Stores VSCode versions used for testing VSCode extensions 123 + .vscode-test 124 + 125 + # yarn v2 126 + .yarn/cache 127 + .yarn/unplugged 128 + .yarn/build-state.yml 129 + .yarn/install-state.gz 130 + .pnp.*
+4 -12
.env.example
··· 1 - # Whichever port you want to run this on 2 1 FEEDGEN_PORT=3000 3 - 4 - # Set to something like db.sqlite to store persistently 5 - FEEDGEN_SQLITE_LOCATION=":memory:" 6 - 7 - # Don't change unless you're working in a different environment than the primary Bluesky network 2 + DATABASE_URL="postgresql://foo:bar@localhost:5432/baz" 8 3 FEEDGEN_SUBSCRIPTION_ENDPOINT="wss://bsky.social" 9 - 10 - # Set this to the hostname that you intend to run the service at 11 - FEEDGEN_HOSTNAME="example.com" 12 - 13 - # Only use this if you want a service did different from did:web 14 - # FEEDGEN_SERVICE_DID="did:plc:abcde..." 4 + FEEDGEN_HOSTNAME= 5 + HANDLE= 6 + PASSWORD=
+17
.eslintrc.json
··· 1 + { 2 + "env": { 3 + "es2021": true, 4 + "node": true 5 + }, 6 + "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"], 7 + "overrides": [], 8 + "parser": "@typescript-eslint/parser", 9 + "parserOptions": { 10 + "ecmaVersion": "latest", 11 + "sourceType": "module" 12 + }, 13 + "plugins": ["@typescript-eslint"], 14 + "rules": { 15 + "@typescript-eslint/no-non-null-assertion": "off" 16 + } 17 + }
+1 -1
.gitignore
··· 127 127 .yarn/unplugged 128 128 .yarn/build-state.yml 129 129 .yarn/install-state.gz 130 - .pnp.* 130 + .pnp.*
+63
Dockerfile
··· 1 + # # syntax = docker/dockerfile:1 2 + 3 + # # Adjust NODE_VERSION as desired 4 + # ARG NODE_VERSION=18.16.0 5 + # FROM node:${NODE_VERSION}-slim as base 6 + 7 + 8 + 9 + # # Node.js app lives here 10 + # WORKDIR /app 11 + 12 + # # Set production environment 13 + 14 + 15 + # ARG PNPM_VERSION=8.5.1 16 + # RUN npm install -g pnpm@$PNPM_VERSION 17 + 18 + 19 + # # Throw-away build stage to reduce size of final image 20 + # FROM base as build 21 + 22 + # # Install packages needed to build node modules 23 + # RUN apt-get update -qq && \ 24 + # apt-get install -y python-is-python3 pkg-config build-essential 25 + 26 + # # Install node modules 27 + # COPY --link package.json pnpm-lock.yaml ./ 28 + # RUN pnpm install --frozen-lockfile 29 + 30 + # # Copy application code 31 + # COPY --link . . 32 + 33 + # # Build application 34 + # RUN pnpm run build 35 + 36 + # # Remove development dependencies 37 + # RUN pnpm prune --prod 38 + 39 + 40 + # # Final stage for app image 41 + # FROM base 42 + 43 + # # Copy built application 44 + # COPY --from=build /app /app 45 + 46 + # # Start the server by default, this can be overwritten at runtime 47 + # EXPOSE 3000 48 + # CMD [ "pnpm", "run", "start" ] 49 + 50 + FROM node:18-alpine as builder 51 + RUN apk add --no-cache libc6-compat 52 + RUN corepack enable && corepack prepare pnpm@latest --activate 53 + COPY . /app 54 + WORKDIR /app 55 + RUN pnpm i && pnpm run build && pnpm prune --prod 56 + FROM node:18-alpine as base 57 + LABEL fly_launch_runtime="Node.js" 58 + ENV NODE_ENV=production 59 + RUN corepack enable && corepack prepare pnpm@latest --activate 60 + COPY --from=builder /app /app 61 + WORKDIR /app 62 + EXPOSE 3000 63 + CMD [ "pnpm", "run", "start-prod" ]
+20 -14
README.md
··· 1 1 # ATProto Feed Generator 2 2 3 - 🚧 Work in Progress 🚧 3 + 🚧 Work in Progress 🚧 4 4 5 - We are actively developing Feed Generator integration into the Bluesky PDS. Though we are reasonably confident about the general shape and interfaces laid out here, these interfaces and implementation details _are_ subject to change. 5 + We are actively developing Feed Generator integration into the Bluesky PDS. Though we are reasonably confident about the general shape and interfaces laid out here, these interfaces and implementation details _are_ subject to change. 6 6 7 7 In the meantime, we've put together this starter kit for devs. It doesn't do everything, but it should be enough to get you familiar with the system & started building! 8 8 ··· 15 15 A Feed Generator service can host one or more algorithms. The service itself is identified by DID, while each algorithm that it hosts is declared by a record in the repo of the account that created it. For instance, feeds offered by Bluesky will likely be declared in `@bsky.app`'s repo. Therefore, a given algorithm is identified by the at-uri of the declaration record. This declaration record includes a pointer to the service's DID along with some profile information for the feed. 16 16 17 17 The general flow of providing a custom algorithm to a user is as follows: 18 + 18 19 - A user requests a feed from their server (PDS) using the at-uri of the declared feed 19 20 - The PDS resolves the at-uri and finds the DID doc of the Feed Generator 20 21 - The PDS sends a `getFeedSkeleton` request to the service endpoint declared in the Feed Generator's DID doc ··· 32 33 33 34 Next you will need to do two things: 34 35 35 - 1. Implement indexing logic in `src/subscription.ts`. 36 - 36 + 1. Implement indexing logic in `src/subscription.ts`. 37 + 37 38 This will subscribe to the repo subscription stream on startup, parse events & index them according to your provided logic. 38 39 39 40 2. Implement feed generation logic in `src/algos` 40 41 41 - For inspiration, we've provided a very simple feed algorithm (`whats-alf`) that returns all posts related to the titular character of the TV show ALF. 42 + For inspiration, we've provided a very simple feed algorithm (`whats-alf`) that returns all posts related to the titular character of the TV show ALF. 42 43 43 44 You can either edit it or add another algorithm alongside it. The types are in place an dyou will just need to return something that satisfies the `SkeletonFeedPost[]` type. 44 45 ··· 63 64 The skeleton that a Feed Generator puts together is, in its simplest form, a list of post URIs. 64 65 65 66 ```ts 66 - [ 67 - {post: 'at://did:example:1234/app.bsky.feed.post/1'}, 68 - {post: 'at://did:example:1234/app.bsky.feed.post/2'}, 69 - {post: 'at://did:example:1234/app.bsky.feed.post/3'} 67 + ;[ 68 + { post: 'at://did:example:1234/app.bsky.feed.post/1' }, 69 + { post: 'at://did:example:1234/app.bsky.feed.post/2' }, 70 + { post: 'at://did:example:1234/app.bsky.feed.post/3' }, 70 71 ] 71 72 ``` 72 73 ··· 102 103 Users are authenticated with a simple JWT signed by the user's repo signing key. 103 104 104 105 This JWT header/payload takes the format: 106 + 105 107 ```ts 106 108 const header = { 107 - type: "JWT", 108 - alg: "ES256K" // (key algorithm) - in this case secp256k1 109 + type: 'JWT', 110 + alg: 'ES256K', // (key algorithm) - in this case secp256k1 109 111 } 110 112 const payload = { 111 - iss: "did:example:alice", // (issuer) the requesting user's DID 112 - aud: "did:example:feedGenerator", // (audience) the DID of the Feed Generator 113 - exp: 1683643619 // (expiration) unix timestamp in seconds 113 + iss: 'did:example:alice', // (issuer) the requesting user's DID 114 + aud: 'did:example:feedGenerator', // (audience) the DID of the Feed Generator 115 + exp: 1683643619, // (expiration) unix timestamp in seconds 114 116 } 115 117 ``` 116 118 117 119 We provide utilities for verifying user JWTs in the `@atproto/xrpc-server` package, and you can see them in action in `src/auth.ts`. 118 120 119 121 ### Pagination 122 + 120 123 You'll notice that the `getFeedSkeleton` method returns a `cursor` in its response & takes a `cursor` param as input. 121 124 122 125 This cursor is treated as an opaque value & fully at the Feed Generator's discretion. It is simply pased through the PDS directly to & from the client. ··· 137 140 Some examples: 138 141 139 142 ### Reimplementing What's Hot 143 + 140 144 To reimplement "What's Hot", you may subscribe to the firehose & filter for all posts & likes (ignoring profiles/reposts/follows/etc). You would keep a running tally of likes per post & when a PDS requests a feed, you would send the most recent posts that pass some threshold of likes. 141 145 142 146 ### A Community Feed 147 + 143 148 You might create a feed for a given community by compiling a list of DIDs within that community & filtering the firehose for all posts from users within that list. 144 149 145 150 ### A Topical Feed 151 + 146 152 To implement a topical feed, you might filter the algorithm for posts and pass the post text through some filtering mechanism (an LLM, a keyword matcher, etc.) that filters for the topic of your choice.
+14
fly.toml
··· 1 + # fly.toml app configuration file generated for feeds on 2023-05-23T19:11:41+01:00 2 + # 3 + # See https://fly.io/docs/reference/configuration/ for information about how to use this file. 4 + # 5 + 6 + app = "feeds" 7 + primary_region = "lhr" 8 + 9 + [http_service] 10 + internal_port = 3000 11 + force_https = true 12 + auto_stop_machines = true 13 + auto_start_machines = true 14 + min_machines_running = 0
+12 -8
package.json
··· 1 1 { 2 - "name": "feed-generator", 2 + "name": "whos-alice", 3 3 "version": "1.0.0", 4 - "description": "atproto feed generator starter kit", 4 + "description": "custom feed for alices", 5 5 "main": "index.js", 6 6 "repository": "git@github.com:bluesky-social/feed-generator.git", 7 - "author": "dholms <dtholmgren@gmail.com>", 7 + "author": "alice <aliceisjustplaying@gmail.com>", 8 8 "license": "MIT", 9 9 "scripts": { 10 10 "publishFeed": "ts-node scripts/publishFeedGen.ts", 11 11 "start": "ts-node src/index.ts", 12 + "start-prod": "node dist/index.js", 12 13 "build": "tsc" 13 14 }, 14 15 "dependencies": { ··· 16 17 "@atproto/did-resolver": "^0.1.0", 17 18 "@atproto/lexicon": "^0.1.0", 18 19 "@atproto/repo": "^0.1.0", 19 - "@atproto/uri": "^0.0.2", 20 20 "@atproto/xrpc-server": "^0.2.0", 21 - "better-sqlite3": "^8.3.0", 22 21 "dotenv": "^16.0.3", 23 22 "express": "^4.18.2", 24 23 "kysely": "^0.22.0", 25 - "multiformats": "^9.9.0" 24 + "multiformats": "^9.9.0", 25 + "pg": "^8.11.0" 26 26 }, 27 27 "devDependencies": { 28 - "@types/better-sqlite3": "^7.6.4", 28 + "@flydotio/dockerfile": "^0.2.7", 29 29 "@types/express": "^4.17.17", 30 - "@types/node": "^20.1.2", 30 + "@types/node": "^20.2.3", 31 + "@types/pg": "^8.10.1", 32 + "@typescript-eslint/eslint-plugin": "^5.59.7", 33 + "@typescript-eslint/parser": "^5.59.7", 34 + "eslint": "^8.41.0", 31 35 "ts-node": "^10.9.1", 32 36 "typescript": "^5.0.4" 33 37 }
+2322
pnpm-lock.yaml
··· 1 + lockfileVersion: '6.0' 2 + 3 + dependencies: 4 + '@atproto/api': 5 + specifier: ^0.3.7 6 + version: 0.3.7 7 + '@atproto/did-resolver': 8 + specifier: ^0.1.0 9 + version: 0.1.0 10 + '@atproto/lexicon': 11 + specifier: ^0.1.0 12 + version: 0.1.0 13 + '@atproto/repo': 14 + specifier: ^0.1.0 15 + version: 0.1.0 16 + '@atproto/xrpc-server': 17 + specifier: ^0.2.0 18 + version: 0.2.0 19 + dotenv: 20 + specifier: ^16.0.3 21 + version: 16.0.3 22 + express: 23 + specifier: ^4.18.2 24 + version: 4.18.2 25 + kysely: 26 + specifier: ^0.22.0 27 + version: 0.22.0 28 + multiformats: 29 + specifier: ^9.9.0 30 + version: 9.9.0 31 + pg: 32 + specifier: ^8.11.0 33 + version: 8.11.0 34 + 35 + devDependencies: 36 + '@flydotio/dockerfile': 37 + specifier: ^0.2.7 38 + version: 0.2.7 39 + '@types/express': 40 + specifier: ^4.17.17 41 + version: 4.17.17 42 + '@types/node': 43 + specifier: ^20.2.3 44 + version: 20.2.3 45 + '@types/pg': 46 + specifier: ^8.10.1 47 + version: 8.10.1 48 + '@typescript-eslint/eslint-plugin': 49 + specifier: ^5.59.7 50 + version: 5.59.7(@typescript-eslint/parser@5.59.7)(eslint@8.41.0)(typescript@5.0.4) 51 + '@typescript-eslint/parser': 52 + specifier: ^5.59.7 53 + version: 5.59.7(eslint@8.41.0)(typescript@5.0.4) 54 + eslint: 55 + specifier: ^8.41.0 56 + version: 8.41.0 57 + ts-node: 58 + specifier: ^10.9.1 59 + version: 10.9.1(@types/node@20.2.3)(typescript@5.0.4) 60 + typescript: 61 + specifier: ^5.0.4 62 + version: 5.0.4 63 + 64 + packages: 65 + 66 + /@atproto/api@0.3.7: 67 + resolution: {integrity: sha512-JHN3rHNGro4AaJWU64hsmpTUzd2+FbfMBiDkqyBmoKtj972ueBJeH8tz6WdnPcsIRfCj1kRthKFj2yJwgt6aSQ==} 68 + dependencies: 69 + '@atproto/common-web': 0.1.0 70 + '@atproto/uri': 0.0.2 71 + '@atproto/xrpc': 0.1.0 72 + tlds: 1.238.0 73 + typed-emitter: 2.1.0 74 + dev: false 75 + 76 + /@atproto/common-web@0.1.0: 77 + resolution: {integrity: sha512-qD6xF60hvH+cP++fk/mt+0S9cxs94KsK+rNWypNlgnlp7r9By4ltXwtDSR/DNTA8mwDeularUno4VbTd2IWIzA==} 78 + dependencies: 79 + multiformats: 9.9.0 80 + uint8arrays: 3.0.0 81 + zod: 3.21.4 82 + dev: false 83 + 84 + /@atproto/common@0.2.0: 85 + resolution: {integrity: sha512-PVYSC30pyonz2MOxuBLk27uGdwyZQ42gJfCA/NE9jLeuenVDmZnVrK5WqJ7eGg+F88rZj7NcGfRsZdP0GMykEQ==} 86 + dependencies: 87 + '@atproto/common-web': 0.1.0 88 + '@ipld/dag-cbor': 7.0.3 89 + cbor-x: 1.5.3 90 + multiformats: 9.9.0 91 + pino: 8.14.1 92 + dev: false 93 + 94 + /@atproto/crypto@0.1.1: 95 + resolution: {integrity: sha512-/7Ntn55dRZPtCnOd6dVo1IvZzpVut6YTAkZ8iFry9JW29l7ZeNkJd+NTnmWRz3aGQody10jngb4SNxQNi/f3+A==} 96 + dependencies: 97 + '@noble/secp256k1': 1.7.1 98 + big-integer: 1.6.51 99 + multiformats: 9.9.0 100 + one-webcrypto: 1.0.3 101 + uint8arrays: 3.0.0 102 + dev: false 103 + 104 + /@atproto/did-resolver@0.1.0: 105 + resolution: {integrity: sha512-ztljyMMCqXvJSi/Qqa2zEQFvOm1AUUR7Bybr3cM1BCddbhW46gk6/g8BgdZeDt2sMBdye37qTctR9O/FjhigvQ==} 106 + dependencies: 107 + '@atproto/common-web': 0.1.0 108 + '@atproto/crypto': 0.1.1 109 + axios: 0.27.2 110 + zod: 3.21.4 111 + transitivePeerDependencies: 112 + - debug 113 + dev: false 114 + 115 + /@atproto/identifier@0.1.0: 116 + resolution: {integrity: sha512-3LV7+4E6S0k8Rru7NBkyDF6Zf6NHVUXVS9d4l9fiXWMC49ghZMjq0vPmz80xjG1rRuFdJFbpRf4ApFciGxLIyQ==} 117 + dependencies: 118 + '@atproto/common-web': 0.1.0 119 + dev: false 120 + 121 + /@atproto/lexicon@0.1.0: 122 + resolution: {integrity: sha512-Iy+gV9w42xLhrZrmcbZh7VFoHjXuzWvecGHIfz44owNjjv7aE/d2P5BbOX/XicSkmQ8Qkpg0BqwYDD1XBVS+DQ==} 123 + dependencies: 124 + '@atproto/common-web': 0.1.0 125 + '@atproto/identifier': 0.1.0 126 + '@atproto/nsid': 0.0.1 127 + '@atproto/uri': 0.0.2 128 + iso-datestring-validator: 2.2.2 129 + multiformats: 9.9.0 130 + zod: 3.21.4 131 + dev: false 132 + 133 + /@atproto/nsid@0.0.1: 134 + resolution: {integrity: sha512-t5M6/CzWBVYoBbIvfKDpqPj/+ZmyoK9ydZSStcTXosJ27XXwOPhz0VDUGKK2SM9G5Y7TPes8S5KTAU0UdVYFCw==} 135 + dev: false 136 + 137 + /@atproto/repo@0.1.0: 138 + resolution: {integrity: sha512-O4qs5WfSjEFvUtpOTB4n9cLcK6YP/w/ly6Qxc3S8IFevLGYX58NPPr5zlg3dxs64uLKbWWjzhQM7JAqO44MEKw==} 139 + dependencies: 140 + '@atproto/common': 0.2.0 141 + '@atproto/crypto': 0.1.1 142 + '@atproto/did-resolver': 0.1.0 143 + '@atproto/lexicon': 0.1.0 144 + '@atproto/nsid': 0.0.1 145 + '@ipld/car': 3.2.4 146 + '@ipld/dag-cbor': 7.0.3 147 + multiformats: 9.9.0 148 + uint8arrays: 3.0.0 149 + zod: 3.21.4 150 + transitivePeerDependencies: 151 + - debug 152 + dev: false 153 + 154 + /@atproto/uri@0.0.2: 155 + resolution: {integrity: sha512-/6otLZF7BLpT9suSdHuXLbL12nINcWPsLmcOI+dctqovWUjH+XIRVNXDQgBYSrPVetxMiknuEwWelmnA33AEXg==} 156 + dependencies: 157 + '@atproto/identifier': 0.1.0 158 + '@atproto/nsid': 0.0.1 159 + dev: false 160 + 161 + /@atproto/xrpc-server@0.2.0: 162 + resolution: {integrity: sha512-sCJuVUIb1tDIlKCFwHPRHbAgEy0HYGlQ7XhpNqMRKXECh8Z+DRICEne3gLDVaXhyNaC/N7OjHcsyuofDDbuGFQ==} 163 + dependencies: 164 + '@atproto/common': 0.2.0 165 + '@atproto/crypto': 0.1.1 166 + '@atproto/lexicon': 0.1.0 167 + cbor-x: 1.5.3 168 + express: 4.18.2 169 + http-errors: 2.0.0 170 + mime-types: 2.1.35 171 + uint8arrays: 3.0.0 172 + ws: 8.13.0 173 + zod: 3.21.4 174 + transitivePeerDependencies: 175 + - bufferutil 176 + - supports-color 177 + - utf-8-validate 178 + dev: false 179 + 180 + /@atproto/xrpc@0.1.0: 181 + resolution: {integrity: sha512-LhBeZkQwPezjEtricGYnG62udFglOqlnmMSS0KyWgEAPi4KMp4H2F4jNoXcf5NPtZ9S4N4hJaErHX4PJYv2lfA==} 182 + dependencies: 183 + '@atproto/lexicon': 0.1.0 184 + zod: 3.21.4 185 + dev: false 186 + 187 + /@cbor-extract/cbor-extract-darwin-arm64@2.1.1: 188 + resolution: {integrity: sha512-blVBy5MXz6m36Vx0DfLd7PChOQKEs8lK2bD1WJn/vVgG4FXZiZmZb2GECHFvVPA5T7OnODd9xZiL3nMCv6QUhA==} 189 + cpu: [arm64] 190 + os: [darwin] 191 + requiresBuild: true 192 + dev: false 193 + optional: true 194 + 195 + /@cbor-extract/cbor-extract-darwin-x64@2.1.1: 196 + resolution: {integrity: sha512-h6KFOzqk8jXTvkOftyRIWGrd7sKQzQv2jVdTL9nKSf3D2drCvQB/LHUxAOpPXo3pv2clDtKs3xnHalpEh3rDsw==} 197 + cpu: [x64] 198 + os: [darwin] 199 + requiresBuild: true 200 + dev: false 201 + optional: true 202 + 203 + /@cbor-extract/cbor-extract-linux-arm64@2.1.1: 204 + resolution: {integrity: sha512-SxAaRcYf8S0QHaMc7gvRSiTSr7nUYMqbUdErBEu+HYA4Q6UNydx1VwFE68hGcp1qvxcy9yT5U7gA+a5XikfwSQ==} 205 + cpu: [arm64] 206 + os: [linux] 207 + requiresBuild: true 208 + dev: false 209 + optional: true 210 + 211 + /@cbor-extract/cbor-extract-linux-arm@2.1.1: 212 + resolution: {integrity: sha512-ds0uikdcIGUjPyraV4oJqyVE5gl/qYBpa/Wnh6l6xLE2lj/hwnjT2XcZCChdXwW/YFZ1LUHs6waoYN8PmK0nKQ==} 213 + cpu: [arm] 214 + os: [linux] 215 + requiresBuild: true 216 + dev: false 217 + optional: true 218 + 219 + /@cbor-extract/cbor-extract-linux-x64@2.1.1: 220 + resolution: {integrity: sha512-GVK+8fNIE9lJQHAlhOROYiI0Yd4bAZ4u++C2ZjlkS3YmO6hi+FUxe6Dqm+OKWTcMpL/l71N6CQAmaRcb4zyJuA==} 221 + cpu: [x64] 222 + os: [linux] 223 + requiresBuild: true 224 + dev: false 225 + optional: true 226 + 227 + /@cbor-extract/cbor-extract-win32-x64@2.1.1: 228 + resolution: {integrity: sha512-2Niq1C41dCRIDeD8LddiH+mxGlO7HJ612Ll3D/E73ZWBmycued+8ghTr/Ho3CMOWPUEr08XtyBMVXAjqF+TcKw==} 229 + cpu: [x64] 230 + os: [win32] 231 + requiresBuild: true 232 + dev: false 233 + optional: true 234 + 235 + /@cspotcode/source-map-support@0.8.1: 236 + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} 237 + engines: {node: '>=12'} 238 + dependencies: 239 + '@jridgewell/trace-mapping': 0.3.9 240 + dev: true 241 + 242 + /@eslint-community/eslint-utils@4.4.0(eslint@8.41.0): 243 + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} 244 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 245 + peerDependencies: 246 + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 247 + dependencies: 248 + eslint: 8.41.0 249 + eslint-visitor-keys: 3.4.1 250 + dev: true 251 + 252 + /@eslint-community/regexpp@4.5.1: 253 + resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==} 254 + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 255 + dev: true 256 + 257 + /@eslint/eslintrc@2.0.3: 258 + resolution: {integrity: sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==} 259 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 260 + dependencies: 261 + ajv: 6.12.6 262 + debug: 4.3.4 263 + espree: 9.5.2 264 + globals: 13.20.0 265 + ignore: 5.2.4 266 + import-fresh: 3.3.0 267 + js-yaml: 4.1.0 268 + minimatch: 3.1.2 269 + strip-json-comments: 3.1.1 270 + transitivePeerDependencies: 271 + - supports-color 272 + dev: true 273 + 274 + /@eslint/js@8.41.0: 275 + resolution: {integrity: sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==} 276 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 277 + dev: true 278 + 279 + /@flydotio/dockerfile@0.2.7: 280 + resolution: {integrity: sha512-zyDKhwjKfgFfrLgKrty1yrD6fU+YMJgUys9DcyCdIE9Ceg1A3IdZ/TiU6OsCh87RNEFEpRpZEI3aSXKQv+KJyw==} 281 + engines: {node: '>=16.0.0'} 282 + hasBin: true 283 + dependencies: 284 + chalk: 5.2.0 285 + diff: 5.1.0 286 + ejs: 3.1.9 287 + shell-quote: 1.8.1 288 + yargs: 17.7.2 289 + dev: true 290 + 291 + /@humanwhocodes/config-array@0.11.8: 292 + resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} 293 + engines: {node: '>=10.10.0'} 294 + dependencies: 295 + '@humanwhocodes/object-schema': 1.2.1 296 + debug: 4.3.4 297 + minimatch: 3.1.2 298 + transitivePeerDependencies: 299 + - supports-color 300 + dev: true 301 + 302 + /@humanwhocodes/module-importer@1.0.1: 303 + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 304 + engines: {node: '>=12.22'} 305 + dev: true 306 + 307 + /@humanwhocodes/object-schema@1.2.1: 308 + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} 309 + dev: true 310 + 311 + /@ipld/car@3.2.4: 312 + resolution: {integrity: sha512-rezKd+jk8AsTGOoJKqzfjLJ3WVft7NZNH95f0pfPbicROvzTyvHCNy567HzSUd6gRXZ9im29z5ZEv9Hw49jSYw==} 313 + dependencies: 314 + '@ipld/dag-cbor': 7.0.3 315 + multiformats: 9.9.0 316 + varint: 6.0.0 317 + dev: false 318 + 319 + /@ipld/dag-cbor@7.0.3: 320 + resolution: {integrity: sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==} 321 + dependencies: 322 + cborg: 1.10.2 323 + multiformats: 9.9.0 324 + dev: false 325 + 326 + /@jridgewell/resolve-uri@3.1.1: 327 + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} 328 + engines: {node: '>=6.0.0'} 329 + dev: true 330 + 331 + /@jridgewell/sourcemap-codec@1.4.15: 332 + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 333 + dev: true 334 + 335 + /@jridgewell/trace-mapping@0.3.9: 336 + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} 337 + dependencies: 338 + '@jridgewell/resolve-uri': 3.1.1 339 + '@jridgewell/sourcemap-codec': 1.4.15 340 + dev: true 341 + 342 + /@noble/secp256k1@1.7.1: 343 + resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} 344 + dev: false 345 + 346 + /@nodelib/fs.scandir@2.1.5: 347 + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 348 + engines: {node: '>= 8'} 349 + dependencies: 350 + '@nodelib/fs.stat': 2.0.5 351 + run-parallel: 1.2.0 352 + dev: true 353 + 354 + /@nodelib/fs.stat@2.0.5: 355 + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 356 + engines: {node: '>= 8'} 357 + dev: true 358 + 359 + /@nodelib/fs.walk@1.2.8: 360 + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 361 + engines: {node: '>= 8'} 362 + dependencies: 363 + '@nodelib/fs.scandir': 2.1.5 364 + fastq: 1.15.0 365 + dev: true 366 + 367 + /@tsconfig/node10@1.0.9: 368 + resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} 369 + dev: true 370 + 371 + /@tsconfig/node12@1.0.11: 372 + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} 373 + dev: true 374 + 375 + /@tsconfig/node14@1.0.3: 376 + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} 377 + dev: true 378 + 379 + /@tsconfig/node16@1.0.4: 380 + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} 381 + dev: true 382 + 383 + /@types/body-parser@1.19.2: 384 + resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} 385 + dependencies: 386 + '@types/connect': 3.4.35 387 + '@types/node': 20.2.3 388 + dev: true 389 + 390 + /@types/connect@3.4.35: 391 + resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} 392 + dependencies: 393 + '@types/node': 20.2.3 394 + dev: true 395 + 396 + /@types/express-serve-static-core@4.17.35: 397 + resolution: {integrity: sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==} 398 + dependencies: 399 + '@types/node': 20.2.3 400 + '@types/qs': 6.9.7 401 + '@types/range-parser': 1.2.4 402 + '@types/send': 0.17.1 403 + dev: true 404 + 405 + /@types/express@4.17.17: 406 + resolution: {integrity: sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==} 407 + dependencies: 408 + '@types/body-parser': 1.19.2 409 + '@types/express-serve-static-core': 4.17.35 410 + '@types/qs': 6.9.7 411 + '@types/serve-static': 1.15.1 412 + dev: true 413 + 414 + /@types/json-schema@7.0.11: 415 + resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} 416 + dev: true 417 + 418 + /@types/mime@1.3.2: 419 + resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} 420 + dev: true 421 + 422 + /@types/mime@3.0.1: 423 + resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} 424 + dev: true 425 + 426 + /@types/node@20.2.3: 427 + resolution: {integrity: sha512-pg9d0yC4rVNWQzX8U7xb4olIOFuuVL9za3bzMT2pu2SU0SNEi66i2qrvhE2qt0HvkhuCaWJu7pLNOt/Pj8BIrw==} 428 + dev: true 429 + 430 + /@types/pg@8.10.1: 431 + resolution: {integrity: sha512-AmEHA/XxMxemQom5iDwP62FYNkv+gDDnetRG7v2N2dPtju7UKI7FknUimcZo7SodKTHtckYPzaTqUEvUKbVJEA==} 432 + dependencies: 433 + '@types/node': 20.2.3 434 + pg-protocol: 1.6.0 435 + pg-types: 4.0.1 436 + dev: true 437 + 438 + /@types/qs@6.9.7: 439 + resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} 440 + dev: true 441 + 442 + /@types/range-parser@1.2.4: 443 + resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} 444 + dev: true 445 + 446 + /@types/semver@7.5.0: 447 + resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} 448 + dev: true 449 + 450 + /@types/send@0.17.1: 451 + resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} 452 + dependencies: 453 + '@types/mime': 1.3.2 454 + '@types/node': 20.2.3 455 + dev: true 456 + 457 + /@types/serve-static@1.15.1: 458 + resolution: {integrity: sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==} 459 + dependencies: 460 + '@types/mime': 3.0.1 461 + '@types/node': 20.2.3 462 + dev: true 463 + 464 + /@typescript-eslint/eslint-plugin@5.59.7(@typescript-eslint/parser@5.59.7)(eslint@8.41.0)(typescript@5.0.4): 465 + resolution: {integrity: sha512-BL+jYxUFIbuYwy+4fF86k5vdT9lT0CNJ6HtwrIvGh0PhH8s0yy5rjaKH2fDCrz5ITHy07WCzVGNvAmjJh4IJFA==} 466 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 467 + peerDependencies: 468 + '@typescript-eslint/parser': ^5.0.0 469 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 470 + typescript: '*' 471 + peerDependenciesMeta: 472 + typescript: 473 + optional: true 474 + dependencies: 475 + '@eslint-community/regexpp': 4.5.1 476 + '@typescript-eslint/parser': 5.59.7(eslint@8.41.0)(typescript@5.0.4) 477 + '@typescript-eslint/scope-manager': 5.59.7 478 + '@typescript-eslint/type-utils': 5.59.7(eslint@8.41.0)(typescript@5.0.4) 479 + '@typescript-eslint/utils': 5.59.7(eslint@8.41.0)(typescript@5.0.4) 480 + debug: 4.3.4 481 + eslint: 8.41.0 482 + grapheme-splitter: 1.0.4 483 + ignore: 5.2.4 484 + natural-compare-lite: 1.4.0 485 + semver: 7.5.1 486 + tsutils: 3.21.0(typescript@5.0.4) 487 + typescript: 5.0.4 488 + transitivePeerDependencies: 489 + - supports-color 490 + dev: true 491 + 492 + /@typescript-eslint/parser@5.59.7(eslint@8.41.0)(typescript@5.0.4): 493 + resolution: {integrity: sha512-VhpsIEuq/8i5SF+mPg9jSdIwgMBBp0z9XqjiEay+81PYLJuroN+ET1hM5IhkiYMJd9MkTz8iJLt7aaGAgzWUbQ==} 494 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 495 + peerDependencies: 496 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 497 + typescript: '*' 498 + peerDependenciesMeta: 499 + typescript: 500 + optional: true 501 + dependencies: 502 + '@typescript-eslint/scope-manager': 5.59.7 503 + '@typescript-eslint/types': 5.59.7 504 + '@typescript-eslint/typescript-estree': 5.59.7(typescript@5.0.4) 505 + debug: 4.3.4 506 + eslint: 8.41.0 507 + typescript: 5.0.4 508 + transitivePeerDependencies: 509 + - supports-color 510 + dev: true 511 + 512 + /@typescript-eslint/scope-manager@5.59.7: 513 + resolution: {integrity: sha512-FL6hkYWK9zBGdxT2wWEd2W8ocXMu3K94i3gvMrjXpx+koFYdYV7KprKfirpgY34vTGzEPPuKoERpP8kD5h7vZQ==} 514 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 515 + dependencies: 516 + '@typescript-eslint/types': 5.59.7 517 + '@typescript-eslint/visitor-keys': 5.59.7 518 + dev: true 519 + 520 + /@typescript-eslint/type-utils@5.59.7(eslint@8.41.0)(typescript@5.0.4): 521 + resolution: {integrity: sha512-ozuz/GILuYG7osdY5O5yg0QxXUAEoI4Go3Do5xeu+ERH9PorHBPSdvD3Tjp2NN2bNLh1NJQSsQu2TPu/Ly+HaQ==} 522 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 523 + peerDependencies: 524 + eslint: '*' 525 + typescript: '*' 526 + peerDependenciesMeta: 527 + typescript: 528 + optional: true 529 + dependencies: 530 + '@typescript-eslint/typescript-estree': 5.59.7(typescript@5.0.4) 531 + '@typescript-eslint/utils': 5.59.7(eslint@8.41.0)(typescript@5.0.4) 532 + debug: 4.3.4 533 + eslint: 8.41.0 534 + tsutils: 3.21.0(typescript@5.0.4) 535 + typescript: 5.0.4 536 + transitivePeerDependencies: 537 + - supports-color 538 + dev: true 539 + 540 + /@typescript-eslint/types@5.59.7: 541 + resolution: {integrity: sha512-UnVS2MRRg6p7xOSATscWkKjlf/NDKuqo5TdbWck6rIRZbmKpVNTLALzNvcjIfHBE7736kZOFc/4Z3VcZwuOM/A==} 542 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 543 + dev: true 544 + 545 + /@typescript-eslint/typescript-estree@5.59.7(typescript@5.0.4): 546 + resolution: {integrity: sha512-4A1NtZ1I3wMN2UGDkU9HMBL+TIQfbrh4uS0WDMMpf3xMRursDbqEf1ahh6vAAe3mObt8k3ZATnezwG4pdtWuUQ==} 547 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 548 + peerDependencies: 549 + typescript: '*' 550 + peerDependenciesMeta: 551 + typescript: 552 + optional: true 553 + dependencies: 554 + '@typescript-eslint/types': 5.59.7 555 + '@typescript-eslint/visitor-keys': 5.59.7 556 + debug: 4.3.4 557 + globby: 11.1.0 558 + is-glob: 4.0.3 559 + semver: 7.5.1 560 + tsutils: 3.21.0(typescript@5.0.4) 561 + typescript: 5.0.4 562 + transitivePeerDependencies: 563 + - supports-color 564 + dev: true 565 + 566 + /@typescript-eslint/utils@5.59.7(eslint@8.41.0)(typescript@5.0.4): 567 + resolution: {integrity: sha512-yCX9WpdQKaLufz5luG4aJbOpdXf/fjwGMcLFXZVPUz3QqLirG5QcwwnIHNf8cjLjxK4qtzTO8udUtMQSAToQnQ==} 568 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 569 + peerDependencies: 570 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 571 + dependencies: 572 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.41.0) 573 + '@types/json-schema': 7.0.11 574 + '@types/semver': 7.5.0 575 + '@typescript-eslint/scope-manager': 5.59.7 576 + '@typescript-eslint/types': 5.59.7 577 + '@typescript-eslint/typescript-estree': 5.59.7(typescript@5.0.4) 578 + eslint: 8.41.0 579 + eslint-scope: 5.1.1 580 + semver: 7.5.1 581 + transitivePeerDependencies: 582 + - supports-color 583 + - typescript 584 + dev: true 585 + 586 + /@typescript-eslint/visitor-keys@5.59.7: 587 + resolution: {integrity: sha512-tyN+X2jvMslUszIiYbF0ZleP+RqQsFVpGrKI6e0Eet1w8WmhsAtmzaqm8oM8WJQ1ysLwhnsK/4hYHJjOgJVfQQ==} 588 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 589 + dependencies: 590 + '@typescript-eslint/types': 5.59.7 591 + eslint-visitor-keys: 3.4.1 592 + dev: true 593 + 594 + /abort-controller@3.0.0: 595 + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} 596 + engines: {node: '>=6.5'} 597 + dependencies: 598 + event-target-shim: 5.0.1 599 + dev: false 600 + 601 + /accepts@1.3.8: 602 + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} 603 + engines: {node: '>= 0.6'} 604 + dependencies: 605 + mime-types: 2.1.35 606 + negotiator: 0.6.3 607 + dev: false 608 + 609 + /acorn-jsx@5.3.2(acorn@8.8.2): 610 + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 611 + peerDependencies: 612 + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 613 + dependencies: 614 + acorn: 8.8.2 615 + dev: true 616 + 617 + /acorn-walk@8.2.0: 618 + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} 619 + engines: {node: '>=0.4.0'} 620 + dev: true 621 + 622 + /acorn@8.8.2: 623 + resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} 624 + engines: {node: '>=0.4.0'} 625 + hasBin: true 626 + dev: true 627 + 628 + /ajv@6.12.6: 629 + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 630 + dependencies: 631 + fast-deep-equal: 3.1.3 632 + fast-json-stable-stringify: 2.1.0 633 + json-schema-traverse: 0.4.1 634 + uri-js: 4.4.1 635 + dev: true 636 + 637 + /ansi-regex@5.0.1: 638 + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 639 + engines: {node: '>=8'} 640 + dev: true 641 + 642 + /ansi-styles@4.3.0: 643 + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 644 + engines: {node: '>=8'} 645 + dependencies: 646 + color-convert: 2.0.1 647 + dev: true 648 + 649 + /arg@4.1.3: 650 + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} 651 + dev: true 652 + 653 + /argparse@2.0.1: 654 + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 655 + dev: true 656 + 657 + /array-flatten@1.1.1: 658 + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} 659 + dev: false 660 + 661 + /array-union@2.1.0: 662 + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 663 + engines: {node: '>=8'} 664 + dev: true 665 + 666 + /async@3.2.4: 667 + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} 668 + dev: true 669 + 670 + /asynckit@0.4.0: 671 + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} 672 + dev: false 673 + 674 + /atomic-sleep@1.0.0: 675 + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} 676 + engines: {node: '>=8.0.0'} 677 + dev: false 678 + 679 + /axios@0.27.2: 680 + resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} 681 + dependencies: 682 + follow-redirects: 1.15.2 683 + form-data: 4.0.0 684 + transitivePeerDependencies: 685 + - debug 686 + dev: false 687 + 688 + /balanced-match@1.0.2: 689 + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 690 + dev: true 691 + 692 + /base64-js@1.5.1: 693 + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 694 + dev: false 695 + 696 + /big-integer@1.6.51: 697 + resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} 698 + engines: {node: '>=0.6'} 699 + dev: false 700 + 701 + /body-parser@1.20.1: 702 + resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} 703 + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} 704 + dependencies: 705 + bytes: 3.1.2 706 + content-type: 1.0.5 707 + debug: 2.6.9 708 + depd: 2.0.0 709 + destroy: 1.2.0 710 + http-errors: 2.0.0 711 + iconv-lite: 0.4.24 712 + on-finished: 2.4.1 713 + qs: 6.11.0 714 + raw-body: 2.5.1 715 + type-is: 1.6.18 716 + unpipe: 1.0.0 717 + transitivePeerDependencies: 718 + - supports-color 719 + dev: false 720 + 721 + /brace-expansion@1.1.11: 722 + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 723 + dependencies: 724 + balanced-match: 1.0.2 725 + concat-map: 0.0.1 726 + dev: true 727 + 728 + /brace-expansion@2.0.1: 729 + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 730 + dependencies: 731 + balanced-match: 1.0.2 732 + dev: true 733 + 734 + /braces@3.0.2: 735 + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 736 + engines: {node: '>=8'} 737 + dependencies: 738 + fill-range: 7.0.1 739 + dev: true 740 + 741 + /buffer-writer@2.0.0: 742 + resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} 743 + engines: {node: '>=4'} 744 + dev: false 745 + 746 + /buffer@6.0.3: 747 + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} 748 + dependencies: 749 + base64-js: 1.5.1 750 + ieee754: 1.2.1 751 + dev: false 752 + 753 + /bytes@3.1.2: 754 + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} 755 + engines: {node: '>= 0.8'} 756 + dev: false 757 + 758 + /call-bind@1.0.2: 759 + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} 760 + dependencies: 761 + function-bind: 1.1.1 762 + get-intrinsic: 1.2.1 763 + dev: false 764 + 765 + /callsites@3.1.0: 766 + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 767 + engines: {node: '>=6'} 768 + dev: true 769 + 770 + /cbor-extract@2.1.1: 771 + resolution: {integrity: sha512-1UX977+L+zOJHsp0mWFG13GLwO6ucKgSmSW6JTl8B9GUvACvHeIVpFqhU92299Z6PfD09aTXDell5p+lp1rUFA==} 772 + hasBin: true 773 + requiresBuild: true 774 + dependencies: 775 + node-gyp-build-optional-packages: 5.0.3 776 + optionalDependencies: 777 + '@cbor-extract/cbor-extract-darwin-arm64': 2.1.1 778 + '@cbor-extract/cbor-extract-darwin-x64': 2.1.1 779 + '@cbor-extract/cbor-extract-linux-arm': 2.1.1 780 + '@cbor-extract/cbor-extract-linux-arm64': 2.1.1 781 + '@cbor-extract/cbor-extract-linux-x64': 2.1.1 782 + '@cbor-extract/cbor-extract-win32-x64': 2.1.1 783 + dev: false 784 + optional: true 785 + 786 + /cbor-x@1.5.3: 787 + resolution: {integrity: sha512-adrN0S67C7jY2hgqeGcw+Uj6iEGLQa5D/p6/9YNl5AaVIYJaJz/bARfWsP8UikBZWbhS27LN0DJK4531vo9ODw==} 788 + optionalDependencies: 789 + cbor-extract: 2.1.1 790 + dev: false 791 + 792 + /cborg@1.10.2: 793 + resolution: {integrity: sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug==} 794 + hasBin: true 795 + dev: false 796 + 797 + /chalk@4.1.2: 798 + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 799 + engines: {node: '>=10'} 800 + dependencies: 801 + ansi-styles: 4.3.0 802 + supports-color: 7.2.0 803 + dev: true 804 + 805 + /chalk@5.2.0: 806 + resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} 807 + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 808 + dev: true 809 + 810 + /cliui@8.0.1: 811 + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 812 + engines: {node: '>=12'} 813 + dependencies: 814 + string-width: 4.2.3 815 + strip-ansi: 6.0.1 816 + wrap-ansi: 7.0.0 817 + dev: true 818 + 819 + /color-convert@2.0.1: 820 + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 821 + engines: {node: '>=7.0.0'} 822 + dependencies: 823 + color-name: 1.1.4 824 + dev: true 825 + 826 + /color-name@1.1.4: 827 + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 828 + dev: true 829 + 830 + /combined-stream@1.0.8: 831 + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} 832 + engines: {node: '>= 0.8'} 833 + dependencies: 834 + delayed-stream: 1.0.0 835 + dev: false 836 + 837 + /concat-map@0.0.1: 838 + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 839 + dev: true 840 + 841 + /content-disposition@0.5.4: 842 + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} 843 + engines: {node: '>= 0.6'} 844 + dependencies: 845 + safe-buffer: 5.2.1 846 + dev: false 847 + 848 + /content-type@1.0.5: 849 + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} 850 + engines: {node: '>= 0.6'} 851 + dev: false 852 + 853 + /cookie-signature@1.0.6: 854 + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} 855 + dev: false 856 + 857 + /cookie@0.5.0: 858 + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} 859 + engines: {node: '>= 0.6'} 860 + dev: false 861 + 862 + /create-require@1.1.1: 863 + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} 864 + dev: true 865 + 866 + /cross-spawn@7.0.3: 867 + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 868 + engines: {node: '>= 8'} 869 + dependencies: 870 + path-key: 3.1.1 871 + shebang-command: 2.0.0 872 + which: 2.0.2 873 + dev: true 874 + 875 + /debug@2.6.9: 876 + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} 877 + peerDependencies: 878 + supports-color: '*' 879 + peerDependenciesMeta: 880 + supports-color: 881 + optional: true 882 + dependencies: 883 + ms: 2.0.0 884 + dev: false 885 + 886 + /debug@4.3.4: 887 + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 888 + engines: {node: '>=6.0'} 889 + peerDependencies: 890 + supports-color: '*' 891 + peerDependenciesMeta: 892 + supports-color: 893 + optional: true 894 + dependencies: 895 + ms: 2.1.2 896 + dev: true 897 + 898 + /deep-is@0.1.4: 899 + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 900 + dev: true 901 + 902 + /delayed-stream@1.0.0: 903 + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} 904 + engines: {node: '>=0.4.0'} 905 + dev: false 906 + 907 + /depd@2.0.0: 908 + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} 909 + engines: {node: '>= 0.8'} 910 + dev: false 911 + 912 + /destroy@1.2.0: 913 + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} 914 + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} 915 + dev: false 916 + 917 + /diff@4.0.2: 918 + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} 919 + engines: {node: '>=0.3.1'} 920 + dev: true 921 + 922 + /diff@5.1.0: 923 + resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} 924 + engines: {node: '>=0.3.1'} 925 + dev: true 926 + 927 + /dir-glob@3.0.1: 928 + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 929 + engines: {node: '>=8'} 930 + dependencies: 931 + path-type: 4.0.0 932 + dev: true 933 + 934 + /doctrine@3.0.0: 935 + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 936 + engines: {node: '>=6.0.0'} 937 + dependencies: 938 + esutils: 2.0.3 939 + dev: true 940 + 941 + /dotenv@16.0.3: 942 + resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} 943 + engines: {node: '>=12'} 944 + dev: false 945 + 946 + /ee-first@1.1.1: 947 + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} 948 + dev: false 949 + 950 + /ejs@3.1.9: 951 + resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} 952 + engines: {node: '>=0.10.0'} 953 + hasBin: true 954 + dependencies: 955 + jake: 10.8.6 956 + dev: true 957 + 958 + /emoji-regex@8.0.0: 959 + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 960 + dev: true 961 + 962 + /encodeurl@1.0.2: 963 + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} 964 + engines: {node: '>= 0.8'} 965 + dev: false 966 + 967 + /escalade@3.1.1: 968 + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 969 + engines: {node: '>=6'} 970 + dev: true 971 + 972 + /escape-html@1.0.3: 973 + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} 974 + dev: false 975 + 976 + /escape-string-regexp@4.0.0: 977 + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 978 + engines: {node: '>=10'} 979 + dev: true 980 + 981 + /eslint-scope@5.1.1: 982 + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} 983 + engines: {node: '>=8.0.0'} 984 + dependencies: 985 + esrecurse: 4.3.0 986 + estraverse: 4.3.0 987 + dev: true 988 + 989 + /eslint-scope@7.2.0: 990 + resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} 991 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 992 + dependencies: 993 + esrecurse: 4.3.0 994 + estraverse: 5.3.0 995 + dev: true 996 + 997 + /eslint-visitor-keys@3.4.1: 998 + resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==} 999 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1000 + dev: true 1001 + 1002 + /eslint@8.41.0: 1003 + resolution: {integrity: sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==} 1004 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1005 + hasBin: true 1006 + dependencies: 1007 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.41.0) 1008 + '@eslint-community/regexpp': 4.5.1 1009 + '@eslint/eslintrc': 2.0.3 1010 + '@eslint/js': 8.41.0 1011 + '@humanwhocodes/config-array': 0.11.8 1012 + '@humanwhocodes/module-importer': 1.0.1 1013 + '@nodelib/fs.walk': 1.2.8 1014 + ajv: 6.12.6 1015 + chalk: 4.1.2 1016 + cross-spawn: 7.0.3 1017 + debug: 4.3.4 1018 + doctrine: 3.0.0 1019 + escape-string-regexp: 4.0.0 1020 + eslint-scope: 7.2.0 1021 + eslint-visitor-keys: 3.4.1 1022 + espree: 9.5.2 1023 + esquery: 1.5.0 1024 + esutils: 2.0.3 1025 + fast-deep-equal: 3.1.3 1026 + file-entry-cache: 6.0.1 1027 + find-up: 5.0.0 1028 + glob-parent: 6.0.2 1029 + globals: 13.20.0 1030 + graphemer: 1.4.0 1031 + ignore: 5.2.4 1032 + import-fresh: 3.3.0 1033 + imurmurhash: 0.1.4 1034 + is-glob: 4.0.3 1035 + is-path-inside: 3.0.3 1036 + js-yaml: 4.1.0 1037 + json-stable-stringify-without-jsonify: 1.0.1 1038 + levn: 0.4.1 1039 + lodash.merge: 4.6.2 1040 + minimatch: 3.1.2 1041 + natural-compare: 1.4.0 1042 + optionator: 0.9.1 1043 + strip-ansi: 6.0.1 1044 + strip-json-comments: 3.1.1 1045 + text-table: 0.2.0 1046 + transitivePeerDependencies: 1047 + - supports-color 1048 + dev: true 1049 + 1050 + /espree@9.5.2: 1051 + resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==} 1052 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1053 + dependencies: 1054 + acorn: 8.8.2 1055 + acorn-jsx: 5.3.2(acorn@8.8.2) 1056 + eslint-visitor-keys: 3.4.1 1057 + dev: true 1058 + 1059 + /esquery@1.5.0: 1060 + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} 1061 + engines: {node: '>=0.10'} 1062 + dependencies: 1063 + estraverse: 5.3.0 1064 + dev: true 1065 + 1066 + /esrecurse@4.3.0: 1067 + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1068 + engines: {node: '>=4.0'} 1069 + dependencies: 1070 + estraverse: 5.3.0 1071 + dev: true 1072 + 1073 + /estraverse@4.3.0: 1074 + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} 1075 + engines: {node: '>=4.0'} 1076 + dev: true 1077 + 1078 + /estraverse@5.3.0: 1079 + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1080 + engines: {node: '>=4.0'} 1081 + dev: true 1082 + 1083 + /esutils@2.0.3: 1084 + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1085 + engines: {node: '>=0.10.0'} 1086 + dev: true 1087 + 1088 + /etag@1.8.1: 1089 + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} 1090 + engines: {node: '>= 0.6'} 1091 + dev: false 1092 + 1093 + /event-target-shim@5.0.1: 1094 + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} 1095 + engines: {node: '>=6'} 1096 + dev: false 1097 + 1098 + /events@3.3.0: 1099 + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} 1100 + engines: {node: '>=0.8.x'} 1101 + dev: false 1102 + 1103 + /express@4.18.2: 1104 + resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} 1105 + engines: {node: '>= 0.10.0'} 1106 + dependencies: 1107 + accepts: 1.3.8 1108 + array-flatten: 1.1.1 1109 + body-parser: 1.20.1 1110 + content-disposition: 0.5.4 1111 + content-type: 1.0.5 1112 + cookie: 0.5.0 1113 + cookie-signature: 1.0.6 1114 + debug: 2.6.9 1115 + depd: 2.0.0 1116 + encodeurl: 1.0.2 1117 + escape-html: 1.0.3 1118 + etag: 1.8.1 1119 + finalhandler: 1.2.0 1120 + fresh: 0.5.2 1121 + http-errors: 2.0.0 1122 + merge-descriptors: 1.0.1 1123 + methods: 1.1.2 1124 + on-finished: 2.4.1 1125 + parseurl: 1.3.3 1126 + path-to-regexp: 0.1.7 1127 + proxy-addr: 2.0.7 1128 + qs: 6.11.0 1129 + range-parser: 1.2.1 1130 + safe-buffer: 5.2.1 1131 + send: 0.18.0 1132 + serve-static: 1.15.0 1133 + setprototypeof: 1.2.0 1134 + statuses: 2.0.1 1135 + type-is: 1.6.18 1136 + utils-merge: 1.0.1 1137 + vary: 1.1.2 1138 + transitivePeerDependencies: 1139 + - supports-color 1140 + dev: false 1141 + 1142 + /fast-deep-equal@3.1.3: 1143 + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1144 + dev: true 1145 + 1146 + /fast-glob@3.2.12: 1147 + resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} 1148 + engines: {node: '>=8.6.0'} 1149 + dependencies: 1150 + '@nodelib/fs.stat': 2.0.5 1151 + '@nodelib/fs.walk': 1.2.8 1152 + glob-parent: 5.1.2 1153 + merge2: 1.4.1 1154 + micromatch: 4.0.5 1155 + dev: true 1156 + 1157 + /fast-json-stable-stringify@2.1.0: 1158 + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1159 + dev: true 1160 + 1161 + /fast-levenshtein@2.0.6: 1162 + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1163 + dev: true 1164 + 1165 + /fast-redact@3.2.0: 1166 + resolution: {integrity: sha512-zaTadChr+NekyzallAMXATXLOR8MNx3zqpZ0MUF2aGf4EathnG0f32VLODNlY8IuGY3HoRO2L6/6fSzNsLaHIw==} 1167 + engines: {node: '>=6'} 1168 + dev: false 1169 + 1170 + /fastq@1.15.0: 1171 + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} 1172 + dependencies: 1173 + reusify: 1.0.4 1174 + dev: true 1175 + 1176 + /file-entry-cache@6.0.1: 1177 + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1178 + engines: {node: ^10.12.0 || >=12.0.0} 1179 + dependencies: 1180 + flat-cache: 3.0.4 1181 + dev: true 1182 + 1183 + /filelist@1.0.4: 1184 + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} 1185 + dependencies: 1186 + minimatch: 5.1.6 1187 + dev: true 1188 + 1189 + /fill-range@7.0.1: 1190 + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1191 + engines: {node: '>=8'} 1192 + dependencies: 1193 + to-regex-range: 5.0.1 1194 + dev: true 1195 + 1196 + /finalhandler@1.2.0: 1197 + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} 1198 + engines: {node: '>= 0.8'} 1199 + dependencies: 1200 + debug: 2.6.9 1201 + encodeurl: 1.0.2 1202 + escape-html: 1.0.3 1203 + on-finished: 2.4.1 1204 + parseurl: 1.3.3 1205 + statuses: 2.0.1 1206 + unpipe: 1.0.0 1207 + transitivePeerDependencies: 1208 + - supports-color 1209 + dev: false 1210 + 1211 + /find-up@5.0.0: 1212 + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1213 + engines: {node: '>=10'} 1214 + dependencies: 1215 + locate-path: 6.0.0 1216 + path-exists: 4.0.0 1217 + dev: true 1218 + 1219 + /flat-cache@3.0.4: 1220 + resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} 1221 + engines: {node: ^10.12.0 || >=12.0.0} 1222 + dependencies: 1223 + flatted: 3.2.7 1224 + rimraf: 3.0.2 1225 + dev: true 1226 + 1227 + /flatted@3.2.7: 1228 + resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} 1229 + dev: true 1230 + 1231 + /follow-redirects@1.15.2: 1232 + resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} 1233 + engines: {node: '>=4.0'} 1234 + peerDependencies: 1235 + debug: '*' 1236 + peerDependenciesMeta: 1237 + debug: 1238 + optional: true 1239 + dev: false 1240 + 1241 + /form-data@4.0.0: 1242 + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} 1243 + engines: {node: '>= 6'} 1244 + dependencies: 1245 + asynckit: 0.4.0 1246 + combined-stream: 1.0.8 1247 + mime-types: 2.1.35 1248 + dev: false 1249 + 1250 + /forwarded@0.2.0: 1251 + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} 1252 + engines: {node: '>= 0.6'} 1253 + dev: false 1254 + 1255 + /fresh@0.5.2: 1256 + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} 1257 + engines: {node: '>= 0.6'} 1258 + dev: false 1259 + 1260 + /fs.realpath@1.0.0: 1261 + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1262 + dev: true 1263 + 1264 + /function-bind@1.1.1: 1265 + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1266 + dev: false 1267 + 1268 + /get-caller-file@2.0.5: 1269 + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 1270 + engines: {node: 6.* || 8.* || >= 10.*} 1271 + dev: true 1272 + 1273 + /get-intrinsic@1.2.1: 1274 + resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} 1275 + dependencies: 1276 + function-bind: 1.1.1 1277 + has: 1.0.3 1278 + has-proto: 1.0.1 1279 + has-symbols: 1.0.3 1280 + dev: false 1281 + 1282 + /glob-parent@5.1.2: 1283 + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1284 + engines: {node: '>= 6'} 1285 + dependencies: 1286 + is-glob: 4.0.3 1287 + dev: true 1288 + 1289 + /glob-parent@6.0.2: 1290 + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1291 + engines: {node: '>=10.13.0'} 1292 + dependencies: 1293 + is-glob: 4.0.3 1294 + dev: true 1295 + 1296 + /glob@7.2.3: 1297 + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1298 + dependencies: 1299 + fs.realpath: 1.0.0 1300 + inflight: 1.0.6 1301 + inherits: 2.0.4 1302 + minimatch: 3.1.2 1303 + once: 1.4.0 1304 + path-is-absolute: 1.0.1 1305 + dev: true 1306 + 1307 + /globals@13.20.0: 1308 + resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} 1309 + engines: {node: '>=8'} 1310 + dependencies: 1311 + type-fest: 0.20.2 1312 + dev: true 1313 + 1314 + /globby@11.1.0: 1315 + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1316 + engines: {node: '>=10'} 1317 + dependencies: 1318 + array-union: 2.1.0 1319 + dir-glob: 3.0.1 1320 + fast-glob: 3.2.12 1321 + ignore: 5.2.4 1322 + merge2: 1.4.1 1323 + slash: 3.0.0 1324 + dev: true 1325 + 1326 + /grapheme-splitter@1.0.4: 1327 + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} 1328 + dev: true 1329 + 1330 + /graphemer@1.4.0: 1331 + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1332 + dev: true 1333 + 1334 + /has-flag@4.0.0: 1335 + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1336 + engines: {node: '>=8'} 1337 + dev: true 1338 + 1339 + /has-proto@1.0.1: 1340 + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} 1341 + engines: {node: '>= 0.4'} 1342 + dev: false 1343 + 1344 + /has-symbols@1.0.3: 1345 + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 1346 + engines: {node: '>= 0.4'} 1347 + dev: false 1348 + 1349 + /has@1.0.3: 1350 + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1351 + engines: {node: '>= 0.4.0'} 1352 + dependencies: 1353 + function-bind: 1.1.1 1354 + dev: false 1355 + 1356 + /http-errors@2.0.0: 1357 + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} 1358 + engines: {node: '>= 0.8'} 1359 + dependencies: 1360 + depd: 2.0.0 1361 + inherits: 2.0.4 1362 + setprototypeof: 1.2.0 1363 + statuses: 2.0.1 1364 + toidentifier: 1.0.1 1365 + dev: false 1366 + 1367 + /iconv-lite@0.4.24: 1368 + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 1369 + engines: {node: '>=0.10.0'} 1370 + dependencies: 1371 + safer-buffer: 2.1.2 1372 + dev: false 1373 + 1374 + /ieee754@1.2.1: 1375 + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 1376 + dev: false 1377 + 1378 + /ignore@5.2.4: 1379 + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} 1380 + engines: {node: '>= 4'} 1381 + dev: true 1382 + 1383 + /import-fresh@3.3.0: 1384 + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1385 + engines: {node: '>=6'} 1386 + dependencies: 1387 + parent-module: 1.0.1 1388 + resolve-from: 4.0.0 1389 + dev: true 1390 + 1391 + /imurmurhash@0.1.4: 1392 + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1393 + engines: {node: '>=0.8.19'} 1394 + dev: true 1395 + 1396 + /inflight@1.0.6: 1397 + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1398 + dependencies: 1399 + once: 1.4.0 1400 + wrappy: 1.0.2 1401 + dev: true 1402 + 1403 + /inherits@2.0.4: 1404 + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1405 + 1406 + /ipaddr.js@1.9.1: 1407 + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} 1408 + engines: {node: '>= 0.10'} 1409 + dev: false 1410 + 1411 + /is-extglob@2.1.1: 1412 + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1413 + engines: {node: '>=0.10.0'} 1414 + dev: true 1415 + 1416 + /is-fullwidth-code-point@3.0.0: 1417 + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1418 + engines: {node: '>=8'} 1419 + dev: true 1420 + 1421 + /is-glob@4.0.3: 1422 + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1423 + engines: {node: '>=0.10.0'} 1424 + dependencies: 1425 + is-extglob: 2.1.1 1426 + dev: true 1427 + 1428 + /is-number@7.0.0: 1429 + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1430 + engines: {node: '>=0.12.0'} 1431 + dev: true 1432 + 1433 + /is-path-inside@3.0.3: 1434 + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} 1435 + engines: {node: '>=8'} 1436 + dev: true 1437 + 1438 + /isexe@2.0.0: 1439 + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1440 + dev: true 1441 + 1442 + /iso-datestring-validator@2.2.2: 1443 + resolution: {integrity: sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA==} 1444 + dev: false 1445 + 1446 + /jake@10.8.6: 1447 + resolution: {integrity: sha512-G43Ub9IYEFfu72sua6rzooi8V8Gz2lkfk48rW20vEWCGizeaEPlKB1Kh8JIA84yQbiAEfqlPmSpGgCKKxH3rDA==} 1448 + engines: {node: '>=10'} 1449 + hasBin: true 1450 + dependencies: 1451 + async: 3.2.4 1452 + chalk: 4.1.2 1453 + filelist: 1.0.4 1454 + minimatch: 3.1.2 1455 + dev: true 1456 + 1457 + /js-yaml@4.1.0: 1458 + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1459 + hasBin: true 1460 + dependencies: 1461 + argparse: 2.0.1 1462 + dev: true 1463 + 1464 + /json-schema-traverse@0.4.1: 1465 + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1466 + dev: true 1467 + 1468 + /json-stable-stringify-without-jsonify@1.0.1: 1469 + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1470 + dev: true 1471 + 1472 + /kysely@0.22.0: 1473 + resolution: {integrity: sha512-ZE3qWtnqLOalodzfK5QUEcm7AEulhxsPNuKaGFsC3XiqO92vMLm+mAHk/NnbSIOtC4RmGm0nsv700i8KDp1gfQ==} 1474 + engines: {node: '>=14.0.0'} 1475 + dev: false 1476 + 1477 + /levn@0.4.1: 1478 + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1479 + engines: {node: '>= 0.8.0'} 1480 + dependencies: 1481 + prelude-ls: 1.2.1 1482 + type-check: 0.4.0 1483 + dev: true 1484 + 1485 + /locate-path@6.0.0: 1486 + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1487 + engines: {node: '>=10'} 1488 + dependencies: 1489 + p-locate: 5.0.0 1490 + dev: true 1491 + 1492 + /lodash.merge@4.6.2: 1493 + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1494 + dev: true 1495 + 1496 + /lru-cache@6.0.0: 1497 + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 1498 + engines: {node: '>=10'} 1499 + dependencies: 1500 + yallist: 4.0.0 1501 + dev: true 1502 + 1503 + /make-error@1.3.6: 1504 + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} 1505 + dev: true 1506 + 1507 + /media-typer@0.3.0: 1508 + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} 1509 + engines: {node: '>= 0.6'} 1510 + dev: false 1511 + 1512 + /merge-descriptors@1.0.1: 1513 + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} 1514 + dev: false 1515 + 1516 + /merge2@1.4.1: 1517 + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1518 + engines: {node: '>= 8'} 1519 + dev: true 1520 + 1521 + /methods@1.1.2: 1522 + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} 1523 + engines: {node: '>= 0.6'} 1524 + dev: false 1525 + 1526 + /micromatch@4.0.5: 1527 + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 1528 + engines: {node: '>=8.6'} 1529 + dependencies: 1530 + braces: 3.0.2 1531 + picomatch: 2.3.1 1532 + dev: true 1533 + 1534 + /mime-db@1.52.0: 1535 + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} 1536 + engines: {node: '>= 0.6'} 1537 + dev: false 1538 + 1539 + /mime-types@2.1.35: 1540 + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} 1541 + engines: {node: '>= 0.6'} 1542 + dependencies: 1543 + mime-db: 1.52.0 1544 + dev: false 1545 + 1546 + /mime@1.6.0: 1547 + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} 1548 + engines: {node: '>=4'} 1549 + hasBin: true 1550 + dev: false 1551 + 1552 + /minimatch@3.1.2: 1553 + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1554 + dependencies: 1555 + brace-expansion: 1.1.11 1556 + dev: true 1557 + 1558 + /minimatch@5.1.6: 1559 + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} 1560 + engines: {node: '>=10'} 1561 + dependencies: 1562 + brace-expansion: 2.0.1 1563 + dev: true 1564 + 1565 + /ms@2.0.0: 1566 + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} 1567 + dev: false 1568 + 1569 + /ms@2.1.2: 1570 + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1571 + dev: true 1572 + 1573 + /ms@2.1.3: 1574 + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1575 + dev: false 1576 + 1577 + /multiformats@9.9.0: 1578 + resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} 1579 + dev: false 1580 + 1581 + /natural-compare-lite@1.4.0: 1582 + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} 1583 + dev: true 1584 + 1585 + /natural-compare@1.4.0: 1586 + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1587 + dev: true 1588 + 1589 + /negotiator@0.6.3: 1590 + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} 1591 + engines: {node: '>= 0.6'} 1592 + dev: false 1593 + 1594 + /node-gyp-build-optional-packages@5.0.3: 1595 + resolution: {integrity: sha512-k75jcVzk5wnnc/FMxsf4udAoTEUv2jY3ycfdSd3yWu6Cnd1oee6/CfZJApyscA4FJOmdoixWwiwOyf16RzD5JA==} 1596 + hasBin: true 1597 + dev: false 1598 + optional: true 1599 + 1600 + /object-inspect@1.12.3: 1601 + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} 1602 + dev: false 1603 + 1604 + /obuf@1.1.2: 1605 + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} 1606 + dev: true 1607 + 1608 + /on-exit-leak-free@2.1.0: 1609 + resolution: {integrity: sha512-VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w==} 1610 + dev: false 1611 + 1612 + /on-finished@2.4.1: 1613 + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} 1614 + engines: {node: '>= 0.8'} 1615 + dependencies: 1616 + ee-first: 1.1.1 1617 + dev: false 1618 + 1619 + /once@1.4.0: 1620 + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1621 + dependencies: 1622 + wrappy: 1.0.2 1623 + dev: true 1624 + 1625 + /one-webcrypto@1.0.3: 1626 + resolution: {integrity: sha512-fu9ywBVBPx0gS9K0etIROTiCkvI5S1TDjFsYFb3rC1ewFxeOqsbzq7aIMBHsYfrTHBcGXJaONXXjTl8B01cW1Q==} 1627 + dev: false 1628 + 1629 + /optionator@0.9.1: 1630 + resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} 1631 + engines: {node: '>= 0.8.0'} 1632 + dependencies: 1633 + deep-is: 0.1.4 1634 + fast-levenshtein: 2.0.6 1635 + levn: 0.4.1 1636 + prelude-ls: 1.2.1 1637 + type-check: 0.4.0 1638 + word-wrap: 1.2.3 1639 + dev: true 1640 + 1641 + /p-limit@3.1.0: 1642 + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1643 + engines: {node: '>=10'} 1644 + dependencies: 1645 + yocto-queue: 0.1.0 1646 + dev: true 1647 + 1648 + /p-locate@5.0.0: 1649 + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1650 + engines: {node: '>=10'} 1651 + dependencies: 1652 + p-limit: 3.1.0 1653 + dev: true 1654 + 1655 + /packet-reader@1.0.0: 1656 + resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} 1657 + dev: false 1658 + 1659 + /parent-module@1.0.1: 1660 + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1661 + engines: {node: '>=6'} 1662 + dependencies: 1663 + callsites: 3.1.0 1664 + dev: true 1665 + 1666 + /parseurl@1.3.3: 1667 + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} 1668 + engines: {node: '>= 0.8'} 1669 + dev: false 1670 + 1671 + /path-exists@4.0.0: 1672 + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1673 + engines: {node: '>=8'} 1674 + dev: true 1675 + 1676 + /path-is-absolute@1.0.1: 1677 + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1678 + engines: {node: '>=0.10.0'} 1679 + dev: true 1680 + 1681 + /path-key@3.1.1: 1682 + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1683 + engines: {node: '>=8'} 1684 + dev: true 1685 + 1686 + /path-to-regexp@0.1.7: 1687 + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} 1688 + dev: false 1689 + 1690 + /path-type@4.0.0: 1691 + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1692 + engines: {node: '>=8'} 1693 + dev: true 1694 + 1695 + /pg-cloudflare@1.1.0: 1696 + resolution: {integrity: sha512-tGM8/s6frwuAIyRcJ6nWcIvd3+3NmUKIs6OjviIm1HPPFEt5MzQDOTBQyhPWg/m0kCl95M6gA1JaIXtS8KovOA==} 1697 + requiresBuild: true 1698 + dev: false 1699 + optional: true 1700 + 1701 + /pg-connection-string@2.6.0: 1702 + resolution: {integrity: sha512-x14ibktcwlHKoHxx9X3uTVW9zIGR41ZB6QNhHb21OPNdCCO3NaRnpJuwKIQSR4u+Yqjx4HCvy7Hh7VSy1U4dGg==} 1703 + dev: false 1704 + 1705 + /pg-int8@1.0.1: 1706 + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} 1707 + engines: {node: '>=4.0.0'} 1708 + 1709 + /pg-numeric@1.0.2: 1710 + resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} 1711 + engines: {node: '>=4'} 1712 + dev: true 1713 + 1714 + /pg-pool@3.6.0(pg@8.11.0): 1715 + resolution: {integrity: sha512-clFRf2ksqd+F497kWFyM21tMjeikn60oGDmqMT8UBrynEwVEX/5R5xd2sdvdo1cZCFlguORNpVuqxIj+aK4cfQ==} 1716 + peerDependencies: 1717 + pg: '>=8.0' 1718 + dependencies: 1719 + pg: 8.11.0 1720 + dev: false 1721 + 1722 + /pg-protocol@1.6.0: 1723 + resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} 1724 + 1725 + /pg-types@2.2.0: 1726 + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} 1727 + engines: {node: '>=4'} 1728 + dependencies: 1729 + pg-int8: 1.0.1 1730 + postgres-array: 2.0.0 1731 + postgres-bytea: 1.0.0 1732 + postgres-date: 1.0.7 1733 + postgres-interval: 1.2.0 1734 + dev: false 1735 + 1736 + /pg-types@4.0.1: 1737 + resolution: {integrity: sha512-hRCSDuLII9/LE3smys1hRHcu5QGcLs9ggT7I/TCs0IE+2Eesxi9+9RWAAwZ0yaGjxoWICF/YHLOEjydGujoJ+g==} 1738 + engines: {node: '>=10'} 1739 + dependencies: 1740 + pg-int8: 1.0.1 1741 + pg-numeric: 1.0.2 1742 + postgres-array: 3.0.2 1743 + postgres-bytea: 3.0.0 1744 + postgres-date: 2.0.1 1745 + postgres-interval: 3.0.0 1746 + postgres-range: 1.1.3 1747 + dev: true 1748 + 1749 + /pg@8.11.0: 1750 + resolution: {integrity: sha512-meLUVPn2TWgJyLmy7el3fQQVwft4gU5NGyvV0XbD41iU9Jbg8lCH4zexhIkihDzVHJStlt6r088G6/fWeNjhXA==} 1751 + engines: {node: '>= 8.0.0'} 1752 + peerDependencies: 1753 + pg-native: '>=3.0.1' 1754 + peerDependenciesMeta: 1755 + pg-native: 1756 + optional: true 1757 + dependencies: 1758 + buffer-writer: 2.0.0 1759 + packet-reader: 1.0.0 1760 + pg-connection-string: 2.6.0 1761 + pg-pool: 3.6.0(pg@8.11.0) 1762 + pg-protocol: 1.6.0 1763 + pg-types: 2.2.0 1764 + pgpass: 1.0.5 1765 + optionalDependencies: 1766 + pg-cloudflare: 1.1.0 1767 + dev: false 1768 + 1769 + /pgpass@1.0.5: 1770 + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} 1771 + dependencies: 1772 + split2: 4.2.0 1773 + dev: false 1774 + 1775 + /picomatch@2.3.1: 1776 + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1777 + engines: {node: '>=8.6'} 1778 + dev: true 1779 + 1780 + /pino-abstract-transport@1.0.0: 1781 + resolution: {integrity: sha512-c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA==} 1782 + dependencies: 1783 + readable-stream: 4.4.0 1784 + split2: 4.2.0 1785 + dev: false 1786 + 1787 + /pino-std-serializers@6.2.1: 1788 + resolution: {integrity: sha512-wHuWB+CvSVb2XqXM0W/WOYUkVSPbiJb9S5fNB7TBhd8s892Xq910bRxwHtC4l71hgztObTjXL6ZheZXFjhDrDQ==} 1789 + dev: false 1790 + 1791 + /pino@8.14.1: 1792 + resolution: {integrity: sha512-8LYNv7BKWXSfS+k6oEc6occy5La+q2sPwU3q2ljTX5AZk7v+5kND2o5W794FyRaqha6DJajmkNRsWtPpFyMUdw==} 1793 + hasBin: true 1794 + dependencies: 1795 + atomic-sleep: 1.0.0 1796 + fast-redact: 3.2.0 1797 + on-exit-leak-free: 2.1.0 1798 + pino-abstract-transport: 1.0.0 1799 + pino-std-serializers: 6.2.1 1800 + process-warning: 2.2.0 1801 + quick-format-unescaped: 4.0.4 1802 + real-require: 0.2.0 1803 + safe-stable-stringify: 2.4.3 1804 + sonic-boom: 3.3.0 1805 + thread-stream: 2.3.0 1806 + dev: false 1807 + 1808 + /postgres-array@2.0.0: 1809 + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} 1810 + engines: {node: '>=4'} 1811 + dev: false 1812 + 1813 + /postgres-array@3.0.2: 1814 + resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} 1815 + engines: {node: '>=12'} 1816 + dev: true 1817 + 1818 + /postgres-bytea@1.0.0: 1819 + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} 1820 + engines: {node: '>=0.10.0'} 1821 + dev: false 1822 + 1823 + /postgres-bytea@3.0.0: 1824 + resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} 1825 + engines: {node: '>= 6'} 1826 + dependencies: 1827 + obuf: 1.1.2 1828 + dev: true 1829 + 1830 + /postgres-date@1.0.7: 1831 + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} 1832 + engines: {node: '>=0.10.0'} 1833 + dev: false 1834 + 1835 + /postgres-date@2.0.1: 1836 + resolution: {integrity: sha512-YtMKdsDt5Ojv1wQRvUhnyDJNSr2dGIC96mQVKz7xufp07nfuFONzdaowrMHjlAzY6GDLd4f+LUHHAAM1h4MdUw==} 1837 + engines: {node: '>=12'} 1838 + dev: true 1839 + 1840 + /postgres-interval@1.2.0: 1841 + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} 1842 + engines: {node: '>=0.10.0'} 1843 + dependencies: 1844 + xtend: 4.0.2 1845 + dev: false 1846 + 1847 + /postgres-interval@3.0.0: 1848 + resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} 1849 + engines: {node: '>=12'} 1850 + dev: true 1851 + 1852 + /postgres-range@1.1.3: 1853 + resolution: {integrity: sha512-VdlZoocy5lCP0c/t66xAfclglEapXPCIVhqqJRncYpvbCgImF0w67aPKfbqUMr72tO2k5q0TdTZwCLjPTI6C9g==} 1854 + dev: true 1855 + 1856 + /prelude-ls@1.2.1: 1857 + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1858 + engines: {node: '>= 0.8.0'} 1859 + dev: true 1860 + 1861 + /process-warning@2.2.0: 1862 + resolution: {integrity: sha512-/1WZ8+VQjR6avWOgHeEPd7SDQmFQ1B5mC1eRXsCm5TarlNmx/wCsa5GEaxGm05BORRtyG/Ex/3xq3TuRvq57qg==} 1863 + dev: false 1864 + 1865 + /process@0.11.10: 1866 + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} 1867 + engines: {node: '>= 0.6.0'} 1868 + dev: false 1869 + 1870 + /proxy-addr@2.0.7: 1871 + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} 1872 + engines: {node: '>= 0.10'} 1873 + dependencies: 1874 + forwarded: 0.2.0 1875 + ipaddr.js: 1.9.1 1876 + dev: false 1877 + 1878 + /punycode@2.3.0: 1879 + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} 1880 + engines: {node: '>=6'} 1881 + dev: true 1882 + 1883 + /qs@6.11.0: 1884 + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} 1885 + engines: {node: '>=0.6'} 1886 + dependencies: 1887 + side-channel: 1.0.4 1888 + dev: false 1889 + 1890 + /queue-microtask@1.2.3: 1891 + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1892 + dev: true 1893 + 1894 + /quick-format-unescaped@4.0.4: 1895 + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} 1896 + dev: false 1897 + 1898 + /range-parser@1.2.1: 1899 + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} 1900 + engines: {node: '>= 0.6'} 1901 + dev: false 1902 + 1903 + /raw-body@2.5.1: 1904 + resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} 1905 + engines: {node: '>= 0.8'} 1906 + dependencies: 1907 + bytes: 3.1.2 1908 + http-errors: 2.0.0 1909 + iconv-lite: 0.4.24 1910 + unpipe: 1.0.0 1911 + dev: false 1912 + 1913 + /readable-stream@4.4.0: 1914 + resolution: {integrity: sha512-kDMOq0qLtxV9f/SQv522h8cxZBqNZXuXNyjyezmfAAuribMyVXziljpQ/uQhfE1XLg2/TLTW2DsnoE4VAi/krg==} 1915 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1916 + dependencies: 1917 + abort-controller: 3.0.0 1918 + buffer: 6.0.3 1919 + events: 3.3.0 1920 + process: 0.11.10 1921 + dev: false 1922 + 1923 + /real-require@0.2.0: 1924 + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} 1925 + engines: {node: '>= 12.13.0'} 1926 + dev: false 1927 + 1928 + /require-directory@2.1.1: 1929 + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 1930 + engines: {node: '>=0.10.0'} 1931 + dev: true 1932 + 1933 + /resolve-from@4.0.0: 1934 + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1935 + engines: {node: '>=4'} 1936 + dev: true 1937 + 1938 + /reusify@1.0.4: 1939 + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1940 + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1941 + dev: true 1942 + 1943 + /rimraf@3.0.2: 1944 + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 1945 + hasBin: true 1946 + dependencies: 1947 + glob: 7.2.3 1948 + dev: true 1949 + 1950 + /run-parallel@1.2.0: 1951 + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1952 + dependencies: 1953 + queue-microtask: 1.2.3 1954 + dev: true 1955 + 1956 + /rxjs@7.8.1: 1957 + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} 1958 + requiresBuild: true 1959 + dependencies: 1960 + tslib: 2.5.2 1961 + dev: false 1962 + optional: true 1963 + 1964 + /safe-buffer@5.2.1: 1965 + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 1966 + dev: false 1967 + 1968 + /safe-stable-stringify@2.4.3: 1969 + resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} 1970 + engines: {node: '>=10'} 1971 + dev: false 1972 + 1973 + /safer-buffer@2.1.2: 1974 + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 1975 + dev: false 1976 + 1977 + /semver@7.5.1: 1978 + resolution: {integrity: sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==} 1979 + engines: {node: '>=10'} 1980 + hasBin: true 1981 + dependencies: 1982 + lru-cache: 6.0.0 1983 + dev: true 1984 + 1985 + /send@0.18.0: 1986 + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} 1987 + engines: {node: '>= 0.8.0'} 1988 + dependencies: 1989 + debug: 2.6.9 1990 + depd: 2.0.0 1991 + destroy: 1.2.0 1992 + encodeurl: 1.0.2 1993 + escape-html: 1.0.3 1994 + etag: 1.8.1 1995 + fresh: 0.5.2 1996 + http-errors: 2.0.0 1997 + mime: 1.6.0 1998 + ms: 2.1.3 1999 + on-finished: 2.4.1 2000 + range-parser: 1.2.1 2001 + statuses: 2.0.1 2002 + transitivePeerDependencies: 2003 + - supports-color 2004 + dev: false 2005 + 2006 + /serve-static@1.15.0: 2007 + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} 2008 + engines: {node: '>= 0.8.0'} 2009 + dependencies: 2010 + encodeurl: 1.0.2 2011 + escape-html: 1.0.3 2012 + parseurl: 1.3.3 2013 + send: 0.18.0 2014 + transitivePeerDependencies: 2015 + - supports-color 2016 + dev: false 2017 + 2018 + /setprototypeof@1.2.0: 2019 + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} 2020 + dev: false 2021 + 2022 + /shebang-command@2.0.0: 2023 + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2024 + engines: {node: '>=8'} 2025 + dependencies: 2026 + shebang-regex: 3.0.0 2027 + dev: true 2028 + 2029 + /shebang-regex@3.0.0: 2030 + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2031 + engines: {node: '>=8'} 2032 + dev: true 2033 + 2034 + /shell-quote@1.8.1: 2035 + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} 2036 + dev: true 2037 + 2038 + /side-channel@1.0.4: 2039 + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} 2040 + dependencies: 2041 + call-bind: 1.0.2 2042 + get-intrinsic: 1.2.1 2043 + object-inspect: 1.12.3 2044 + dev: false 2045 + 2046 + /slash@3.0.0: 2047 + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 2048 + engines: {node: '>=8'} 2049 + dev: true 2050 + 2051 + /sonic-boom@3.3.0: 2052 + resolution: {integrity: sha512-LYxp34KlZ1a2Jb8ZQgFCK3niIHzibdwtwNUWKg0qQRzsDoJ3Gfgkf8KdBTFU3SkejDEIlWwnSnpVdOZIhFMl/g==} 2053 + dependencies: 2054 + atomic-sleep: 1.0.0 2055 + dev: false 2056 + 2057 + /split2@4.2.0: 2058 + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} 2059 + engines: {node: '>= 10.x'} 2060 + dev: false 2061 + 2062 + /statuses@2.0.1: 2063 + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} 2064 + engines: {node: '>= 0.8'} 2065 + dev: false 2066 + 2067 + /string-width@4.2.3: 2068 + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 2069 + engines: {node: '>=8'} 2070 + dependencies: 2071 + emoji-regex: 8.0.0 2072 + is-fullwidth-code-point: 3.0.0 2073 + strip-ansi: 6.0.1 2074 + dev: true 2075 + 2076 + /strip-ansi@6.0.1: 2077 + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 2078 + engines: {node: '>=8'} 2079 + dependencies: 2080 + ansi-regex: 5.0.1 2081 + dev: true 2082 + 2083 + /strip-json-comments@3.1.1: 2084 + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 2085 + engines: {node: '>=8'} 2086 + dev: true 2087 + 2088 + /supports-color@7.2.0: 2089 + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 2090 + engines: {node: '>=8'} 2091 + dependencies: 2092 + has-flag: 4.0.0 2093 + dev: true 2094 + 2095 + /text-table@0.2.0: 2096 + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 2097 + dev: true 2098 + 2099 + /thread-stream@2.3.0: 2100 + resolution: {integrity: sha512-kaDqm1DET9pp3NXwR8382WHbnpXnRkN9xGN9dQt3B2+dmXiW8X1SOwmFOxAErEQ47ObhZ96J6yhZNXuyCOL7KA==} 2101 + dependencies: 2102 + real-require: 0.2.0 2103 + dev: false 2104 + 2105 + /tlds@1.238.0: 2106 + resolution: {integrity: sha512-lFPF9pZFhLrPodaJ0wt9QIN0l8jOxqmUezGZnm7BfkDSVd9q667oVIJukLVzhF+4oW7uDlrLlfJrL5yu9RWwew==} 2107 + hasBin: true 2108 + dev: false 2109 + 2110 + /to-regex-range@5.0.1: 2111 + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2112 + engines: {node: '>=8.0'} 2113 + dependencies: 2114 + is-number: 7.0.0 2115 + dev: true 2116 + 2117 + /toidentifier@1.0.1: 2118 + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} 2119 + engines: {node: '>=0.6'} 2120 + dev: false 2121 + 2122 + /ts-node@10.9.1(@types/node@20.2.3)(typescript@5.0.4): 2123 + resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} 2124 + hasBin: true 2125 + peerDependencies: 2126 + '@swc/core': '>=1.2.50' 2127 + '@swc/wasm': '>=1.2.50' 2128 + '@types/node': '*' 2129 + typescript: '>=2.7' 2130 + peerDependenciesMeta: 2131 + '@swc/core': 2132 + optional: true 2133 + '@swc/wasm': 2134 + optional: true 2135 + dependencies: 2136 + '@cspotcode/source-map-support': 0.8.1 2137 + '@tsconfig/node10': 1.0.9 2138 + '@tsconfig/node12': 1.0.11 2139 + '@tsconfig/node14': 1.0.3 2140 + '@tsconfig/node16': 1.0.4 2141 + '@types/node': 20.2.3 2142 + acorn: 8.8.2 2143 + acorn-walk: 8.2.0 2144 + arg: 4.1.3 2145 + create-require: 1.1.1 2146 + diff: 4.0.2 2147 + make-error: 1.3.6 2148 + typescript: 5.0.4 2149 + v8-compile-cache-lib: 3.0.1 2150 + yn: 3.1.1 2151 + dev: true 2152 + 2153 + /tslib@1.14.1: 2154 + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 2155 + dev: true 2156 + 2157 + /tslib@2.5.2: 2158 + resolution: {integrity: sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==} 2159 + dev: false 2160 + optional: true 2161 + 2162 + /tsutils@3.21.0(typescript@5.0.4): 2163 + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 2164 + engines: {node: '>= 6'} 2165 + peerDependencies: 2166 + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' 2167 + dependencies: 2168 + tslib: 1.14.1 2169 + typescript: 5.0.4 2170 + dev: true 2171 + 2172 + /type-check@0.4.0: 2173 + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 2174 + engines: {node: '>= 0.8.0'} 2175 + dependencies: 2176 + prelude-ls: 1.2.1 2177 + dev: true 2178 + 2179 + /type-fest@0.20.2: 2180 + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 2181 + engines: {node: '>=10'} 2182 + dev: true 2183 + 2184 + /type-is@1.6.18: 2185 + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} 2186 + engines: {node: '>= 0.6'} 2187 + dependencies: 2188 + media-typer: 0.3.0 2189 + mime-types: 2.1.35 2190 + dev: false 2191 + 2192 + /typed-emitter@2.1.0: 2193 + resolution: {integrity: sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA==} 2194 + optionalDependencies: 2195 + rxjs: 7.8.1 2196 + dev: false 2197 + 2198 + /typescript@5.0.4: 2199 + resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} 2200 + engines: {node: '>=12.20'} 2201 + hasBin: true 2202 + dev: true 2203 + 2204 + /uint8arrays@3.0.0: 2205 + resolution: {integrity: sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==} 2206 + dependencies: 2207 + multiformats: 9.9.0 2208 + dev: false 2209 + 2210 + /unpipe@1.0.0: 2211 + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} 2212 + engines: {node: '>= 0.8'} 2213 + dev: false 2214 + 2215 + /uri-js@4.4.1: 2216 + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 2217 + dependencies: 2218 + punycode: 2.3.0 2219 + dev: true 2220 + 2221 + /utils-merge@1.0.1: 2222 + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} 2223 + engines: {node: '>= 0.4.0'} 2224 + dev: false 2225 + 2226 + /v8-compile-cache-lib@3.0.1: 2227 + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} 2228 + dev: true 2229 + 2230 + /varint@6.0.0: 2231 + resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==} 2232 + dev: false 2233 + 2234 + /vary@1.1.2: 2235 + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} 2236 + engines: {node: '>= 0.8'} 2237 + dev: false 2238 + 2239 + /which@2.0.2: 2240 + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2241 + engines: {node: '>= 8'} 2242 + hasBin: true 2243 + dependencies: 2244 + isexe: 2.0.0 2245 + dev: true 2246 + 2247 + /word-wrap@1.2.3: 2248 + resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} 2249 + engines: {node: '>=0.10.0'} 2250 + dev: true 2251 + 2252 + /wrap-ansi@7.0.0: 2253 + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 2254 + engines: {node: '>=10'} 2255 + dependencies: 2256 + ansi-styles: 4.3.0 2257 + string-width: 4.2.3 2258 + strip-ansi: 6.0.1 2259 + dev: true 2260 + 2261 + /wrappy@1.0.2: 2262 + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 2263 + dev: true 2264 + 2265 + /ws@8.13.0: 2266 + resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} 2267 + engines: {node: '>=10.0.0'} 2268 + peerDependencies: 2269 + bufferutil: ^4.0.1 2270 + utf-8-validate: '>=5.0.2' 2271 + peerDependenciesMeta: 2272 + bufferutil: 2273 + optional: true 2274 + utf-8-validate: 2275 + optional: true 2276 + dev: false 2277 + 2278 + /xtend@4.0.2: 2279 + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} 2280 + engines: {node: '>=0.4'} 2281 + dev: false 2282 + 2283 + /y18n@5.0.8: 2284 + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 2285 + engines: {node: '>=10'} 2286 + dev: true 2287 + 2288 + /yallist@4.0.0: 2289 + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 2290 + dev: true 2291 + 2292 + /yargs-parser@21.1.1: 2293 + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 2294 + engines: {node: '>=12'} 2295 + dev: true 2296 + 2297 + /yargs@17.7.2: 2298 + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} 2299 + engines: {node: '>=12'} 2300 + dependencies: 2301 + cliui: 8.0.1 2302 + escalade: 3.1.1 2303 + get-caller-file: 2.0.5 2304 + require-directory: 2.1.1 2305 + string-width: 4.2.3 2306 + y18n: 5.0.8 2307 + yargs-parser: 21.1.1 2308 + dev: true 2309 + 2310 + /yn@3.1.1: 2311 + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} 2312 + engines: {node: '>=6'} 2313 + dev: true 2314 + 2315 + /yocto-queue@0.1.0: 2316 + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 2317 + engines: {node: '>=10'} 2318 + dev: true 2319 + 2320 + /zod@3.21.4: 2321 + resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} 2322 + dev: false
+6 -6
scripts/publishFeedGen.ts
··· 8 8 9 9 // YOUR bluesky handle 10 10 // Ex: user.bsky.social 11 - const handle = '' 11 + const handle = process.env.HANDLE! 12 12 13 13 // YOUR bluesky password, or preferably an App Password (found in your client settings) 14 14 // Ex: abcd-1234-efgh-5678 15 - const password = '' 15 + const password = process.env.PASSWORD! 16 16 17 17 // A short name for the record that will show in urls 18 18 // Lowercase with no spaces. 19 19 // Ex: whats-hot 20 - const recordName = '' 20 + const recordName = 'whos-alice' 21 21 22 22 // A display name for your feed 23 23 // Ex: What's Hot 24 - const displayName = '' 24 + const displayName = "Who's Alice" 25 25 26 26 // (Optional) A description of your feed 27 27 // Ex: Top trending content from the whole network 28 - const description = '' 28 + const description = 'Tweets from all the Alices.' 29 29 30 30 // (Optional) The path to an image to be used as your feed's avatar 31 31 // Ex: ~/path/to/avatar.jpeg 32 - const avatar: string = '' 32 + const avatar = 'scripts/sun.png' 33 33 34 34 // ------------------------------------- 35 35 // NO NEED TO TOUCH ANYTHING BELOW HERE
scripts/sun.png

This is a binary file and will not be displayed.

+2 -2
src/algos/index.ts
··· 3 3 QueryParams, 4 4 OutputSchema as AlgoOutput, 5 5 } from '../lexicon/types/app/bsky/feed/getFeedSkeleton' 6 - import * as whatsAlf from './whats-alf' 6 + import * as whosAlice from './whos-alice' 7 7 8 8 type AlgoHandler = (ctx: AppContext, params: QueryParams) => Promise<AlgoOutput> 9 9 10 10 const algos: Record<string, AlgoHandler> = { 11 - [whatsAlf.uri]: whatsAlf.handler, 11 + [whosAlice.uri]: whosAlice.handler, 12 12 } 13 13 14 14 export default algos
+2 -1
src/algos/whats-alf.ts src/algos/whos-alice.ts
··· 2 2 import { QueryParams } from '../lexicon/types/app/bsky/feed/getFeedSkeleton' 3 3 import { AppContext } from '../config' 4 4 5 - export const uri = 'at://did:example:alice/app.bsky.feed.generator/whats-alf' 5 + export const uri = 6 + 'at://did:web:feeds.bsky.sh/app.bsky.feed.generator/whos-alice' 6 7 7 8 export const handler = async (ctx: AppContext, params: QueryParams) => { 8 9 let builder = ctx.db
+1 -1
src/config.ts
··· 10 10 export type Config = { 11 11 port: number 12 12 hostname: string 13 - sqliteLocation: string 13 + postgresConnectionString: string 14 14 subscriptionEndpoint: string 15 15 serviceDid: string 16 16 }
+6 -4
src/db/index.ts
··· 1 - import SqliteDb from 'better-sqlite3' 2 - import { Kysely, Migrator, SqliteDialect } from 'kysely' 1 + import { Pool } from 'pg' 2 + import { Kysely, Migrator, PostgresDialect } from 'kysely' 3 3 import { DatabaseSchema } from './schema' 4 4 import { migrationProvider } from './migrations' 5 5 6 6 export const createDb = (location: string): Database => { 7 7 return new Kysely<DatabaseSchema>({ 8 - dialect: new SqliteDialect({ 9 - database: new SqliteDb(location), 8 + dialect: new PostgresDialect({ 9 + pool: new Pool({ 10 + connectionString: location, 11 + }), 10 12 }), 11 13 }) 12 14 }
+28
src/db/migrations.ts
··· 29 29 await db.schema.dropTable('sub_state').execute() 30 30 }, 31 31 } 32 + 33 + migrations['002'] = { 34 + async up(db: Kysely<unknown>) { 35 + await db.schema 36 + .createTable('user') 37 + .addColumn('did', 'varchar', (col) => col.primaryKey()) 38 + .addColumn('handle', 'varchar', (col) => col.notNull()) 39 + .addColumn('displayName', 'varchar') 40 + .addColumn('bio', 'varchar') 41 + .addColumn('indexedAt', 'varchar', (col) => col.notNull()) 42 + .execute() 43 + }, 44 + async down(db: Kysely<unknown>) { 45 + await db.schema.dropTable('user').execute() 46 + }, 47 + } 48 + 49 + migrations['003'] = { 50 + async up(db: Kysely<unknown>) { 51 + await db.schema 52 + .createTable('alice') 53 + .addColumn('did', 'varchar', (col) => col.primaryKey()) 54 + .execute() 55 + }, 56 + async down(db: Kysely<unknown>) { 57 + await db.schema.dropTable('alice').execute() 58 + }, 59 + }
+14
src/db/schema.ts
··· 1 1 export type DatabaseSchema = { 2 2 post: Post 3 + user: User 4 + alice: Alice 3 5 sub_state: SubState 4 6 } 5 7 ··· 15 17 service: string 16 18 cursor: number 17 19 } 20 + 21 + export type User = { 22 + did: string 23 + handle: string 24 + displayName: string | null 25 + bio: string | null 26 + indexedAt: string 27 + } 28 + 29 + export type Alice = { 30 + did: string 31 + }
+1 -1
src/index.ts
··· 8 8 maybeStr(process.env.FEEDGEN_SERVICE_DID) ?? `did:web:${hostname}` 9 9 const server = FeedGenerator.create({ 10 10 port: maybeInt(process.env.FEEDGEN_PORT) ?? 3000, 11 - sqliteLocation: maybeStr(process.env.FEEDGEN_SQLITE_LOCATION) ?? ':memory:', 11 + postgresConnectionString: process.env.DATABASE_URL!, 12 12 subscriptionEndpoint: 13 13 maybeStr(process.env.FEEDGEN_SUBSCRIPTION_ENDPOINT) ?? 14 14 'wss://bsky.social',
+12 -2
src/server.ts
··· 9 9 import { FirehoseSubscription } from './subscription' 10 10 import { AppContext, Config } from './config' 11 11 import wellKnown from './well-known' 12 + import AtpAgent from '@atproto/api' 13 + import * as process from 'node:process' 12 14 13 15 export class FeedGenerator { 14 16 public app: express.Application ··· 16 18 public db: Database 17 19 public firehose: FirehoseSubscription 18 20 public cfg: Config 21 + public agent: AtpAgent 22 + public didResolver: DidResolver 19 23 20 24 constructor( 21 25 app: express.Application, ··· 31 35 32 36 static create(cfg: Config) { 33 37 const app = express() 34 - const db = createDb(cfg.sqliteLocation) 38 + const db = createDb(cfg.postgresConnectionString) 35 39 const firehose = new FirehoseSubscription(db, cfg.subscriptionEndpoint) 36 40 37 41 const didCache = new MemoryCache() ··· 63 67 64 68 async start(): Promise<http.Server> { 65 69 await migrateToLatest(this.db) 66 - this.firehose.run() 70 + this.agent = new AtpAgent({ service: 'https://bsky.social' }) 71 + await this.agent.login({ 72 + identifier: process.env.HANDLE!, 73 + password: process.env.PASSWORD!, 74 + }) 75 + console.log('logged in') 76 + this.firehose.run(this.agent) 67 77 this.server = this.app.listen(this.cfg.port) 68 78 await events.once(this.server, 'listening') 69 79 return this.server
+55 -12
src/subscription.ts
··· 1 + import AtpAgent from '@atproto/api' 1 2 import { 2 3 OutputSchema as RepoEvent, 3 4 isCommit, ··· 5 6 import { FirehoseSubscriptionBase, getOpsByType } from './util/subscription' 6 7 7 8 export class FirehoseSubscription extends FirehoseSubscriptionBase { 8 - async handleEvent(evt: RepoEvent) { 9 + async handleEvent(evt: RepoEvent, agent: AtpAgent) { 9 10 if (!isCommit(evt)) return 10 11 const ops = await getOpsByType(evt) 11 - 12 - // This logs the text of every post off the firehose. 13 - // Just for fun :) 14 - // Delete before actually using 15 - for (const post of ops.posts.creates) { 16 - console.log(post.record.text) 17 - } 18 - 12 + const allice = await this.db.selectFrom('alice').select('did').execute() 13 + // console.log('❤️❤️❤️ ALICE DIDS ❤️❤️❤️', allice) 19 14 const postsToDelete = ops.posts.deletes.map((del) => del.uri) 20 15 const postsToCreate = ops.posts.creates 21 16 .filter((create) => { 22 - // only alf-related posts 23 - return create.record.text.toLowerCase().includes('alf') 17 + // only alice posts 18 + return allice.find((alice) => alice.did === create.author) 24 19 }) 25 20 .map((create) => { 26 - // map alf-related posts to a db row 21 + // map alice-related posts to a db row 27 22 return { 28 23 uri: create.uri, 29 24 cid: create.cid, ··· 46 41 .onConflict((oc) => oc.doNothing()) 47 42 .execute() 48 43 } 44 + 45 + ops.posts.creates.forEach(async (create) => { 46 + const user = await this.db 47 + .selectFrom('user') 48 + .select('did') 49 + .where('did', '=', create.author) 50 + .execute() 51 + if (user.length === 0) { 52 + // console.log(`!!!!! fetching profile for ${create.author}`) 53 + const profile = await agent.api.app.bsky.actor.getProfile({ 54 + actor: create.author, 55 + }) 56 + await this.db 57 + .insertInto('user') 58 + .values({ 59 + did: create.author, 60 + handle: profile.data.handle, 61 + displayName: profile.data.displayName, 62 + bio: profile.data.description, 63 + indexedAt: new Date().toISOString(), 64 + }) 65 + .execute() 66 + if (profile.data.displayName?.toLowerCase().includes('alice')) { 67 + const alice = await this.db 68 + .selectFrom('alice') 69 + .select('did') 70 + .where('did', '=', create.author) 71 + .execute() 72 + if (alice.length == 0) { 73 + await this.db 74 + .insertInto('alice') 75 + .values({ 76 + did: create.author, 77 + }) 78 + .execute() 79 + console.log('⭐️⭐️⭐️ !!! ALICE FOUND !!! ⭐️⭐️⭐️') 80 + console.log( 81 + `${create.author} is ${profile.data.handle} with display name ${profile.data.displayName}`, 82 + ) 83 + } 84 + } 85 + // console.log( 86 + // `${create.author} is ${profile.data.handle} with display name ${profile.data.displayName}`, 87 + // ) 88 + } else { 89 + // console.log(user) 90 + } 91 + }) 49 92 } 50 93 }
+4 -3
src/util/subscription.ts
··· 15 15 16 16 export abstract class FirehoseSubscriptionBase { 17 17 public sub: Subscription<RepoEvent> 18 + public agent 18 19 19 20 constructor(public db: Database, public service: string) { 20 21 this.sub = new Subscription({ ··· 34 35 }) 35 36 } 36 37 37 - abstract handleEvent(evt: RepoEvent): Promise<void> 38 + abstract handleEvent(evt: RepoEvent, agent): Promise<void> 38 39 39 - async run() { 40 + async run(agent) { 40 41 for await (const evt of this.sub) { 41 42 try { 42 - await this.handleEvent(evt) 43 + await this.handleEvent(evt, agent) 43 44 } catch (err) { 44 45 console.error('repo subscription could not handle message', err) 45 46 }
+3 -8
tsconfig.json
··· 1 - 2 1 { 3 2 "compilerOptions": { 4 - "lib": [ 5 - "ESNext", 6 - ], 3 + "lib": ["ESNext"], 7 4 "outDir": "dist", 8 5 "module": "CommonJS", 9 6 "target": "ES6", ··· 15 12 "skipLibCheck": true 16 13 }, 17 14 "include": ["./src/**/*.ts"], 18 - "exclude": [ 19 - "node_modules" 20 - ] 21 - } 15 + "exclude": ["node_modules"] 16 + }
-1297
yarn.lock
··· 1 - # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 - # yarn lockfile v1 3 - 4 - 5 - "@atproto/api@^0.3.7": 6 - version "0.3.7" 7 - resolved "https://registry.yarnpkg.com/@atproto/api/-/api-0.3.7.tgz#5cc4b0ccc5c6690eb0e5a3ae138a84ce20697e2f" 8 - integrity sha512-JHN3rHNGro4AaJWU64hsmpTUzd2+FbfMBiDkqyBmoKtj972ueBJeH8tz6WdnPcsIRfCj1kRthKFj2yJwgt6aSQ== 9 - dependencies: 10 - "@atproto/common-web" "*" 11 - "@atproto/uri" "*" 12 - "@atproto/xrpc" "*" 13 - tlds "^1.234.0" 14 - typed-emitter "^2.1.0" 15 - 16 - "@atproto/common-web@*": 17 - version "0.1.0" 18 - resolved "https://registry.npmjs.org/@atproto/common-web/-/common-web-0.1.0.tgz" 19 - integrity sha512-qD6xF60hvH+cP++fk/mt+0S9cxs94KsK+rNWypNlgnlp7r9By4ltXwtDSR/DNTA8mwDeularUno4VbTd2IWIzA== 20 - dependencies: 21 - multiformats "^9.6.4" 22 - uint8arrays "3.0.0" 23 - zod "^3.14.2" 24 - 25 - "@atproto/common@*": 26 - version "0.2.0" 27 - resolved "https://registry.npmjs.org/@atproto/common/-/common-0.2.0.tgz" 28 - integrity sha512-PVYSC30pyonz2MOxuBLk27uGdwyZQ42gJfCA/NE9jLeuenVDmZnVrK5WqJ7eGg+F88rZj7NcGfRsZdP0GMykEQ== 29 - dependencies: 30 - "@atproto/common-web" "*" 31 - "@ipld/dag-cbor" "^7.0.3" 32 - cbor-x "^1.5.1" 33 - multiformats "^9.6.4" 34 - pino "^8.6.1" 35 - 36 - "@atproto/crypto@*": 37 - version "0.1.1" 38 - resolved "https://registry.npmjs.org/@atproto/crypto/-/crypto-0.1.1.tgz" 39 - integrity sha512-/7Ntn55dRZPtCnOd6dVo1IvZzpVut6YTAkZ8iFry9JW29l7ZeNkJd+NTnmWRz3aGQody10jngb4SNxQNi/f3+A== 40 - dependencies: 41 - "@noble/secp256k1" "^1.7.0" 42 - big-integer "^1.6.51" 43 - multiformats "^9.6.4" 44 - one-webcrypto "^1.0.3" 45 - uint8arrays "3.0.0" 46 - 47 - "@atproto/did-resolver@*", "@atproto/did-resolver@^0.1.0": 48 - version "0.1.0" 49 - resolved "https://registry.npmjs.org/@atproto/did-resolver/-/did-resolver-0.1.0.tgz" 50 - integrity sha512-ztljyMMCqXvJSi/Qqa2zEQFvOm1AUUR7Bybr3cM1BCddbhW46gk6/g8BgdZeDt2sMBdye37qTctR9O/FjhigvQ== 51 - dependencies: 52 - "@atproto/common-web" "*" 53 - "@atproto/crypto" "*" 54 - axios "^0.27.2" 55 - zod "^3.14.2" 56 - 57 - "@atproto/identifier@*": 58 - version "0.1.0" 59 - resolved "https://registry.npmjs.org/@atproto/identifier/-/identifier-0.1.0.tgz" 60 - integrity sha512-3LV7+4E6S0k8Rru7NBkyDF6Zf6NHVUXVS9d4l9fiXWMC49ghZMjq0vPmz80xjG1rRuFdJFbpRf4ApFciGxLIyQ== 61 - dependencies: 62 - "@atproto/common-web" "*" 63 - 64 - "@atproto/lexicon@*", "@atproto/lexicon@^0.1.0": 65 - version "0.1.0" 66 - resolved "https://registry.npmjs.org/@atproto/lexicon/-/lexicon-0.1.0.tgz" 67 - integrity sha512-Iy+gV9w42xLhrZrmcbZh7VFoHjXuzWvecGHIfz44owNjjv7aE/d2P5BbOX/XicSkmQ8Qkpg0BqwYDD1XBVS+DQ== 68 - dependencies: 69 - "@atproto/common-web" "*" 70 - "@atproto/identifier" "*" 71 - "@atproto/nsid" "*" 72 - "@atproto/uri" "*" 73 - iso-datestring-validator "^2.2.2" 74 - multiformats "^9.6.4" 75 - zod "^3.14.2" 76 - 77 - "@atproto/nsid@*": 78 - version "0.0.1" 79 - resolved "https://registry.npmjs.org/@atproto/nsid/-/nsid-0.0.1.tgz" 80 - integrity sha512-t5M6/CzWBVYoBbIvfKDpqPj/+ZmyoK9ydZSStcTXosJ27XXwOPhz0VDUGKK2SM9G5Y7TPes8S5KTAU0UdVYFCw== 81 - 82 - "@atproto/repo@^0.1.0": 83 - version "0.1.0" 84 - resolved "https://registry.npmjs.org/@atproto/repo/-/repo-0.1.0.tgz" 85 - integrity sha512-O4qs5WfSjEFvUtpOTB4n9cLcK6YP/w/ly6Qxc3S8IFevLGYX58NPPr5zlg3dxs64uLKbWWjzhQM7JAqO44MEKw== 86 - dependencies: 87 - "@atproto/common" "*" 88 - "@atproto/crypto" "*" 89 - "@atproto/did-resolver" "*" 90 - "@atproto/lexicon" "*" 91 - "@atproto/nsid" "*" 92 - "@ipld/car" "^3.2.3" 93 - "@ipld/dag-cbor" "^7.0.0" 94 - multiformats "^9.6.4" 95 - uint8arrays "3.0.0" 96 - zod "^3.14.2" 97 - 98 - "@atproto/uri@*", "@atproto/uri@^0.0.2": 99 - version "0.0.2" 100 - resolved "https://registry.npmjs.org/@atproto/uri/-/uri-0.0.2.tgz" 101 - integrity sha512-/6otLZF7BLpT9suSdHuXLbL12nINcWPsLmcOI+dctqovWUjH+XIRVNXDQgBYSrPVetxMiknuEwWelmnA33AEXg== 102 - dependencies: 103 - "@atproto/identifier" "*" 104 - "@atproto/nsid" "*" 105 - 106 - "@atproto/xrpc-server@^0.2.0": 107 - version "0.2.0" 108 - resolved "https://registry.npmjs.org/@atproto/xrpc-server/-/xrpc-server-0.2.0.tgz" 109 - integrity sha512-sCJuVUIb1tDIlKCFwHPRHbAgEy0HYGlQ7XhpNqMRKXECh8Z+DRICEne3gLDVaXhyNaC/N7OjHcsyuofDDbuGFQ== 110 - dependencies: 111 - "@atproto/common" "*" 112 - "@atproto/crypto" "*" 113 - "@atproto/lexicon" "*" 114 - cbor-x "^1.5.1" 115 - express "^4.17.2" 116 - http-errors "^2.0.0" 117 - mime-types "^2.1.35" 118 - uint8arrays "3.0.0" 119 - ws "^8.12.0" 120 - zod "^3.14.2" 121 - 122 - "@atproto/xrpc@*": 123 - version "0.1.0" 124 - resolved "https://registry.yarnpkg.com/@atproto/xrpc/-/xrpc-0.1.0.tgz#798569095538ac060475ae51f1b4c071ff8776d6" 125 - integrity sha512-LhBeZkQwPezjEtricGYnG62udFglOqlnmMSS0KyWgEAPi4KMp4H2F4jNoXcf5NPtZ9S4N4hJaErHX4PJYv2lfA== 126 - dependencies: 127 - "@atproto/lexicon" "*" 128 - zod "^3.14.2" 129 - 130 - "@cbor-extract/cbor-extract-darwin-arm64@2.1.1": 131 - version "2.1.1" 132 - resolved "https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-arm64/-/cbor-extract-darwin-arm64-2.1.1.tgz" 133 - integrity sha512-blVBy5MXz6m36Vx0DfLd7PChOQKEs8lK2bD1WJn/vVgG4FXZiZmZb2GECHFvVPA5T7OnODd9xZiL3nMCv6QUhA== 134 - 135 - "@cbor-extract/cbor-extract-darwin-x64@2.1.1": 136 - version "2.1.1" 137 - resolved "https://registry.yarnpkg.com/@cbor-extract/cbor-extract-darwin-x64/-/cbor-extract-darwin-x64-2.1.1.tgz#c25e7d0133950d87d101d7b3afafea8d50d83f5f" 138 - integrity sha512-h6KFOzqk8jXTvkOftyRIWGrd7sKQzQv2jVdTL9nKSf3D2drCvQB/LHUxAOpPXo3pv2clDtKs3xnHalpEh3rDsw== 139 - 140 - "@cbor-extract/cbor-extract-linux-arm64@2.1.1": 141 - version "2.1.1" 142 - resolved "https://registry.yarnpkg.com/@cbor-extract/cbor-extract-linux-arm64/-/cbor-extract-linux-arm64-2.1.1.tgz#48f78e7d8f0fcc84ed074b6bfa6d15dd83187c63" 143 - integrity sha512-SxAaRcYf8S0QHaMc7gvRSiTSr7nUYMqbUdErBEu+HYA4Q6UNydx1VwFE68hGcp1qvxcy9yT5U7gA+a5XikfwSQ== 144 - 145 - "@cbor-extract/cbor-extract-linux-arm@2.1.1": 146 - version "2.1.1" 147 - resolved "https://registry.yarnpkg.com/@cbor-extract/cbor-extract-linux-arm/-/cbor-extract-linux-arm-2.1.1.tgz#7507d346389cb682e44fab8fae9534edd52e2e41" 148 - integrity sha512-ds0uikdcIGUjPyraV4oJqyVE5gl/qYBpa/Wnh6l6xLE2lj/hwnjT2XcZCChdXwW/YFZ1LUHs6waoYN8PmK0nKQ== 149 - 150 - "@cbor-extract/cbor-extract-linux-x64@2.1.1": 151 - version "2.1.1" 152 - resolved "https://registry.yarnpkg.com/@cbor-extract/cbor-extract-linux-x64/-/cbor-extract-linux-x64-2.1.1.tgz#b7c1d2be61c58ec18d58afbad52411ded63cd4cd" 153 - integrity sha512-GVK+8fNIE9lJQHAlhOROYiI0Yd4bAZ4u++C2ZjlkS3YmO6hi+FUxe6Dqm+OKWTcMpL/l71N6CQAmaRcb4zyJuA== 154 - 155 - "@cbor-extract/cbor-extract-win32-x64@2.1.1": 156 - version "2.1.1" 157 - resolved "https://registry.yarnpkg.com/@cbor-extract/cbor-extract-win32-x64/-/cbor-extract-win32-x64-2.1.1.tgz#21b11a1a3f18c3e7d62fd5f87438b7ed2c64c1f7" 158 - integrity sha512-2Niq1C41dCRIDeD8LddiH+mxGlO7HJ612Ll3D/E73ZWBmycued+8ghTr/Ho3CMOWPUEr08XtyBMVXAjqF+TcKw== 159 - 160 - "@cspotcode/source-map-support@^0.8.0": 161 - version "0.8.1" 162 - resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" 163 - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== 164 - dependencies: 165 - "@jridgewell/trace-mapping" "0.3.9" 166 - 167 - "@ipld/car@^3.2.3": 168 - version "3.2.4" 169 - resolved "https://registry.npmjs.org/@ipld/car/-/car-3.2.4.tgz" 170 - integrity sha512-rezKd+jk8AsTGOoJKqzfjLJ3WVft7NZNH95f0pfPbicROvzTyvHCNy567HzSUd6gRXZ9im29z5ZEv9Hw49jSYw== 171 - dependencies: 172 - "@ipld/dag-cbor" "^7.0.0" 173 - multiformats "^9.5.4" 174 - varint "^6.0.0" 175 - 176 - "@ipld/dag-cbor@^7.0.0", "@ipld/dag-cbor@^7.0.3": 177 - version "7.0.3" 178 - resolved "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-7.0.3.tgz" 179 - integrity sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA== 180 - dependencies: 181 - cborg "^1.6.0" 182 - multiformats "^9.5.4" 183 - 184 - "@jridgewell/resolve-uri@^3.0.3": 185 - version "3.1.1" 186 - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz" 187 - integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== 188 - 189 - "@jridgewell/sourcemap-codec@^1.4.10": 190 - version "1.4.15" 191 - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" 192 - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== 193 - 194 - "@jridgewell/trace-mapping@0.3.9": 195 - version "0.3.9" 196 - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" 197 - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== 198 - dependencies: 199 - "@jridgewell/resolve-uri" "^3.0.3" 200 - "@jridgewell/sourcemap-codec" "^1.4.10" 201 - 202 - "@noble/secp256k1@^1.7.0": 203 - version "1.7.1" 204 - resolved "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz" 205 - integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw== 206 - 207 - "@tsconfig/node10@^1.0.7": 208 - version "1.0.9" 209 - resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz" 210 - integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== 211 - 212 - "@tsconfig/node12@^1.0.7": 213 - version "1.0.11" 214 - resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" 215 - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== 216 - 217 - "@tsconfig/node14@^1.0.0": 218 - version "1.0.3" 219 - resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" 220 - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== 221 - 222 - "@tsconfig/node16@^1.0.2": 223 - version "1.0.3" 224 - resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz" 225 - integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== 226 - 227 - "@types/better-sqlite3@^7.6.4": 228 - version "7.6.4" 229 - resolved "https://registry.npmjs.org/@types/better-sqlite3/-/better-sqlite3-7.6.4.tgz" 230 - integrity sha512-dzrRZCYPXIXfSR1/surNbJ/grU3scTaygS0OMzjlGf71i9sc2fGyHPXXiXmEvNIoE0cGwsanEFMVJxPXmco9Eg== 231 - dependencies: 232 - "@types/node" "*" 233 - 234 - "@types/body-parser@*": 235 - version "1.19.2" 236 - resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz" 237 - integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== 238 - dependencies: 239 - "@types/connect" "*" 240 - "@types/node" "*" 241 - 242 - "@types/connect@*": 243 - version "3.4.35" 244 - resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz" 245 - integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== 246 - dependencies: 247 - "@types/node" "*" 248 - 249 - "@types/express-serve-static-core@^4.17.33": 250 - version "4.17.34" 251 - resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.34.tgz" 252 - integrity sha512-fvr49XlCGoUj2Pp730AItckfjat4WNb0lb3kfrLWffd+RLeoGAMsq7UOy04PAPtoL01uKwcp6u8nhzpgpDYr3w== 253 - dependencies: 254 - "@types/node" "*" 255 - "@types/qs" "*" 256 - "@types/range-parser" "*" 257 - "@types/send" "*" 258 - 259 - "@types/express@^4.17.17": 260 - version "4.17.17" 261 - resolved "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz" 262 - integrity sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q== 263 - dependencies: 264 - "@types/body-parser" "*" 265 - "@types/express-serve-static-core" "^4.17.33" 266 - "@types/qs" "*" 267 - "@types/serve-static" "*" 268 - 269 - "@types/mime@*", "@types/mime@^1": 270 - version "1.3.2" 271 - resolved "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz" 272 - integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== 273 - 274 - "@types/node@*", "@types/node@^20.1.2": 275 - version "20.1.2" 276 - resolved "https://registry.npmjs.org/@types/node/-/node-20.1.2.tgz" 277 - integrity sha512-CTO/wa8x+rZU626cL2BlbCDzydgnFNgc19h4YvizpTO88MFQxab8wqisxaofQJ/9bLGugRdWIuX/TbIs6VVF6g== 278 - 279 - "@types/qs@*": 280 - version "6.9.7" 281 - resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz" 282 - integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== 283 - 284 - "@types/range-parser@*": 285 - version "1.2.4" 286 - resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz" 287 - integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== 288 - 289 - "@types/send@*": 290 - version "0.17.1" 291 - resolved "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz" 292 - integrity sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q== 293 - dependencies: 294 - "@types/mime" "^1" 295 - "@types/node" "*" 296 - 297 - "@types/serve-static@*": 298 - version "1.15.1" 299 - resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.1.tgz" 300 - integrity sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ== 301 - dependencies: 302 - "@types/mime" "*" 303 - "@types/node" "*" 304 - 305 - abort-controller@^3.0.0: 306 - version "3.0.0" 307 - resolved "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz" 308 - integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== 309 - dependencies: 310 - event-target-shim "^5.0.0" 311 - 312 - accepts@~1.3.8: 313 - version "1.3.8" 314 - resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" 315 - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== 316 - dependencies: 317 - mime-types "~2.1.34" 318 - negotiator "0.6.3" 319 - 320 - acorn-walk@^8.1.1: 321 - version "8.2.0" 322 - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" 323 - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== 324 - 325 - acorn@^8.4.1: 326 - version "8.8.2" 327 - resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz" 328 - integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== 329 - 330 - arg@^4.1.0: 331 - version "4.1.3" 332 - resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" 333 - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== 334 - 335 - array-flatten@1.1.1: 336 - version "1.1.1" 337 - resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" 338 - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== 339 - 340 - asynckit@^0.4.0: 341 - version "0.4.0" 342 - resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" 343 - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== 344 - 345 - atomic-sleep@^1.0.0: 346 - version "1.0.0" 347 - resolved "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz" 348 - integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== 349 - 350 - axios@^0.27.2: 351 - version "0.27.2" 352 - resolved "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz" 353 - integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== 354 - dependencies: 355 - follow-redirects "^1.14.9" 356 - form-data "^4.0.0" 357 - 358 - base64-js@^1.3.1: 359 - version "1.5.1" 360 - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" 361 - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== 362 - 363 - better-sqlite3@^8.3.0: 364 - version "8.3.0" 365 - resolved "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-8.3.0.tgz" 366 - integrity sha512-JTmvBZL/JLTc+3Msbvq6gK6elbU9/wVMqiudplHrVJpr7sVMR9KJrNhZAbW+RhXKlpMcuEhYkdcHa3TXKNXQ1w== 367 - dependencies: 368 - bindings "^1.5.0" 369 - prebuild-install "^7.1.0" 370 - 371 - big-integer@^1.6.51: 372 - version "1.6.51" 373 - resolved "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz" 374 - integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== 375 - 376 - bindings@^1.5.0: 377 - version "1.5.0" 378 - resolved "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz" 379 - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== 380 - dependencies: 381 - file-uri-to-path "1.0.0" 382 - 383 - bl@^4.0.3: 384 - version "4.1.0" 385 - resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" 386 - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== 387 - dependencies: 388 - buffer "^5.5.0" 389 - inherits "^2.0.4" 390 - readable-stream "^3.4.0" 391 - 392 - body-parser@1.20.1: 393 - version "1.20.1" 394 - resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz" 395 - integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== 396 - dependencies: 397 - bytes "3.1.2" 398 - content-type "~1.0.4" 399 - debug "2.6.9" 400 - depd "2.0.0" 401 - destroy "1.2.0" 402 - http-errors "2.0.0" 403 - iconv-lite "0.4.24" 404 - on-finished "2.4.1" 405 - qs "6.11.0" 406 - raw-body "2.5.1" 407 - type-is "~1.6.18" 408 - unpipe "1.0.0" 409 - 410 - buffer@^5.5.0: 411 - version "5.7.1" 412 - resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" 413 - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== 414 - dependencies: 415 - base64-js "^1.3.1" 416 - ieee754 "^1.1.13" 417 - 418 - buffer@^6.0.3: 419 - version "6.0.3" 420 - resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz" 421 - integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== 422 - dependencies: 423 - base64-js "^1.3.1" 424 - ieee754 "^1.2.1" 425 - 426 - bytes@3.1.2: 427 - version "3.1.2" 428 - resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" 429 - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== 430 - 431 - call-bind@^1.0.0: 432 - version "1.0.2" 433 - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" 434 - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 435 - dependencies: 436 - function-bind "^1.1.1" 437 - get-intrinsic "^1.0.2" 438 - 439 - cbor-extract@^2.1.1: 440 - version "2.1.1" 441 - resolved "https://registry.npmjs.org/cbor-extract/-/cbor-extract-2.1.1.tgz" 442 - integrity sha512-1UX977+L+zOJHsp0mWFG13GLwO6ucKgSmSW6JTl8B9GUvACvHeIVpFqhU92299Z6PfD09aTXDell5p+lp1rUFA== 443 - dependencies: 444 - node-gyp-build-optional-packages "5.0.3" 445 - optionalDependencies: 446 - "@cbor-extract/cbor-extract-darwin-arm64" "2.1.1" 447 - "@cbor-extract/cbor-extract-darwin-x64" "2.1.1" 448 - "@cbor-extract/cbor-extract-linux-arm" "2.1.1" 449 - "@cbor-extract/cbor-extract-linux-arm64" "2.1.1" 450 - "@cbor-extract/cbor-extract-linux-x64" "2.1.1" 451 - "@cbor-extract/cbor-extract-win32-x64" "2.1.1" 452 - 453 - cbor-x@^1.5.1: 454 - version "1.5.2" 455 - resolved "https://registry.npmjs.org/cbor-x/-/cbor-x-1.5.2.tgz" 456 - integrity sha512-JArE6xcgj3eo13fpnShO42QFBUuXP2uG12RLeF2Nb+dJcETFYxkUa27gXQrRYp67Ahtaxyfbg+ihc62XTyQqsQ== 457 - optionalDependencies: 458 - cbor-extract "^2.1.1" 459 - 460 - cborg@^1.6.0: 461 - version "1.10.1" 462 - resolved "https://registry.npmjs.org/cborg/-/cborg-1.10.1.tgz" 463 - integrity sha512-et6Qm8MOUY2kCWa5GKk2MlBVoPjHv0hQBmlzI/Z7+5V3VJCeIkGehIB3vWknNsm2kOkAIs6wEKJFJo8luWQQ/w== 464 - 465 - chownr@^1.1.1: 466 - version "1.1.4" 467 - resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" 468 - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== 469 - 470 - combined-stream@^1.0.8: 471 - version "1.0.8" 472 - resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" 473 - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 474 - dependencies: 475 - delayed-stream "~1.0.0" 476 - 477 - content-disposition@0.5.4: 478 - version "0.5.4" 479 - resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" 480 - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== 481 - dependencies: 482 - safe-buffer "5.2.1" 483 - 484 - content-type@~1.0.4: 485 - version "1.0.5" 486 - resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz" 487 - integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== 488 - 489 - cookie-signature@1.0.6: 490 - version "1.0.6" 491 - resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" 492 - integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== 493 - 494 - cookie@0.5.0: 495 - version "0.5.0" 496 - resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" 497 - integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== 498 - 499 - create-require@^1.1.0: 500 - version "1.1.1" 501 - resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" 502 - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== 503 - 504 - debug@2.6.9: 505 - version "2.6.9" 506 - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" 507 - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 508 - dependencies: 509 - ms "2.0.0" 510 - 511 - decompress-response@^6.0.0: 512 - version "6.0.0" 513 - resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz" 514 - integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== 515 - dependencies: 516 - mimic-response "^3.1.0" 517 - 518 - deep-extend@^0.6.0: 519 - version "0.6.0" 520 - resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" 521 - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== 522 - 523 - delayed-stream@~1.0.0: 524 - version "1.0.0" 525 - resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" 526 - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== 527 - 528 - depd@2.0.0: 529 - version "2.0.0" 530 - resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" 531 - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== 532 - 533 - destroy@1.2.0: 534 - version "1.2.0" 535 - resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" 536 - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== 537 - 538 - detect-libc@^2.0.0: 539 - version "2.0.1" 540 - resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz" 541 - integrity sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w== 542 - 543 - diff@^4.0.1: 544 - version "4.0.2" 545 - resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" 546 - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== 547 - 548 - dotenv@^16.0.3: 549 - version "16.0.3" 550 - resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz" 551 - integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ== 552 - 553 - ee-first@1.1.1: 554 - version "1.1.1" 555 - resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" 556 - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== 557 - 558 - encodeurl@~1.0.2: 559 - version "1.0.2" 560 - resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" 561 - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== 562 - 563 - end-of-stream@^1.1.0, end-of-stream@^1.4.1: 564 - version "1.4.4" 565 - resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" 566 - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== 567 - dependencies: 568 - once "^1.4.0" 569 - 570 - escape-html@~1.0.3: 571 - version "1.0.3" 572 - resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" 573 - integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== 574 - 575 - etag@~1.8.1: 576 - version "1.8.1" 577 - resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" 578 - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== 579 - 580 - event-target-shim@^5.0.0: 581 - version "5.0.1" 582 - resolved "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz" 583 - integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== 584 - 585 - events@^3.3.0: 586 - version "3.3.0" 587 - resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" 588 - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== 589 - 590 - expand-template@^2.0.3: 591 - version "2.0.3" 592 - resolved "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz" 593 - integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== 594 - 595 - express@^4.17.2, express@^4.18.2: 596 - version "4.18.2" 597 - resolved "https://registry.npmjs.org/express/-/express-4.18.2.tgz" 598 - integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== 599 - dependencies: 600 - accepts "~1.3.8" 601 - array-flatten "1.1.1" 602 - body-parser "1.20.1" 603 - content-disposition "0.5.4" 604 - content-type "~1.0.4" 605 - cookie "0.5.0" 606 - cookie-signature "1.0.6" 607 - debug "2.6.9" 608 - depd "2.0.0" 609 - encodeurl "~1.0.2" 610 - escape-html "~1.0.3" 611 - etag "~1.8.1" 612 - finalhandler "1.2.0" 613 - fresh "0.5.2" 614 - http-errors "2.0.0" 615 - merge-descriptors "1.0.1" 616 - methods "~1.1.2" 617 - on-finished "2.4.1" 618 - parseurl "~1.3.3" 619 - path-to-regexp "0.1.7" 620 - proxy-addr "~2.0.7" 621 - qs "6.11.0" 622 - range-parser "~1.2.1" 623 - safe-buffer "5.2.1" 624 - send "0.18.0" 625 - serve-static "1.15.0" 626 - setprototypeof "1.2.0" 627 - statuses "2.0.1" 628 - type-is "~1.6.18" 629 - utils-merge "1.0.1" 630 - vary "~1.1.2" 631 - 632 - fast-redact@^3.1.1: 633 - version "3.1.2" 634 - resolved "https://registry.npmjs.org/fast-redact/-/fast-redact-3.1.2.tgz" 635 - integrity sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw== 636 - 637 - file-uri-to-path@1.0.0: 638 - version "1.0.0" 639 - resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz" 640 - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== 641 - 642 - finalhandler@1.2.0: 643 - version "1.2.0" 644 - resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" 645 - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== 646 - dependencies: 647 - debug "2.6.9" 648 - encodeurl "~1.0.2" 649 - escape-html "~1.0.3" 650 - on-finished "2.4.1" 651 - parseurl "~1.3.3" 652 - statuses "2.0.1" 653 - unpipe "~1.0.0" 654 - 655 - follow-redirects@^1.14.9: 656 - version "1.15.2" 657 - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz" 658 - integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== 659 - 660 - form-data@^4.0.0: 661 - version "4.0.0" 662 - resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" 663 - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== 664 - dependencies: 665 - asynckit "^0.4.0" 666 - combined-stream "^1.0.8" 667 - mime-types "^2.1.12" 668 - 669 - forwarded@0.2.0: 670 - version "0.2.0" 671 - resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" 672 - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== 673 - 674 - fresh@0.5.2: 675 - version "0.5.2" 676 - resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" 677 - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== 678 - 679 - fs-constants@^1.0.0: 680 - version "1.0.0" 681 - resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" 682 - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== 683 - 684 - function-bind@^1.1.1: 685 - version "1.1.1" 686 - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" 687 - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 688 - 689 - get-intrinsic@^1.0.2: 690 - version "1.2.0" 691 - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz" 692 - integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== 693 - dependencies: 694 - function-bind "^1.1.1" 695 - has "^1.0.3" 696 - has-symbols "^1.0.3" 697 - 698 - github-from-package@0.0.0: 699 - version "0.0.0" 700 - resolved "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz" 701 - integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== 702 - 703 - has-symbols@^1.0.3: 704 - version "1.0.3" 705 - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" 706 - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== 707 - 708 - has@^1.0.3: 709 - version "1.0.3" 710 - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" 711 - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 712 - dependencies: 713 - function-bind "^1.1.1" 714 - 715 - http-errors@2.0.0, http-errors@^2.0.0: 716 - version "2.0.0" 717 - resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" 718 - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== 719 - dependencies: 720 - depd "2.0.0" 721 - inherits "2.0.4" 722 - setprototypeof "1.2.0" 723 - statuses "2.0.1" 724 - toidentifier "1.0.1" 725 - 726 - iconv-lite@0.4.24: 727 - version "0.4.24" 728 - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" 729 - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 730 - dependencies: 731 - safer-buffer ">= 2.1.2 < 3" 732 - 733 - ieee754@^1.1.13, ieee754@^1.2.1: 734 - version "1.2.1" 735 - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" 736 - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== 737 - 738 - inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4: 739 - version "2.0.4" 740 - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" 741 - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 742 - 743 - ini@~1.3.0: 744 - version "1.3.8" 745 - resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" 746 - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== 747 - 748 - ipaddr.js@1.9.1: 749 - version "1.9.1" 750 - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" 751 - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== 752 - 753 - iso-datestring-validator@^2.2.2: 754 - version "2.2.2" 755 - resolved "https://registry.npmjs.org/iso-datestring-validator/-/iso-datestring-validator-2.2.2.tgz" 756 - integrity sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA== 757 - 758 - kysely@^0.22.0: 759 - version "0.22.0" 760 - resolved "https://registry.npmjs.org/kysely/-/kysely-0.22.0.tgz" 761 - integrity sha512-ZE3qWtnqLOalodzfK5QUEcm7AEulhxsPNuKaGFsC3XiqO92vMLm+mAHk/NnbSIOtC4RmGm0nsv700i8KDp1gfQ== 762 - 763 - lru-cache@^6.0.0: 764 - version "6.0.0" 765 - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" 766 - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 767 - dependencies: 768 - yallist "^4.0.0" 769 - 770 - make-error@^1.1.1: 771 - version "1.3.6" 772 - resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" 773 - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== 774 - 775 - media-typer@0.3.0: 776 - version "0.3.0" 777 - resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" 778 - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== 779 - 780 - merge-descriptors@1.0.1: 781 - version "1.0.1" 782 - resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" 783 - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== 784 - 785 - methods@~1.1.2: 786 - version "1.1.2" 787 - resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" 788 - integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== 789 - 790 - mime-db@1.52.0: 791 - version "1.52.0" 792 - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" 793 - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 794 - 795 - mime-types@^2.1.12, mime-types@^2.1.35, mime-types@~2.1.24, mime-types@~2.1.34: 796 - version "2.1.35" 797 - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" 798 - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 799 - dependencies: 800 - mime-db "1.52.0" 801 - 802 - mime@1.6.0: 803 - version "1.6.0" 804 - resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" 805 - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 806 - 807 - mimic-response@^3.1.0: 808 - version "3.1.0" 809 - resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" 810 - integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== 811 - 812 - minimist@^1.2.0, minimist@^1.2.3: 813 - version "1.2.8" 814 - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" 815 - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== 816 - 817 - mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: 818 - version "0.5.3" 819 - resolved "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz" 820 - integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== 821 - 822 - ms@2.0.0: 823 - version "2.0.0" 824 - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" 825 - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== 826 - 827 - ms@2.1.3: 828 - version "2.1.3" 829 - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" 830 - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 831 - 832 - multiformats@^9.4.2, multiformats@^9.5.4, multiformats@^9.6.4, multiformats@^9.9.0: 833 - version "9.9.0" 834 - resolved "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz" 835 - integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== 836 - 837 - napi-build-utils@^1.0.1: 838 - version "1.0.2" 839 - resolved "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz" 840 - integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== 841 - 842 - negotiator@0.6.3: 843 - version "0.6.3" 844 - resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" 845 - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== 846 - 847 - node-abi@^3.3.0: 848 - version "3.40.0" 849 - resolved "https://registry.npmjs.org/node-abi/-/node-abi-3.40.0.tgz" 850 - integrity sha512-zNy02qivjjRosswoYmPi8hIKJRr8MpQyeKT6qlcq/OnOgA3Rhoae+IYOqsM9V5+JnHWmxKnWOT2GxvtqdtOCXA== 851 - dependencies: 852 - semver "^7.3.5" 853 - 854 - node-gyp-build-optional-packages@5.0.3: 855 - version "5.0.3" 856 - resolved "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.3.tgz" 857 - integrity sha512-k75jcVzk5wnnc/FMxsf4udAoTEUv2jY3ycfdSd3yWu6Cnd1oee6/CfZJApyscA4FJOmdoixWwiwOyf16RzD5JA== 858 - 859 - object-inspect@^1.9.0: 860 - version "1.12.3" 861 - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz" 862 - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== 863 - 864 - on-exit-leak-free@^2.1.0: 865 - version "2.1.0" 866 - resolved "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.0.tgz" 867 - integrity sha512-VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w== 868 - 869 - on-finished@2.4.1: 870 - version "2.4.1" 871 - resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" 872 - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== 873 - dependencies: 874 - ee-first "1.1.1" 875 - 876 - once@^1.3.1, once@^1.4.0: 877 - version "1.4.0" 878 - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" 879 - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 880 - dependencies: 881 - wrappy "1" 882 - 883 - one-webcrypto@^1.0.3: 884 - version "1.0.3" 885 - resolved "https://registry.npmjs.org/one-webcrypto/-/one-webcrypto-1.0.3.tgz" 886 - integrity sha512-fu9ywBVBPx0gS9K0etIROTiCkvI5S1TDjFsYFb3rC1ewFxeOqsbzq7aIMBHsYfrTHBcGXJaONXXjTl8B01cW1Q== 887 - 888 - parseurl@~1.3.3: 889 - version "1.3.3" 890 - resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" 891 - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== 892 - 893 - path-to-regexp@0.1.7: 894 - version "0.1.7" 895 - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" 896 - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== 897 - 898 - pino-abstract-transport@v1.0.0: 899 - version "1.0.0" 900 - resolved "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.0.0.tgz" 901 - integrity sha512-c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA== 902 - dependencies: 903 - readable-stream "^4.0.0" 904 - split2 "^4.0.0" 905 - 906 - pino-std-serializers@^6.0.0: 907 - version "6.2.1" 908 - resolved "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.2.1.tgz" 909 - integrity sha512-wHuWB+CvSVb2XqXM0W/WOYUkVSPbiJb9S5fNB7TBhd8s892Xq910bRxwHtC4l71hgztObTjXL6ZheZXFjhDrDQ== 910 - 911 - pino@^8.6.1: 912 - version "8.14.1" 913 - resolved "https://registry.npmjs.org/pino/-/pino-8.14.1.tgz" 914 - integrity sha512-8LYNv7BKWXSfS+k6oEc6occy5La+q2sPwU3q2ljTX5AZk7v+5kND2o5W794FyRaqha6DJajmkNRsWtPpFyMUdw== 915 - dependencies: 916 - atomic-sleep "^1.0.0" 917 - fast-redact "^3.1.1" 918 - on-exit-leak-free "^2.1.0" 919 - pino-abstract-transport v1.0.0 920 - pino-std-serializers "^6.0.0" 921 - process-warning "^2.0.0" 922 - quick-format-unescaped "^4.0.3" 923 - real-require "^0.2.0" 924 - safe-stable-stringify "^2.3.1" 925 - sonic-boom "^3.1.0" 926 - thread-stream "^2.0.0" 927 - 928 - prebuild-install@^7.1.0: 929 - version "7.1.1" 930 - resolved "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz" 931 - integrity sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw== 932 - dependencies: 933 - detect-libc "^2.0.0" 934 - expand-template "^2.0.3" 935 - github-from-package "0.0.0" 936 - minimist "^1.2.3" 937 - mkdirp-classic "^0.5.3" 938 - napi-build-utils "^1.0.1" 939 - node-abi "^3.3.0" 940 - pump "^3.0.0" 941 - rc "^1.2.7" 942 - simple-get "^4.0.0" 943 - tar-fs "^2.0.0" 944 - tunnel-agent "^0.6.0" 945 - 946 - process-warning@^2.0.0: 947 - version "2.2.0" 948 - resolved "https://registry.npmjs.org/process-warning/-/process-warning-2.2.0.tgz" 949 - integrity sha512-/1WZ8+VQjR6avWOgHeEPd7SDQmFQ1B5mC1eRXsCm5TarlNmx/wCsa5GEaxGm05BORRtyG/Ex/3xq3TuRvq57qg== 950 - 951 - process@^0.11.10: 952 - version "0.11.10" 953 - resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz" 954 - integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== 955 - 956 - proxy-addr@~2.0.7: 957 - version "2.0.7" 958 - resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" 959 - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== 960 - dependencies: 961 - forwarded "0.2.0" 962 - ipaddr.js "1.9.1" 963 - 964 - pump@^3.0.0: 965 - version "3.0.0" 966 - resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" 967 - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 968 - dependencies: 969 - end-of-stream "^1.1.0" 970 - once "^1.3.1" 971 - 972 - qs@6.11.0: 973 - version "6.11.0" 974 - resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" 975 - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== 976 - dependencies: 977 - side-channel "^1.0.4" 978 - 979 - quick-format-unescaped@^4.0.3: 980 - version "4.0.4" 981 - resolved "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz" 982 - integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== 983 - 984 - range-parser@~1.2.1: 985 - version "1.2.1" 986 - resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" 987 - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== 988 - 989 - raw-body@2.5.1: 990 - version "2.5.1" 991 - resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" 992 - integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== 993 - dependencies: 994 - bytes "3.1.2" 995 - http-errors "2.0.0" 996 - iconv-lite "0.4.24" 997 - unpipe "1.0.0" 998 - 999 - rc@^1.2.7: 1000 - version "1.2.8" 1001 - resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" 1002 - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== 1003 - dependencies: 1004 - deep-extend "^0.6.0" 1005 - ini "~1.3.0" 1006 - minimist "^1.2.0" 1007 - strip-json-comments "~2.0.1" 1008 - 1009 - readable-stream@^3.1.1, readable-stream@^3.4.0: 1010 - version "3.6.2" 1011 - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" 1012 - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== 1013 - dependencies: 1014 - inherits "^2.0.3" 1015 - string_decoder "^1.1.1" 1016 - util-deprecate "^1.0.1" 1017 - 1018 - readable-stream@^4.0.0: 1019 - version "4.4.0" 1020 - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-4.4.0.tgz" 1021 - integrity sha512-kDMOq0qLtxV9f/SQv522h8cxZBqNZXuXNyjyezmfAAuribMyVXziljpQ/uQhfE1XLg2/TLTW2DsnoE4VAi/krg== 1022 - dependencies: 1023 - abort-controller "^3.0.0" 1024 - buffer "^6.0.3" 1025 - events "^3.3.0" 1026 - process "^0.11.10" 1027 - 1028 - real-require@^0.2.0: 1029 - version "0.2.0" 1030 - resolved "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz" 1031 - integrity sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg== 1032 - 1033 - rxjs@^7.5.2: 1034 - version "7.8.1" 1035 - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" 1036 - integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== 1037 - dependencies: 1038 - tslib "^2.1.0" 1039 - 1040 - safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@~5.2.0: 1041 - version "5.2.1" 1042 - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" 1043 - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 1044 - 1045 - safe-stable-stringify@^2.3.1: 1046 - version "2.4.3" 1047 - resolved "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz" 1048 - integrity sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g== 1049 - 1050 - "safer-buffer@>= 2.1.2 < 3": 1051 - version "2.1.2" 1052 - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" 1053 - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 1054 - 1055 - semver@^7.3.5: 1056 - version "7.5.0" 1057 - resolved "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz" 1058 - integrity sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA== 1059 - dependencies: 1060 - lru-cache "^6.0.0" 1061 - 1062 - send@0.18.0: 1063 - version "0.18.0" 1064 - resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz" 1065 - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== 1066 - dependencies: 1067 - debug "2.6.9" 1068 - depd "2.0.0" 1069 - destroy "1.2.0" 1070 - encodeurl "~1.0.2" 1071 - escape-html "~1.0.3" 1072 - etag "~1.8.1" 1073 - fresh "0.5.2" 1074 - http-errors "2.0.0" 1075 - mime "1.6.0" 1076 - ms "2.1.3" 1077 - on-finished "2.4.1" 1078 - range-parser "~1.2.1" 1079 - statuses "2.0.1" 1080 - 1081 - serve-static@1.15.0: 1082 - version "1.15.0" 1083 - resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" 1084 - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== 1085 - dependencies: 1086 - encodeurl "~1.0.2" 1087 - escape-html "~1.0.3" 1088 - parseurl "~1.3.3" 1089 - send "0.18.0" 1090 - 1091 - setprototypeof@1.2.0: 1092 - version "1.2.0" 1093 - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" 1094 - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== 1095 - 1096 - side-channel@^1.0.4: 1097 - version "1.0.4" 1098 - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" 1099 - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== 1100 - dependencies: 1101 - call-bind "^1.0.0" 1102 - get-intrinsic "^1.0.2" 1103 - object-inspect "^1.9.0" 1104 - 1105 - simple-concat@^1.0.0: 1106 - version "1.0.1" 1107 - resolved "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz" 1108 - integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== 1109 - 1110 - simple-get@^4.0.0: 1111 - version "4.0.1" 1112 - resolved "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz" 1113 - integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== 1114 - dependencies: 1115 - decompress-response "^6.0.0" 1116 - once "^1.3.1" 1117 - simple-concat "^1.0.0" 1118 - 1119 - sonic-boom@^3.1.0: 1120 - version "3.3.0" 1121 - resolved "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.3.0.tgz" 1122 - integrity sha512-LYxp34KlZ1a2Jb8ZQgFCK3niIHzibdwtwNUWKg0qQRzsDoJ3Gfgkf8KdBTFU3SkejDEIlWwnSnpVdOZIhFMl/g== 1123 - dependencies: 1124 - atomic-sleep "^1.0.0" 1125 - 1126 - split2@^4.0.0: 1127 - version "4.2.0" 1128 - resolved "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz" 1129 - integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== 1130 - 1131 - statuses@2.0.1: 1132 - version "2.0.1" 1133 - resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" 1134 - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== 1135 - 1136 - string_decoder@^1.1.1: 1137 - version "1.3.0" 1138 - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" 1139 - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== 1140 - dependencies: 1141 - safe-buffer "~5.2.0" 1142 - 1143 - strip-json-comments@~2.0.1: 1144 - version "2.0.1" 1145 - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" 1146 - integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== 1147 - 1148 - tar-fs@^2.0.0: 1149 - version "2.1.1" 1150 - resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz" 1151 - integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== 1152 - dependencies: 1153 - chownr "^1.1.1" 1154 - mkdirp-classic "^0.5.2" 1155 - pump "^3.0.0" 1156 - tar-stream "^2.1.4" 1157 - 1158 - tar-stream@^2.1.4: 1159 - version "2.2.0" 1160 - resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz" 1161 - integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== 1162 - dependencies: 1163 - bl "^4.0.3" 1164 - end-of-stream "^1.4.1" 1165 - fs-constants "^1.0.0" 1166 - inherits "^2.0.3" 1167 - readable-stream "^3.1.1" 1168 - 1169 - thread-stream@^2.0.0: 1170 - version "2.3.0" 1171 - resolved "https://registry.npmjs.org/thread-stream/-/thread-stream-2.3.0.tgz" 1172 - integrity sha512-kaDqm1DET9pp3NXwR8382WHbnpXnRkN9xGN9dQt3B2+dmXiW8X1SOwmFOxAErEQ47ObhZ96J6yhZNXuyCOL7KA== 1173 - dependencies: 1174 - real-require "^0.2.0" 1175 - 1176 - tlds@^1.234.0: 1177 - version "1.238.0" 1178 - resolved "https://registry.yarnpkg.com/tlds/-/tlds-1.238.0.tgz#ffe7c19c8940c35b497cda187a6927f9450325a4" 1179 - integrity sha512-lFPF9pZFhLrPodaJ0wt9QIN0l8jOxqmUezGZnm7BfkDSVd9q667oVIJukLVzhF+4oW7uDlrLlfJrL5yu9RWwew== 1180 - 1181 - toidentifier@1.0.1: 1182 - version "1.0.1" 1183 - resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" 1184 - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== 1185 - 1186 - ts-node@^10.9.1: 1187 - version "10.9.1" 1188 - resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz" 1189 - integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== 1190 - dependencies: 1191 - "@cspotcode/source-map-support" "^0.8.0" 1192 - "@tsconfig/node10" "^1.0.7" 1193 - "@tsconfig/node12" "^1.0.7" 1194 - "@tsconfig/node14" "^1.0.0" 1195 - "@tsconfig/node16" "^1.0.2" 1196 - acorn "^8.4.1" 1197 - acorn-walk "^8.1.1" 1198 - arg "^4.1.0" 1199 - create-require "^1.1.0" 1200 - diff "^4.0.1" 1201 - make-error "^1.1.1" 1202 - v8-compile-cache-lib "^3.0.1" 1203 - yn "3.1.1" 1204 - 1205 - tslib@^2.1.0: 1206 - version "2.5.2" 1207 - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.2.tgz#1b6f07185c881557b0ffa84b111a0106989e8338" 1208 - integrity sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA== 1209 - 1210 - tunnel-agent@^0.6.0: 1211 - version "0.6.0" 1212 - resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" 1213 - integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== 1214 - dependencies: 1215 - safe-buffer "^5.0.1" 1216 - 1217 - type-is@~1.6.18: 1218 - version "1.6.18" 1219 - resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" 1220 - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== 1221 - dependencies: 1222 - media-typer "0.3.0" 1223 - mime-types "~2.1.24" 1224 - 1225 - typed-emitter@^2.1.0: 1226 - version "2.1.0" 1227 - resolved "https://registry.yarnpkg.com/typed-emitter/-/typed-emitter-2.1.0.tgz#ca78e3d8ef1476f228f548d62e04e3d4d3fd77fb" 1228 - integrity sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA== 1229 - optionalDependencies: 1230 - rxjs "^7.5.2" 1231 - 1232 - typescript@^5.0.4: 1233 - version "5.0.4" 1234 - resolved "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz" 1235 - integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw== 1236 - 1237 - uint8arrays@3.0.0: 1238 - version "3.0.0" 1239 - resolved "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz" 1240 - integrity sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA== 1241 - dependencies: 1242 - multiformats "^9.4.2" 1243 - 1244 - unpipe@1.0.0, unpipe@~1.0.0: 1245 - version "1.0.0" 1246 - resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" 1247 - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== 1248 - 1249 - util-deprecate@^1.0.1: 1250 - version "1.0.2" 1251 - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" 1252 - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== 1253 - 1254 - utils-merge@1.0.1: 1255 - version "1.0.1" 1256 - resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" 1257 - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== 1258 - 1259 - v8-compile-cache-lib@^3.0.1: 1260 - version "3.0.1" 1261 - resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" 1262 - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== 1263 - 1264 - varint@^6.0.0: 1265 - version "6.0.0" 1266 - resolved "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz" 1267 - integrity sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg== 1268 - 1269 - vary@~1.1.2: 1270 - version "1.1.2" 1271 - resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" 1272 - integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== 1273 - 1274 - wrappy@1: 1275 - version "1.0.2" 1276 - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" 1277 - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 1278 - 1279 - ws@^8.12.0: 1280 - version "8.13.0" 1281 - resolved "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz" 1282 - integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== 1283 - 1284 - yallist@^4.0.0: 1285 - version "4.0.0" 1286 - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" 1287 - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 1288 - 1289 - yn@3.1.1: 1290 - version "3.1.1" 1291 - resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" 1292 - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== 1293 - 1294 - zod@^3.14.2: 1295 - version "3.21.4" 1296 - resolved "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz" 1297 - integrity sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==