├── .env.example
├── .gitignore
├── README.md
├── components
├── Header.tsx
├── Layout.tsx
└── Post.tsx
├── docker-compose.yml
├── lib
└── prisma.ts
├── next-env.d.ts
├── package-lock.json
├── package.json
├── pages
├── _app.tsx
├── api
│ ├── auth
│ │ └── [...nextauth].ts
│ ├── post
│ │ ├── [id].ts
│ │ └── index.ts
│ └── publish
│ │ └── [id].ts
├── create.tsx
├── drafts.tsx
├── index.tsx
└── p
│ └── [id].tsx
├── prisma
├── migrations
│ ├── 20220408154015_init
│ │ └── migration.sql
│ └── migration_lock.toml
├── schema.prisma
└── seed.ts
├── renovate.json
└── tsconfig.json
/.env.example:
--------------------------------------------------------------------------------
1 | # Environment variables declared in this file are automatically made available to Prisma.
2 | # See the documentation for more detail: https://pris.ly/d/prisma-schema#accessing-environment-variables-from-the-schema
3 |
4 | # Prisma supports the native connection string format for PostgreSQL, MySQL, SQLite, SQL Server, MongoDB and CockroachDB (Preview).
5 | # See the documentation for all the connection string options: https://pris.ly/d/connection-strings
6 |
7 | DATABASE_URL="postgresql://postgres:postgres@localhost:5432/blog"
8 |
9 | SECRET='random-secret-string'
10 |
11 | # When deploying to production, set the `NEXTAUTH_URL` environment variable to the canonical URL of your site.
12 | NEXTAUTH_URL='http://localhost:3000'
13 |
14 | # GitHub OAuth
15 | GITHUB_ID=""
16 | GITHUB_SECRET=""
17 |
18 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | .next/
3 | .env
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Fullstack Authentication Example with Next.js and NextAuth.js
2 |
3 | With Railway Integration
4 |
5 | [](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fprisma%2Ffullstack-prisma-nextjs-blog&env=SECRET,GITHUB_ID,GITHUB_SECRET&project-name=fullstack-prisma-nextjs-blog&repo-name=fullstack-prisma-nextjs-blog&integration-ids=oac_eGEyJUf8jDjOQSCNJiyYRbfX)
6 |
7 | Without the Railway integration
8 |
9 | [](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fprisma%2Ffullstack-prisma-nextjs-blog&env=DATABASE_URL,SECRET,GITHUB_ID,GITHUB_SECRET&project-name=fullstack-prisma-nextjs-blog&repo-name=fullstack-prisma-nextjs-blog)
10 |
11 | This is a starter that shows how to implement a **fullstack app in TypeScript with [Next.js](https://nextjs.org/)** with the following stack:
12 |
13 | - [React](https://reactjs.org/) (frontend)
14 | - [Next.js API routes](https://nextjs.org/docs/api-routes/introduction)
15 | - [Prisma Client](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client) (backend).
16 | - [NextAuth.js](https://next-auth.js.org/) for authentication.
17 | - [PostgreSQL](http://postgresql.org/) as the database of choice.
18 |
19 | Before you deploy the application to Vercel, ensure you
20 | - (Optional) Sign in to Railway and create a PostgreSQL database
21 | - Create a separate GitHub OAuth application before you deploy your application
22 | - Update the **Authorization callback URL** with the URL of the deployed app after successfully deploying the app
23 |
24 | Note that the app uses a mix of server-side rendering with `getServerSideProps` (SSR) and static site generation with `getStaticProps` (SSG). When possible, SSG is used to make database queries already at build-time (e.g. when fetching the [public feed](./pages/index.tsx)). Sometimes, the user requesting data needs to be authenticated, so SSR is being used to render data dynamically on the server-side (e.g. when viewing a user's [drafts](./pages/drafts.tsx)).
25 |
26 | ## Getting started
27 |
28 | ### 1. Download and install dependencies
29 |
30 | Clone this repository:
31 |
32 | ```
33 | git clone git@github.com:prisma/prisma-nextjs-blog.git
34 | ```
35 |
36 | Install npm dependencies:
37 |
38 | ```
39 | cd prisma-nextjs-blog
40 | npm install
41 | ```
42 |
43 |
44 |
45 | ### 2. Create and seed the database
46 |
47 | If you're using Docker on your computer, the following script to set up PostgreSQL database using the `docker-compose.yml` file at the root of your project:
48 |
49 | ```
50 | npm run db:up
51 | ```
52 |
53 | Run the following command to create your PostgreSQL database. This also creates the `User`, `Post`, `Account`, `Session` and `VerificationToken` tables that are defined in [`prisma/schema.prisma`](./prisma/schema.prisma):
54 |
55 | ```
56 | npx prisma migrate dev --name init
57 | ```
58 |
59 | When `npx prisma migrate dev` is executed against a newly created database, seeding is also triggered. The seed file in [`prisma/seed.ts`](./prisma/seed.ts) will be executed and your database will be populated with the sample data.
60 |
61 |
62 | ### 3. Configuring your authentication provider
63 |
64 | In order to get this example to work, you need to configure the [GitHub](https://next-auth.js.org/providers/github) authentication provider from NextAuth.js.
65 |
66 | #### Configuring the GitHub authentication provider
67 |
68 | Expand to learn how you can configure the GitHub authentication provider
69 |
70 | First, log into your [GitHub](https://github.com/) account.
71 |
72 | Then, navigate to [**Settings**](https://github.com/settings/profile), then open to [**Developer Settings**](https://github.com/settings/apps), then switch to [**OAuth Apps**](https://github.com/settings/developers).
73 |
74 | 
75 |
76 | Clicking on the **Register a new application** button will redirect you to a registration form to fill out some information for your app. The **Authorization callback URL** should be the Next.js `/api/auth` route.
77 |
78 | An important thing to note here is that the **Authorization callback URL** field only supports a single URL, unlike e.g. Auth0, which allows you to add additional callback URLs separated with a comma. This means if you want to deploy your app later with a production URL, you will need to set up a new GitHub OAuth app.
79 |
80 | 
81 |
82 | Click on the **Register application** button, and then you will be able to find your newly generated **Client ID** and **Client Secret**. Copy and paste this info into the [`.env`](./env) file in the root directory.
83 |
84 | The resulting section in the `.env` file might look like this:
85 |
86 | ```
87 | # GitHub oAuth
88 | GITHUB_ID=6bafeb321963449bdf51
89 | GITHUB_SECRET=509298c32faa283f28679ad6de6f86b2472e1bff
90 | ```
91 |
92 |
93 |
94 |
95 | ### 4. Start the app
96 |
97 | ```
98 | npm run dev
99 | ```
100 |
101 | The app is now running, navigate to [`http://localhost:3000/`](http://localhost:3000/) in your browser to explore its UI.
102 |
103 | ## Evolving the app
104 |
105 | Evolving the application typically requires three steps:
106 |
107 | 1. Migrate your database using Prisma Migrate
108 | 1. Update your server-side application code
109 | 1. Build new UI features in React
110 |
111 | For the following example scenario, assume you want to add a "profile" feature to the app where users can create a profile and write a short bio about themselves.
112 |
113 | ### 1. Migrate your database using Prisma Migrate
114 |
115 | The first step is to add a new table, e.g. called `Profile`, to the database. You can do this by adding a new model to your [Prisma schema file](./prisma/schema.prisma) file and then running a migration afterwards:
116 |
117 | ```diff
118 | // schema.prisma
119 |
120 | model Post {
121 | id Int @default(autoincrement()) @id
122 | title String
123 | content String?
124 | published Boolean @default(false)
125 | author User? @relation(fields: [authorId], references: [id])
126 | authorId Int
127 | }
128 |
129 | model User {
130 | id Int @default(autoincrement()) @id
131 | name String?
132 | email String @unique
133 | posts Post[]
134 | + profile Profile?
135 | }
136 |
137 | +model Profile {
138 | + id Int @default(autoincrement()) @id
139 | + bio String?
140 | + userId Int @unique
141 | + user User @relation(fields: [userId], references: [id])
142 | +}
143 | ```
144 |
145 | Once you've updated your data model, you can execute the changes against your database with the following command:
146 |
147 | ```
148 | npx prisma migrate dev
149 | ```
150 |
151 | ### 2. Update your application code
152 |
153 | You can now use your `PrismaClient` instance to perform operations against the new `Profile` table. Here are some examples:
154 |
155 | #### Create a new profile for an existing user
156 |
157 | ```ts
158 | const profile = await prisma.profile.create({
159 | data: {
160 | bio: "Hello World",
161 | user: {
162 | connect: { email: "alice@prisma.io" },
163 | },
164 | },
165 | });
166 | ```
167 |
168 | #### Create a new user with a new profile
169 |
170 | ```ts
171 | const user = await prisma.user.create({
172 | data: {
173 | email: "john@prisma.io",
174 | name: "John",
175 | profile: {
176 | create: {
177 | bio: "Hello World",
178 | },
179 | },
180 | },
181 | });
182 | ```
183 |
184 | #### Update the profile of an existing user
185 |
186 | ```ts
187 | const userWithUpdatedProfile = await prisma.user.update({
188 | where: { email: "alice@prisma.io" },
189 | data: {
190 | profile: {
191 | update: {
192 | bio: "Hello Friends",
193 | },
194 | },
195 | },
196 | });
197 | ```
198 |
199 |
200 | ### 3. Build new UI features in React
201 |
202 | Once you have added a new endpoint to the API (e.g. `/api/profile` with `/POST`, `/PUT` and `GET` operations), you can start building a new UI component in React. It could e.g. be called `profile.tsx` and would be located in the `pages` directory.
203 |
204 | In the application code, you can access the new endpoint via `fetch` operations and populate the UI with the data you receive from the API calls.
205 |
206 |
207 | ## Switch to another database (e.g. PostgreSQL, MySQL, SQL Server, MongoDB)
208 |
209 | If you want to try this example with another database than SQLite, you can adjust the the database connection in [`prisma/schema.prisma`](./prisma/schema.prisma) by reconfiguring the `datasource` block.
210 |
211 | Learn more about the different connection configurations in the [docs](https://www.prisma.io/docs/reference/database-reference/connection-urls).
212 |
213 | Expand for an overview of example configurations with different databases
214 |
215 | ### PostgreSQL
216 |
217 | For PostgreSQL, the connection URL has the following structure:
218 |
219 | ```prisma
220 | datasource db {
221 | provider = "postgresql"
222 | url = "postgresql://USER:PASSWORD@HOST:PORT/DATABASE?schema=SCHEMA"
223 | }
224 | ```
225 |
226 | Here is an example connection string with a local PostgreSQL database:
227 |
228 | ```prisma
229 | datasource db {
230 | provider = "postgresql"
231 | url = "postgresql://janedoe:mypassword@localhost:5432/notesapi?schema=public"
232 | }
233 | ```
234 |
235 | ### MySQL
236 |
237 | For MySQL, the connection URL has the following structure:
238 |
239 | ```prisma
240 | datasource db {
241 | provider = "mysql"
242 | url = "mysql://USER:PASSWORD@HOST:PORT/DATABASE"
243 | }
244 | ```
245 |
246 | Here is an example connection string with a local MySQL database:
247 |
248 | ```prisma
249 | datasource db {
250 | provider = "mysql"
251 | url = "mysql://janedoe:mypassword@localhost:3306/notesapi"
252 | }
253 | ```
254 |
255 | ### Microsoft SQL Server
256 |
257 | Here is an example connection string with a local Microsoft SQL Server database:
258 |
259 | ```prisma
260 | datasource db {
261 | provider = "sqlserver"
262 | url = "sqlserver://localhost:1433;initial catalog=sample;user=sa;password=mypassword;"
263 | }
264 | ```
265 |
266 | ### MongoDB
267 |
268 | Here is an example connection string with a local MongoDB database:
269 |
270 | ```prisma
271 | datasource db {
272 | provider = "mongodb"
273 | url = "mongodb://USERNAME:PASSWORD@HOST/DATABASE?authSource=admin&retryWrites=true&w=majority"
274 | }
275 | ```
276 | Because MongoDB is currently in [Preview](https://www.prisma.io/docs/about/releases#preview), you need to specify the `previewFeatures` on your `generator` block:
277 |
278 | ```
279 | generator client {
280 | provider = "prisma-client-js"
281 | previewFeatures = ["mongodb"]
282 | }
283 | ```
284 |
285 |
286 | ## Next steps
287 |
288 | - Check out the [Prisma docs](https://www.prisma.io/docs)
289 | - Share your feedback in the [Prisma Discord](https://pris.ly/discord/)
290 | - Create issues and ask questions on [GitHub](https://github.com/prisma/prisma/)
291 | - Watch our biweekly "What's new in Prisma" livestreams on [Youtube](https://www.youtube.com/channel/UCptAHlN1gdwD89tFM3ENb6w)
292 |
--------------------------------------------------------------------------------
/components/Header.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import Link from "next/link";
3 | import { useRouter } from "next/router";
4 | import { signOut, useSession } from "next-auth/react";
5 |
6 | const Header: React.FC = () => {
7 | const router = useRouter();
8 | const isActive: (pathname: string) => boolean = (pathname) =>
9 | router.pathname === pathname;
10 |
11 | const {data: session, status} = useSession();
12 |
13 | let left = (
14 |
40 | );
41 |
42 | let right = null;
43 |
44 | if (status === 'loading') {
45 | left = (
46 |
72 | );
73 | right = (
74 |
75 |
Validating session ...
76 |
81 |
82 | );
83 | }
84 |
85 | if (!session) {
86 | right = (
87 |
88 |
89 |
Log in
90 |
91 |
112 |
113 | );
114 | }
115 |
116 | if (session) {
117 | left = (
118 |
147 | );
148 | right = (
149 |
150 |
151 | {session.user.name} ({session.user.email})
152 |
153 |
154 |
155 | New post
156 |
157 |
158 |
signOut()}>
159 | Log out
160 |
161 |
192 |
193 | );
194 | }
195 |
196 | return (
197 |
198 | {left}
199 | {right}
200 |
207 |
208 | );
209 | };
210 |
211 | export default Header;
212 |
--------------------------------------------------------------------------------
/components/Layout.tsx:
--------------------------------------------------------------------------------
1 | import React, { ReactNode } from "react";
2 | import Header from "./Header";
3 |
4 | type Props = {
5 | children: ReactNode;
6 | };
7 |
8 | const Layout: React.FC = (props) => (
9 |
10 |
11 |
{props.children}
12 |
42 |
47 |
48 | );
49 |
50 | export default Layout;
51 |
--------------------------------------------------------------------------------
/components/Post.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import Router from "next/router";
3 | import ReactMarkdown from "react-markdown";
4 |
5 | export type PostProps = {
6 | id: number;
7 | title: string;
8 | author: {
9 | name: string;
10 | email: string;
11 | } | null;
12 | content: string;
13 | published: boolean;
14 | };
15 |
16 | const Post: React.FC<{ post: PostProps }> = ({ post }) => {
17 | const authorName = post.author ? post.author.name : "Unknown author";
18 | return (
19 | Router.push("/p/[id]", `/p/${post.id}`)}>
20 |
{post.title}
21 | By {authorName}
22 |
23 |
29 |
30 | );
31 | };
32 |
33 | export default Post;
34 |
--------------------------------------------------------------------------------
/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: "3.7"
2 | services:
3 | postgres:
4 | image: postgres:latest
5 | restart: always
6 | environment:
7 | - POSTGRES_USER=postgres
8 | - POSTGRES_PASSWORD=postgres
9 | ports:
10 | - "5432:5432"
11 | volumes:
12 | - postgres:/var/lib/postgresql/data
13 | volumes:
14 | postgres:
15 |
--------------------------------------------------------------------------------
/lib/prisma.ts:
--------------------------------------------------------------------------------
1 | import { PrismaClient } from "@prisma/client";
2 |
3 | // PrismaClient is attached to the `global` object in development to prevent
4 | // exhausting your database connection limit.
5 | //
6 | // Learn more:
7 | // https://pris.ly/d/help/next-js-best-practices
8 |
9 | let prisma: PrismaClient
10 |
11 | if (process.env.NODE_ENV === 'production') {
12 | prisma = new PrismaClient()
13 | } else {
14 | if (!global.prisma) {
15 | global.prisma = new PrismaClient()
16 | }
17 | prisma = global.prisma
18 | }
19 | export default prisma
--------------------------------------------------------------------------------
/next-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 |
4 | // NOTE: This file should not be edited
5 | // see https://nextjs.org/docs/basic-features/typescript for more information.
6 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "hello-next",
3 | "version": "1.0.0",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "hello-next",
9 | "version": "1.0.0",
10 | "license": "MIT",
11 | "dependencies": {
12 | "@next-auth/prisma-adapter": "1.0.3",
13 | "@prisma/client": "4.10.1",
14 | "next": "12.1.4",
15 | "next-auth": "4.3.1",
16 | "react": "18.2.0",
17 | "react-dom": "18.2.0",
18 | "react-markdown": "8.0.2"
19 | },
20 | "devDependencies": {
21 | "@types/next-auth": "3.13.0",
22 | "@types/node": "16.18.66",
23 | "@types/react": "17.0.44",
24 | "prisma": "4.10.1",
25 | "ts-node": "10.7.0",
26 | "typescript": "4.6.3"
27 | }
28 | },
29 | "node_modules/@babel/runtime": {
30 | "version": "7.17.9",
31 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz",
32 | "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==",
33 | "dependencies": {
34 | "regenerator-runtime": "^0.13.4"
35 | },
36 | "engines": {
37 | "node": ">=6.9.0"
38 | }
39 | },
40 | "node_modules/@cspotcode/source-map-consumer": {
41 | "version": "0.8.0",
42 | "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz",
43 | "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==",
44 | "dev": true,
45 | "engines": {
46 | "node": ">= 12"
47 | }
48 | },
49 | "node_modules/@cspotcode/source-map-support": {
50 | "version": "0.7.0",
51 | "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz",
52 | "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==",
53 | "dev": true,
54 | "dependencies": {
55 | "@cspotcode/source-map-consumer": "0.8.0"
56 | },
57 | "engines": {
58 | "node": ">=12"
59 | }
60 | },
61 | "node_modules/@next-auth/prisma-adapter": {
62 | "version": "1.0.3",
63 | "resolved": "https://registry.npmjs.org/@next-auth/prisma-adapter/-/prisma-adapter-1.0.3.tgz",
64 | "integrity": "sha512-3Lq1cD3ytKM3EGKJZ4UZvlqshLtlPvYxLeCrUV9ifYwYlq51kmDaHjsIawlp8EbH5pE1UhlsvtlXMery7RghtA==",
65 | "peerDependencies": {
66 | "@prisma/client": ">=2.26.0 || >=3",
67 | "next-auth": "^4.0.1"
68 | }
69 | },
70 | "node_modules/@next/env": {
71 | "version": "12.1.4",
72 | "resolved": "https://registry.npmjs.org/@next/env/-/env-12.1.4.tgz",
73 | "integrity": "sha512-7gQwotJDKnfMxxXd8xJ2vsX5AzyDxO3zou0+QOXX8/unypA6icw5+wf6A62yKZ6qQ4UZHHxS68pb6UV+wNneXg=="
74 | },
75 | "node_modules/@next/swc-android-arm-eabi": {
76 | "version": "12.1.4",
77 | "resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.1.4.tgz",
78 | "integrity": "sha512-FJg/6a3s2YrUaqZ+/DJZzeZqfxbbWrynQMT1C5wlIEq9aDLXCFpPM/PiOyJh0ahxc0XPmi6uo38Poq+GJTuKWw==",
79 | "cpu": [
80 | "arm"
81 | ],
82 | "optional": true,
83 | "os": [
84 | "android"
85 | ],
86 | "engines": {
87 | "node": ">= 10"
88 | }
89 | },
90 | "node_modules/@next/swc-android-arm64": {
91 | "version": "12.1.4",
92 | "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-12.1.4.tgz",
93 | "integrity": "sha512-LXraazvQQFBgxIg3Htny6G5V5he9EK7oS4jWtMdTGIikmD/OGByOv8ZjLuVLZLtVm3UIvaAiGtlQSLecxJoJDw==",
94 | "cpu": [
95 | "arm64"
96 | ],
97 | "optional": true,
98 | "os": [
99 | "android"
100 | ],
101 | "engines": {
102 | "node": ">= 10"
103 | }
104 | },
105 | "node_modules/@next/swc-darwin-arm64": {
106 | "version": "12.1.4",
107 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.1.4.tgz",
108 | "integrity": "sha512-SSST/dBymecllZxcqTCcSTCu5o1NKk9I+xcvhn/O9nH6GWjgvGgGkNqLbCarCa0jJ1ukvlBA138FagyrmZ/4rQ==",
109 | "cpu": [
110 | "arm64"
111 | ],
112 | "optional": true,
113 | "os": [
114 | "darwin"
115 | ],
116 | "engines": {
117 | "node": ">= 10"
118 | }
119 | },
120 | "node_modules/@next/swc-darwin-x64": {
121 | "version": "12.1.4",
122 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-12.1.4.tgz",
123 | "integrity": "sha512-p1lwdX0TVjaoDXQVuAkjtxVBbCL/urgxiMCBwuPDO7TikpXtSRivi+mIzBj5q7ypgICFmIAOW3TyupXeoPRAnA==",
124 | "cpu": [
125 | "x64"
126 | ],
127 | "optional": true,
128 | "os": [
129 | "darwin"
130 | ],
131 | "engines": {
132 | "node": ">= 10"
133 | }
134 | },
135 | "node_modules/@next/swc-linux-arm-gnueabihf": {
136 | "version": "12.1.4",
137 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.1.4.tgz",
138 | "integrity": "sha512-67PZlgkCn3TDxacdVft0xqDCL7Io1/C4xbAs0+oSQ0xzp6OzN2RNpuKjHJrJgKd0DsE1XZ9sCP27Qv0591yfyg==",
139 | "cpu": [
140 | "arm"
141 | ],
142 | "optional": true,
143 | "os": [
144 | "linux"
145 | ],
146 | "engines": {
147 | "node": ">= 10"
148 | }
149 | },
150 | "node_modules/@next/swc-linux-arm64-gnu": {
151 | "version": "12.1.4",
152 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.1.4.tgz",
153 | "integrity": "sha512-OnOWixhhw7aU22TQdQLYrgpgFq0oA1wGgnjAiHJ+St7MLj82KTDyM9UcymAMbGYy6nG/TFOOHdTmRMtCRNOw0g==",
154 | "cpu": [
155 | "arm64"
156 | ],
157 | "optional": true,
158 | "os": [
159 | "linux"
160 | ],
161 | "engines": {
162 | "node": ">= 10"
163 | }
164 | },
165 | "node_modules/@next/swc-linux-arm64-musl": {
166 | "version": "12.1.4",
167 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.1.4.tgz",
168 | "integrity": "sha512-UoRMzPZnsAavdWtVylYxH8DNC7Uy0i6RrvNwT4PyQVdfANBn2omsUkcH5lgS2O7oaz0nAYLk1vqyZDO7+tJotA==",
169 | "cpu": [
170 | "arm64"
171 | ],
172 | "optional": true,
173 | "os": [
174 | "linux"
175 | ],
176 | "engines": {
177 | "node": ">= 10"
178 | }
179 | },
180 | "node_modules/@next/swc-linux-x64-gnu": {
181 | "version": "12.1.4",
182 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.1.4.tgz",
183 | "integrity": "sha512-nM+MA/frxlTLUKLJKorctdI20/ugfHRjVEEkcLp/58LGG7slNaP1E5d5dRA1yX6ISjPcQAkywas5VlGCg+uTvA==",
184 | "cpu": [
185 | "x64"
186 | ],
187 | "optional": true,
188 | "os": [
189 | "linux"
190 | ],
191 | "engines": {
192 | "node": ">= 10"
193 | }
194 | },
195 | "node_modules/@next/swc-linux-x64-musl": {
196 | "version": "12.1.4",
197 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.1.4.tgz",
198 | "integrity": "sha512-GoRHxkuW4u4yKw734B9SzxJwVdyEJosaZ62P7ifOwcujTxhgBt3y76V2nNUrsSuopcKI2ZTDjaa+2wd5zyeXbA==",
199 | "cpu": [
200 | "x64"
201 | ],
202 | "optional": true,
203 | "os": [
204 | "linux"
205 | ],
206 | "engines": {
207 | "node": ">= 10"
208 | }
209 | },
210 | "node_modules/@next/swc-win32-arm64-msvc": {
211 | "version": "12.1.4",
212 | "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.1.4.tgz",
213 | "integrity": "sha512-6TQkQze0ievXwHJcVUrIULwCYVe3ccX6T0JgZ1SiMeXpHxISN7VJF/O8uSCw1JvXZYZ6ud0CJ7nfC5HXivgfPg==",
214 | "cpu": [
215 | "arm64"
216 | ],
217 | "optional": true,
218 | "os": [
219 | "win32"
220 | ],
221 | "engines": {
222 | "node": ">= 10"
223 | }
224 | },
225 | "node_modules/@next/swc-win32-ia32-msvc": {
226 | "version": "12.1.4",
227 | "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.1.4.tgz",
228 | "integrity": "sha512-CsbX/IXuZ5VSmWCpSetG2HD6VO5FTsO39WNp2IR2Ut/uom9XtLDJAZqjQEnbUTLGHuwDKFjrIO3LkhtROXLE/g==",
229 | "cpu": [
230 | "ia32"
231 | ],
232 | "optional": true,
233 | "os": [
234 | "win32"
235 | ],
236 | "engines": {
237 | "node": ">= 10"
238 | }
239 | },
240 | "node_modules/@next/swc-win32-x64-msvc": {
241 | "version": "12.1.4",
242 | "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.1.4.tgz",
243 | "integrity": "sha512-JtYuWzKXKLDMgE/xTcFtCm1MiCIRaAc5XYZfYX3n/ZWSI1SJS/GMm+Su0SAHJgRFavJh6U/p998YwO/iGTIgqQ==",
244 | "cpu": [
245 | "x64"
246 | ],
247 | "optional": true,
248 | "os": [
249 | "win32"
250 | ],
251 | "engines": {
252 | "node": ">= 10"
253 | }
254 | },
255 | "node_modules/@panva/asn1.js": {
256 | "version": "1.0.0",
257 | "resolved": "https://registry.npmjs.org/@panva/asn1.js/-/asn1.js-1.0.0.tgz",
258 | "integrity": "sha512-UdkG3mLEqXgnlKsWanWcgb6dOjUzJ+XC5f+aWw30qrtjxeNUSfKX1cd5FBzOaXQumoe9nIqeZUvrRJS03HCCtw==",
259 | "dev": true,
260 | "engines": {
261 | "node": ">=10.13.0"
262 | }
263 | },
264 | "node_modules/@panva/hkdf": {
265 | "version": "1.0.1",
266 | "resolved": "https://registry.npmjs.org/@panva/hkdf/-/hkdf-1.0.1.tgz",
267 | "integrity": "sha512-mMyQ9vjpuFqePkfe5bZVIf/H3Dmk6wA8Kjxff9RcO4kqzJo+Ek9pGKwZHpeMr7Eku0QhLXMCd7fNCSnEnRMubg==",
268 | "funding": {
269 | "url": "https://github.com/sponsors/panva"
270 | }
271 | },
272 | "node_modules/@prisma/client": {
273 | "version": "4.10.1",
274 | "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.10.1.tgz",
275 | "integrity": "sha512-VonXLJZybdt8e5XZH5vnIGCRNnIh6OMX1FS3H/yzMGLT3STj5TJ/OkMcednrvELgk8PK89Vo3aSh51MWNO0axA==",
276 | "hasInstallScript": true,
277 | "dependencies": {
278 | "@prisma/engines-version": "4.10.1-2.aead147aa326ccb985dcfed5b065b4fdabd44b19"
279 | },
280 | "engines": {
281 | "node": ">=14.17"
282 | },
283 | "peerDependencies": {
284 | "prisma": "*"
285 | },
286 | "peerDependenciesMeta": {
287 | "prisma": {
288 | "optional": true
289 | }
290 | }
291 | },
292 | "node_modules/@prisma/engines": {
293 | "version": "4.10.1",
294 | "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.10.1.tgz",
295 | "integrity": "sha512-B3tcTxjx196nuAu1GOTKO9cGPUgTFHYRdkPkTS4m5ptb2cejyBlH9X7GOfSt3xlI7p4zAJDshJP4JJivCg9ouA==",
296 | "devOptional": true,
297 | "hasInstallScript": true
298 | },
299 | "node_modules/@prisma/engines-version": {
300 | "version": "4.10.1-2.aead147aa326ccb985dcfed5b065b4fdabd44b19",
301 | "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.10.1-2.aead147aa326ccb985dcfed5b065b4fdabd44b19.tgz",
302 | "integrity": "sha512-tsjTho7laDhf9EJ9EnDxAPEf7yrigSMDhniXeU4YoWc7azHAs4GPxRi2P9LTFonmHkJLMOLjR77J1oIP8Ife1w=="
303 | },
304 | "node_modules/@sqltools/formatter": {
305 | "version": "1.2.3",
306 | "resolved": "https://registry.npmjs.org/@sqltools/formatter/-/formatter-1.2.3.tgz",
307 | "integrity": "sha512-O3uyB/JbkAEMZaP3YqyHH7TMnex7tWyCbCI4EfJdOCoN6HIhqdJBWTM6aCCiWQ/5f5wxjgU735QAIpJbjDvmzg==",
308 | "dev": true
309 | },
310 | "node_modules/@tsconfig/node10": {
311 | "version": "1.0.8",
312 | "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz",
313 | "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==",
314 | "dev": true
315 | },
316 | "node_modules/@tsconfig/node12": {
317 | "version": "1.0.9",
318 | "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz",
319 | "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==",
320 | "dev": true
321 | },
322 | "node_modules/@tsconfig/node14": {
323 | "version": "1.0.1",
324 | "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz",
325 | "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==",
326 | "dev": true
327 | },
328 | "node_modules/@tsconfig/node16": {
329 | "version": "1.0.2",
330 | "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz",
331 | "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==",
332 | "dev": true
333 | },
334 | "node_modules/@types/debug": {
335 | "version": "4.1.7",
336 | "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz",
337 | "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==",
338 | "dependencies": {
339 | "@types/ms": "*"
340 | }
341 | },
342 | "node_modules/@types/hast": {
343 | "version": "2.3.4",
344 | "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz",
345 | "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==",
346 | "dependencies": {
347 | "@types/unist": "*"
348 | }
349 | },
350 | "node_modules/@types/mdast": {
351 | "version": "3.0.10",
352 | "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz",
353 | "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==",
354 | "dependencies": {
355 | "@types/unist": "*"
356 | }
357 | },
358 | "node_modules/@types/mdurl": {
359 | "version": "1.0.2",
360 | "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz",
361 | "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA=="
362 | },
363 | "node_modules/@types/ms": {
364 | "version": "0.7.31",
365 | "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz",
366 | "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA=="
367 | },
368 | "node_modules/@types/next-auth": {
369 | "version": "3.13.0",
370 | "resolved": "https://registry.npmjs.org/@types/next-auth/-/next-auth-3.13.0.tgz",
371 | "integrity": "sha512-zkEVDyoKgRsHm3KUaZoOGSThTS9h0+HbFZctiYbB5MMU6/pUZuF5ozWrVG00jotQJuSEIlPWzdCIXKlaHctJgw==",
372 | "dev": true,
373 | "dependencies": {
374 | "@types/node": "*",
375 | "@types/react": "*",
376 | "jose": "^1.28.0",
377 | "typeorm": "^0.2.31"
378 | }
379 | },
380 | "node_modules/@types/node": {
381 | "version": "16.18.66",
382 | "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.66.tgz",
383 | "integrity": "sha512-sePmD/imfKvC4re/Wwos1NEcXYm6O96CAG5gQVY53nmDb8ePQ4qPku6uruN7n6TJ0t5FhcoUc2+yvE2/UZVDZw==",
384 | "dev": true
385 | },
386 | "node_modules/@types/prop-types": {
387 | "version": "15.7.5",
388 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
389 | "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w=="
390 | },
391 | "node_modules/@types/react": {
392 | "version": "17.0.44",
393 | "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.44.tgz",
394 | "integrity": "sha512-Ye0nlw09GeMp2Suh8qoOv0odfgCoowfM/9MG6WeRD60Gq9wS90bdkdRtYbRkNhXOpG4H+YXGvj4wOWhAC0LJ1g==",
395 | "dependencies": {
396 | "@types/prop-types": "*",
397 | "@types/scheduler": "*",
398 | "csstype": "^3.0.2"
399 | }
400 | },
401 | "node_modules/@types/scheduler": {
402 | "version": "0.16.2",
403 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
404 | "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew=="
405 | },
406 | "node_modules/@types/unist": {
407 | "version": "2.0.6",
408 | "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz",
409 | "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ=="
410 | },
411 | "node_modules/@types/zen-observable": {
412 | "version": "0.8.3",
413 | "resolved": "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.3.tgz",
414 | "integrity": "sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw==",
415 | "dev": true
416 | },
417 | "node_modules/acorn": {
418 | "version": "8.7.0",
419 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
420 | "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==",
421 | "dev": true,
422 | "bin": {
423 | "acorn": "bin/acorn"
424 | },
425 | "engines": {
426 | "node": ">=0.4.0"
427 | }
428 | },
429 | "node_modules/acorn-walk": {
430 | "version": "8.2.0",
431 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
432 | "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
433 | "dev": true,
434 | "engines": {
435 | "node": ">=0.4.0"
436 | }
437 | },
438 | "node_modules/ansi-regex": {
439 | "version": "5.0.1",
440 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
441 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
442 | "dev": true,
443 | "engines": {
444 | "node": ">=8"
445 | }
446 | },
447 | "node_modules/ansi-styles": {
448 | "version": "4.3.0",
449 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
450 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
451 | "dev": true,
452 | "dependencies": {
453 | "color-convert": "^2.0.1"
454 | },
455 | "engines": {
456 | "node": ">=8"
457 | },
458 | "funding": {
459 | "url": "https://github.com/chalk/ansi-styles?sponsor=1"
460 | }
461 | },
462 | "node_modules/any-promise": {
463 | "version": "1.3.0",
464 | "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
465 | "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=",
466 | "dev": true
467 | },
468 | "node_modules/app-root-path": {
469 | "version": "3.0.0",
470 | "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.0.0.tgz",
471 | "integrity": "sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw==",
472 | "dev": true,
473 | "engines": {
474 | "node": ">= 6.0.0"
475 | }
476 | },
477 | "node_modules/arg": {
478 | "version": "4.1.3",
479 | "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
480 | "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
481 | "dev": true
482 | },
483 | "node_modules/argparse": {
484 | "version": "2.0.1",
485 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
486 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
487 | "dev": true
488 | },
489 | "node_modules/bail": {
490 | "version": "2.0.2",
491 | "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
492 | "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==",
493 | "funding": {
494 | "type": "github",
495 | "url": "https://github.com/sponsors/wooorm"
496 | }
497 | },
498 | "node_modules/balanced-match": {
499 | "version": "1.0.2",
500 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
501 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
502 | "dev": true
503 | },
504 | "node_modules/base64-js": {
505 | "version": "1.5.1",
506 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
507 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
508 | "dev": true,
509 | "funding": [
510 | {
511 | "type": "github",
512 | "url": "https://github.com/sponsors/feross"
513 | },
514 | {
515 | "type": "patreon",
516 | "url": "https://www.patreon.com/feross"
517 | },
518 | {
519 | "type": "consulting",
520 | "url": "https://feross.org/support"
521 | }
522 | ]
523 | },
524 | "node_modules/brace-expansion": {
525 | "version": "1.1.11",
526 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
527 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
528 | "dev": true,
529 | "dependencies": {
530 | "balanced-match": "^1.0.0",
531 | "concat-map": "0.0.1"
532 | }
533 | },
534 | "node_modules/buffer": {
535 | "version": "6.0.3",
536 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
537 | "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
538 | "dev": true,
539 | "funding": [
540 | {
541 | "type": "github",
542 | "url": "https://github.com/sponsors/feross"
543 | },
544 | {
545 | "type": "patreon",
546 | "url": "https://www.patreon.com/feross"
547 | },
548 | {
549 | "type": "consulting",
550 | "url": "https://feross.org/support"
551 | }
552 | ],
553 | "dependencies": {
554 | "base64-js": "^1.3.1",
555 | "ieee754": "^1.2.1"
556 | }
557 | },
558 | "node_modules/caniuse-lite": {
559 | "version": "1.0.30001327",
560 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001327.tgz",
561 | "integrity": "sha512-1/Cg4jlD9qjZzhbzkzEaAC2JHsP0WrOc8Rd/3a3LuajGzGWR/hD7TVyvq99VqmTy99eVh8Zkmdq213OgvgXx7w==",
562 | "funding": [
563 | {
564 | "type": "opencollective",
565 | "url": "https://opencollective.com/browserslist"
566 | },
567 | {
568 | "type": "tidelift",
569 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
570 | }
571 | ]
572 | },
573 | "node_modules/chalk": {
574 | "version": "4.1.2",
575 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
576 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
577 | "dev": true,
578 | "dependencies": {
579 | "ansi-styles": "^4.1.0",
580 | "supports-color": "^7.1.0"
581 | },
582 | "engines": {
583 | "node": ">=10"
584 | },
585 | "funding": {
586 | "url": "https://github.com/chalk/chalk?sponsor=1"
587 | }
588 | },
589 | "node_modules/character-entities": {
590 | "version": "2.0.1",
591 | "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.1.tgz",
592 | "integrity": "sha512-OzmutCf2Kmc+6DrFrrPS8/tDh2+DpnrfzdICHWhcVC9eOd0N1PXmQEE1a8iM4IziIAG+8tmTq3K+oo0ubH6RRQ==",
593 | "funding": {
594 | "type": "github",
595 | "url": "https://github.com/sponsors/wooorm"
596 | }
597 | },
598 | "node_modules/cli-highlight": {
599 | "version": "2.1.11",
600 | "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz",
601 | "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==",
602 | "dev": true,
603 | "dependencies": {
604 | "chalk": "^4.0.0",
605 | "highlight.js": "^10.7.1",
606 | "mz": "^2.4.0",
607 | "parse5": "^5.1.1",
608 | "parse5-htmlparser2-tree-adapter": "^6.0.0",
609 | "yargs": "^16.0.0"
610 | },
611 | "bin": {
612 | "highlight": "bin/highlight"
613 | },
614 | "engines": {
615 | "node": ">=8.0.0",
616 | "npm": ">=5.0.0"
617 | }
618 | },
619 | "node_modules/cli-highlight/node_modules/yargs": {
620 | "version": "16.2.0",
621 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
622 | "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
623 | "dev": true,
624 | "dependencies": {
625 | "cliui": "^7.0.2",
626 | "escalade": "^3.1.1",
627 | "get-caller-file": "^2.0.5",
628 | "require-directory": "^2.1.1",
629 | "string-width": "^4.2.0",
630 | "y18n": "^5.0.5",
631 | "yargs-parser": "^20.2.2"
632 | },
633 | "engines": {
634 | "node": ">=10"
635 | }
636 | },
637 | "node_modules/cli-highlight/node_modules/yargs-parser": {
638 | "version": "20.2.9",
639 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
640 | "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
641 | "dev": true,
642 | "engines": {
643 | "node": ">=10"
644 | }
645 | },
646 | "node_modules/cliui": {
647 | "version": "7.0.4",
648 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
649 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
650 | "dev": true,
651 | "dependencies": {
652 | "string-width": "^4.2.0",
653 | "strip-ansi": "^6.0.0",
654 | "wrap-ansi": "^7.0.0"
655 | }
656 | },
657 | "node_modules/color-convert": {
658 | "version": "2.0.1",
659 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
660 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
661 | "dev": true,
662 | "dependencies": {
663 | "color-name": "~1.1.4"
664 | },
665 | "engines": {
666 | "node": ">=7.0.0"
667 | }
668 | },
669 | "node_modules/color-name": {
670 | "version": "1.1.4",
671 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
672 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
673 | "dev": true
674 | },
675 | "node_modules/comma-separated-tokens": {
676 | "version": "2.0.2",
677 | "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz",
678 | "integrity": "sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg==",
679 | "funding": {
680 | "type": "github",
681 | "url": "https://github.com/sponsors/wooorm"
682 | }
683 | },
684 | "node_modules/concat-map": {
685 | "version": "0.0.1",
686 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
687 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
688 | "dev": true
689 | },
690 | "node_modules/cookie": {
691 | "version": "0.4.2",
692 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
693 | "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
694 | "engines": {
695 | "node": ">= 0.6"
696 | }
697 | },
698 | "node_modules/create-require": {
699 | "version": "1.1.1",
700 | "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
701 | "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
702 | "dev": true
703 | },
704 | "node_modules/csstype": {
705 | "version": "3.0.11",
706 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.11.tgz",
707 | "integrity": "sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw=="
708 | },
709 | "node_modules/debug": {
710 | "version": "4.3.4",
711 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
712 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
713 | "dependencies": {
714 | "ms": "2.1.2"
715 | },
716 | "engines": {
717 | "node": ">=6.0"
718 | },
719 | "peerDependenciesMeta": {
720 | "supports-color": {
721 | "optional": true
722 | }
723 | }
724 | },
725 | "node_modules/decode-named-character-reference": {
726 | "version": "1.0.1",
727 | "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.1.tgz",
728 | "integrity": "sha512-YV/0HQHreRwKb7uBopyIkLG17jG6Sv2qUchk9qSoVJ2f+flwRsPNBO0hAnjt6mTNYUT+vw9Gy2ihXg4sUWPi2w==",
729 | "dependencies": {
730 | "character-entities": "^2.0.0"
731 | },
732 | "funding": {
733 | "type": "github",
734 | "url": "https://github.com/sponsors/wooorm"
735 | }
736 | },
737 | "node_modules/dequal": {
738 | "version": "2.0.2",
739 | "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.2.tgz",
740 | "integrity": "sha512-q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug==",
741 | "engines": {
742 | "node": ">=6"
743 | }
744 | },
745 | "node_modules/diff": {
746 | "version": "4.0.2",
747 | "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
748 | "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
749 | "dev": true,
750 | "engines": {
751 | "node": ">=0.3.1"
752 | }
753 | },
754 | "node_modules/dotenv": {
755 | "version": "8.6.0",
756 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz",
757 | "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==",
758 | "dev": true,
759 | "engines": {
760 | "node": ">=10"
761 | }
762 | },
763 | "node_modules/emoji-regex": {
764 | "version": "8.0.0",
765 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
766 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
767 | "dev": true
768 | },
769 | "node_modules/escalade": {
770 | "version": "3.1.1",
771 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
772 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
773 | "dev": true,
774 | "engines": {
775 | "node": ">=6"
776 | }
777 | },
778 | "node_modules/extend": {
779 | "version": "3.0.2",
780 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
781 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
782 | },
783 | "node_modules/fs.realpath": {
784 | "version": "1.0.0",
785 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
786 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
787 | "dev": true
788 | },
789 | "node_modules/get-caller-file": {
790 | "version": "2.0.5",
791 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
792 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
793 | "dev": true,
794 | "engines": {
795 | "node": "6.* || 8.* || >= 10.*"
796 | }
797 | },
798 | "node_modules/glob": {
799 | "version": "7.2.0",
800 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
801 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
802 | "dev": true,
803 | "dependencies": {
804 | "fs.realpath": "^1.0.0",
805 | "inflight": "^1.0.4",
806 | "inherits": "2",
807 | "minimatch": "^3.0.4",
808 | "once": "^1.3.0",
809 | "path-is-absolute": "^1.0.0"
810 | },
811 | "engines": {
812 | "node": "*"
813 | },
814 | "funding": {
815 | "url": "https://github.com/sponsors/isaacs"
816 | }
817 | },
818 | "node_modules/has-flag": {
819 | "version": "4.0.0",
820 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
821 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
822 | "dev": true,
823 | "engines": {
824 | "node": ">=8"
825 | }
826 | },
827 | "node_modules/hast-util-whitespace": {
828 | "version": "2.0.0",
829 | "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.0.tgz",
830 | "integrity": "sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg==",
831 | "funding": {
832 | "type": "opencollective",
833 | "url": "https://opencollective.com/unified"
834 | }
835 | },
836 | "node_modules/highlight.js": {
837 | "version": "10.7.3",
838 | "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz",
839 | "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==",
840 | "dev": true,
841 | "engines": {
842 | "node": "*"
843 | }
844 | },
845 | "node_modules/ieee754": {
846 | "version": "1.2.1",
847 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
848 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
849 | "dev": true,
850 | "funding": [
851 | {
852 | "type": "github",
853 | "url": "https://github.com/sponsors/feross"
854 | },
855 | {
856 | "type": "patreon",
857 | "url": "https://www.patreon.com/feross"
858 | },
859 | {
860 | "type": "consulting",
861 | "url": "https://feross.org/support"
862 | }
863 | ]
864 | },
865 | "node_modules/inflight": {
866 | "version": "1.0.6",
867 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
868 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
869 | "dev": true,
870 | "dependencies": {
871 | "once": "^1.3.0",
872 | "wrappy": "1"
873 | }
874 | },
875 | "node_modules/inherits": {
876 | "version": "2.0.4",
877 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
878 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
879 | "dev": true
880 | },
881 | "node_modules/inline-style-parser": {
882 | "version": "0.1.1",
883 | "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz",
884 | "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q=="
885 | },
886 | "node_modules/is-buffer": {
887 | "version": "2.0.5",
888 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
889 | "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
890 | "funding": [
891 | {
892 | "type": "github",
893 | "url": "https://github.com/sponsors/feross"
894 | },
895 | {
896 | "type": "patreon",
897 | "url": "https://www.patreon.com/feross"
898 | },
899 | {
900 | "type": "consulting",
901 | "url": "https://feross.org/support"
902 | }
903 | ],
904 | "engines": {
905 | "node": ">=4"
906 | }
907 | },
908 | "node_modules/is-fullwidth-code-point": {
909 | "version": "3.0.0",
910 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
911 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
912 | "dev": true,
913 | "engines": {
914 | "node": ">=8"
915 | }
916 | },
917 | "node_modules/is-plain-obj": {
918 | "version": "4.0.0",
919 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.0.0.tgz",
920 | "integrity": "sha512-NXRbBtUdBioI73y/HmOhogw/U5msYPC9DAtGkJXeFcFWSFZw0mCUsPxk/snTuJHzNKA8kLBK4rH97RMB1BfCXw==",
921 | "engines": {
922 | "node": ">=12"
923 | },
924 | "funding": {
925 | "url": "https://github.com/sponsors/sindresorhus"
926 | }
927 | },
928 | "node_modules/jose": {
929 | "version": "1.28.1",
930 | "resolved": "https://registry.npmjs.org/jose/-/jose-1.28.1.tgz",
931 | "integrity": "sha512-6JK28rFu5ENp/yxMwM+iN7YeaInnY9B9Bggjkz5fuwLiJhbVrl2O4SJr65bdNBPl9y27fdC3Mymh+FVCvozLIg==",
932 | "dev": true,
933 | "dependencies": {
934 | "@panva/asn1.js": "^1.0.0"
935 | },
936 | "engines": {
937 | "node": ">=10.13.0"
938 | },
939 | "funding": {
940 | "url": "https://github.com/sponsors/panva"
941 | }
942 | },
943 | "node_modules/js-tokens": {
944 | "version": "4.0.0",
945 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
946 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
947 | },
948 | "node_modules/js-yaml": {
949 | "version": "4.1.0",
950 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
951 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
952 | "dev": true,
953 | "dependencies": {
954 | "argparse": "^2.0.1"
955 | },
956 | "bin": {
957 | "js-yaml": "bin/js-yaml.js"
958 | }
959 | },
960 | "node_modules/kleur": {
961 | "version": "4.1.4",
962 | "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz",
963 | "integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==",
964 | "engines": {
965 | "node": ">=6"
966 | }
967 | },
968 | "node_modules/loose-envify": {
969 | "version": "1.4.0",
970 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
971 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
972 | "dependencies": {
973 | "js-tokens": "^3.0.0 || ^4.0.0"
974 | },
975 | "bin": {
976 | "loose-envify": "cli.js"
977 | }
978 | },
979 | "node_modules/lru-cache": {
980 | "version": "6.0.0",
981 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
982 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
983 | "dependencies": {
984 | "yallist": "^4.0.0"
985 | },
986 | "engines": {
987 | "node": ">=10"
988 | }
989 | },
990 | "node_modules/make-error": {
991 | "version": "1.3.6",
992 | "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
993 | "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
994 | "dev": true
995 | },
996 | "node_modules/mdast-util-definitions": {
997 | "version": "5.1.0",
998 | "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.0.tgz",
999 | "integrity": "sha512-5hcR7FL2EuZ4q6lLMUK5w4lHT2H3vqL9quPvYZ/Ku5iifrirfMHiGdhxdXMUbUkDmz5I+TYMd7nbaxUhbQkfpQ==",
1000 | "dependencies": {
1001 | "@types/mdast": "^3.0.0",
1002 | "@types/unist": "^2.0.0",
1003 | "unist-util-visit": "^3.0.0"
1004 | },
1005 | "funding": {
1006 | "type": "opencollective",
1007 | "url": "https://opencollective.com/unified"
1008 | }
1009 | },
1010 | "node_modules/mdast-util-definitions/node_modules/unist-util-visit": {
1011 | "version": "3.1.0",
1012 | "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-3.1.0.tgz",
1013 | "integrity": "sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==",
1014 | "dependencies": {
1015 | "@types/unist": "^2.0.0",
1016 | "unist-util-is": "^5.0.0",
1017 | "unist-util-visit-parents": "^4.0.0"
1018 | },
1019 | "funding": {
1020 | "type": "opencollective",
1021 | "url": "https://opencollective.com/unified"
1022 | }
1023 | },
1024 | "node_modules/mdast-util-definitions/node_modules/unist-util-visit-parents": {
1025 | "version": "4.1.1",
1026 | "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-4.1.1.tgz",
1027 | "integrity": "sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==",
1028 | "dependencies": {
1029 | "@types/unist": "^2.0.0",
1030 | "unist-util-is": "^5.0.0"
1031 | },
1032 | "funding": {
1033 | "type": "opencollective",
1034 | "url": "https://opencollective.com/unified"
1035 | }
1036 | },
1037 | "node_modules/mdast-util-from-markdown": {
1038 | "version": "1.2.0",
1039 | "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.2.0.tgz",
1040 | "integrity": "sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q==",
1041 | "dependencies": {
1042 | "@types/mdast": "^3.0.0",
1043 | "@types/unist": "^2.0.0",
1044 | "decode-named-character-reference": "^1.0.0",
1045 | "mdast-util-to-string": "^3.1.0",
1046 | "micromark": "^3.0.0",
1047 | "micromark-util-decode-numeric-character-reference": "^1.0.0",
1048 | "micromark-util-decode-string": "^1.0.0",
1049 | "micromark-util-normalize-identifier": "^1.0.0",
1050 | "micromark-util-symbol": "^1.0.0",
1051 | "micromark-util-types": "^1.0.0",
1052 | "unist-util-stringify-position": "^3.0.0",
1053 | "uvu": "^0.5.0"
1054 | },
1055 | "funding": {
1056 | "type": "opencollective",
1057 | "url": "https://opencollective.com/unified"
1058 | }
1059 | },
1060 | "node_modules/mdast-util-to-hast": {
1061 | "version": "12.1.1",
1062 | "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.1.1.tgz",
1063 | "integrity": "sha512-qE09zD6ylVP14jV4mjLIhDBOrpFdShHZcEsYvvKGABlr9mGbV7mTlRWdoFxL/EYSTNDiC9GZXy7y8Shgb9Dtzw==",
1064 | "dependencies": {
1065 | "@types/hast": "^2.0.0",
1066 | "@types/mdast": "^3.0.0",
1067 | "@types/mdurl": "^1.0.0",
1068 | "mdast-util-definitions": "^5.0.0",
1069 | "mdurl": "^1.0.0",
1070 | "micromark-util-sanitize-uri": "^1.0.0",
1071 | "unist-builder": "^3.0.0",
1072 | "unist-util-generated": "^2.0.0",
1073 | "unist-util-position": "^4.0.0",
1074 | "unist-util-visit": "^4.0.0"
1075 | },
1076 | "funding": {
1077 | "type": "opencollective",
1078 | "url": "https://opencollective.com/unified"
1079 | }
1080 | },
1081 | "node_modules/mdast-util-to-string": {
1082 | "version": "3.1.0",
1083 | "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz",
1084 | "integrity": "sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==",
1085 | "funding": {
1086 | "type": "opencollective",
1087 | "url": "https://opencollective.com/unified"
1088 | }
1089 | },
1090 | "node_modules/mdurl": {
1091 | "version": "1.0.1",
1092 | "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
1093 | "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4="
1094 | },
1095 | "node_modules/micromark": {
1096 | "version": "3.0.10",
1097 | "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.0.10.tgz",
1098 | "integrity": "sha512-ryTDy6UUunOXy2HPjelppgJ2sNfcPz1pLlMdA6Rz9jPzhLikWXv/irpWV/I2jd68Uhmny7hHxAlAhk4+vWggpg==",
1099 | "funding": [
1100 | {
1101 | "type": "GitHub Sponsors",
1102 | "url": "https://github.com/sponsors/unifiedjs"
1103 | },
1104 | {
1105 | "type": "OpenCollective",
1106 | "url": "https://opencollective.com/unified"
1107 | }
1108 | ],
1109 | "dependencies": {
1110 | "@types/debug": "^4.0.0",
1111 | "debug": "^4.0.0",
1112 | "decode-named-character-reference": "^1.0.0",
1113 | "micromark-core-commonmark": "^1.0.1",
1114 | "micromark-factory-space": "^1.0.0",
1115 | "micromark-util-character": "^1.0.0",
1116 | "micromark-util-chunked": "^1.0.0",
1117 | "micromark-util-combine-extensions": "^1.0.0",
1118 | "micromark-util-decode-numeric-character-reference": "^1.0.0",
1119 | "micromark-util-encode": "^1.0.0",
1120 | "micromark-util-normalize-identifier": "^1.0.0",
1121 | "micromark-util-resolve-all": "^1.0.0",
1122 | "micromark-util-sanitize-uri": "^1.0.0",
1123 | "micromark-util-subtokenize": "^1.0.0",
1124 | "micromark-util-symbol": "^1.0.0",
1125 | "micromark-util-types": "^1.0.1",
1126 | "uvu": "^0.5.0"
1127 | }
1128 | },
1129 | "node_modules/micromark-core-commonmark": {
1130 | "version": "1.0.6",
1131 | "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz",
1132 | "integrity": "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==",
1133 | "funding": [
1134 | {
1135 | "type": "GitHub Sponsors",
1136 | "url": "https://github.com/sponsors/unifiedjs"
1137 | },
1138 | {
1139 | "type": "OpenCollective",
1140 | "url": "https://opencollective.com/unified"
1141 | }
1142 | ],
1143 | "dependencies": {
1144 | "decode-named-character-reference": "^1.0.0",
1145 | "micromark-factory-destination": "^1.0.0",
1146 | "micromark-factory-label": "^1.0.0",
1147 | "micromark-factory-space": "^1.0.0",
1148 | "micromark-factory-title": "^1.0.0",
1149 | "micromark-factory-whitespace": "^1.0.0",
1150 | "micromark-util-character": "^1.0.0",
1151 | "micromark-util-chunked": "^1.0.0",
1152 | "micromark-util-classify-character": "^1.0.0",
1153 | "micromark-util-html-tag-name": "^1.0.0",
1154 | "micromark-util-normalize-identifier": "^1.0.0",
1155 | "micromark-util-resolve-all": "^1.0.0",
1156 | "micromark-util-subtokenize": "^1.0.0",
1157 | "micromark-util-symbol": "^1.0.0",
1158 | "micromark-util-types": "^1.0.1",
1159 | "uvu": "^0.5.0"
1160 | }
1161 | },
1162 | "node_modules/micromark-factory-destination": {
1163 | "version": "1.0.0",
1164 | "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz",
1165 | "integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==",
1166 | "funding": [
1167 | {
1168 | "type": "GitHub Sponsors",
1169 | "url": "https://github.com/sponsors/unifiedjs"
1170 | },
1171 | {
1172 | "type": "OpenCollective",
1173 | "url": "https://opencollective.com/unified"
1174 | }
1175 | ],
1176 | "dependencies": {
1177 | "micromark-util-character": "^1.0.0",
1178 | "micromark-util-symbol": "^1.0.0",
1179 | "micromark-util-types": "^1.0.0"
1180 | }
1181 | },
1182 | "node_modules/micromark-factory-label": {
1183 | "version": "1.0.2",
1184 | "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz",
1185 | "integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==",
1186 | "funding": [
1187 | {
1188 | "type": "GitHub Sponsors",
1189 | "url": "https://github.com/sponsors/unifiedjs"
1190 | },
1191 | {
1192 | "type": "OpenCollective",
1193 | "url": "https://opencollective.com/unified"
1194 | }
1195 | ],
1196 | "dependencies": {
1197 | "micromark-util-character": "^1.0.0",
1198 | "micromark-util-symbol": "^1.0.0",
1199 | "micromark-util-types": "^1.0.0",
1200 | "uvu": "^0.5.0"
1201 | }
1202 | },
1203 | "node_modules/micromark-factory-space": {
1204 | "version": "1.0.0",
1205 | "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz",
1206 | "integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==",
1207 | "funding": [
1208 | {
1209 | "type": "GitHub Sponsors",
1210 | "url": "https://github.com/sponsors/unifiedjs"
1211 | },
1212 | {
1213 | "type": "OpenCollective",
1214 | "url": "https://opencollective.com/unified"
1215 | }
1216 | ],
1217 | "dependencies": {
1218 | "micromark-util-character": "^1.0.0",
1219 | "micromark-util-types": "^1.0.0"
1220 | }
1221 | },
1222 | "node_modules/micromark-factory-title": {
1223 | "version": "1.0.2",
1224 | "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz",
1225 | "integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==",
1226 | "funding": [
1227 | {
1228 | "type": "GitHub Sponsors",
1229 | "url": "https://github.com/sponsors/unifiedjs"
1230 | },
1231 | {
1232 | "type": "OpenCollective",
1233 | "url": "https://opencollective.com/unified"
1234 | }
1235 | ],
1236 | "dependencies": {
1237 | "micromark-factory-space": "^1.0.0",
1238 | "micromark-util-character": "^1.0.0",
1239 | "micromark-util-symbol": "^1.0.0",
1240 | "micromark-util-types": "^1.0.0",
1241 | "uvu": "^0.5.0"
1242 | }
1243 | },
1244 | "node_modules/micromark-factory-whitespace": {
1245 | "version": "1.0.0",
1246 | "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz",
1247 | "integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==",
1248 | "funding": [
1249 | {
1250 | "type": "GitHub Sponsors",
1251 | "url": "https://github.com/sponsors/unifiedjs"
1252 | },
1253 | {
1254 | "type": "OpenCollective",
1255 | "url": "https://opencollective.com/unified"
1256 | }
1257 | ],
1258 | "dependencies": {
1259 | "micromark-factory-space": "^1.0.0",
1260 | "micromark-util-character": "^1.0.0",
1261 | "micromark-util-symbol": "^1.0.0",
1262 | "micromark-util-types": "^1.0.0"
1263 | }
1264 | },
1265 | "node_modules/micromark-util-character": {
1266 | "version": "1.1.0",
1267 | "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz",
1268 | "integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==",
1269 | "funding": [
1270 | {
1271 | "type": "GitHub Sponsors",
1272 | "url": "https://github.com/sponsors/unifiedjs"
1273 | },
1274 | {
1275 | "type": "OpenCollective",
1276 | "url": "https://opencollective.com/unified"
1277 | }
1278 | ],
1279 | "dependencies": {
1280 | "micromark-util-symbol": "^1.0.0",
1281 | "micromark-util-types": "^1.0.0"
1282 | }
1283 | },
1284 | "node_modules/micromark-util-chunked": {
1285 | "version": "1.0.0",
1286 | "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz",
1287 | "integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==",
1288 | "funding": [
1289 | {
1290 | "type": "GitHub Sponsors",
1291 | "url": "https://github.com/sponsors/unifiedjs"
1292 | },
1293 | {
1294 | "type": "OpenCollective",
1295 | "url": "https://opencollective.com/unified"
1296 | }
1297 | ],
1298 | "dependencies": {
1299 | "micromark-util-symbol": "^1.0.0"
1300 | }
1301 | },
1302 | "node_modules/micromark-util-classify-character": {
1303 | "version": "1.0.0",
1304 | "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz",
1305 | "integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==",
1306 | "funding": [
1307 | {
1308 | "type": "GitHub Sponsors",
1309 | "url": "https://github.com/sponsors/unifiedjs"
1310 | },
1311 | {
1312 | "type": "OpenCollective",
1313 | "url": "https://opencollective.com/unified"
1314 | }
1315 | ],
1316 | "dependencies": {
1317 | "micromark-util-character": "^1.0.0",
1318 | "micromark-util-symbol": "^1.0.0",
1319 | "micromark-util-types": "^1.0.0"
1320 | }
1321 | },
1322 | "node_modules/micromark-util-combine-extensions": {
1323 | "version": "1.0.0",
1324 | "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz",
1325 | "integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==",
1326 | "funding": [
1327 | {
1328 | "type": "GitHub Sponsors",
1329 | "url": "https://github.com/sponsors/unifiedjs"
1330 | },
1331 | {
1332 | "type": "OpenCollective",
1333 | "url": "https://opencollective.com/unified"
1334 | }
1335 | ],
1336 | "dependencies": {
1337 | "micromark-util-chunked": "^1.0.0",
1338 | "micromark-util-types": "^1.0.0"
1339 | }
1340 | },
1341 | "node_modules/micromark-util-decode-numeric-character-reference": {
1342 | "version": "1.0.0",
1343 | "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz",
1344 | "integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==",
1345 | "funding": [
1346 | {
1347 | "type": "GitHub Sponsors",
1348 | "url": "https://github.com/sponsors/unifiedjs"
1349 | },
1350 | {
1351 | "type": "OpenCollective",
1352 | "url": "https://opencollective.com/unified"
1353 | }
1354 | ],
1355 | "dependencies": {
1356 | "micromark-util-symbol": "^1.0.0"
1357 | }
1358 | },
1359 | "node_modules/micromark-util-decode-string": {
1360 | "version": "1.0.2",
1361 | "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz",
1362 | "integrity": "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==",
1363 | "funding": [
1364 | {
1365 | "type": "GitHub Sponsors",
1366 | "url": "https://github.com/sponsors/unifiedjs"
1367 | },
1368 | {
1369 | "type": "OpenCollective",
1370 | "url": "https://opencollective.com/unified"
1371 | }
1372 | ],
1373 | "dependencies": {
1374 | "decode-named-character-reference": "^1.0.0",
1375 | "micromark-util-character": "^1.0.0",
1376 | "micromark-util-decode-numeric-character-reference": "^1.0.0",
1377 | "micromark-util-symbol": "^1.0.0"
1378 | }
1379 | },
1380 | "node_modules/micromark-util-encode": {
1381 | "version": "1.0.1",
1382 | "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz",
1383 | "integrity": "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==",
1384 | "funding": [
1385 | {
1386 | "type": "GitHub Sponsors",
1387 | "url": "https://github.com/sponsors/unifiedjs"
1388 | },
1389 | {
1390 | "type": "OpenCollective",
1391 | "url": "https://opencollective.com/unified"
1392 | }
1393 | ]
1394 | },
1395 | "node_modules/micromark-util-html-tag-name": {
1396 | "version": "1.0.0",
1397 | "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.0.0.tgz",
1398 | "integrity": "sha512-NenEKIshW2ZI/ERv9HtFNsrn3llSPZtY337LID/24WeLqMzeZhBEE6BQ0vS2ZBjshm5n40chKtJ3qjAbVV8S0g==",
1399 | "funding": [
1400 | {
1401 | "type": "GitHub Sponsors",
1402 | "url": "https://github.com/sponsors/unifiedjs"
1403 | },
1404 | {
1405 | "type": "OpenCollective",
1406 | "url": "https://opencollective.com/unified"
1407 | }
1408 | ]
1409 | },
1410 | "node_modules/micromark-util-normalize-identifier": {
1411 | "version": "1.0.0",
1412 | "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz",
1413 | "integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==",
1414 | "funding": [
1415 | {
1416 | "type": "GitHub Sponsors",
1417 | "url": "https://github.com/sponsors/unifiedjs"
1418 | },
1419 | {
1420 | "type": "OpenCollective",
1421 | "url": "https://opencollective.com/unified"
1422 | }
1423 | ],
1424 | "dependencies": {
1425 | "micromark-util-symbol": "^1.0.0"
1426 | }
1427 | },
1428 | "node_modules/micromark-util-resolve-all": {
1429 | "version": "1.0.0",
1430 | "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz",
1431 | "integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==",
1432 | "funding": [
1433 | {
1434 | "type": "GitHub Sponsors",
1435 | "url": "https://github.com/sponsors/unifiedjs"
1436 | },
1437 | {
1438 | "type": "OpenCollective",
1439 | "url": "https://opencollective.com/unified"
1440 | }
1441 | ],
1442 | "dependencies": {
1443 | "micromark-util-types": "^1.0.0"
1444 | }
1445 | },
1446 | "node_modules/micromark-util-sanitize-uri": {
1447 | "version": "1.0.0",
1448 | "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.0.0.tgz",
1449 | "integrity": "sha512-cCxvBKlmac4rxCGx6ejlIviRaMKZc0fWm5HdCHEeDWRSkn44l6NdYVRyU+0nT1XC72EQJMZV8IPHF+jTr56lAg==",
1450 | "funding": [
1451 | {
1452 | "type": "GitHub Sponsors",
1453 | "url": "https://github.com/sponsors/unifiedjs"
1454 | },
1455 | {
1456 | "type": "OpenCollective",
1457 | "url": "https://opencollective.com/unified"
1458 | }
1459 | ],
1460 | "dependencies": {
1461 | "micromark-util-character": "^1.0.0",
1462 | "micromark-util-encode": "^1.0.0",
1463 | "micromark-util-symbol": "^1.0.0"
1464 | }
1465 | },
1466 | "node_modules/micromark-util-subtokenize": {
1467 | "version": "1.0.2",
1468 | "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz",
1469 | "integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==",
1470 | "funding": [
1471 | {
1472 | "type": "GitHub Sponsors",
1473 | "url": "https://github.com/sponsors/unifiedjs"
1474 | },
1475 | {
1476 | "type": "OpenCollective",
1477 | "url": "https://opencollective.com/unified"
1478 | }
1479 | ],
1480 | "dependencies": {
1481 | "micromark-util-chunked": "^1.0.0",
1482 | "micromark-util-symbol": "^1.0.0",
1483 | "micromark-util-types": "^1.0.0",
1484 | "uvu": "^0.5.0"
1485 | }
1486 | },
1487 | "node_modules/micromark-util-symbol": {
1488 | "version": "1.0.1",
1489 | "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz",
1490 | "integrity": "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==",
1491 | "funding": [
1492 | {
1493 | "type": "GitHub Sponsors",
1494 | "url": "https://github.com/sponsors/unifiedjs"
1495 | },
1496 | {
1497 | "type": "OpenCollective",
1498 | "url": "https://opencollective.com/unified"
1499 | }
1500 | ]
1501 | },
1502 | "node_modules/micromark-util-types": {
1503 | "version": "1.0.2",
1504 | "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz",
1505 | "integrity": "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==",
1506 | "funding": [
1507 | {
1508 | "type": "GitHub Sponsors",
1509 | "url": "https://github.com/sponsors/unifiedjs"
1510 | },
1511 | {
1512 | "type": "OpenCollective",
1513 | "url": "https://opencollective.com/unified"
1514 | }
1515 | ]
1516 | },
1517 | "node_modules/minimatch": {
1518 | "version": "3.1.2",
1519 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
1520 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
1521 | "dev": true,
1522 | "dependencies": {
1523 | "brace-expansion": "^1.1.7"
1524 | },
1525 | "engines": {
1526 | "node": "*"
1527 | }
1528 | },
1529 | "node_modules/mkdirp": {
1530 | "version": "1.0.4",
1531 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
1532 | "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
1533 | "dev": true,
1534 | "bin": {
1535 | "mkdirp": "bin/cmd.js"
1536 | },
1537 | "engines": {
1538 | "node": ">=10"
1539 | }
1540 | },
1541 | "node_modules/mri": {
1542 | "version": "1.2.0",
1543 | "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
1544 | "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
1545 | "engines": {
1546 | "node": ">=4"
1547 | }
1548 | },
1549 | "node_modules/ms": {
1550 | "version": "2.1.2",
1551 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1552 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
1553 | },
1554 | "node_modules/mz": {
1555 | "version": "2.7.0",
1556 | "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
1557 | "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
1558 | "dev": true,
1559 | "dependencies": {
1560 | "any-promise": "^1.0.0",
1561 | "object-assign": "^4.0.1",
1562 | "thenify-all": "^1.0.0"
1563 | }
1564 | },
1565 | "node_modules/nanoid": {
1566 | "version": "3.3.2",
1567 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz",
1568 | "integrity": "sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==",
1569 | "bin": {
1570 | "nanoid": "bin/nanoid.cjs"
1571 | },
1572 | "engines": {
1573 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
1574 | }
1575 | },
1576 | "node_modules/next": {
1577 | "version": "12.1.4",
1578 | "resolved": "https://registry.npmjs.org/next/-/next-12.1.4.tgz",
1579 | "integrity": "sha512-DA4g97BM4Z0nKtDvCTm58RxdvoQyYzeg0AeVbh0N4Y/D8ELrNu47lQeEgRGF8hV4eQ+Sal90zxrJQQG/mPQ8CQ==",
1580 | "dependencies": {
1581 | "@next/env": "12.1.4",
1582 | "caniuse-lite": "^1.0.30001283",
1583 | "postcss": "8.4.5",
1584 | "styled-jsx": "5.0.1"
1585 | },
1586 | "bin": {
1587 | "next": "dist/bin/next"
1588 | },
1589 | "engines": {
1590 | "node": ">=12.22.0"
1591 | },
1592 | "optionalDependencies": {
1593 | "@next/swc-android-arm-eabi": "12.1.4",
1594 | "@next/swc-android-arm64": "12.1.4",
1595 | "@next/swc-darwin-arm64": "12.1.4",
1596 | "@next/swc-darwin-x64": "12.1.4",
1597 | "@next/swc-linux-arm-gnueabihf": "12.1.4",
1598 | "@next/swc-linux-arm64-gnu": "12.1.4",
1599 | "@next/swc-linux-arm64-musl": "12.1.4",
1600 | "@next/swc-linux-x64-gnu": "12.1.4",
1601 | "@next/swc-linux-x64-musl": "12.1.4",
1602 | "@next/swc-win32-arm64-msvc": "12.1.4",
1603 | "@next/swc-win32-ia32-msvc": "12.1.4",
1604 | "@next/swc-win32-x64-msvc": "12.1.4"
1605 | },
1606 | "peerDependencies": {
1607 | "fibers": ">= 3.1.0",
1608 | "node-sass": "^6.0.0 || ^7.0.0",
1609 | "react": "^17.0.2 || ^18.0.0-0",
1610 | "react-dom": "^17.0.2 || ^18.0.0-0",
1611 | "sass": "^1.3.0"
1612 | },
1613 | "peerDependenciesMeta": {
1614 | "fibers": {
1615 | "optional": true
1616 | },
1617 | "node-sass": {
1618 | "optional": true
1619 | },
1620 | "sass": {
1621 | "optional": true
1622 | }
1623 | }
1624 | },
1625 | "node_modules/next-auth": {
1626 | "version": "4.3.1",
1627 | "resolved": "https://registry.npmjs.org/next-auth/-/next-auth-4.3.1.tgz",
1628 | "integrity": "sha512-DBYEPBLq5naIqh/1i2zEHljcA1OXXecKW3NRU1W4s6R3UX3RdLZ2lWlqgBHUiZQ1zdNikFM/bYQxVGyG7bx8oA==",
1629 | "dependencies": {
1630 | "@babel/runtime": "^7.16.3",
1631 | "@panva/hkdf": "^1.0.1",
1632 | "cookie": "^0.4.1",
1633 | "jose": "^4.3.7",
1634 | "oauth": "^0.9.15",
1635 | "openid-client": "^5.1.0",
1636 | "preact": "^10.6.3",
1637 | "preact-render-to-string": "^5.1.19",
1638 | "uuid": "^8.3.2"
1639 | },
1640 | "engines": {
1641 | "node": "^12.19.0 || ^14.15.0 || ^16.13.0"
1642 | },
1643 | "peerDependencies": {
1644 | "nodemailer": "^6.6.5",
1645 | "react": "^17.0.2 || ^18.0.0-0",
1646 | "react-dom": "^17.0.2 || ^18.0.0-0"
1647 | },
1648 | "peerDependenciesMeta": {
1649 | "nodemailer": {
1650 | "optional": true
1651 | }
1652 | }
1653 | },
1654 | "node_modules/next-auth/node_modules/jose": {
1655 | "version": "4.6.0",
1656 | "resolved": "https://registry.npmjs.org/jose/-/jose-4.6.0.tgz",
1657 | "integrity": "sha512-0hNAkhMBNi4soKSAX4zYOFV+aqJlEz/4j4fregvasJzEVtjDChvWqRjPvHwLqr5hx28Ayr6bsOs1Kuj87V0O8w==",
1658 | "funding": {
1659 | "url": "https://github.com/sponsors/panva"
1660 | }
1661 | },
1662 | "node_modules/oauth": {
1663 | "version": "0.9.15",
1664 | "resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz",
1665 | "integrity": "sha1-vR/vr2hslrdUda7VGWQS/2DPucE="
1666 | },
1667 | "node_modules/object-assign": {
1668 | "version": "4.1.1",
1669 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
1670 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
1671 | "engines": {
1672 | "node": ">=0.10.0"
1673 | }
1674 | },
1675 | "node_modules/object-hash": {
1676 | "version": "2.2.0",
1677 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz",
1678 | "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==",
1679 | "engines": {
1680 | "node": ">= 6"
1681 | }
1682 | },
1683 | "node_modules/oidc-token-hash": {
1684 | "version": "5.0.1",
1685 | "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.1.tgz",
1686 | "integrity": "sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ==",
1687 | "engines": {
1688 | "node": "^10.13.0 || >=12.0.0"
1689 | }
1690 | },
1691 | "node_modules/once": {
1692 | "version": "1.4.0",
1693 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
1694 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
1695 | "dev": true,
1696 | "dependencies": {
1697 | "wrappy": "1"
1698 | }
1699 | },
1700 | "node_modules/openid-client": {
1701 | "version": "5.1.4",
1702 | "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.1.4.tgz",
1703 | "integrity": "sha512-36/PZY3rDgiIFj2uCL9a1fILPmIwu3HksoWO4mukgXe74ZOsEisJMMqTMfmPNw6j/7kO0mBc2xqy4eYRrB8xPA==",
1704 | "dependencies": {
1705 | "jose": "^4.1.4",
1706 | "lru-cache": "^6.0.0",
1707 | "object-hash": "^2.0.1",
1708 | "oidc-token-hash": "^5.0.1"
1709 | },
1710 | "engines": {
1711 | "node": "^12.19.0 || ^14.15.0 || ^16.13.0"
1712 | },
1713 | "funding": {
1714 | "url": "https://github.com/sponsors/panva"
1715 | }
1716 | },
1717 | "node_modules/openid-client/node_modules/jose": {
1718 | "version": "4.6.0",
1719 | "resolved": "https://registry.npmjs.org/jose/-/jose-4.6.0.tgz",
1720 | "integrity": "sha512-0hNAkhMBNi4soKSAX4zYOFV+aqJlEz/4j4fregvasJzEVtjDChvWqRjPvHwLqr5hx28Ayr6bsOs1Kuj87V0O8w==",
1721 | "funding": {
1722 | "url": "https://github.com/sponsors/panva"
1723 | }
1724 | },
1725 | "node_modules/parse5": {
1726 | "version": "5.1.1",
1727 | "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
1728 | "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==",
1729 | "dev": true
1730 | },
1731 | "node_modules/parse5-htmlparser2-tree-adapter": {
1732 | "version": "6.0.1",
1733 | "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
1734 | "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
1735 | "dev": true,
1736 | "dependencies": {
1737 | "parse5": "^6.0.1"
1738 | }
1739 | },
1740 | "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": {
1741 | "version": "6.0.1",
1742 | "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
1743 | "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
1744 | "dev": true
1745 | },
1746 | "node_modules/path-is-absolute": {
1747 | "version": "1.0.1",
1748 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
1749 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
1750 | "dev": true,
1751 | "engines": {
1752 | "node": ">=0.10.0"
1753 | }
1754 | },
1755 | "node_modules/picocolors": {
1756 | "version": "1.0.0",
1757 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
1758 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
1759 | },
1760 | "node_modules/postcss": {
1761 | "version": "8.4.5",
1762 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz",
1763 | "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==",
1764 | "dependencies": {
1765 | "nanoid": "^3.1.30",
1766 | "picocolors": "^1.0.0",
1767 | "source-map-js": "^1.0.1"
1768 | },
1769 | "engines": {
1770 | "node": "^10 || ^12 || >=14"
1771 | },
1772 | "funding": {
1773 | "type": "opencollective",
1774 | "url": "https://opencollective.com/postcss/"
1775 | }
1776 | },
1777 | "node_modules/preact": {
1778 | "version": "10.7.1",
1779 | "resolved": "https://registry.npmjs.org/preact/-/preact-10.7.1.tgz",
1780 | "integrity": "sha512-MufnRFz39aIhs9AMFisonjzTud1PK1bY+jcJLo6m2T9Uh8AqjD77w11eAAawmjUogoGOnipECq7e/1RClIKsxg==",
1781 | "funding": {
1782 | "type": "opencollective",
1783 | "url": "https://opencollective.com/preact"
1784 | }
1785 | },
1786 | "node_modules/preact-render-to-string": {
1787 | "version": "5.1.21",
1788 | "resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-5.1.21.tgz",
1789 | "integrity": "sha512-wbMtNU4JpfvbE04iCe7BZ1yLYN8i6NRrq+NhR0fUINjPXGu3ZIc4GM5ScOiwdIP1sPXv9SVETuud/tmQGMvdNQ==",
1790 | "dependencies": {
1791 | "pretty-format": "^3.8.0"
1792 | },
1793 | "peerDependencies": {
1794 | "preact": ">=10"
1795 | }
1796 | },
1797 | "node_modules/pretty-format": {
1798 | "version": "3.8.0",
1799 | "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz",
1800 | "integrity": "sha1-v77VbV6ad2ZF9LH/eqGjrE+jw4U="
1801 | },
1802 | "node_modules/prisma": {
1803 | "version": "4.10.1",
1804 | "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.10.1.tgz",
1805 | "integrity": "sha512-0jDxgg+DruB1kHVNlcspXQB9au62IFfVg9drkhzXudszHNUAQn0lVuu+T8np0uC2z1nKD5S3qPeCyR8u5YFLnA==",
1806 | "devOptional": true,
1807 | "hasInstallScript": true,
1808 | "dependencies": {
1809 | "@prisma/engines": "4.10.1"
1810 | },
1811 | "bin": {
1812 | "prisma": "build/index.js",
1813 | "prisma2": "build/index.js"
1814 | },
1815 | "engines": {
1816 | "node": ">=14.17"
1817 | }
1818 | },
1819 | "node_modules/prop-types": {
1820 | "version": "15.8.1",
1821 | "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
1822 | "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
1823 | "dependencies": {
1824 | "loose-envify": "^1.4.0",
1825 | "object-assign": "^4.1.1",
1826 | "react-is": "^16.13.1"
1827 | }
1828 | },
1829 | "node_modules/prop-types/node_modules/react-is": {
1830 | "version": "16.13.1",
1831 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
1832 | "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
1833 | },
1834 | "node_modules/property-information": {
1835 | "version": "6.1.1",
1836 | "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.1.1.tgz",
1837 | "integrity": "sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w==",
1838 | "funding": {
1839 | "type": "github",
1840 | "url": "https://github.com/sponsors/wooorm"
1841 | }
1842 | },
1843 | "node_modules/react": {
1844 | "version": "18.2.0",
1845 | "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
1846 | "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
1847 | "dependencies": {
1848 | "loose-envify": "^1.1.0"
1849 | },
1850 | "engines": {
1851 | "node": ">=0.10.0"
1852 | }
1853 | },
1854 | "node_modules/react-dom": {
1855 | "version": "18.2.0",
1856 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
1857 | "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
1858 | "dependencies": {
1859 | "loose-envify": "^1.1.0",
1860 | "scheduler": "^0.23.0"
1861 | },
1862 | "peerDependencies": {
1863 | "react": "^18.2.0"
1864 | }
1865 | },
1866 | "node_modules/react-is": {
1867 | "version": "18.0.0",
1868 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.0.0.tgz",
1869 | "integrity": "sha512-yUcBYdBBbo3QiPsgYDcfQcIkGZHfxOaoE6HLSnr1sPzMhdyxusbfKOSUbSd/ocGi32dxcj366PsTj+5oggeKKw=="
1870 | },
1871 | "node_modules/react-markdown": {
1872 | "version": "8.0.2",
1873 | "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-8.0.2.tgz",
1874 | "integrity": "sha512-WeXeDlCPFZBbN75AiLVEmN4gC6pNWadsZVWWxWpvrYQnUTHsB3l1PH60I1sbxTJr0oWOQc3zhxTrRQMTceNifw==",
1875 | "dependencies": {
1876 | "@types/hast": "^2.0.0",
1877 | "@types/prop-types": "^15.0.0",
1878 | "@types/unist": "^2.0.0",
1879 | "comma-separated-tokens": "^2.0.0",
1880 | "hast-util-whitespace": "^2.0.0",
1881 | "prop-types": "^15.0.0",
1882 | "property-information": "^6.0.0",
1883 | "react-is": "^18.0.0",
1884 | "remark-parse": "^10.0.0",
1885 | "remark-rehype": "^10.0.0",
1886 | "space-separated-tokens": "^2.0.0",
1887 | "style-to-object": "^0.3.0",
1888 | "unified": "^10.0.0",
1889 | "unist-util-visit": "^4.0.0",
1890 | "vfile": "^5.0.0"
1891 | },
1892 | "funding": {
1893 | "type": "opencollective",
1894 | "url": "https://opencollective.com/unified"
1895 | },
1896 | "peerDependencies": {
1897 | "@types/react": ">=16",
1898 | "react": ">=16"
1899 | }
1900 | },
1901 | "node_modules/reflect-metadata": {
1902 | "version": "0.1.13",
1903 | "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz",
1904 | "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==",
1905 | "dev": true
1906 | },
1907 | "node_modules/regenerator-runtime": {
1908 | "version": "0.13.9",
1909 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
1910 | "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
1911 | },
1912 | "node_modules/remark-parse": {
1913 | "version": "10.0.1",
1914 | "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz",
1915 | "integrity": "sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==",
1916 | "dependencies": {
1917 | "@types/mdast": "^3.0.0",
1918 | "mdast-util-from-markdown": "^1.0.0",
1919 | "unified": "^10.0.0"
1920 | },
1921 | "funding": {
1922 | "type": "opencollective",
1923 | "url": "https://opencollective.com/unified"
1924 | }
1925 | },
1926 | "node_modules/remark-rehype": {
1927 | "version": "10.1.0",
1928 | "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz",
1929 | "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==",
1930 | "dependencies": {
1931 | "@types/hast": "^2.0.0",
1932 | "@types/mdast": "^3.0.0",
1933 | "mdast-util-to-hast": "^12.1.0",
1934 | "unified": "^10.0.0"
1935 | },
1936 | "funding": {
1937 | "type": "opencollective",
1938 | "url": "https://opencollective.com/unified"
1939 | }
1940 | },
1941 | "node_modules/require-directory": {
1942 | "version": "2.1.1",
1943 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
1944 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
1945 | "dev": true,
1946 | "engines": {
1947 | "node": ">=0.10.0"
1948 | }
1949 | },
1950 | "node_modules/sade": {
1951 | "version": "1.8.1",
1952 | "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
1953 | "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
1954 | "dependencies": {
1955 | "mri": "^1.1.0"
1956 | },
1957 | "engines": {
1958 | "node": ">=6"
1959 | }
1960 | },
1961 | "node_modules/safe-buffer": {
1962 | "version": "5.2.1",
1963 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
1964 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
1965 | "dev": true,
1966 | "funding": [
1967 | {
1968 | "type": "github",
1969 | "url": "https://github.com/sponsors/feross"
1970 | },
1971 | {
1972 | "type": "patreon",
1973 | "url": "https://www.patreon.com/feross"
1974 | },
1975 | {
1976 | "type": "consulting",
1977 | "url": "https://feross.org/support"
1978 | }
1979 | ]
1980 | },
1981 | "node_modules/sax": {
1982 | "version": "1.2.4",
1983 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
1984 | "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
1985 | "dev": true
1986 | },
1987 | "node_modules/scheduler": {
1988 | "version": "0.23.0",
1989 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
1990 | "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
1991 | "dependencies": {
1992 | "loose-envify": "^1.1.0"
1993 | }
1994 | },
1995 | "node_modules/sha.js": {
1996 | "version": "2.4.11",
1997 | "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
1998 | "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
1999 | "dev": true,
2000 | "dependencies": {
2001 | "inherits": "^2.0.1",
2002 | "safe-buffer": "^5.0.1"
2003 | },
2004 | "bin": {
2005 | "sha.js": "bin.js"
2006 | }
2007 | },
2008 | "node_modules/source-map-js": {
2009 | "version": "1.0.2",
2010 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
2011 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
2012 | "engines": {
2013 | "node": ">=0.10.0"
2014 | }
2015 | },
2016 | "node_modules/space-separated-tokens": {
2017 | "version": "2.0.1",
2018 | "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.1.tgz",
2019 | "integrity": "sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw==",
2020 | "funding": {
2021 | "type": "github",
2022 | "url": "https://github.com/sponsors/wooorm"
2023 | }
2024 | },
2025 | "node_modules/string-width": {
2026 | "version": "4.2.3",
2027 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
2028 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
2029 | "dev": true,
2030 | "dependencies": {
2031 | "emoji-regex": "^8.0.0",
2032 | "is-fullwidth-code-point": "^3.0.0",
2033 | "strip-ansi": "^6.0.1"
2034 | },
2035 | "engines": {
2036 | "node": ">=8"
2037 | }
2038 | },
2039 | "node_modules/strip-ansi": {
2040 | "version": "6.0.1",
2041 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
2042 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
2043 | "dev": true,
2044 | "dependencies": {
2045 | "ansi-regex": "^5.0.1"
2046 | },
2047 | "engines": {
2048 | "node": ">=8"
2049 | }
2050 | },
2051 | "node_modules/style-to-object": {
2052 | "version": "0.3.0",
2053 | "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz",
2054 | "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==",
2055 | "dependencies": {
2056 | "inline-style-parser": "0.1.1"
2057 | }
2058 | },
2059 | "node_modules/styled-jsx": {
2060 | "version": "5.0.1",
2061 | "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.0.1.tgz",
2062 | "integrity": "sha512-+PIZ/6Uk40mphiQJJI1202b+/dYeTVd9ZnMPR80pgiWbjIwvN2zIp4r9et0BgqBuShh48I0gttPlAXA7WVvBxw==",
2063 | "engines": {
2064 | "node": ">= 12.0.0"
2065 | },
2066 | "peerDependencies": {
2067 | "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0"
2068 | },
2069 | "peerDependenciesMeta": {
2070 | "@babel/core": {
2071 | "optional": true
2072 | },
2073 | "babel-plugin-macros": {
2074 | "optional": true
2075 | }
2076 | }
2077 | },
2078 | "node_modules/supports-color": {
2079 | "version": "7.2.0",
2080 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
2081 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
2082 | "dev": true,
2083 | "dependencies": {
2084 | "has-flag": "^4.0.0"
2085 | },
2086 | "engines": {
2087 | "node": ">=8"
2088 | }
2089 | },
2090 | "node_modules/thenify": {
2091 | "version": "3.3.1",
2092 | "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
2093 | "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
2094 | "dev": true,
2095 | "dependencies": {
2096 | "any-promise": "^1.0.0"
2097 | }
2098 | },
2099 | "node_modules/thenify-all": {
2100 | "version": "1.6.0",
2101 | "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
2102 | "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=",
2103 | "dev": true,
2104 | "dependencies": {
2105 | "thenify": ">= 3.1.0 < 4"
2106 | },
2107 | "engines": {
2108 | "node": ">=0.8"
2109 | }
2110 | },
2111 | "node_modules/trough": {
2112 | "version": "2.1.0",
2113 | "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz",
2114 | "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==",
2115 | "funding": {
2116 | "type": "github",
2117 | "url": "https://github.com/sponsors/wooorm"
2118 | }
2119 | },
2120 | "node_modules/ts-node": {
2121 | "version": "10.7.0",
2122 | "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz",
2123 | "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==",
2124 | "dev": true,
2125 | "dependencies": {
2126 | "@cspotcode/source-map-support": "0.7.0",
2127 | "@tsconfig/node10": "^1.0.7",
2128 | "@tsconfig/node12": "^1.0.7",
2129 | "@tsconfig/node14": "^1.0.0",
2130 | "@tsconfig/node16": "^1.0.2",
2131 | "acorn": "^8.4.1",
2132 | "acorn-walk": "^8.1.1",
2133 | "arg": "^4.1.0",
2134 | "create-require": "^1.1.0",
2135 | "diff": "^4.0.1",
2136 | "make-error": "^1.1.1",
2137 | "v8-compile-cache-lib": "^3.0.0",
2138 | "yn": "3.1.1"
2139 | },
2140 | "bin": {
2141 | "ts-node": "dist/bin.js",
2142 | "ts-node-cwd": "dist/bin-cwd.js",
2143 | "ts-node-esm": "dist/bin-esm.js",
2144 | "ts-node-script": "dist/bin-script.js",
2145 | "ts-node-transpile-only": "dist/bin-transpile.js",
2146 | "ts-script": "dist/bin-script-deprecated.js"
2147 | },
2148 | "peerDependencies": {
2149 | "@swc/core": ">=1.2.50",
2150 | "@swc/wasm": ">=1.2.50",
2151 | "@types/node": "*",
2152 | "typescript": ">=2.7"
2153 | },
2154 | "peerDependenciesMeta": {
2155 | "@swc/core": {
2156 | "optional": true
2157 | },
2158 | "@swc/wasm": {
2159 | "optional": true
2160 | }
2161 | }
2162 | },
2163 | "node_modules/tslib": {
2164 | "version": "2.3.1",
2165 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
2166 | "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==",
2167 | "dev": true
2168 | },
2169 | "node_modules/typeorm": {
2170 | "version": "0.2.45",
2171 | "resolved": "https://registry.npmjs.org/typeorm/-/typeorm-0.2.45.tgz",
2172 | "integrity": "sha512-c0rCO8VMJ3ER7JQ73xfk0zDnVv0WDjpsP6Q1m6CVKul7DB9iVdWLRjPzc8v2eaeBuomsbZ2+gTaYr8k1gm3bYA==",
2173 | "dev": true,
2174 | "dependencies": {
2175 | "@sqltools/formatter": "^1.2.2",
2176 | "app-root-path": "^3.0.0",
2177 | "buffer": "^6.0.3",
2178 | "chalk": "^4.1.0",
2179 | "cli-highlight": "^2.1.11",
2180 | "debug": "^4.3.1",
2181 | "dotenv": "^8.2.0",
2182 | "glob": "^7.1.6",
2183 | "js-yaml": "^4.0.0",
2184 | "mkdirp": "^1.0.4",
2185 | "reflect-metadata": "^0.1.13",
2186 | "sha.js": "^2.4.11",
2187 | "tslib": "^2.1.0",
2188 | "uuid": "^8.3.2",
2189 | "xml2js": "^0.4.23",
2190 | "yargs": "^17.0.1",
2191 | "zen-observable-ts": "^1.0.0"
2192 | },
2193 | "bin": {
2194 | "typeorm": "cli.js"
2195 | },
2196 | "funding": {
2197 | "url": "https://opencollective.com/typeorm"
2198 | },
2199 | "peerDependencies": {
2200 | "@sap/hana-client": "^2.11.14",
2201 | "better-sqlite3": "^7.1.2",
2202 | "hdb-pool": "^0.1.6",
2203 | "ioredis": "^4.28.3",
2204 | "mongodb": "^3.6.0",
2205 | "mssql": "^6.3.1",
2206 | "mysql2": "^2.2.5",
2207 | "oracledb": "^5.1.0",
2208 | "pg": "^8.5.1",
2209 | "pg-native": "^3.0.0",
2210 | "pg-query-stream": "^4.0.0",
2211 | "redis": "^3.1.1",
2212 | "sql.js": "^1.4.0",
2213 | "sqlite3": "^5.0.2",
2214 | "typeorm-aurora-data-api-driver": "^2.0.0"
2215 | },
2216 | "peerDependenciesMeta": {
2217 | "@sap/hana-client": {
2218 | "optional": true
2219 | },
2220 | "better-sqlite3": {
2221 | "optional": true
2222 | },
2223 | "hdb-pool": {
2224 | "optional": true
2225 | },
2226 | "ioredis": {
2227 | "optional": true
2228 | },
2229 | "mongodb": {
2230 | "optional": true
2231 | },
2232 | "mssql": {
2233 | "optional": true
2234 | },
2235 | "mysql2": {
2236 | "optional": true
2237 | },
2238 | "oracledb": {
2239 | "optional": true
2240 | },
2241 | "pg": {
2242 | "optional": true
2243 | },
2244 | "pg-native": {
2245 | "optional": true
2246 | },
2247 | "pg-query-stream": {
2248 | "optional": true
2249 | },
2250 | "redis": {
2251 | "optional": true
2252 | },
2253 | "sql.js": {
2254 | "optional": true
2255 | },
2256 | "sqlite3": {
2257 | "optional": true
2258 | },
2259 | "typeorm-aurora-data-api-driver": {
2260 | "optional": true
2261 | }
2262 | }
2263 | },
2264 | "node_modules/typescript": {
2265 | "version": "4.6.3",
2266 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz",
2267 | "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==",
2268 | "dev": true,
2269 | "bin": {
2270 | "tsc": "bin/tsc",
2271 | "tsserver": "bin/tsserver"
2272 | },
2273 | "engines": {
2274 | "node": ">=4.2.0"
2275 | }
2276 | },
2277 | "node_modules/unified": {
2278 | "version": "10.1.2",
2279 | "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
2280 | "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
2281 | "dependencies": {
2282 | "@types/unist": "^2.0.0",
2283 | "bail": "^2.0.0",
2284 | "extend": "^3.0.0",
2285 | "is-buffer": "^2.0.0",
2286 | "is-plain-obj": "^4.0.0",
2287 | "trough": "^2.0.0",
2288 | "vfile": "^5.0.0"
2289 | },
2290 | "funding": {
2291 | "type": "opencollective",
2292 | "url": "https://opencollective.com/unified"
2293 | }
2294 | },
2295 | "node_modules/unist-builder": {
2296 | "version": "3.0.0",
2297 | "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-3.0.0.tgz",
2298 | "integrity": "sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ==",
2299 | "dependencies": {
2300 | "@types/unist": "^2.0.0"
2301 | },
2302 | "funding": {
2303 | "type": "opencollective",
2304 | "url": "https://opencollective.com/unified"
2305 | }
2306 | },
2307 | "node_modules/unist-util-generated": {
2308 | "version": "2.0.0",
2309 | "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.0.tgz",
2310 | "integrity": "sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw==",
2311 | "funding": {
2312 | "type": "opencollective",
2313 | "url": "https://opencollective.com/unified"
2314 | }
2315 | },
2316 | "node_modules/unist-util-is": {
2317 | "version": "5.1.1",
2318 | "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz",
2319 | "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==",
2320 | "funding": {
2321 | "type": "opencollective",
2322 | "url": "https://opencollective.com/unified"
2323 | }
2324 | },
2325 | "node_modules/unist-util-position": {
2326 | "version": "4.0.3",
2327 | "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.3.tgz",
2328 | "integrity": "sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==",
2329 | "dependencies": {
2330 | "@types/unist": "^2.0.0"
2331 | },
2332 | "funding": {
2333 | "type": "opencollective",
2334 | "url": "https://opencollective.com/unified"
2335 | }
2336 | },
2337 | "node_modules/unist-util-stringify-position": {
2338 | "version": "3.0.2",
2339 | "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.2.tgz",
2340 | "integrity": "sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==",
2341 | "dependencies": {
2342 | "@types/unist": "^2.0.0"
2343 | },
2344 | "funding": {
2345 | "type": "opencollective",
2346 | "url": "https://opencollective.com/unified"
2347 | }
2348 | },
2349 | "node_modules/unist-util-visit": {
2350 | "version": "4.1.0",
2351 | "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.0.tgz",
2352 | "integrity": "sha512-n7lyhFKJfVZ9MnKtqbsqkQEk5P1KShj0+//V7mAcoI6bpbUjh3C/OG8HVD+pBihfh6Ovl01m8dkcv9HNqYajmQ==",
2353 | "dependencies": {
2354 | "@types/unist": "^2.0.0",
2355 | "unist-util-is": "^5.0.0",
2356 | "unist-util-visit-parents": "^5.0.0"
2357 | },
2358 | "funding": {
2359 | "type": "opencollective",
2360 | "url": "https://opencollective.com/unified"
2361 | }
2362 | },
2363 | "node_modules/unist-util-visit-parents": {
2364 | "version": "5.1.0",
2365 | "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.0.tgz",
2366 | "integrity": "sha512-y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg==",
2367 | "dependencies": {
2368 | "@types/unist": "^2.0.0",
2369 | "unist-util-is": "^5.0.0"
2370 | },
2371 | "funding": {
2372 | "type": "opencollective",
2373 | "url": "https://opencollective.com/unified"
2374 | }
2375 | },
2376 | "node_modules/uuid": {
2377 | "version": "8.3.2",
2378 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
2379 | "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
2380 | "bin": {
2381 | "uuid": "dist/bin/uuid"
2382 | }
2383 | },
2384 | "node_modules/uvu": {
2385 | "version": "0.5.3",
2386 | "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.3.tgz",
2387 | "integrity": "sha512-brFwqA3FXzilmtnIyJ+CxdkInkY/i4ErvP7uV0DnUVxQcQ55reuHphorpF+tZoVHK2MniZ/VJzI7zJQoc9T9Yw==",
2388 | "dependencies": {
2389 | "dequal": "^2.0.0",
2390 | "diff": "^5.0.0",
2391 | "kleur": "^4.0.3",
2392 | "sade": "^1.7.3"
2393 | },
2394 | "bin": {
2395 | "uvu": "bin.js"
2396 | },
2397 | "engines": {
2398 | "node": ">=8"
2399 | }
2400 | },
2401 | "node_modules/uvu/node_modules/diff": {
2402 | "version": "5.0.0",
2403 | "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
2404 | "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
2405 | "engines": {
2406 | "node": ">=0.3.1"
2407 | }
2408 | },
2409 | "node_modules/v8-compile-cache-lib": {
2410 | "version": "3.0.0",
2411 | "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz",
2412 | "integrity": "sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==",
2413 | "dev": true
2414 | },
2415 | "node_modules/vfile": {
2416 | "version": "5.3.2",
2417 | "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.2.tgz",
2418 | "integrity": "sha512-w0PLIugRY3Crkgw89TeMvHCzqCs/zpreR31hl4D92y6SOE07+bfJe+dK5Q2akwS+i/c801kzjoOr9gMcTe6IAA==",
2419 | "dependencies": {
2420 | "@types/unist": "^2.0.0",
2421 | "is-buffer": "^2.0.0",
2422 | "unist-util-stringify-position": "^3.0.0",
2423 | "vfile-message": "^3.0.0"
2424 | },
2425 | "funding": {
2426 | "type": "opencollective",
2427 | "url": "https://opencollective.com/unified"
2428 | }
2429 | },
2430 | "node_modules/vfile-message": {
2431 | "version": "3.1.2",
2432 | "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.2.tgz",
2433 | "integrity": "sha512-QjSNP6Yxzyycd4SVOtmKKyTsSvClqBPJcd00Z0zuPj3hOIjg0rUPG6DbFGPvUKRgYyaIWLPKpuEclcuvb3H8qA==",
2434 | "dependencies": {
2435 | "@types/unist": "^2.0.0",
2436 | "unist-util-stringify-position": "^3.0.0"
2437 | },
2438 | "funding": {
2439 | "type": "opencollective",
2440 | "url": "https://opencollective.com/unified"
2441 | }
2442 | },
2443 | "node_modules/wrap-ansi": {
2444 | "version": "7.0.0",
2445 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
2446 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
2447 | "dev": true,
2448 | "dependencies": {
2449 | "ansi-styles": "^4.0.0",
2450 | "string-width": "^4.1.0",
2451 | "strip-ansi": "^6.0.0"
2452 | },
2453 | "engines": {
2454 | "node": ">=10"
2455 | },
2456 | "funding": {
2457 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
2458 | }
2459 | },
2460 | "node_modules/wrappy": {
2461 | "version": "1.0.2",
2462 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
2463 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
2464 | "dev": true
2465 | },
2466 | "node_modules/xml2js": {
2467 | "version": "0.4.23",
2468 | "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
2469 | "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
2470 | "dev": true,
2471 | "dependencies": {
2472 | "sax": ">=0.6.0",
2473 | "xmlbuilder": "~11.0.0"
2474 | },
2475 | "engines": {
2476 | "node": ">=4.0.0"
2477 | }
2478 | },
2479 | "node_modules/xmlbuilder": {
2480 | "version": "11.0.1",
2481 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
2482 | "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
2483 | "dev": true,
2484 | "engines": {
2485 | "node": ">=4.0"
2486 | }
2487 | },
2488 | "node_modules/y18n": {
2489 | "version": "5.0.8",
2490 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
2491 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
2492 | "dev": true,
2493 | "engines": {
2494 | "node": ">=10"
2495 | }
2496 | },
2497 | "node_modules/yallist": {
2498 | "version": "4.0.0",
2499 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
2500 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
2501 | },
2502 | "node_modules/yargs": {
2503 | "version": "17.4.0",
2504 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.0.tgz",
2505 | "integrity": "sha512-WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA==",
2506 | "dev": true,
2507 | "dependencies": {
2508 | "cliui": "^7.0.2",
2509 | "escalade": "^3.1.1",
2510 | "get-caller-file": "^2.0.5",
2511 | "require-directory": "^2.1.1",
2512 | "string-width": "^4.2.3",
2513 | "y18n": "^5.0.5",
2514 | "yargs-parser": "^21.0.0"
2515 | },
2516 | "engines": {
2517 | "node": ">=12"
2518 | }
2519 | },
2520 | "node_modules/yargs-parser": {
2521 | "version": "21.0.1",
2522 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz",
2523 | "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==",
2524 | "dev": true,
2525 | "engines": {
2526 | "node": ">=12"
2527 | }
2528 | },
2529 | "node_modules/yn": {
2530 | "version": "3.1.1",
2531 | "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
2532 | "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
2533 | "dev": true,
2534 | "engines": {
2535 | "node": ">=6"
2536 | }
2537 | },
2538 | "node_modules/zen-observable": {
2539 | "version": "0.8.15",
2540 | "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz",
2541 | "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==",
2542 | "dev": true
2543 | },
2544 | "node_modules/zen-observable-ts": {
2545 | "version": "1.1.0",
2546 | "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.1.0.tgz",
2547 | "integrity": "sha512-1h4zlLSqI2cRLPJUHJFL8bCWHhkpuXkF+dbGkRaWjgDIG26DmzyshUMrdV/rL3UnR+mhaX4fRq8LPouq0MYYIA==",
2548 | "dev": true,
2549 | "dependencies": {
2550 | "@types/zen-observable": "0.8.3",
2551 | "zen-observable": "0.8.15"
2552 | }
2553 | }
2554 | },
2555 | "dependencies": {
2556 | "@babel/runtime": {
2557 | "version": "7.17.9",
2558 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz",
2559 | "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==",
2560 | "requires": {
2561 | "regenerator-runtime": "^0.13.4"
2562 | }
2563 | },
2564 | "@cspotcode/source-map-consumer": {
2565 | "version": "0.8.0",
2566 | "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz",
2567 | "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==",
2568 | "dev": true
2569 | },
2570 | "@cspotcode/source-map-support": {
2571 | "version": "0.7.0",
2572 | "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz",
2573 | "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==",
2574 | "dev": true,
2575 | "requires": {
2576 | "@cspotcode/source-map-consumer": "0.8.0"
2577 | }
2578 | },
2579 | "@next-auth/prisma-adapter": {
2580 | "version": "1.0.3",
2581 | "resolved": "https://registry.npmjs.org/@next-auth/prisma-adapter/-/prisma-adapter-1.0.3.tgz",
2582 | "integrity": "sha512-3Lq1cD3ytKM3EGKJZ4UZvlqshLtlPvYxLeCrUV9ifYwYlq51kmDaHjsIawlp8EbH5pE1UhlsvtlXMery7RghtA==",
2583 | "requires": {}
2584 | },
2585 | "@next/env": {
2586 | "version": "12.1.4",
2587 | "resolved": "https://registry.npmjs.org/@next/env/-/env-12.1.4.tgz",
2588 | "integrity": "sha512-7gQwotJDKnfMxxXd8xJ2vsX5AzyDxO3zou0+QOXX8/unypA6icw5+wf6A62yKZ6qQ4UZHHxS68pb6UV+wNneXg=="
2589 | },
2590 | "@next/swc-android-arm-eabi": {
2591 | "version": "12.1.4",
2592 | "resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.1.4.tgz",
2593 | "integrity": "sha512-FJg/6a3s2YrUaqZ+/DJZzeZqfxbbWrynQMT1C5wlIEq9aDLXCFpPM/PiOyJh0ahxc0XPmi6uo38Poq+GJTuKWw==",
2594 | "optional": true
2595 | },
2596 | "@next/swc-android-arm64": {
2597 | "version": "12.1.4",
2598 | "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-12.1.4.tgz",
2599 | "integrity": "sha512-LXraazvQQFBgxIg3Htny6G5V5he9EK7oS4jWtMdTGIikmD/OGByOv8ZjLuVLZLtVm3UIvaAiGtlQSLecxJoJDw==",
2600 | "optional": true
2601 | },
2602 | "@next/swc-darwin-arm64": {
2603 | "version": "12.1.4",
2604 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.1.4.tgz",
2605 | "integrity": "sha512-SSST/dBymecllZxcqTCcSTCu5o1NKk9I+xcvhn/O9nH6GWjgvGgGkNqLbCarCa0jJ1ukvlBA138FagyrmZ/4rQ==",
2606 | "optional": true
2607 | },
2608 | "@next/swc-darwin-x64": {
2609 | "version": "12.1.4",
2610 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-12.1.4.tgz",
2611 | "integrity": "sha512-p1lwdX0TVjaoDXQVuAkjtxVBbCL/urgxiMCBwuPDO7TikpXtSRivi+mIzBj5q7ypgICFmIAOW3TyupXeoPRAnA==",
2612 | "optional": true
2613 | },
2614 | "@next/swc-linux-arm-gnueabihf": {
2615 | "version": "12.1.4",
2616 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.1.4.tgz",
2617 | "integrity": "sha512-67PZlgkCn3TDxacdVft0xqDCL7Io1/C4xbAs0+oSQ0xzp6OzN2RNpuKjHJrJgKd0DsE1XZ9sCP27Qv0591yfyg==",
2618 | "optional": true
2619 | },
2620 | "@next/swc-linux-arm64-gnu": {
2621 | "version": "12.1.4",
2622 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.1.4.tgz",
2623 | "integrity": "sha512-OnOWixhhw7aU22TQdQLYrgpgFq0oA1wGgnjAiHJ+St7MLj82KTDyM9UcymAMbGYy6nG/TFOOHdTmRMtCRNOw0g==",
2624 | "optional": true
2625 | },
2626 | "@next/swc-linux-arm64-musl": {
2627 | "version": "12.1.4",
2628 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.1.4.tgz",
2629 | "integrity": "sha512-UoRMzPZnsAavdWtVylYxH8DNC7Uy0i6RrvNwT4PyQVdfANBn2omsUkcH5lgS2O7oaz0nAYLk1vqyZDO7+tJotA==",
2630 | "optional": true
2631 | },
2632 | "@next/swc-linux-x64-gnu": {
2633 | "version": "12.1.4",
2634 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.1.4.tgz",
2635 | "integrity": "sha512-nM+MA/frxlTLUKLJKorctdI20/ugfHRjVEEkcLp/58LGG7slNaP1E5d5dRA1yX6ISjPcQAkywas5VlGCg+uTvA==",
2636 | "optional": true
2637 | },
2638 | "@next/swc-linux-x64-musl": {
2639 | "version": "12.1.4",
2640 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.1.4.tgz",
2641 | "integrity": "sha512-GoRHxkuW4u4yKw734B9SzxJwVdyEJosaZ62P7ifOwcujTxhgBt3y76V2nNUrsSuopcKI2ZTDjaa+2wd5zyeXbA==",
2642 | "optional": true
2643 | },
2644 | "@next/swc-win32-arm64-msvc": {
2645 | "version": "12.1.4",
2646 | "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.1.4.tgz",
2647 | "integrity": "sha512-6TQkQze0ievXwHJcVUrIULwCYVe3ccX6T0JgZ1SiMeXpHxISN7VJF/O8uSCw1JvXZYZ6ud0CJ7nfC5HXivgfPg==",
2648 | "optional": true
2649 | },
2650 | "@next/swc-win32-ia32-msvc": {
2651 | "version": "12.1.4",
2652 | "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.1.4.tgz",
2653 | "integrity": "sha512-CsbX/IXuZ5VSmWCpSetG2HD6VO5FTsO39WNp2IR2Ut/uom9XtLDJAZqjQEnbUTLGHuwDKFjrIO3LkhtROXLE/g==",
2654 | "optional": true
2655 | },
2656 | "@next/swc-win32-x64-msvc": {
2657 | "version": "12.1.4",
2658 | "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.1.4.tgz",
2659 | "integrity": "sha512-JtYuWzKXKLDMgE/xTcFtCm1MiCIRaAc5XYZfYX3n/ZWSI1SJS/GMm+Su0SAHJgRFavJh6U/p998YwO/iGTIgqQ==",
2660 | "optional": true
2661 | },
2662 | "@panva/asn1.js": {
2663 | "version": "1.0.0",
2664 | "resolved": "https://registry.npmjs.org/@panva/asn1.js/-/asn1.js-1.0.0.tgz",
2665 | "integrity": "sha512-UdkG3mLEqXgnlKsWanWcgb6dOjUzJ+XC5f+aWw30qrtjxeNUSfKX1cd5FBzOaXQumoe9nIqeZUvrRJS03HCCtw==",
2666 | "dev": true
2667 | },
2668 | "@panva/hkdf": {
2669 | "version": "1.0.1",
2670 | "resolved": "https://registry.npmjs.org/@panva/hkdf/-/hkdf-1.0.1.tgz",
2671 | "integrity": "sha512-mMyQ9vjpuFqePkfe5bZVIf/H3Dmk6wA8Kjxff9RcO4kqzJo+Ek9pGKwZHpeMr7Eku0QhLXMCd7fNCSnEnRMubg=="
2672 | },
2673 | "@prisma/client": {
2674 | "version": "4.10.1",
2675 | "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.10.1.tgz",
2676 | "integrity": "sha512-VonXLJZybdt8e5XZH5vnIGCRNnIh6OMX1FS3H/yzMGLT3STj5TJ/OkMcednrvELgk8PK89Vo3aSh51MWNO0axA==",
2677 | "requires": {
2678 | "@prisma/engines-version": "4.10.1-2.aead147aa326ccb985dcfed5b065b4fdabd44b19"
2679 | }
2680 | },
2681 | "@prisma/engines": {
2682 | "version": "4.10.1",
2683 | "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.10.1.tgz",
2684 | "integrity": "sha512-B3tcTxjx196nuAu1GOTKO9cGPUgTFHYRdkPkTS4m5ptb2cejyBlH9X7GOfSt3xlI7p4zAJDshJP4JJivCg9ouA==",
2685 | "devOptional": true
2686 | },
2687 | "@prisma/engines-version": {
2688 | "version": "4.10.1-2.aead147aa326ccb985dcfed5b065b4fdabd44b19",
2689 | "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.10.1-2.aead147aa326ccb985dcfed5b065b4fdabd44b19.tgz",
2690 | "integrity": "sha512-tsjTho7laDhf9EJ9EnDxAPEf7yrigSMDhniXeU4YoWc7azHAs4GPxRi2P9LTFonmHkJLMOLjR77J1oIP8Ife1w=="
2691 | },
2692 | "@sqltools/formatter": {
2693 | "version": "1.2.3",
2694 | "resolved": "https://registry.npmjs.org/@sqltools/formatter/-/formatter-1.2.3.tgz",
2695 | "integrity": "sha512-O3uyB/JbkAEMZaP3YqyHH7TMnex7tWyCbCI4EfJdOCoN6HIhqdJBWTM6aCCiWQ/5f5wxjgU735QAIpJbjDvmzg==",
2696 | "dev": true
2697 | },
2698 | "@tsconfig/node10": {
2699 | "version": "1.0.8",
2700 | "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz",
2701 | "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==",
2702 | "dev": true
2703 | },
2704 | "@tsconfig/node12": {
2705 | "version": "1.0.9",
2706 | "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz",
2707 | "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==",
2708 | "dev": true
2709 | },
2710 | "@tsconfig/node14": {
2711 | "version": "1.0.1",
2712 | "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz",
2713 | "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==",
2714 | "dev": true
2715 | },
2716 | "@tsconfig/node16": {
2717 | "version": "1.0.2",
2718 | "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz",
2719 | "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==",
2720 | "dev": true
2721 | },
2722 | "@types/debug": {
2723 | "version": "4.1.7",
2724 | "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz",
2725 | "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==",
2726 | "requires": {
2727 | "@types/ms": "*"
2728 | }
2729 | },
2730 | "@types/hast": {
2731 | "version": "2.3.4",
2732 | "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz",
2733 | "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==",
2734 | "requires": {
2735 | "@types/unist": "*"
2736 | }
2737 | },
2738 | "@types/mdast": {
2739 | "version": "3.0.10",
2740 | "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz",
2741 | "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==",
2742 | "requires": {
2743 | "@types/unist": "*"
2744 | }
2745 | },
2746 | "@types/mdurl": {
2747 | "version": "1.0.2",
2748 | "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz",
2749 | "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA=="
2750 | },
2751 | "@types/ms": {
2752 | "version": "0.7.31",
2753 | "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz",
2754 | "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA=="
2755 | },
2756 | "@types/next-auth": {
2757 | "version": "3.13.0",
2758 | "resolved": "https://registry.npmjs.org/@types/next-auth/-/next-auth-3.13.0.tgz",
2759 | "integrity": "sha512-zkEVDyoKgRsHm3KUaZoOGSThTS9h0+HbFZctiYbB5MMU6/pUZuF5ozWrVG00jotQJuSEIlPWzdCIXKlaHctJgw==",
2760 | "dev": true,
2761 | "requires": {
2762 | "@types/node": "*",
2763 | "@types/react": "*",
2764 | "jose": "^1.28.0",
2765 | "typeorm": "^0.2.31"
2766 | }
2767 | },
2768 | "@types/node": {
2769 | "version": "16.18.66",
2770 | "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.66.tgz",
2771 | "integrity": "sha512-sePmD/imfKvC4re/Wwos1NEcXYm6O96CAG5gQVY53nmDb8ePQ4qPku6uruN7n6TJ0t5FhcoUc2+yvE2/UZVDZw==",
2772 | "dev": true
2773 | },
2774 | "@types/prop-types": {
2775 | "version": "15.7.5",
2776 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
2777 | "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w=="
2778 | },
2779 | "@types/react": {
2780 | "version": "17.0.44",
2781 | "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.44.tgz",
2782 | "integrity": "sha512-Ye0nlw09GeMp2Suh8qoOv0odfgCoowfM/9MG6WeRD60Gq9wS90bdkdRtYbRkNhXOpG4H+YXGvj4wOWhAC0LJ1g==",
2783 | "requires": {
2784 | "@types/prop-types": "*",
2785 | "@types/scheduler": "*",
2786 | "csstype": "^3.0.2"
2787 | }
2788 | },
2789 | "@types/scheduler": {
2790 | "version": "0.16.2",
2791 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
2792 | "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew=="
2793 | },
2794 | "@types/unist": {
2795 | "version": "2.0.6",
2796 | "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz",
2797 | "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ=="
2798 | },
2799 | "@types/zen-observable": {
2800 | "version": "0.8.3",
2801 | "resolved": "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.3.tgz",
2802 | "integrity": "sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw==",
2803 | "dev": true
2804 | },
2805 | "acorn": {
2806 | "version": "8.7.0",
2807 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
2808 | "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==",
2809 | "dev": true
2810 | },
2811 | "acorn-walk": {
2812 | "version": "8.2.0",
2813 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
2814 | "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
2815 | "dev": true
2816 | },
2817 | "ansi-regex": {
2818 | "version": "5.0.1",
2819 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
2820 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
2821 | "dev": true
2822 | },
2823 | "ansi-styles": {
2824 | "version": "4.3.0",
2825 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
2826 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
2827 | "dev": true,
2828 | "requires": {
2829 | "color-convert": "^2.0.1"
2830 | }
2831 | },
2832 | "any-promise": {
2833 | "version": "1.3.0",
2834 | "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
2835 | "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=",
2836 | "dev": true
2837 | },
2838 | "app-root-path": {
2839 | "version": "3.0.0",
2840 | "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.0.0.tgz",
2841 | "integrity": "sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw==",
2842 | "dev": true
2843 | },
2844 | "arg": {
2845 | "version": "4.1.3",
2846 | "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
2847 | "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
2848 | "dev": true
2849 | },
2850 | "argparse": {
2851 | "version": "2.0.1",
2852 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
2853 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
2854 | "dev": true
2855 | },
2856 | "bail": {
2857 | "version": "2.0.2",
2858 | "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
2859 | "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw=="
2860 | },
2861 | "balanced-match": {
2862 | "version": "1.0.2",
2863 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
2864 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
2865 | "dev": true
2866 | },
2867 | "base64-js": {
2868 | "version": "1.5.1",
2869 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
2870 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
2871 | "dev": true
2872 | },
2873 | "brace-expansion": {
2874 | "version": "1.1.11",
2875 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
2876 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
2877 | "dev": true,
2878 | "requires": {
2879 | "balanced-match": "^1.0.0",
2880 | "concat-map": "0.0.1"
2881 | }
2882 | },
2883 | "buffer": {
2884 | "version": "6.0.3",
2885 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
2886 | "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
2887 | "dev": true,
2888 | "requires": {
2889 | "base64-js": "^1.3.1",
2890 | "ieee754": "^1.2.1"
2891 | }
2892 | },
2893 | "caniuse-lite": {
2894 | "version": "1.0.30001327",
2895 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001327.tgz",
2896 | "integrity": "sha512-1/Cg4jlD9qjZzhbzkzEaAC2JHsP0WrOc8Rd/3a3LuajGzGWR/hD7TVyvq99VqmTy99eVh8Zkmdq213OgvgXx7w=="
2897 | },
2898 | "chalk": {
2899 | "version": "4.1.2",
2900 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
2901 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
2902 | "dev": true,
2903 | "requires": {
2904 | "ansi-styles": "^4.1.0",
2905 | "supports-color": "^7.1.0"
2906 | }
2907 | },
2908 | "character-entities": {
2909 | "version": "2.0.1",
2910 | "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.1.tgz",
2911 | "integrity": "sha512-OzmutCf2Kmc+6DrFrrPS8/tDh2+DpnrfzdICHWhcVC9eOd0N1PXmQEE1a8iM4IziIAG+8tmTq3K+oo0ubH6RRQ=="
2912 | },
2913 | "cli-highlight": {
2914 | "version": "2.1.11",
2915 | "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz",
2916 | "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==",
2917 | "dev": true,
2918 | "requires": {
2919 | "chalk": "^4.0.0",
2920 | "highlight.js": "^10.7.1",
2921 | "mz": "^2.4.0",
2922 | "parse5": "^5.1.1",
2923 | "parse5-htmlparser2-tree-adapter": "^6.0.0",
2924 | "yargs": "^16.0.0"
2925 | },
2926 | "dependencies": {
2927 | "yargs": {
2928 | "version": "16.2.0",
2929 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
2930 | "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
2931 | "dev": true,
2932 | "requires": {
2933 | "cliui": "^7.0.2",
2934 | "escalade": "^3.1.1",
2935 | "get-caller-file": "^2.0.5",
2936 | "require-directory": "^2.1.1",
2937 | "string-width": "^4.2.0",
2938 | "y18n": "^5.0.5",
2939 | "yargs-parser": "^20.2.2"
2940 | }
2941 | },
2942 | "yargs-parser": {
2943 | "version": "20.2.9",
2944 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
2945 | "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
2946 | "dev": true
2947 | }
2948 | }
2949 | },
2950 | "cliui": {
2951 | "version": "7.0.4",
2952 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
2953 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
2954 | "dev": true,
2955 | "requires": {
2956 | "string-width": "^4.2.0",
2957 | "strip-ansi": "^6.0.0",
2958 | "wrap-ansi": "^7.0.0"
2959 | }
2960 | },
2961 | "color-convert": {
2962 | "version": "2.0.1",
2963 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
2964 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
2965 | "dev": true,
2966 | "requires": {
2967 | "color-name": "~1.1.4"
2968 | }
2969 | },
2970 | "color-name": {
2971 | "version": "1.1.4",
2972 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
2973 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
2974 | "dev": true
2975 | },
2976 | "comma-separated-tokens": {
2977 | "version": "2.0.2",
2978 | "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz",
2979 | "integrity": "sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg=="
2980 | },
2981 | "concat-map": {
2982 | "version": "0.0.1",
2983 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
2984 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
2985 | "dev": true
2986 | },
2987 | "cookie": {
2988 | "version": "0.4.2",
2989 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
2990 | "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA=="
2991 | },
2992 | "create-require": {
2993 | "version": "1.1.1",
2994 | "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
2995 | "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
2996 | "dev": true
2997 | },
2998 | "csstype": {
2999 | "version": "3.0.11",
3000 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.11.tgz",
3001 | "integrity": "sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw=="
3002 | },
3003 | "debug": {
3004 | "version": "4.3.4",
3005 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
3006 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
3007 | "requires": {
3008 | "ms": "2.1.2"
3009 | }
3010 | },
3011 | "decode-named-character-reference": {
3012 | "version": "1.0.1",
3013 | "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.1.tgz",
3014 | "integrity": "sha512-YV/0HQHreRwKb7uBopyIkLG17jG6Sv2qUchk9qSoVJ2f+flwRsPNBO0hAnjt6mTNYUT+vw9Gy2ihXg4sUWPi2w==",
3015 | "requires": {
3016 | "character-entities": "^2.0.0"
3017 | }
3018 | },
3019 | "dequal": {
3020 | "version": "2.0.2",
3021 | "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.2.tgz",
3022 | "integrity": "sha512-q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug=="
3023 | },
3024 | "diff": {
3025 | "version": "4.0.2",
3026 | "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
3027 | "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
3028 | "dev": true
3029 | },
3030 | "dotenv": {
3031 | "version": "8.6.0",
3032 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz",
3033 | "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==",
3034 | "dev": true
3035 | },
3036 | "emoji-regex": {
3037 | "version": "8.0.0",
3038 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
3039 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
3040 | "dev": true
3041 | },
3042 | "escalade": {
3043 | "version": "3.1.1",
3044 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
3045 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
3046 | "dev": true
3047 | },
3048 | "extend": {
3049 | "version": "3.0.2",
3050 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
3051 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
3052 | },
3053 | "fs.realpath": {
3054 | "version": "1.0.0",
3055 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
3056 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
3057 | "dev": true
3058 | },
3059 | "get-caller-file": {
3060 | "version": "2.0.5",
3061 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
3062 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
3063 | "dev": true
3064 | },
3065 | "glob": {
3066 | "version": "7.2.0",
3067 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
3068 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
3069 | "dev": true,
3070 | "requires": {
3071 | "fs.realpath": "^1.0.0",
3072 | "inflight": "^1.0.4",
3073 | "inherits": "2",
3074 | "minimatch": "^3.0.4",
3075 | "once": "^1.3.0",
3076 | "path-is-absolute": "^1.0.0"
3077 | }
3078 | },
3079 | "has-flag": {
3080 | "version": "4.0.0",
3081 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
3082 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
3083 | "dev": true
3084 | },
3085 | "hast-util-whitespace": {
3086 | "version": "2.0.0",
3087 | "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.0.tgz",
3088 | "integrity": "sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg=="
3089 | },
3090 | "highlight.js": {
3091 | "version": "10.7.3",
3092 | "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz",
3093 | "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==",
3094 | "dev": true
3095 | },
3096 | "ieee754": {
3097 | "version": "1.2.1",
3098 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
3099 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
3100 | "dev": true
3101 | },
3102 | "inflight": {
3103 | "version": "1.0.6",
3104 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
3105 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
3106 | "dev": true,
3107 | "requires": {
3108 | "once": "^1.3.0",
3109 | "wrappy": "1"
3110 | }
3111 | },
3112 | "inherits": {
3113 | "version": "2.0.4",
3114 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
3115 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
3116 | "dev": true
3117 | },
3118 | "inline-style-parser": {
3119 | "version": "0.1.1",
3120 | "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz",
3121 | "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q=="
3122 | },
3123 | "is-buffer": {
3124 | "version": "2.0.5",
3125 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
3126 | "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ=="
3127 | },
3128 | "is-fullwidth-code-point": {
3129 | "version": "3.0.0",
3130 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
3131 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
3132 | "dev": true
3133 | },
3134 | "is-plain-obj": {
3135 | "version": "4.0.0",
3136 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.0.0.tgz",
3137 | "integrity": "sha512-NXRbBtUdBioI73y/HmOhogw/U5msYPC9DAtGkJXeFcFWSFZw0mCUsPxk/snTuJHzNKA8kLBK4rH97RMB1BfCXw=="
3138 | },
3139 | "jose": {
3140 | "version": "1.28.1",
3141 | "resolved": "https://registry.npmjs.org/jose/-/jose-1.28.1.tgz",
3142 | "integrity": "sha512-6JK28rFu5ENp/yxMwM+iN7YeaInnY9B9Bggjkz5fuwLiJhbVrl2O4SJr65bdNBPl9y27fdC3Mymh+FVCvozLIg==",
3143 | "dev": true,
3144 | "requires": {
3145 | "@panva/asn1.js": "^1.0.0"
3146 | }
3147 | },
3148 | "js-tokens": {
3149 | "version": "4.0.0",
3150 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
3151 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
3152 | },
3153 | "js-yaml": {
3154 | "version": "4.1.0",
3155 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
3156 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
3157 | "dev": true,
3158 | "requires": {
3159 | "argparse": "^2.0.1"
3160 | }
3161 | },
3162 | "kleur": {
3163 | "version": "4.1.4",
3164 | "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz",
3165 | "integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA=="
3166 | },
3167 | "loose-envify": {
3168 | "version": "1.4.0",
3169 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
3170 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
3171 | "requires": {
3172 | "js-tokens": "^3.0.0 || ^4.0.0"
3173 | }
3174 | },
3175 | "lru-cache": {
3176 | "version": "6.0.0",
3177 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
3178 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
3179 | "requires": {
3180 | "yallist": "^4.0.0"
3181 | }
3182 | },
3183 | "make-error": {
3184 | "version": "1.3.6",
3185 | "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
3186 | "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
3187 | "dev": true
3188 | },
3189 | "mdast-util-definitions": {
3190 | "version": "5.1.0",
3191 | "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.0.tgz",
3192 | "integrity": "sha512-5hcR7FL2EuZ4q6lLMUK5w4lHT2H3vqL9quPvYZ/Ku5iifrirfMHiGdhxdXMUbUkDmz5I+TYMd7nbaxUhbQkfpQ==",
3193 | "requires": {
3194 | "@types/mdast": "^3.0.0",
3195 | "@types/unist": "^2.0.0",
3196 | "unist-util-visit": "^3.0.0"
3197 | },
3198 | "dependencies": {
3199 | "unist-util-visit": {
3200 | "version": "3.1.0",
3201 | "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-3.1.0.tgz",
3202 | "integrity": "sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==",
3203 | "requires": {
3204 | "@types/unist": "^2.0.0",
3205 | "unist-util-is": "^5.0.0",
3206 | "unist-util-visit-parents": "^4.0.0"
3207 | }
3208 | },
3209 | "unist-util-visit-parents": {
3210 | "version": "4.1.1",
3211 | "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-4.1.1.tgz",
3212 | "integrity": "sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==",
3213 | "requires": {
3214 | "@types/unist": "^2.0.0",
3215 | "unist-util-is": "^5.0.0"
3216 | }
3217 | }
3218 | }
3219 | },
3220 | "mdast-util-from-markdown": {
3221 | "version": "1.2.0",
3222 | "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.2.0.tgz",
3223 | "integrity": "sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q==",
3224 | "requires": {
3225 | "@types/mdast": "^3.0.0",
3226 | "@types/unist": "^2.0.0",
3227 | "decode-named-character-reference": "^1.0.0",
3228 | "mdast-util-to-string": "^3.1.0",
3229 | "micromark": "^3.0.0",
3230 | "micromark-util-decode-numeric-character-reference": "^1.0.0",
3231 | "micromark-util-decode-string": "^1.0.0",
3232 | "micromark-util-normalize-identifier": "^1.0.0",
3233 | "micromark-util-symbol": "^1.0.0",
3234 | "micromark-util-types": "^1.0.0",
3235 | "unist-util-stringify-position": "^3.0.0",
3236 | "uvu": "^0.5.0"
3237 | }
3238 | },
3239 | "mdast-util-to-hast": {
3240 | "version": "12.1.1",
3241 | "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.1.1.tgz",
3242 | "integrity": "sha512-qE09zD6ylVP14jV4mjLIhDBOrpFdShHZcEsYvvKGABlr9mGbV7mTlRWdoFxL/EYSTNDiC9GZXy7y8Shgb9Dtzw==",
3243 | "requires": {
3244 | "@types/hast": "^2.0.0",
3245 | "@types/mdast": "^3.0.0",
3246 | "@types/mdurl": "^1.0.0",
3247 | "mdast-util-definitions": "^5.0.0",
3248 | "mdurl": "^1.0.0",
3249 | "micromark-util-sanitize-uri": "^1.0.0",
3250 | "unist-builder": "^3.0.0",
3251 | "unist-util-generated": "^2.0.0",
3252 | "unist-util-position": "^4.0.0",
3253 | "unist-util-visit": "^4.0.0"
3254 | }
3255 | },
3256 | "mdast-util-to-string": {
3257 | "version": "3.1.0",
3258 | "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz",
3259 | "integrity": "sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA=="
3260 | },
3261 | "mdurl": {
3262 | "version": "1.0.1",
3263 | "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
3264 | "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4="
3265 | },
3266 | "micromark": {
3267 | "version": "3.0.10",
3268 | "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.0.10.tgz",
3269 | "integrity": "sha512-ryTDy6UUunOXy2HPjelppgJ2sNfcPz1pLlMdA6Rz9jPzhLikWXv/irpWV/I2jd68Uhmny7hHxAlAhk4+vWggpg==",
3270 | "requires": {
3271 | "@types/debug": "^4.0.0",
3272 | "debug": "^4.0.0",
3273 | "decode-named-character-reference": "^1.0.0",
3274 | "micromark-core-commonmark": "^1.0.1",
3275 | "micromark-factory-space": "^1.0.0",
3276 | "micromark-util-character": "^1.0.0",
3277 | "micromark-util-chunked": "^1.0.0",
3278 | "micromark-util-combine-extensions": "^1.0.0",
3279 | "micromark-util-decode-numeric-character-reference": "^1.0.0",
3280 | "micromark-util-encode": "^1.0.0",
3281 | "micromark-util-normalize-identifier": "^1.0.0",
3282 | "micromark-util-resolve-all": "^1.0.0",
3283 | "micromark-util-sanitize-uri": "^1.0.0",
3284 | "micromark-util-subtokenize": "^1.0.0",
3285 | "micromark-util-symbol": "^1.0.0",
3286 | "micromark-util-types": "^1.0.1",
3287 | "uvu": "^0.5.0"
3288 | }
3289 | },
3290 | "micromark-core-commonmark": {
3291 | "version": "1.0.6",
3292 | "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz",
3293 | "integrity": "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==",
3294 | "requires": {
3295 | "decode-named-character-reference": "^1.0.0",
3296 | "micromark-factory-destination": "^1.0.0",
3297 | "micromark-factory-label": "^1.0.0",
3298 | "micromark-factory-space": "^1.0.0",
3299 | "micromark-factory-title": "^1.0.0",
3300 | "micromark-factory-whitespace": "^1.0.0",
3301 | "micromark-util-character": "^1.0.0",
3302 | "micromark-util-chunked": "^1.0.0",
3303 | "micromark-util-classify-character": "^1.0.0",
3304 | "micromark-util-html-tag-name": "^1.0.0",
3305 | "micromark-util-normalize-identifier": "^1.0.0",
3306 | "micromark-util-resolve-all": "^1.0.0",
3307 | "micromark-util-subtokenize": "^1.0.0",
3308 | "micromark-util-symbol": "^1.0.0",
3309 | "micromark-util-types": "^1.0.1",
3310 | "uvu": "^0.5.0"
3311 | }
3312 | },
3313 | "micromark-factory-destination": {
3314 | "version": "1.0.0",
3315 | "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz",
3316 | "integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==",
3317 | "requires": {
3318 | "micromark-util-character": "^1.0.0",
3319 | "micromark-util-symbol": "^1.0.0",
3320 | "micromark-util-types": "^1.0.0"
3321 | }
3322 | },
3323 | "micromark-factory-label": {
3324 | "version": "1.0.2",
3325 | "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz",
3326 | "integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==",
3327 | "requires": {
3328 | "micromark-util-character": "^1.0.0",
3329 | "micromark-util-symbol": "^1.0.0",
3330 | "micromark-util-types": "^1.0.0",
3331 | "uvu": "^0.5.0"
3332 | }
3333 | },
3334 | "micromark-factory-space": {
3335 | "version": "1.0.0",
3336 | "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz",
3337 | "integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==",
3338 | "requires": {
3339 | "micromark-util-character": "^1.0.0",
3340 | "micromark-util-types": "^1.0.0"
3341 | }
3342 | },
3343 | "micromark-factory-title": {
3344 | "version": "1.0.2",
3345 | "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz",
3346 | "integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==",
3347 | "requires": {
3348 | "micromark-factory-space": "^1.0.0",
3349 | "micromark-util-character": "^1.0.0",
3350 | "micromark-util-symbol": "^1.0.0",
3351 | "micromark-util-types": "^1.0.0",
3352 | "uvu": "^0.5.0"
3353 | }
3354 | },
3355 | "micromark-factory-whitespace": {
3356 | "version": "1.0.0",
3357 | "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz",
3358 | "integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==",
3359 | "requires": {
3360 | "micromark-factory-space": "^1.0.0",
3361 | "micromark-util-character": "^1.0.0",
3362 | "micromark-util-symbol": "^1.0.0",
3363 | "micromark-util-types": "^1.0.0"
3364 | }
3365 | },
3366 | "micromark-util-character": {
3367 | "version": "1.1.0",
3368 | "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz",
3369 | "integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==",
3370 | "requires": {
3371 | "micromark-util-symbol": "^1.0.0",
3372 | "micromark-util-types": "^1.0.0"
3373 | }
3374 | },
3375 | "micromark-util-chunked": {
3376 | "version": "1.0.0",
3377 | "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz",
3378 | "integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==",
3379 | "requires": {
3380 | "micromark-util-symbol": "^1.0.0"
3381 | }
3382 | },
3383 | "micromark-util-classify-character": {
3384 | "version": "1.0.0",
3385 | "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz",
3386 | "integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==",
3387 | "requires": {
3388 | "micromark-util-character": "^1.0.0",
3389 | "micromark-util-symbol": "^1.0.0",
3390 | "micromark-util-types": "^1.0.0"
3391 | }
3392 | },
3393 | "micromark-util-combine-extensions": {
3394 | "version": "1.0.0",
3395 | "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz",
3396 | "integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==",
3397 | "requires": {
3398 | "micromark-util-chunked": "^1.0.0",
3399 | "micromark-util-types": "^1.0.0"
3400 | }
3401 | },
3402 | "micromark-util-decode-numeric-character-reference": {
3403 | "version": "1.0.0",
3404 | "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz",
3405 | "integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==",
3406 | "requires": {
3407 | "micromark-util-symbol": "^1.0.0"
3408 | }
3409 | },
3410 | "micromark-util-decode-string": {
3411 | "version": "1.0.2",
3412 | "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz",
3413 | "integrity": "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==",
3414 | "requires": {
3415 | "decode-named-character-reference": "^1.0.0",
3416 | "micromark-util-character": "^1.0.0",
3417 | "micromark-util-decode-numeric-character-reference": "^1.0.0",
3418 | "micromark-util-symbol": "^1.0.0"
3419 | }
3420 | },
3421 | "micromark-util-encode": {
3422 | "version": "1.0.1",
3423 | "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz",
3424 | "integrity": "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA=="
3425 | },
3426 | "micromark-util-html-tag-name": {
3427 | "version": "1.0.0",
3428 | "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.0.0.tgz",
3429 | "integrity": "sha512-NenEKIshW2ZI/ERv9HtFNsrn3llSPZtY337LID/24WeLqMzeZhBEE6BQ0vS2ZBjshm5n40chKtJ3qjAbVV8S0g=="
3430 | },
3431 | "micromark-util-normalize-identifier": {
3432 | "version": "1.0.0",
3433 | "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz",
3434 | "integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==",
3435 | "requires": {
3436 | "micromark-util-symbol": "^1.0.0"
3437 | }
3438 | },
3439 | "micromark-util-resolve-all": {
3440 | "version": "1.0.0",
3441 | "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz",
3442 | "integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==",
3443 | "requires": {
3444 | "micromark-util-types": "^1.0.0"
3445 | }
3446 | },
3447 | "micromark-util-sanitize-uri": {
3448 | "version": "1.0.0",
3449 | "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.0.0.tgz",
3450 | "integrity": "sha512-cCxvBKlmac4rxCGx6ejlIviRaMKZc0fWm5HdCHEeDWRSkn44l6NdYVRyU+0nT1XC72EQJMZV8IPHF+jTr56lAg==",
3451 | "requires": {
3452 | "micromark-util-character": "^1.0.0",
3453 | "micromark-util-encode": "^1.0.0",
3454 | "micromark-util-symbol": "^1.0.0"
3455 | }
3456 | },
3457 | "micromark-util-subtokenize": {
3458 | "version": "1.0.2",
3459 | "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz",
3460 | "integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==",
3461 | "requires": {
3462 | "micromark-util-chunked": "^1.0.0",
3463 | "micromark-util-symbol": "^1.0.0",
3464 | "micromark-util-types": "^1.0.0",
3465 | "uvu": "^0.5.0"
3466 | }
3467 | },
3468 | "micromark-util-symbol": {
3469 | "version": "1.0.1",
3470 | "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz",
3471 | "integrity": "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ=="
3472 | },
3473 | "micromark-util-types": {
3474 | "version": "1.0.2",
3475 | "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz",
3476 | "integrity": "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w=="
3477 | },
3478 | "minimatch": {
3479 | "version": "3.1.2",
3480 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
3481 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
3482 | "dev": true,
3483 | "requires": {
3484 | "brace-expansion": "^1.1.7"
3485 | }
3486 | },
3487 | "mkdirp": {
3488 | "version": "1.0.4",
3489 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
3490 | "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
3491 | "dev": true
3492 | },
3493 | "mri": {
3494 | "version": "1.2.0",
3495 | "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
3496 | "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA=="
3497 | },
3498 | "ms": {
3499 | "version": "2.1.2",
3500 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
3501 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
3502 | },
3503 | "mz": {
3504 | "version": "2.7.0",
3505 | "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
3506 | "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
3507 | "dev": true,
3508 | "requires": {
3509 | "any-promise": "^1.0.0",
3510 | "object-assign": "^4.0.1",
3511 | "thenify-all": "^1.0.0"
3512 | }
3513 | },
3514 | "nanoid": {
3515 | "version": "3.3.2",
3516 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz",
3517 | "integrity": "sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA=="
3518 | },
3519 | "next": {
3520 | "version": "12.1.4",
3521 | "resolved": "https://registry.npmjs.org/next/-/next-12.1.4.tgz",
3522 | "integrity": "sha512-DA4g97BM4Z0nKtDvCTm58RxdvoQyYzeg0AeVbh0N4Y/D8ELrNu47lQeEgRGF8hV4eQ+Sal90zxrJQQG/mPQ8CQ==",
3523 | "requires": {
3524 | "@next/env": "12.1.4",
3525 | "@next/swc-android-arm-eabi": "12.1.4",
3526 | "@next/swc-android-arm64": "12.1.4",
3527 | "@next/swc-darwin-arm64": "12.1.4",
3528 | "@next/swc-darwin-x64": "12.1.4",
3529 | "@next/swc-linux-arm-gnueabihf": "12.1.4",
3530 | "@next/swc-linux-arm64-gnu": "12.1.4",
3531 | "@next/swc-linux-arm64-musl": "12.1.4",
3532 | "@next/swc-linux-x64-gnu": "12.1.4",
3533 | "@next/swc-linux-x64-musl": "12.1.4",
3534 | "@next/swc-win32-arm64-msvc": "12.1.4",
3535 | "@next/swc-win32-ia32-msvc": "12.1.4",
3536 | "@next/swc-win32-x64-msvc": "12.1.4",
3537 | "caniuse-lite": "^1.0.30001283",
3538 | "postcss": "8.4.5",
3539 | "styled-jsx": "5.0.1"
3540 | }
3541 | },
3542 | "next-auth": {
3543 | "version": "4.3.1",
3544 | "resolved": "https://registry.npmjs.org/next-auth/-/next-auth-4.3.1.tgz",
3545 | "integrity": "sha512-DBYEPBLq5naIqh/1i2zEHljcA1OXXecKW3NRU1W4s6R3UX3RdLZ2lWlqgBHUiZQ1zdNikFM/bYQxVGyG7bx8oA==",
3546 | "requires": {
3547 | "@babel/runtime": "^7.16.3",
3548 | "@panva/hkdf": "^1.0.1",
3549 | "cookie": "^0.4.1",
3550 | "jose": "^4.3.7",
3551 | "oauth": "^0.9.15",
3552 | "openid-client": "^5.1.0",
3553 | "preact": "^10.6.3",
3554 | "preact-render-to-string": "^5.1.19",
3555 | "uuid": "^8.3.2"
3556 | },
3557 | "dependencies": {
3558 | "jose": {
3559 | "version": "4.6.0",
3560 | "resolved": "https://registry.npmjs.org/jose/-/jose-4.6.0.tgz",
3561 | "integrity": "sha512-0hNAkhMBNi4soKSAX4zYOFV+aqJlEz/4j4fregvasJzEVtjDChvWqRjPvHwLqr5hx28Ayr6bsOs1Kuj87V0O8w=="
3562 | }
3563 | }
3564 | },
3565 | "oauth": {
3566 | "version": "0.9.15",
3567 | "resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz",
3568 | "integrity": "sha1-vR/vr2hslrdUda7VGWQS/2DPucE="
3569 | },
3570 | "object-assign": {
3571 | "version": "4.1.1",
3572 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
3573 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
3574 | },
3575 | "object-hash": {
3576 | "version": "2.2.0",
3577 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz",
3578 | "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw=="
3579 | },
3580 | "oidc-token-hash": {
3581 | "version": "5.0.1",
3582 | "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.1.tgz",
3583 | "integrity": "sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ=="
3584 | },
3585 | "once": {
3586 | "version": "1.4.0",
3587 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
3588 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
3589 | "dev": true,
3590 | "requires": {
3591 | "wrappy": "1"
3592 | }
3593 | },
3594 | "openid-client": {
3595 | "version": "5.1.4",
3596 | "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.1.4.tgz",
3597 | "integrity": "sha512-36/PZY3rDgiIFj2uCL9a1fILPmIwu3HksoWO4mukgXe74ZOsEisJMMqTMfmPNw6j/7kO0mBc2xqy4eYRrB8xPA==",
3598 | "requires": {
3599 | "jose": "^4.1.4",
3600 | "lru-cache": "^6.0.0",
3601 | "object-hash": "^2.0.1",
3602 | "oidc-token-hash": "^5.0.1"
3603 | },
3604 | "dependencies": {
3605 | "jose": {
3606 | "version": "4.6.0",
3607 | "resolved": "https://registry.npmjs.org/jose/-/jose-4.6.0.tgz",
3608 | "integrity": "sha512-0hNAkhMBNi4soKSAX4zYOFV+aqJlEz/4j4fregvasJzEVtjDChvWqRjPvHwLqr5hx28Ayr6bsOs1Kuj87V0O8w=="
3609 | }
3610 | }
3611 | },
3612 | "parse5": {
3613 | "version": "5.1.1",
3614 | "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
3615 | "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==",
3616 | "dev": true
3617 | },
3618 | "parse5-htmlparser2-tree-adapter": {
3619 | "version": "6.0.1",
3620 | "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
3621 | "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
3622 | "dev": true,
3623 | "requires": {
3624 | "parse5": "^6.0.1"
3625 | },
3626 | "dependencies": {
3627 | "parse5": {
3628 | "version": "6.0.1",
3629 | "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
3630 | "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
3631 | "dev": true
3632 | }
3633 | }
3634 | },
3635 | "path-is-absolute": {
3636 | "version": "1.0.1",
3637 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
3638 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
3639 | "dev": true
3640 | },
3641 | "picocolors": {
3642 | "version": "1.0.0",
3643 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
3644 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
3645 | },
3646 | "postcss": {
3647 | "version": "8.4.5",
3648 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz",
3649 | "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==",
3650 | "requires": {
3651 | "nanoid": "^3.1.30",
3652 | "picocolors": "^1.0.0",
3653 | "source-map-js": "^1.0.1"
3654 | }
3655 | },
3656 | "preact": {
3657 | "version": "10.7.1",
3658 | "resolved": "https://registry.npmjs.org/preact/-/preact-10.7.1.tgz",
3659 | "integrity": "sha512-MufnRFz39aIhs9AMFisonjzTud1PK1bY+jcJLo6m2T9Uh8AqjD77w11eAAawmjUogoGOnipECq7e/1RClIKsxg=="
3660 | },
3661 | "preact-render-to-string": {
3662 | "version": "5.1.21",
3663 | "resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-5.1.21.tgz",
3664 | "integrity": "sha512-wbMtNU4JpfvbE04iCe7BZ1yLYN8i6NRrq+NhR0fUINjPXGu3ZIc4GM5ScOiwdIP1sPXv9SVETuud/tmQGMvdNQ==",
3665 | "requires": {
3666 | "pretty-format": "^3.8.0"
3667 | }
3668 | },
3669 | "pretty-format": {
3670 | "version": "3.8.0",
3671 | "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz",
3672 | "integrity": "sha1-v77VbV6ad2ZF9LH/eqGjrE+jw4U="
3673 | },
3674 | "prisma": {
3675 | "version": "4.10.1",
3676 | "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.10.1.tgz",
3677 | "integrity": "sha512-0jDxgg+DruB1kHVNlcspXQB9au62IFfVg9drkhzXudszHNUAQn0lVuu+T8np0uC2z1nKD5S3qPeCyR8u5YFLnA==",
3678 | "devOptional": true,
3679 | "requires": {
3680 | "@prisma/engines": "4.10.1"
3681 | }
3682 | },
3683 | "prop-types": {
3684 | "version": "15.8.1",
3685 | "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
3686 | "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
3687 | "requires": {
3688 | "loose-envify": "^1.4.0",
3689 | "object-assign": "^4.1.1",
3690 | "react-is": "^16.13.1"
3691 | },
3692 | "dependencies": {
3693 | "react-is": {
3694 | "version": "16.13.1",
3695 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
3696 | "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
3697 | }
3698 | }
3699 | },
3700 | "property-information": {
3701 | "version": "6.1.1",
3702 | "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.1.1.tgz",
3703 | "integrity": "sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w=="
3704 | },
3705 | "react": {
3706 | "version": "18.2.0",
3707 | "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
3708 | "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
3709 | "requires": {
3710 | "loose-envify": "^1.1.0"
3711 | }
3712 | },
3713 | "react-dom": {
3714 | "version": "18.2.0",
3715 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
3716 | "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
3717 | "requires": {
3718 | "loose-envify": "^1.1.0",
3719 | "scheduler": "^0.23.0"
3720 | }
3721 | },
3722 | "react-is": {
3723 | "version": "18.0.0",
3724 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.0.0.tgz",
3725 | "integrity": "sha512-yUcBYdBBbo3QiPsgYDcfQcIkGZHfxOaoE6HLSnr1sPzMhdyxusbfKOSUbSd/ocGi32dxcj366PsTj+5oggeKKw=="
3726 | },
3727 | "react-markdown": {
3728 | "version": "8.0.2",
3729 | "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-8.0.2.tgz",
3730 | "integrity": "sha512-WeXeDlCPFZBbN75AiLVEmN4gC6pNWadsZVWWxWpvrYQnUTHsB3l1PH60I1sbxTJr0oWOQc3zhxTrRQMTceNifw==",
3731 | "requires": {
3732 | "@types/hast": "^2.0.0",
3733 | "@types/prop-types": "^15.0.0",
3734 | "@types/unist": "^2.0.0",
3735 | "comma-separated-tokens": "^2.0.0",
3736 | "hast-util-whitespace": "^2.0.0",
3737 | "prop-types": "^15.0.0",
3738 | "property-information": "^6.0.0",
3739 | "react-is": "^18.0.0",
3740 | "remark-parse": "^10.0.0",
3741 | "remark-rehype": "^10.0.0",
3742 | "space-separated-tokens": "^2.0.0",
3743 | "style-to-object": "^0.3.0",
3744 | "unified": "^10.0.0",
3745 | "unist-util-visit": "^4.0.0",
3746 | "vfile": "^5.0.0"
3747 | }
3748 | },
3749 | "reflect-metadata": {
3750 | "version": "0.1.13",
3751 | "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz",
3752 | "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==",
3753 | "dev": true
3754 | },
3755 | "regenerator-runtime": {
3756 | "version": "0.13.9",
3757 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
3758 | "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
3759 | },
3760 | "remark-parse": {
3761 | "version": "10.0.1",
3762 | "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz",
3763 | "integrity": "sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==",
3764 | "requires": {
3765 | "@types/mdast": "^3.0.0",
3766 | "mdast-util-from-markdown": "^1.0.0",
3767 | "unified": "^10.0.0"
3768 | }
3769 | },
3770 | "remark-rehype": {
3771 | "version": "10.1.0",
3772 | "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz",
3773 | "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==",
3774 | "requires": {
3775 | "@types/hast": "^2.0.0",
3776 | "@types/mdast": "^3.0.0",
3777 | "mdast-util-to-hast": "^12.1.0",
3778 | "unified": "^10.0.0"
3779 | }
3780 | },
3781 | "require-directory": {
3782 | "version": "2.1.1",
3783 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
3784 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
3785 | "dev": true
3786 | },
3787 | "sade": {
3788 | "version": "1.8.1",
3789 | "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
3790 | "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
3791 | "requires": {
3792 | "mri": "^1.1.0"
3793 | }
3794 | },
3795 | "safe-buffer": {
3796 | "version": "5.2.1",
3797 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
3798 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
3799 | "dev": true
3800 | },
3801 | "sax": {
3802 | "version": "1.2.4",
3803 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
3804 | "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
3805 | "dev": true
3806 | },
3807 | "scheduler": {
3808 | "version": "0.23.0",
3809 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
3810 | "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
3811 | "requires": {
3812 | "loose-envify": "^1.1.0"
3813 | }
3814 | },
3815 | "sha.js": {
3816 | "version": "2.4.11",
3817 | "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
3818 | "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
3819 | "dev": true,
3820 | "requires": {
3821 | "inherits": "^2.0.1",
3822 | "safe-buffer": "^5.0.1"
3823 | }
3824 | },
3825 | "source-map-js": {
3826 | "version": "1.0.2",
3827 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
3828 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
3829 | },
3830 | "space-separated-tokens": {
3831 | "version": "2.0.1",
3832 | "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.1.tgz",
3833 | "integrity": "sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw=="
3834 | },
3835 | "string-width": {
3836 | "version": "4.2.3",
3837 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
3838 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
3839 | "dev": true,
3840 | "requires": {
3841 | "emoji-regex": "^8.0.0",
3842 | "is-fullwidth-code-point": "^3.0.0",
3843 | "strip-ansi": "^6.0.1"
3844 | }
3845 | },
3846 | "strip-ansi": {
3847 | "version": "6.0.1",
3848 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
3849 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
3850 | "dev": true,
3851 | "requires": {
3852 | "ansi-regex": "^5.0.1"
3853 | }
3854 | },
3855 | "style-to-object": {
3856 | "version": "0.3.0",
3857 | "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz",
3858 | "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==",
3859 | "requires": {
3860 | "inline-style-parser": "0.1.1"
3861 | }
3862 | },
3863 | "styled-jsx": {
3864 | "version": "5.0.1",
3865 | "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.0.1.tgz",
3866 | "integrity": "sha512-+PIZ/6Uk40mphiQJJI1202b+/dYeTVd9ZnMPR80pgiWbjIwvN2zIp4r9et0BgqBuShh48I0gttPlAXA7WVvBxw==",
3867 | "requires": {}
3868 | },
3869 | "supports-color": {
3870 | "version": "7.2.0",
3871 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
3872 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
3873 | "dev": true,
3874 | "requires": {
3875 | "has-flag": "^4.0.0"
3876 | }
3877 | },
3878 | "thenify": {
3879 | "version": "3.3.1",
3880 | "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
3881 | "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
3882 | "dev": true,
3883 | "requires": {
3884 | "any-promise": "^1.0.0"
3885 | }
3886 | },
3887 | "thenify-all": {
3888 | "version": "1.6.0",
3889 | "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
3890 | "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=",
3891 | "dev": true,
3892 | "requires": {
3893 | "thenify": ">= 3.1.0 < 4"
3894 | }
3895 | },
3896 | "trough": {
3897 | "version": "2.1.0",
3898 | "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz",
3899 | "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g=="
3900 | },
3901 | "ts-node": {
3902 | "version": "10.7.0",
3903 | "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz",
3904 | "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==",
3905 | "dev": true,
3906 | "requires": {
3907 | "@cspotcode/source-map-support": "0.7.0",
3908 | "@tsconfig/node10": "^1.0.7",
3909 | "@tsconfig/node12": "^1.0.7",
3910 | "@tsconfig/node14": "^1.0.0",
3911 | "@tsconfig/node16": "^1.0.2",
3912 | "acorn": "^8.4.1",
3913 | "acorn-walk": "^8.1.1",
3914 | "arg": "^4.1.0",
3915 | "create-require": "^1.1.0",
3916 | "diff": "^4.0.1",
3917 | "make-error": "^1.1.1",
3918 | "v8-compile-cache-lib": "^3.0.0",
3919 | "yn": "3.1.1"
3920 | }
3921 | },
3922 | "tslib": {
3923 | "version": "2.3.1",
3924 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
3925 | "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==",
3926 | "dev": true
3927 | },
3928 | "typeorm": {
3929 | "version": "0.2.45",
3930 | "resolved": "https://registry.npmjs.org/typeorm/-/typeorm-0.2.45.tgz",
3931 | "integrity": "sha512-c0rCO8VMJ3ER7JQ73xfk0zDnVv0WDjpsP6Q1m6CVKul7DB9iVdWLRjPzc8v2eaeBuomsbZ2+gTaYr8k1gm3bYA==",
3932 | "dev": true,
3933 | "requires": {
3934 | "@sqltools/formatter": "^1.2.2",
3935 | "app-root-path": "^3.0.0",
3936 | "buffer": "^6.0.3",
3937 | "chalk": "^4.1.0",
3938 | "cli-highlight": "^2.1.11",
3939 | "debug": "^4.3.1",
3940 | "dotenv": "^8.2.0",
3941 | "glob": "^7.1.6",
3942 | "js-yaml": "^4.0.0",
3943 | "mkdirp": "^1.0.4",
3944 | "reflect-metadata": "^0.1.13",
3945 | "sha.js": "^2.4.11",
3946 | "tslib": "^2.1.0",
3947 | "uuid": "^8.3.2",
3948 | "xml2js": "^0.4.23",
3949 | "yargs": "^17.0.1",
3950 | "zen-observable-ts": "^1.0.0"
3951 | }
3952 | },
3953 | "typescript": {
3954 | "version": "4.6.3",
3955 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz",
3956 | "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==",
3957 | "dev": true
3958 | },
3959 | "unified": {
3960 | "version": "10.1.2",
3961 | "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
3962 | "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
3963 | "requires": {
3964 | "@types/unist": "^2.0.0",
3965 | "bail": "^2.0.0",
3966 | "extend": "^3.0.0",
3967 | "is-buffer": "^2.0.0",
3968 | "is-plain-obj": "^4.0.0",
3969 | "trough": "^2.0.0",
3970 | "vfile": "^5.0.0"
3971 | }
3972 | },
3973 | "unist-builder": {
3974 | "version": "3.0.0",
3975 | "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-3.0.0.tgz",
3976 | "integrity": "sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ==",
3977 | "requires": {
3978 | "@types/unist": "^2.0.0"
3979 | }
3980 | },
3981 | "unist-util-generated": {
3982 | "version": "2.0.0",
3983 | "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.0.tgz",
3984 | "integrity": "sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw=="
3985 | },
3986 | "unist-util-is": {
3987 | "version": "5.1.1",
3988 | "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz",
3989 | "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ=="
3990 | },
3991 | "unist-util-position": {
3992 | "version": "4.0.3",
3993 | "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.3.tgz",
3994 | "integrity": "sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==",
3995 | "requires": {
3996 | "@types/unist": "^2.0.0"
3997 | }
3998 | },
3999 | "unist-util-stringify-position": {
4000 | "version": "3.0.2",
4001 | "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.2.tgz",
4002 | "integrity": "sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==",
4003 | "requires": {
4004 | "@types/unist": "^2.0.0"
4005 | }
4006 | },
4007 | "unist-util-visit": {
4008 | "version": "4.1.0",
4009 | "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.0.tgz",
4010 | "integrity": "sha512-n7lyhFKJfVZ9MnKtqbsqkQEk5P1KShj0+//V7mAcoI6bpbUjh3C/OG8HVD+pBihfh6Ovl01m8dkcv9HNqYajmQ==",
4011 | "requires": {
4012 | "@types/unist": "^2.0.0",
4013 | "unist-util-is": "^5.0.0",
4014 | "unist-util-visit-parents": "^5.0.0"
4015 | }
4016 | },
4017 | "unist-util-visit-parents": {
4018 | "version": "5.1.0",
4019 | "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.0.tgz",
4020 | "integrity": "sha512-y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg==",
4021 | "requires": {
4022 | "@types/unist": "^2.0.0",
4023 | "unist-util-is": "^5.0.0"
4024 | }
4025 | },
4026 | "uuid": {
4027 | "version": "8.3.2",
4028 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
4029 | "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
4030 | },
4031 | "uvu": {
4032 | "version": "0.5.3",
4033 | "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.3.tgz",
4034 | "integrity": "sha512-brFwqA3FXzilmtnIyJ+CxdkInkY/i4ErvP7uV0DnUVxQcQ55reuHphorpF+tZoVHK2MniZ/VJzI7zJQoc9T9Yw==",
4035 | "requires": {
4036 | "dequal": "^2.0.0",
4037 | "diff": "^5.0.0",
4038 | "kleur": "^4.0.3",
4039 | "sade": "^1.7.3"
4040 | },
4041 | "dependencies": {
4042 | "diff": {
4043 | "version": "5.0.0",
4044 | "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
4045 | "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w=="
4046 | }
4047 | }
4048 | },
4049 | "v8-compile-cache-lib": {
4050 | "version": "3.0.0",
4051 | "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz",
4052 | "integrity": "sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==",
4053 | "dev": true
4054 | },
4055 | "vfile": {
4056 | "version": "5.3.2",
4057 | "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.2.tgz",
4058 | "integrity": "sha512-w0PLIugRY3Crkgw89TeMvHCzqCs/zpreR31hl4D92y6SOE07+bfJe+dK5Q2akwS+i/c801kzjoOr9gMcTe6IAA==",
4059 | "requires": {
4060 | "@types/unist": "^2.0.0",
4061 | "is-buffer": "^2.0.0",
4062 | "unist-util-stringify-position": "^3.0.0",
4063 | "vfile-message": "^3.0.0"
4064 | }
4065 | },
4066 | "vfile-message": {
4067 | "version": "3.1.2",
4068 | "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.2.tgz",
4069 | "integrity": "sha512-QjSNP6Yxzyycd4SVOtmKKyTsSvClqBPJcd00Z0zuPj3hOIjg0rUPG6DbFGPvUKRgYyaIWLPKpuEclcuvb3H8qA==",
4070 | "requires": {
4071 | "@types/unist": "^2.0.0",
4072 | "unist-util-stringify-position": "^3.0.0"
4073 | }
4074 | },
4075 | "wrap-ansi": {
4076 | "version": "7.0.0",
4077 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
4078 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
4079 | "dev": true,
4080 | "requires": {
4081 | "ansi-styles": "^4.0.0",
4082 | "string-width": "^4.1.0",
4083 | "strip-ansi": "^6.0.0"
4084 | }
4085 | },
4086 | "wrappy": {
4087 | "version": "1.0.2",
4088 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
4089 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
4090 | "dev": true
4091 | },
4092 | "xml2js": {
4093 | "version": "0.4.23",
4094 | "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
4095 | "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
4096 | "dev": true,
4097 | "requires": {
4098 | "sax": ">=0.6.0",
4099 | "xmlbuilder": "~11.0.0"
4100 | }
4101 | },
4102 | "xmlbuilder": {
4103 | "version": "11.0.1",
4104 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
4105 | "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
4106 | "dev": true
4107 | },
4108 | "y18n": {
4109 | "version": "5.0.8",
4110 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
4111 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
4112 | "dev": true
4113 | },
4114 | "yallist": {
4115 | "version": "4.0.0",
4116 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
4117 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
4118 | },
4119 | "yargs": {
4120 | "version": "17.4.0",
4121 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.0.tgz",
4122 | "integrity": "sha512-WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA==",
4123 | "dev": true,
4124 | "requires": {
4125 | "cliui": "^7.0.2",
4126 | "escalade": "^3.1.1",
4127 | "get-caller-file": "^2.0.5",
4128 | "require-directory": "^2.1.1",
4129 | "string-width": "^4.2.3",
4130 | "y18n": "^5.0.5",
4131 | "yargs-parser": "^21.0.0"
4132 | }
4133 | },
4134 | "yargs-parser": {
4135 | "version": "21.0.1",
4136 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz",
4137 | "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==",
4138 | "dev": true
4139 | },
4140 | "yn": {
4141 | "version": "3.1.1",
4142 | "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
4143 | "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
4144 | "dev": true
4145 | },
4146 | "zen-observable": {
4147 | "version": "0.8.15",
4148 | "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz",
4149 | "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==",
4150 | "dev": true
4151 | },
4152 | "zen-observable-ts": {
4153 | "version": "1.1.0",
4154 | "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.1.0.tgz",
4155 | "integrity": "sha512-1h4zlLSqI2cRLPJUHJFL8bCWHhkpuXkF+dbGkRaWjgDIG26DmzyshUMrdV/rL3UnR+mhaX4fRq8LPouq0MYYIA==",
4156 | "dev": true,
4157 | "requires": {
4158 | "@types/zen-observable": "0.8.3",
4159 | "zen-observable": "0.8.15"
4160 | }
4161 | }
4162 | }
4163 | }
4164 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "hello-next",
3 | "version": "1.0.0",
4 | "description": "",
5 | "keywords": [],
6 | "license": "MIT",
7 | "author": "",
8 | "scripts": {
9 | "dev": "next",
10 | "build": "npx prisma migrate deploy && next build",
11 | "start": "next start",
12 | "db:up": "docker compose up -d",
13 | "db:down": "docker compose down"
14 | },
15 | "dependencies": {
16 | "@next-auth/prisma-adapter": "1.0.3",
17 | "@prisma/client": "4.10.1",
18 | "next": "12.1.4",
19 | "next-auth": "4.3.1",
20 | "react": "18.2.0",
21 | "react-dom": "18.2.0",
22 | "react-markdown": "8.0.2"
23 | },
24 | "devDependencies": {
25 | "@types/next-auth": "3.13.0",
26 | "@types/node": "16.18.66",
27 | "@types/react": "17.0.44",
28 | "prisma": "4.10.1",
29 | "ts-node": "10.7.0",
30 | "typescript": "4.6.3"
31 | },
32 | "prisma": {
33 | "seed": "ts-node prisma/seed.ts"
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/pages/_app.tsx:
--------------------------------------------------------------------------------
1 | import { SessionProvider } from "next-auth/react";
2 | import { AppProps } from "next/app";
3 |
4 | const App = ({ Component, pageProps }: AppProps) => {
5 | return (
6 |
7 |
8 |
9 | );
10 | };
11 |
12 | export default App;
13 |
--------------------------------------------------------------------------------
/pages/api/auth/[...nextauth].ts:
--------------------------------------------------------------------------------
1 | import { NextApiHandler } from "next";
2 | import NextAuth from "next-auth";
3 | import { PrismaAdapter } from '@next-auth/prisma-adapter'
4 | import GitHubProvider from 'next-auth/providers/github'
5 | import prisma from '../../../lib/prisma'
6 |
7 |
8 | const authHandler: NextApiHandler = (req, res) => NextAuth(req, res, options);
9 | export default authHandler;
10 |
11 | const options = {
12 | providers: [
13 | GitHubProvider({
14 | clientId: process.env.GITHUB_ID,
15 | clientSecret: process.env.GITHUB_SECRET,
16 | }),
17 | ],
18 | adapter: PrismaAdapter(prisma),
19 | secret: process.env.SECRET,
20 | };
21 |
--------------------------------------------------------------------------------
/pages/api/post/[id].ts:
--------------------------------------------------------------------------------
1 | import type { NextApiRequest, NextApiResponse } from 'next'
2 | import { getSession } from 'next-auth/react';
3 | import prisma from '../../../lib/prisma'
4 |
5 |
6 | // DELETE /api/post/:id
7 | export default async function handle(req: NextApiRequest, res: NextApiResponse) {
8 | const postId = req.query.id;
9 |
10 | const session = await getSession({ req })
11 |
12 | if (req.method === "DELETE") {
13 | if (session) {
14 | const post = await prisma.post.delete({
15 | where: { id: String(postId) },
16 | });
17 | res.json(post);
18 | } else {
19 | res.status(401).send({ message: 'Unauthorized' })
20 | }
21 | } else {
22 | throw new Error(
23 | `The HTTP ${req.method} method is not supported at this route.`
24 | );
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/pages/api/post/index.ts:
--------------------------------------------------------------------------------
1 | import type { NextApiRequest, NextApiResponse } from 'next'
2 | import prisma from '../../../lib/prisma'
3 | import { getSession } from 'next-auth/react'
4 |
5 |
6 | // POST /api/post
7 | // Required fields in body: title
8 | // Optional fields in body: content
9 | export default async function handle(req: NextApiRequest, res: NextApiResponse) {
10 | const { title, content } = req.body;
11 |
12 | const session = await getSession({ req });
13 | if (session) {
14 | const result = await prisma.post.create({
15 | data: {
16 | title: title,
17 | content: content,
18 | author: { connect: { email: session?.user?.email } },
19 | },
20 | });
21 | res.json(result);
22 | } else {
23 | res.status(401).send({ message: 'Unauthorized' })
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/pages/api/publish/[id].ts:
--------------------------------------------------------------------------------
1 | import type { NextApiRequest, NextApiResponse } from 'next'
2 | import { getSession } from 'next-auth/react';
3 | import prisma from '../../../lib/prisma'
4 |
5 | // PUT /api/publish/:id
6 | export default async function handle(req: NextApiRequest, res: NextApiResponse) {
7 | const postId = req.query.id;
8 | const session = await getSession({ req })
9 |
10 | if (session) {
11 | const post = await prisma.post.update({
12 | where: { id: String(postId) },
13 | data: { published: true },
14 | });
15 | res.json(post);
16 | } else {
17 | res.status(401).send({ message: 'Unauthorized' })
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/pages/create.tsx:
--------------------------------------------------------------------------------
1 | import React, { useState } from "react";
2 | import Layout from "../components/Layout";
3 | import Router from "next/router";
4 |
5 | const Draft: React.FC = () => {
6 | const [title, setTitle] = useState("");
7 | const [content, setContent] = useState("");
8 |
9 | const submitData = async (e: React.SyntheticEvent) => {
10 | e.preventDefault();
11 | try {
12 | const body = { title, content };
13 | await fetch(`/api/post`, {
14 | method: "POST",
15 | headers: { "Content-Type": "application/json" },
16 | body: JSON.stringify(body),
17 | });
18 | await Router.push("/drafts");
19 | } catch (error) {
20 | console.error(error);
21 | }
22 | };
23 |
24 | return (
25 |
26 |
49 |
77 |
78 | );
79 | };
80 |
81 | export default Draft;
82 |
--------------------------------------------------------------------------------
/pages/drafts.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import type { GetStaticProps } from "next";
3 | import Layout from "../components/Layout";
4 | import Post, { PostProps } from "../components/Post";
5 | import { useSession, getSession } from "next-auth/react";
6 | import prisma from '../lib/prisma'
7 |
8 |
9 | export const getStaticProps: GetStaticProps = async ({ req, res }) => {
10 | const session = await getSession({ req });
11 | if (!session) {
12 | res.statusCode = 403;
13 | return { props: { drafts: [] } };
14 | }
15 |
16 | const drafts = await prisma.post.findMany({
17 | where: {
18 | author: { email: session.user.email },
19 | published: false,
20 | },
21 | include: {
22 | author: {
23 | select: { name: true },
24 | },
25 | },
26 | });
27 | return {
28 | props: { drafts },
29 | revalidate: 10
30 | };
31 | };
32 |
33 | type Props = {
34 | drafts: PostProps[];
35 | };
36 |
37 | const Drafts: React.FC = (props) => {
38 | const {data: session}= useSession();
39 |
40 | if (!session) {
41 | return (
42 |
43 | My Drafts
44 | You need to be authenticated to view this page.
45 |
46 | );
47 | }
48 |
49 | return (
50 |
51 |
52 |
My Drafts
53 |
54 | {props.drafts.map((post) => (
55 |
58 | ))}
59 |
60 |
61 |
75 |
76 | );
77 | };
78 |
79 | export default Drafts;
80 |
--------------------------------------------------------------------------------
/pages/index.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import type { GetStaticProps } from "next";
3 | import Layout from "../components/Layout";
4 | import Post, { PostProps } from "../components/Post";
5 | import prisma from '../lib/prisma'
6 |
7 | export const getStaticProps: GetStaticProps = async () => {
8 | const feed = await prisma.post.findMany({
9 | where: {
10 | published: true,
11 | },
12 | include: {
13 | author: {
14 | select: {
15 | name: true,
16 | },
17 | },
18 | },
19 | });
20 | return {
21 | props: { feed },
22 | revalidate: 10,
23 | };
24 | };
25 |
26 | type Props = {
27 | feed: PostProps[];
28 | };
29 |
30 | const Blog: React.FC = (props) => {
31 | return (
32 |
33 |
34 |
Public Feed
35 |
36 | {props.feed.map((post) => (
37 |
40 | ))}
41 |
42 |
43 |
57 |
58 | );
59 | };
60 |
61 | export default Blog;
62 |
--------------------------------------------------------------------------------
/pages/p/[id].tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import type { GetStaticProps } from "next";
3 | import ReactMarkdown from "react-markdown";
4 | import Layout from "../../components/Layout";
5 | import Router from "next/router";
6 | import { PostProps } from "../../components/Post";
7 | import prisma from '../../lib/prisma'
8 | import { useSession } from "next-auth/react";
9 |
10 | export const getStaticProps: GetStaticProps = async ({ params }) => {
11 | const post = await prisma.post.findUnique({
12 | where: {
13 | id: String(params?.id) ,
14 | },
15 | include: {
16 | author: {
17 | select: { name: true, email: true },
18 | },
19 | },
20 | });
21 | return {
22 | props: post,
23 | revalidate: 10,
24 | };
25 | };
26 |
27 | async function publishPost(id: number): Promise {
28 | await fetch(`/api/publish/${id}`, {
29 | method: "PUT",
30 | });
31 | await Router.push("/")
32 | }
33 |
34 | async function deletePost(id: number): Promise {
35 | await fetch(`/api/post/${id}`, {
36 | method: "DELETE",
37 | });
38 | await Router.push("/")
39 | }
40 |
41 | const Post: React.FC = (props) => {
42 | const { data: session, status } = useSession();
43 | if (status === 'loading') {
44 | return Authenticating ...
;
45 | }
46 | const userHasValidSession = Boolean(session);
47 | const postBelongsToUser = session?.user?.email === props.author?.email;
48 | let title = props.title;
49 | if (!props.published) {
50 | title = `${title} (Draft)`;
51 | }
52 |
53 | return (
54 |
55 |
56 |
{title}
57 |
By {props?.author?.name || "Unknown author"}
58 |
59 | {!props.published && userHasValidSession && postBelongsToUser && (
60 |
publishPost(props.id)}>Publish
61 | )}
62 | {userHasValidSession && postBelongsToUser && (
63 |
deletePost(props.id)}>Delete
64 | )}
65 |
66 |
87 |
88 | );
89 | };
90 |
91 | export default Post;
92 |
--------------------------------------------------------------------------------
/prisma/migrations/20220408154015_init/migration.sql:
--------------------------------------------------------------------------------
1 | -- CreateTable
2 | CREATE TABLE "Post" (
3 | "id" TEXT NOT NULL,
4 | "title" TEXT NOT NULL,
5 | "content" TEXT,
6 | "published" BOOLEAN NOT NULL DEFAULT false,
7 | "authorId" TEXT,
8 |
9 | CONSTRAINT "Post_pkey" PRIMARY KEY ("id")
10 | );
11 |
12 | -- CreateTable
13 | CREATE TABLE "accounts" (
14 | "id" TEXT NOT NULL,
15 | "user_id" TEXT NOT NULL,
16 | "type" TEXT NOT NULL,
17 | "provider" TEXT NOT NULL,
18 | "provider_account_id" TEXT NOT NULL,
19 | "refresh_token" TEXT,
20 | "access_token" TEXT,
21 | "expires_at" INTEGER,
22 | "token_type" TEXT,
23 | "scope" TEXT,
24 | "id_token" TEXT,
25 | "session_state" TEXT,
26 | "oauth_token_secret" TEXT,
27 | "oauth_token" TEXT,
28 |
29 | CONSTRAINT "accounts_pkey" PRIMARY KEY ("id")
30 | );
31 |
32 | -- CreateTable
33 | CREATE TABLE "sessions" (
34 | "id" TEXT NOT NULL,
35 | "session_token" TEXT NOT NULL,
36 | "user_id" TEXT NOT NULL,
37 | "expires" TIMESTAMP(3) NOT NULL,
38 |
39 | CONSTRAINT "sessions_pkey" PRIMARY KEY ("id")
40 | );
41 |
42 | -- CreateTable
43 | CREATE TABLE "users" (
44 | "id" TEXT NOT NULL,
45 | "name" TEXT,
46 | "email" TEXT,
47 | "email_verified" TIMESTAMP(3),
48 | "image" TEXT,
49 | "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
50 | "updated_at" TIMESTAMP(3) NOT NULL,
51 |
52 | CONSTRAINT "users_pkey" PRIMARY KEY ("id")
53 | );
54 |
55 | -- CreateTable
56 | CREATE TABLE "verificationtokens" (
57 | "identifier" TEXT NOT NULL,
58 | "token" TEXT NOT NULL,
59 | "expires" TIMESTAMP(3) NOT NULL
60 | );
61 |
62 | -- CreateIndex
63 | CREATE UNIQUE INDEX "accounts_provider_provider_account_id_key" ON "accounts"("provider", "provider_account_id");
64 |
65 | -- CreateIndex
66 | CREATE UNIQUE INDEX "sessions_session_token_key" ON "sessions"("session_token");
67 |
68 | -- CreateIndex
69 | CREATE UNIQUE INDEX "users_email_key" ON "users"("email");
70 |
71 | -- CreateIndex
72 | CREATE UNIQUE INDEX "verificationtokens_token_key" ON "verificationtokens"("token");
73 |
74 | -- CreateIndex
75 | CREATE UNIQUE INDEX "verificationtokens_identifier_token_key" ON "verificationtokens"("identifier", "token");
76 |
77 | -- AddForeignKey
78 | ALTER TABLE "Post" ADD CONSTRAINT "Post_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "users"("id") ON DELETE SET NULL ON UPDATE CASCADE;
79 |
80 | -- AddForeignKey
81 | ALTER TABLE "accounts" ADD CONSTRAINT "accounts_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;
82 |
83 | -- AddForeignKey
84 | ALTER TABLE "sessions" ADD CONSTRAINT "sessions_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;
85 |
--------------------------------------------------------------------------------
/prisma/migrations/migration_lock.toml:
--------------------------------------------------------------------------------
1 | # Please do not edit this file manually
2 | # It should be added in your version-control system (i.e. Git)
3 | provider = "postgresql"
--------------------------------------------------------------------------------
/prisma/schema.prisma:
--------------------------------------------------------------------------------
1 | generator client {
2 | provider = "prisma-client-js"
3 | }
4 |
5 | datasource db {
6 | provider = "postgresql"
7 | url = env("DATABASE_URL")
8 | }
9 |
10 | model Post {
11 | id String @id @default(cuid())
12 | title String
13 | content String?
14 | published Boolean @default(false)
15 | author User? @relation(fields: [authorId], references: [id])
16 | authorId String?
17 | }
18 |
19 | model Account {
20 | id String @id @default(cuid())
21 | userId String @map("user_id")
22 | type String
23 | provider String
24 | providerAccountId String @map("provider_account_id")
25 | refresh_token String?
26 | access_token String?
27 | expires_at Int?
28 | token_type String?
29 | scope String?
30 | id_token String?
31 | session_state String?
32 | oauth_token_secret String?
33 | oauth_token String?
34 |
35 | user User @relation(fields: [userId], references: [id], onDelete: Cascade)
36 |
37 | @@unique([provider, providerAccountId])
38 | @@map("accounts")
39 | }
40 |
41 | model Session {
42 | id String @id @default(cuid())
43 | sessionToken String @unique @map("session_token")
44 | userId String @map("user_id")
45 | expires DateTime
46 | user User @relation(fields: [userId], references: [id], onDelete: Cascade)
47 |
48 | @@map("sessions")
49 | }
50 |
51 | model User {
52 | id String @id @default(cuid())
53 | name String?
54 | email String? @unique
55 | emailVerified DateTime? @map("email_verified")
56 | image String?
57 | createdAt DateTime @default(now()) @map(name: "created_at")
58 | updatedAt DateTime @updatedAt @map(name: "updated_at")
59 | posts Post[]
60 | accounts Account[]
61 | sessions Session[]
62 |
63 | @@map(name: "users")
64 | }
65 |
66 | model VerificationToken {
67 | identifier String
68 | token String @unique
69 | expires DateTime
70 |
71 | @@unique([identifier, token])
72 | @@map("verificationtokens")
73 | }
74 |
--------------------------------------------------------------------------------
/prisma/seed.ts:
--------------------------------------------------------------------------------
1 | import { PrismaClient, Prisma } from '@prisma/client'
2 |
3 | const prisma = new PrismaClient()
4 |
5 | const userData: Prisma.UserCreateInput[] = [
6 | {
7 | name: 'Alice',
8 | email: 'alice@prisma.io',
9 | posts: {
10 | create: [
11 | {
12 | title: 'Join the Prisma Discord',
13 | content: 'https://pris.ly/discord',
14 | published: true,
15 | },
16 | ],
17 | },
18 | },
19 | {
20 | name: 'Nilu',
21 | email: 'nilu@prisma.io',
22 | posts: {
23 | create: [
24 | {
25 | title: 'Follow Prisma on Twitter',
26 | content: 'https://www.twitter.com/prisma',
27 | published: true,
28 | },
29 | ],
30 | },
31 | },
32 | {
33 | name: 'Mahmoud',
34 | email: 'mahmoud@prisma.io',
35 | posts: {
36 | create: [
37 | {
38 | title: 'Ask a question about Prisma on GitHub',
39 | content: 'https://www.github.com/prisma/prisma/discussions',
40 | published: true,
41 | },
42 | {
43 | title: 'Prisma on YouTube',
44 | content: 'https://pris.ly/youtube',
45 | },
46 | ],
47 | },
48 | },
49 | ]
50 |
51 | async function main() {
52 | console.log(`Start seeding ...`)
53 | for (const u of userData) {
54 | const user = await prisma.user.create({
55 | data: u,
56 | })
57 | console.log(`Created user with id: ${user.id}`)
58 | }
59 | console.log(`Seeding finished.`)
60 | }
61 |
62 | main()
63 | .catch((e) => {
64 | console.error(e)
65 | process.exit(1)
66 | })
67 | .finally(async () => {
68 | await prisma.$disconnect()
69 | })
70 |
--------------------------------------------------------------------------------
/renovate.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": ["config:base"],
3 | "automerge": true,
4 | "major": {
5 | "automerge": false
6 | },
7 | "masterIssue": true,
8 | "additionalReviewers": ["jharrell"],
9 | "semanticCommits": "enabled",
10 | "dependencyDashboard": true,
11 | "timezone": "Europe/Berlin",
12 | "baseBranches": [ "main"],
13 | "packageRules": [
14 | {
15 | "baseBranchList": ["main"],
16 | "packageNames": ["prisma", "@prisma/client"],
17 | "enabled": true,
18 | "updateTypes": ["major"]
19 | }
20 | ]
21 | }
22 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "lib": [
5 | "dom",
6 | "dom.iterable",
7 | "esnext"
8 | ],
9 | "allowJs": true,
10 | "skipLibCheck": true,
11 | "strict": false,
12 | "forceConsistentCasingInFileNames": true,
13 | "noEmit": true,
14 | "esModuleInterop": true,
15 | "module": "esnext",
16 | "moduleResolution": "node",
17 | "resolveJsonModule": true,
18 | "isolatedModules": true,
19 | "jsx": "preserve",
20 | "incremental": true
21 | },
22 | "exclude": [
23 | "node_modules"
24 | ],
25 | "include": [
26 | "next-env.d.ts",
27 | "**/*.ts",
28 | "**/*.tsx"
29 | ],
30 | "ts-node": {
31 | "compilerOptions": {
32 | "module": "commonjs"
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------