diff --git a/.env.sample b/.env.sample
new file mode 100644
index 0000000..eb6358a
--- /dev/null
+++ b/.env.sample
@@ -0,0 +1,30 @@
+ENV=PROD
+JWT_SECRET_KEY=CS3219G2
+
+QN_SERVER_IP = host.docker.internal
+QN_SERVER_PORT = 5200
+
+USER_REDIS_IP=host.docker.internal
+USER_REDIS_PORT=6380
+COLLAB_REDIS_IP=host.docker.internal
+COLLAB_REDIS_PORT=6381
+
+QN_MONGO_IP = host.docker.internal
+QN_MONGO_PORT = 27019
+CHAT_MONGO_IP = host.docker.internal
+CHAT_MONGO_PORT = 27018
+USER_MONGO_IP = host.docker.internal
+USER_MONGO_PORT = 27020
+
+DB_LOCAL_URI= mongodb://127.0.0.1:27017/
+
+REACT_APP_QN_SERVER_IP = host.docker.internal
+REACT_APP_QN_SERVER_PORT = 5200
+REACT_APP_USER_SERVER_IP = host.docker.internal
+REACT_APP_USER_SERVER_PORT = 8000
+REACT_APP_MATCH_SERVER_IP = host.docker.internal
+REACT_APP_MATCH_SERVER_PORT = 8001
+REACT_APP_COLLAB_SERVER_IP = host.docker.internal
+REACT_APP_COLLAB_SERVER_PORT = 8002
+REACT_APP_CHAT_SERVER_IP = host.docker.internal
+REACT_APP_CHAT_SERVER_PORT = 8005
\ No newline at end of file
diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml
new file mode 100644
index 0000000..f42cdb9
--- /dev/null
+++ b/.github/workflows/CI.yml
@@ -0,0 +1,89 @@
+name: Node.js CI
+
+on:
+ push:
+ branches: [main]
+ pull_request:
+ branches: [main]
+
+env:
+ ENV: PROD
+ CHAT_MONGO_IP: 127.0.0.1
+ CHAT_MONGO_PORT: 27017
+ USER_REDIS_PORT: 6379
+ USER_REDIS_IP: 127.0.0.1
+ USER_MONGO_IP: 127.0.0.1
+ USER_MONGO_PORT: 27017
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ timeout-minutes: 3
+
+ strategy:
+ matrix:
+ node-version: ["18.x"]
+ mongodb-version: ["6.0"]
+ redis-version: [4]
+
+ steps:
+ - name: Git checkout
+ uses: actions/checkout@v3
+
+ - name: Use Node.js ${{ matrix.node-version }}
+ uses: actions/setup-node@v3
+ with:
+ node-version: ${{ matrix.node-version }}
+
+ - name: Start MongoDB
+ uses: supercharge/mongodb-github-action@1.8.0
+ with:
+ mongodb-version: ${{ matrix.mongodb-version }}
+
+ - name: Start Redis
+ uses: supercharge/redis-github-action@1.4.0
+ with:
+ redis-version: ${{ matrix.redis-version }}
+
+ - run: npm ci
+ working-directory: chat-service
+
+ - run: npm run build --if-present
+ working-directory: chat-service
+
+ - run: npm test
+ working-directory: chat-service
+
+ - run: npm ci
+ working-directory: question-service
+
+ - run: npm run seed --if-present
+ working-directory: question-service
+
+ - run: npm run build --if-present
+ working-directory: question-service
+
+ - run: npm test
+ working-directory: question-service
+
+ - run: npm ci
+ working-directory: matching-service
+
+ - run: npm run build --if-present
+ working-directory: matching-service
+
+ - run: npm test
+ working-directory: matching-service
+ env:
+ CI: true
+
+ - run: npm ci
+ working-directory: user-service
+
+ - run: npm run build --if-present
+ working-directory: user-service
+
+ - run: npm test
+ working-directory: user-service
+ env:
+ CI: true
diff --git a/.github/workflows/chatservice-CD.yml b/.github/workflows/chatservice-CD.yml
new file mode 100644
index 0000000..eb34fee
--- /dev/null
+++ b/.github/workflows/chatservice-CD.yml
@@ -0,0 +1,44 @@
+name: ChatService CD
+
+on:
+ push:
+ branches: [ main ]
+ paths:
+ - chat-service/**
+ - .github/workflows/chatservice-CD.yml
+
+
+jobs:
+ docker:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v2
+
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v2
+
+ - name: Login to Docker Hub
+ uses: docker/login-action@v2
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+
+ - name: setup env
+ working-directory: chat-service
+ run: |
+ echo 'ENV= PROD' >> .env
+ echo 'MONGO_IP= ${{secrets.CHAT_MONGO_IP}}' >> .env
+ echo 'MONGO_PORT= ${{secrets.CHAT_MONGO_PORT}}' >> .env
+ echo 'DB_LOCAL_URI= mongodb://127.0.0.1:27017/' >> .env
+ cat .env
+ ls -a
+ - name: Build and push
+ uses: docker/build-push-action@v3
+ with:
+ push: true
+ tags: cs3219g2/chatservice:latest
+ context: "{{defaultContext}}:chat-service"
\ No newline at end of file
diff --git a/.github/workflows/collabservice-CD.yml b/.github/workflows/collabservice-CD.yml
new file mode 100644
index 0000000..63c2fb8
--- /dev/null
+++ b/.github/workflows/collabservice-CD.yml
@@ -0,0 +1,32 @@
+name: CollaborationService CD
+
+on:
+ push:
+ branches: [ main ]
+ paths:
+ - collaboration-service/**
+ - .github/workflows/collabservice-CD.yml
+
+jobs:
+ docker:
+ runs-on: ubuntu-latest
+ steps:
+ -
+ name: Set up QEMU
+ uses: docker/setup-qemu-action@v2
+ -
+ name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v2
+ -
+ name: Login to Docker Hub
+ uses: docker/login-action@v2
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+ -
+ name: Build and push
+ uses: docker/build-push-action@v3
+ with:
+ push: true
+ tags: cs3219g2/collabservice:latest
+ context: "{{defaultContext}}:collaboration-service"
\ No newline at end of file
diff --git a/.github/workflows/frontend-CD.yml b/.github/workflows/frontend-CD.yml
new file mode 100644
index 0000000..99a3143
--- /dev/null
+++ b/.github/workflows/frontend-CD.yml
@@ -0,0 +1,32 @@
+name: Frontend CD
+
+on:
+ push:
+ branches: [ main ]
+ paths:
+ - frontend/**
+ - .github/workflows/frontend-CD.yml
+
+jobs:
+ docker:
+ runs-on: ubuntu-latest
+ steps:
+ -
+ name: Set up QEMU
+ uses: docker/setup-qemu-action@v2
+ -
+ name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v2
+ -
+ name: Login to Docker Hub
+ uses: docker/login-action@v2
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+ -
+ name: Build and push
+ uses: docker/build-push-action@v3
+ with:
+ push: true
+ tags: cs3219g2/frontend:latest
+ context: "{{defaultContext}}:frontend"
\ No newline at end of file
diff --git a/.github/workflows/matchservice-CD.yml b/.github/workflows/matchservice-CD.yml
new file mode 100644
index 0000000..03d90af
--- /dev/null
+++ b/.github/workflows/matchservice-CD.yml
@@ -0,0 +1,32 @@
+name: MatchService CD
+
+on:
+ push:
+ branches: [ main ]
+ paths:
+ - matching-service/**
+ - .github/workflows/matchservice-CD.yml
+
+jobs:
+ docker:
+ runs-on: ubuntu-latest
+ steps:
+ -
+ name: Set up QEMU
+ uses: docker/setup-qemu-action@v2
+ -
+ name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v2
+ -
+ name: Login to Docker Hub
+ uses: docker/login-action@v2
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+ -
+ name: Build and push
+ uses: docker/build-push-action@v3
+ with:
+ push: true
+ tags: cs3219g2/matchservice:latest
+ context: "{{defaultContext}}:matching-service"
\ No newline at end of file
diff --git a/.github/workflows/questionseed-CD.yml b/.github/workflows/questionseed-CD.yml
new file mode 100644
index 0000000..87f03f3
--- /dev/null
+++ b/.github/workflows/questionseed-CD.yml
@@ -0,0 +1,32 @@
+name: QuestionSeed CD
+
+on:
+ push:
+ branches: [ main ]
+ paths:
+ - question-seed/**
+ - .github/workflows/questionseed-CD.yml
+
+jobs:
+ docker:
+ runs-on: ubuntu-latest
+ steps:
+ -
+ name: Set up QEMU
+ uses: docker/setup-qemu-action@v2
+ -
+ name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v2
+ -
+ name: Login to Docker Hub
+ uses: docker/login-action@v2
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+ -
+ name: Build and push
+ uses: docker/build-push-action@v3
+ with:
+ push: true
+ tags: cs3219g2/questionseed:latest
+ context: "{{defaultContext}}:question-seed"
\ No newline at end of file
diff --git a/.github/workflows/questionservice-CD.yml b/.github/workflows/questionservice-CD.yml
new file mode 100644
index 0000000..3a311d7
--- /dev/null
+++ b/.github/workflows/questionservice-CD.yml
@@ -0,0 +1,32 @@
+name: QuestionService CD
+
+on:
+ push:
+ branches: [ main ]
+ paths:
+ - question-service/**
+ - .github/workflows/questionservice-CD.yml
+
+jobs:
+ docker:
+ runs-on: ubuntu-latest
+ steps:
+ -
+ name: Set up QEMU
+ uses: docker/setup-qemu-action@v2
+ -
+ name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v2
+ -
+ name: Login to Docker Hub
+ uses: docker/login-action@v2
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+ -
+ name: Build and push
+ uses: docker/build-push-action@v3
+ with:
+ push: true
+ tags: cs3219g2/questionservice:latest
+ context: "{{defaultContext}}:question-service"
\ No newline at end of file
diff --git a/.github/workflows/userservice-CD.yml b/.github/workflows/userservice-CD.yml
new file mode 100644
index 0000000..51c9512
--- /dev/null
+++ b/.github/workflows/userservice-CD.yml
@@ -0,0 +1,32 @@
+name: UserService CD
+
+on:
+ push:
+ branches: [ main ]
+ paths:
+ - user-service/**
+ - .github/workflows/userservice-CD.yml
+
+jobs:
+ docker:
+ runs-on: ubuntu-latest
+ steps:
+ -
+ name: Set up QEMU
+ uses: docker/setup-qemu-action@v2
+ -
+ name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v2
+ -
+ name: Login to Docker Hub
+ uses: docker/login-action@v2
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+ -
+ name: Build and push
+ uses: docker/build-push-action@v3
+ with:
+ push: true
+ tags: cs3219g2/userservice:latest
+ context: "{{defaultContext}}:user-service"
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..26cc88f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,24 @@
+.env
+
+frontend/node_modules/*
+frontend/.env
+
+matching-service/node_modules/*
+matching-service/.env
+
+collaboration-service/node_modules/*
+collaboration-service/.env
+
+user-service/node_modules/*
+user-service/.env
+
+chat-service/node_modules/*
+chat-service/.env
+
+question-service/node_modules/*
+question-service/question-service-mongodb/seed-mongodb/node_modules/*
+question-service/question-service-mongodb/data/*
+question-service/question-service-mongodb/log/*
+question-service/.env
+
+.env
\ No newline at end of file
diff --git a/2-FinalReport.pdf b/2-FinalReport.pdf
new file mode 100644
index 0000000..c1eb464
Binary files /dev/null and b/2-FinalReport.pdf differ
diff --git a/README.md b/README.md
index 59a7765..b22afa0 100644
--- a/README.md
+++ b/README.md
@@ -1,14 +1,11 @@
-# CS3219-AY22-23-Project-Skeleton
+# CS3219-AY22-23-G2-PeerPrep
-This is a template repository for CS3219 project.
+This is a repository for peerprep which is developed as a CS3219 project by Group 2
-## User Service
-1. Rename `.env.sample` file to `.env`.
-2. Create a Cloud DB URL using Mongo Atlas.
-3. Enter the DB URL created as `DB_CLOUD_URI` in `.env` file.
-4. Install npm packages using `npm i`.
-5. Run User Service using `npm run dev`.
+## Deployment
+1. Ensure that you have `docker` installed
+2. Rename the `.env.sample` to `.env`
+3. Run `docker-compose pull` in order to get the latest images for the deployment
+4. Run `docker-compose --env-file .env up -d`
+5. Go to `localhost:3000` to test the application
-## Frontend
-1. Install npm packages using `npm i`.
-2. Run Frontend using `npm start`.
diff --git a/chat-service/.dockerignore b/chat-service/.dockerignore
new file mode 100644
index 0000000..edd83c0
--- /dev/null
+++ b/chat-service/.dockerignore
@@ -0,0 +1,4 @@
+node_modules
+npm-debug.log
+Dockerfile
+.dockerignore
\ No newline at end of file
diff --git a/chat-service/Dockerfile b/chat-service/Dockerfile
new file mode 100644
index 0000000..d33e9e2
--- /dev/null
+++ b/chat-service/Dockerfile
@@ -0,0 +1,19 @@
+
+FROM node:latest
+
+RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app
+
+WORKDIR /home/node/app
+
+COPY --chown=node:node package*.json ./
+
+USER node
+
+RUN npm install
+
+COPY --chown=node:node . .
+
+EXPOSE 8005
+
+CMD [ "node", "index.js" ]
+
diff --git a/chat-service/Tests/test.js b/chat-service/Tests/test.js
new file mode 100644
index 0000000..88ac99d
--- /dev/null
+++ b/chat-service/Tests/test.js
@@ -0,0 +1,46 @@
+import { io as Client } from "socket.io-client";
+import { io as Server } from "../index.js";
+import { assert } from "chai";
+
+describe("Chat service tests", () => {
+ let socket;
+
+ before(function(done) {
+ // Setup
+ socket = Client.connect('http://localhost:8005');
+ socket.on('connect', function() {
+ done();
+ });
+ socket.on('disconnect', function() {
+ })
+ });
+
+ after(function(done) {
+
+ if(socket.connected) {
+ socket.disconnect();
+ }
+ done();
+ });
+
+ describe('Chat controller test', function() {
+
+ it('join Room test', function(done) {
+ socket.emit("joinRoom", {roomId: "A1BCDEFG"})
+ socket.on("updateChatLog", function() {
+ assert(true);
+ done();
+ });
+ });
+
+ it('send message test', function(done) {
+ socket.emit("sendMessage", {roomId: "A1BCDEFG", username:"user",message:"Hello World"})
+ socket.on("newMessage", function(data) {
+ assert(data.roomId == "A1BCDEFG" && data.username == "user" && data.message == "Hello World");
+ done();
+ });
+ });
+
+ });
+
+});
\ No newline at end of file
diff --git a/chat-service/controller/chat-controller.js b/chat-service/controller/chat-controller.js
new file mode 100644
index 0000000..f24e86d
--- /dev/null
+++ b/chat-service/controller/chat-controller.js
@@ -0,0 +1,26 @@
+import { io } from '../index.js';
+import {addMessage, getChatLog} from '../model/repository.js'
+
+export const chatController = function (socket) {
+ socket.on("joinRoom", async (data) => {
+ console.log("Room joined" + data.roomId);
+ socket.join(data.roomId);
+ var log = await getChatLog({ roomId : data.roomId});
+ console.log(log);
+ socket.emit("updateChatLog", log);
+ });
+
+ socket.on("sendMessage", async (data) => {
+ console.log(data);
+ var message = await addMessage({roomId: data.roomId, username: data.username, message:data.message});
+ message.save(function (err) {
+ if (err) {
+ console.log(err);
+ } else {
+ console.log("message added" + data);
+ }
+ });
+ io.in(data.roomId).emit("newMessage",data);
+ });
+
+}
\ No newline at end of file
diff --git a/chat-service/index.js b/chat-service/index.js
new file mode 100644
index 0000000..26c8f9d
--- /dev/null
+++ b/chat-service/index.js
@@ -0,0 +1,28 @@
+import express from 'express';
+import cors from 'cors';
+import { createServer } from 'http';
+import { Server } from "socket.io";
+import { chatController } from './controller/chat-controller.js'
+const app = express();
+app.use(express.urlencoded({ extended: true }))
+app.use(express.json())
+app.use(cors()) // config cors so that front-end can use
+app.options('*', cors())
+
+app.get('/', (req, res) => {
+ res.send('Hello World from collaboration-service port 8002');
+});
+
+const httpServer = createServer(app)
+
+export const io = new Server(httpServer, {
+ /* options */
+ cors: {
+ origin: "http://localhost:3000",
+ methods: ["GET", "POST"]
+ }
+});
+
+io.on("connection", chatController);
+
+httpServer.listen(8005);
\ No newline at end of file
diff --git a/chat-service/model/message.js b/chat-service/model/message.js
new file mode 100644
index 0000000..eab4cb8
--- /dev/null
+++ b/chat-service/model/message.js
@@ -0,0 +1,23 @@
+import mongoose from "mongoose";
+var Schema = mongoose.Schema;
+let ChatMessageSchema = new Schema({
+ roomId: {
+ type: String,
+ required: true,
+ },
+ username: {
+ type: String,
+ required: true,
+ },
+ message: {
+ type: String,
+ required: true,
+ },
+ sent_date: {
+ type: Date,
+ default: Date.now
+ }
+});
+
+export default mongoose.model("ChatMessage", ChatMessageSchema);
+
diff --git a/chat-service/model/repository.js b/chat-service/model/repository.js
new file mode 100644
index 0000000..0bb9be6
--- /dev/null
+++ b/chat-service/model/repository.js
@@ -0,0 +1,23 @@
+import ChatMessageSchema from "./message.js";
+import "dotenv/config";
+
+//Set up mongoose connection
+import mongoose from "mongoose";
+
+let mongoDB =
+ process.env.ENV == "PROD"
+ ? 'mongodb://' + process.env.CHAT_MONGO_IP + ':' + process.env.CHAT_MONGO_PORT
+ : process.env.DB_LOCAL_URI;
+
+mongoose.connect(mongoDB, { useNewUrlParser: true, useUnifiedTopology: true });
+
+let db = mongoose.connection;
+db.on("error", console.error.bind(console, "MongoDB connection error:"));
+
+export async function addMessage(params) {
+ return new ChatMessageSchema(params);
+}
+
+export async function getChatLog(params) {
+ return ChatMessageSchema.find(params).sort({sent_date: 'ASC'});
+}
diff --git a/chat-service/model/socket.js b/chat-service/model/socket.js
new file mode 100644
index 0000000..ce73e8a
--- /dev/null
+++ b/chat-service/model/socket.js
@@ -0,0 +1,12 @@
+import { createServer } from 'http';
+import { Server } from "socket.io";
+
+const httpServer = createServer(app)
+
+export const io = new Server(httpServer, {
+ /* options */
+ cors: {
+ origin: "http://localhost:3000",
+ methods: ["GET", "POST"]
+ }
+});
\ No newline at end of file
diff --git a/chat-service/package-lock.json b/chat-service/package-lock.json
new file mode 100644
index 0000000..145af73
--- /dev/null
+++ b/chat-service/package-lock.json
@@ -0,0 +1,3596 @@
+{
+ "name": "chat-service",
+ "version": "1.0.0",
+ "lockfileVersion": 2,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "chat-service",
+ "version": "1.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "chai": "^4.3.7",
+ "cors": "^2.8.5",
+ "dotenv": "^16.0.3",
+ "express": "^4.18.1",
+ "http": "^0.0.1-security",
+ "mocha": "^10.1.0",
+ "mongoose": "^6.6.5",
+ "nodemon": "^2.0.20",
+ "socket.io": "^4.5.2",
+ "socket.io-client": "^4.5.3"
+ }
+ },
+ "node_modules/@socket.io/component-emitter": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
+ "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
+ },
+ "node_modules/@types/cookie": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
+ "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q=="
+ },
+ "node_modules/@types/cors": {
+ "version": "2.8.12",
+ "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
+ "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw=="
+ },
+ "node_modules/@types/node": {
+ "version": "18.8.3",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.3.tgz",
+ "integrity": "sha512-0os9vz6BpGwxGe9LOhgP/ncvYN5Tx1fNcd2TM3rD/aCGBkysb+ZWpXEocG24h6ZzOi13+VB8HndAQFezsSOw1w=="
+ },
+ "node_modules/@types/webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog=="
+ },
+ "node_modules/@types/whatwg-url": {
+ "version": "8.2.2",
+ "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz",
+ "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==",
+ "dependencies": {
+ "@types/node": "*",
+ "@types/webidl-conversions": "*"
+ }
+ },
+ "node_modules/abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+ },
+ "node_modules/accepts": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+ "dependencies": {
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/ansi-colors": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+ "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
+ },
+ "node_modules/array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
+ },
+ "node_modules/assertion-error": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
+ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ },
+ "node_modules/base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/base64id": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
+ "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
+ "engines": {
+ "node": "^4.5.0 || >= 5.9"
+ }
+ },
+ "node_modules/binary-extensions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/body-parser": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
+ "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "content-type": "~1.0.4",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "on-finished": "2.4.1",
+ "qs": "6.10.3",
+ "raw-body": "2.5.1",
+ "type-is": "~1.6.18",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/body-parser/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/body-parser/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dependencies": {
+ "fill-range": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browser-stdout": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
+ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw=="
+ },
+ "node_modules/bson": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/bson/-/bson-4.7.0.tgz",
+ "integrity": "sha512-VrlEE4vuiO1WTpfof4VmaVolCVYkYTgB9iWgYNOrVlnifpME/06fhFRmONgBhClD5pFC1t9ZWqFUQEQAzY43bA==",
+ "dependencies": {
+ "buffer": "^5.6.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "node_modules/bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/call-bind": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/camelcase": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/chai": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz",
+ "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==",
+ "dependencies": {
+ "assertion-error": "^1.1.0",
+ "check-error": "^1.0.2",
+ "deep-eql": "^4.1.2",
+ "get-func-name": "^2.0.0",
+ "loupe": "^2.3.1",
+ "pathval": "^1.1.1",
+ "type-detect": "^4.0.5"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/chalk/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/chalk/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/check-error": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
+ "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/chokidar": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ ],
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/cliui": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
+ },
+ "node_modules/content-disposition": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
+ "dependencies": {
+ "safe-buffer": "5.2.1"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/content-type": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cookie": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
+ "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cookie-signature": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
+ },
+ "node_modules/cors": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
+ "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
+ "dependencies": {
+ "object-assign": "^4",
+ "vary": "^1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/decamelize": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
+ "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/deep-eql": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.2.tgz",
+ "integrity": "sha512-gT18+YW4CcW/DBNTwAmqTtkJh7f9qqScu2qFVlx7kCoeY9tlBu9cUcr7+I+Z/noG8INehS3xQgLpTtd/QUTn4w==",
+ "dependencies": {
+ "type-detect": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/denque": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
+ "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==",
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/destroy": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/diff": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
+ "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
+ "engines": {
+ "node": ">=0.3.1"
+ }
+ },
+ "node_modules/dotenv": {
+ "version": "16.0.3",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
+ "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
+ },
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "node_modules/encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/engine.io": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz",
+ "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==",
+ "dependencies": {
+ "@types/cookie": "^0.4.1",
+ "@types/cors": "^2.8.12",
+ "@types/node": ">=10.0.0",
+ "accepts": "~1.3.4",
+ "base64id": "2.0.0",
+ "cookie": "~0.4.1",
+ "cors": "~2.8.5",
+ "debug": "~4.3.1",
+ "engine.io-parser": "~5.0.3",
+ "ws": "~8.2.3"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/engine.io-client": {
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.3.tgz",
+ "integrity": "sha512-aXPtgF1JS3RuuKcpSrBtimSjYvrbhKW9froICH4s0F3XQWLxsKNxqzG39nnvQZQnva4CMvUK63T7shevxRyYHw==",
+ "dependencies": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.1",
+ "engine.io-parser": "~5.0.3",
+ "ws": "~8.2.3",
+ "xmlhttprequest-ssl": "~2.0.0"
+ }
+ },
+ "node_modules/engine.io-parser": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
+ "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==",
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/express": {
+ "version": "4.18.1",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz",
+ "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==",
+ "dependencies": {
+ "accepts": "~1.3.8",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.20.0",
+ "content-disposition": "0.5.4",
+ "content-type": "~1.0.4",
+ "cookie": "0.5.0",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "1.2.0",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.7",
+ "qs": "6.10.3",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.2.1",
+ "send": "0.18.0",
+ "serve-static": "1.15.0",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "node_modules/express/node_modules/cookie": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
+ "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/express/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/express/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/finalhandler": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
+ "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
+ "dependencies": {
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "statuses": "2.0.1",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/finalhandler/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/finalhandler/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/flat": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
+ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
+ "bin": {
+ "flat": "cli.js"
+ }
+ },
+ "node_modules/forwarded": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ },
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "node_modules/get-func-name": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
+ "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
+ "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/glob": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+ "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dependencies": {
+ "function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/he": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
+ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
+ "bin": {
+ "he": "bin/he"
+ }
+ },
+ "node_modules/http": {
+ "version": "0.0.1-security",
+ "resolved": "https://registry.npmjs.org/http/-/http-0.0.1-security.tgz",
+ "integrity": "sha512-RnDvP10Ty9FxqOtPZuxtebw1j4L/WiqNMDtuc1YMH1XQm5TgDRaR1G9u8upL6KD1bXHSp9eSXo/ED+8Q7FAr+g=="
+ },
+ "node_modules/http-errors": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+ "dependencies": {
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/ignore-by-default": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
+ "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA=="
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "node_modules/ip": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
+ "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
+ },
+ "node_modules/ipaddr.js": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-plain-obj": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+ "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-unicode-supported": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
+ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/kareem": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.4.1.tgz",
+ "integrity": "sha512-aJ9opVoXroQUPfovYP5kaj2lM7Jn02Gw13bL0lg9v0V7SaUc0qavPs0Eue7d2DcC3NjqI6QAUElXNsuZSeM+EA=="
+ },
+ "node_modules/locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/log-symbols": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+ "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+ "dependencies": {
+ "chalk": "^4.1.0",
+ "is-unicode-supported": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/loupe": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz",
+ "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==",
+ "dependencies": {
+ "get-func-name": "^2.0.0"
+ }
+ },
+ "node_modules/media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/memory-pager": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
+ "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
+ "optional": true
+ },
+ "node_modules/merge-descriptors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+ "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
+ },
+ "node_modules/methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/mocha": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.1.0.tgz",
+ "integrity": "sha512-vUF7IYxEoN7XhQpFLxQAEMtE4W91acW4B6En9l97MwE9stL1A9gusXfoHZCLVHDUJ/7V5+lbCM6yMqzo5vNymg==",
+ "dependencies": {
+ "ansi-colors": "4.1.1",
+ "browser-stdout": "1.3.1",
+ "chokidar": "3.5.3",
+ "debug": "4.3.4",
+ "diff": "5.0.0",
+ "escape-string-regexp": "4.0.0",
+ "find-up": "5.0.0",
+ "glob": "7.2.0",
+ "he": "1.2.0",
+ "js-yaml": "4.1.0",
+ "log-symbols": "4.1.0",
+ "minimatch": "5.0.1",
+ "ms": "2.1.3",
+ "nanoid": "3.3.3",
+ "serialize-javascript": "6.0.0",
+ "strip-json-comments": "3.1.1",
+ "supports-color": "8.1.1",
+ "workerpool": "6.2.1",
+ "yargs": "16.2.0",
+ "yargs-parser": "20.2.4",
+ "yargs-unparser": "2.0.0"
+ },
+ "bin": {
+ "_mocha": "bin/_mocha",
+ "mocha": "bin/mocha.js"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mochajs"
+ }
+ },
+ "node_modules/mocha/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/mocha/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/mocha/node_modules/minimatch": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
+ "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/mocha/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ },
+ "node_modules/mocha/node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/mongodb": {
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.9.1.tgz",
+ "integrity": "sha512-ZhgI/qBf84fD7sI4waZBoLBNJYPQN5IOC++SBCiPiyhzpNKOxN/fi0tBHvH2dEC42HXtNEbFB0zmNz4+oVtorQ==",
+ "dependencies": {
+ "bson": "^4.7.0",
+ "denque": "^2.1.0",
+ "mongodb-connection-string-url": "^2.5.3",
+ "socks": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=12.9.0"
+ },
+ "optionalDependencies": {
+ "saslprep": "^1.0.3"
+ }
+ },
+ "node_modules/mongodb-connection-string-url": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.5.4.tgz",
+ "integrity": "sha512-SeAxuWs0ez3iI3vvmLk/j2y+zHwigTDKQhtdxTgt5ZCOQQS5+HW4g45/Xw5vzzbn7oQXCNQ24Z40AkJsizEy7w==",
+ "dependencies": {
+ "@types/whatwg-url": "^8.2.1",
+ "whatwg-url": "^11.0.0"
+ }
+ },
+ "node_modules/mongoose": {
+ "version": "6.6.5",
+ "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.6.5.tgz",
+ "integrity": "sha512-iA/oDpWOc+K2QYzA4Eq7Z1oUBQOz9FGDmUwPLgw872Bfs/qizA5Db+gJorAn+TnnGu3VoCK8iP4Y+TECUelwjA==",
+ "dependencies": {
+ "bson": "^4.6.5",
+ "kareem": "2.4.1",
+ "mongodb": "4.9.1",
+ "mpath": "0.9.0",
+ "mquery": "4.0.3",
+ "ms": "2.1.3",
+ "sift": "16.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mongoose"
+ }
+ },
+ "node_modules/mongoose/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ },
+ "node_modules/mpath": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz",
+ "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==",
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/mquery": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.3.tgz",
+ "integrity": "sha512-J5heI+P08I6VJ2Ky3+33IpCdAvlYGTSUjwTPxkAr8i8EoduPMBX2OY/wa3IKZIQl7MU4SbFk8ndgSKyB/cl1zA==",
+ "dependencies": {
+ "debug": "4.x"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
+ "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/negotiator": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/nodemon": {
+ "version": "2.0.20",
+ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.20.tgz",
+ "integrity": "sha512-Km2mWHKKY5GzRg6i1j5OxOHQtuvVsgskLfigG25yTtbyfRGn/GNvIbRyOf1PSCKJ2aT/58TiuUsuOU5UToVViw==",
+ "dependencies": {
+ "chokidar": "^3.5.2",
+ "debug": "^3.2.7",
+ "ignore-by-default": "^1.0.1",
+ "minimatch": "^3.1.2",
+ "pstree.remy": "^1.1.8",
+ "semver": "^5.7.1",
+ "simple-update-notifier": "^1.0.7",
+ "supports-color": "^5.5.0",
+ "touch": "^3.1.0",
+ "undefsafe": "^2.0.5"
+ },
+ "bin": {
+ "nodemon": "bin/nodemon.js"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/nodemon"
+ }
+ },
+ "node_modules/nodemon/node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/nopt": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
+ "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==",
+ "dependencies": {
+ "abbrev": "1"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-inspect": {
+ "version": "1.12.2",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
+ "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-to-regexp": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+ "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
+ },
+ "node_modules/pathval": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
+ "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/proxy-addr": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
+ "dependencies": {
+ "forwarded": "0.2.0",
+ "ipaddr.js": "1.9.1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/pstree.remy": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
+ "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w=="
+ },
+ "node_modules/punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/qs": {
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+ "dependencies": {
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "dependencies": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "node_modules/range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/raw-body": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
+ "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "node_modules/saslprep": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
+ "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==",
+ "optional": true,
+ "dependencies": {
+ "sparse-bitfield": "^3.0.3"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/send": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
+ "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
+ "dependencies": {
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/send/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/send/node_modules/debug/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/send/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ },
+ "node_modules/serialize-javascript": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
+ "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
+ "dependencies": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "node_modules/serve-static": {
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
+ "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
+ "dependencies": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.18.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/setprototypeof": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
+ },
+ "node_modules/side-channel": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/sift": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/sift/-/sift-16.0.0.tgz",
+ "integrity": "sha512-ILTjdP2Mv9V1kIxWMXeMTIRbOBrqKc4JAXmFMnFq3fKeyQ2Qwa3Dw1ubcye3vR+Y6ofA0b9gNDr/y2t6eUeIzQ=="
+ },
+ "node_modules/simple-update-notifier": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz",
+ "integrity": "sha512-BBKgR84BJQJm6WjWFMHgLVuo61FBDSj1z/xSFUIozqO6wO7ii0JxCqlIud7Enr/+LhlbNI0whErq96P2qHNWew==",
+ "dependencies": {
+ "semver": "~7.0.0"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/simple-update-notifier/node_modules/semver": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
+ "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/smart-buffer": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
+ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
+ "engines": {
+ "node": ">= 6.0.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "node_modules/socket.io": {
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.2.tgz",
+ "integrity": "sha512-6fCnk4ARMPZN448+SQcnn1u8OHUC72puJcNtSgg2xS34Cu7br1gQ09YKkO1PFfDn/wyUE9ZgMAwosJed003+NQ==",
+ "dependencies": {
+ "accepts": "~1.3.4",
+ "base64id": "~2.0.0",
+ "debug": "~4.3.2",
+ "engine.io": "~6.2.0",
+ "socket.io-adapter": "~2.4.0",
+ "socket.io-parser": "~4.2.0"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/socket.io-adapter": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
+ "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg=="
+ },
+ "node_modules/socket.io-client": {
+ "version": "4.5.3",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.3.tgz",
+ "integrity": "sha512-I/hqDYpQ6JKwtJOf5ikM+Qz+YujZPMEl6qBLhxiP0nX+TfXKhW4KZZG8lamrD6Y5ngjmYHreESVasVCgi5Kl3A==",
+ "dependencies": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.2",
+ "engine.io-client": "~6.2.3",
+ "socket.io-parser": "~4.2.0"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/socket.io-parser": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz",
+ "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==",
+ "dependencies": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.1"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/socks": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
+ "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
+ "dependencies": {
+ "ip": "^2.0.0",
+ "smart-buffer": "^4.2.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "node_modules/sparse-bitfield": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
+ "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==",
+ "optional": true,
+ "dependencies": {
+ "memory-pager": "^1.0.2"
+ }
+ },
+ "node_modules/statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/toidentifier": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/touch": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
+ "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==",
+ "dependencies": {
+ "nopt": "~1.0.10"
+ },
+ "bin": {
+ "nodetouch": "bin/nodetouch.js"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
+ "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
+ "dependencies": {
+ "punycode": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/type-detect": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "dependencies": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/undefsafe": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
+ "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA=="
+ },
+ "node_modules/unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/utils-merge": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/whatwg-url": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
+ "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
+ "dependencies": {
+ "tr46": "^3.0.0",
+ "webidl-conversions": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/workerpool": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz",
+ "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw=="
+ },
+ "node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ },
+ "node_modules/ws": {
+ "version": "8.2.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
+ "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/xmlhttprequest-ssl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
+ "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yargs": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+ "dependencies": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.0",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^20.2.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "20.2.4",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
+ "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yargs-unparser": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+ "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+ "dependencies": {
+ "camelcase": "^6.0.0",
+ "decamelize": "^4.0.0",
+ "flat": "^5.0.2",
+ "is-plain-obj": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ }
+ },
+ "dependencies": {
+ "@socket.io/component-emitter": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
+ "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
+ },
+ "@types/cookie": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
+ "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q=="
+ },
+ "@types/cors": {
+ "version": "2.8.12",
+ "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
+ "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw=="
+ },
+ "@types/node": {
+ "version": "18.8.3",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.3.tgz",
+ "integrity": "sha512-0os9vz6BpGwxGe9LOhgP/ncvYN5Tx1fNcd2TM3rD/aCGBkysb+ZWpXEocG24h6ZzOi13+VB8HndAQFezsSOw1w=="
+ },
+ "@types/webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog=="
+ },
+ "@types/whatwg-url": {
+ "version": "8.2.2",
+ "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz",
+ "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==",
+ "requires": {
+ "@types/node": "*",
+ "@types/webidl-conversions": "*"
+ }
+ },
+ "abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+ },
+ "accepts": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+ "requires": {
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
+ }
+ },
+ "ansi-colors": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+ "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA=="
+ },
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
+ },
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "anymatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
+ },
+ "array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
+ },
+ "assertion-error": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
+ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw=="
+ },
+ "balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ },
+ "base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
+ },
+ "base64id": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
+ "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog=="
+ },
+ "binary-extensions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
+ },
+ "body-parser": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
+ "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
+ "requires": {
+ "bytes": "3.1.2",
+ "content-type": "~1.0.4",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "on-finished": "2.4.1",
+ "qs": "6.10.3",
+ "raw-body": "2.5.1",
+ "type-is": "~1.6.18",
+ "unpipe": "1.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ }
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "browser-stdout": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
+ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw=="
+ },
+ "bson": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/bson/-/bson-4.7.0.tgz",
+ "integrity": "sha512-VrlEE4vuiO1WTpfof4VmaVolCVYkYTgB9iWgYNOrVlnifpME/06fhFRmONgBhClD5pFC1t9ZWqFUQEQAzY43bA==",
+ "requires": {
+ "buffer": "^5.6.0"
+ }
+ },
+ "buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "requires": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="
+ },
+ "call-bind": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+ "requires": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
+ }
+ },
+ "camelcase": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA=="
+ },
+ "chai": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz",
+ "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==",
+ "requires": {
+ "assertion-error": "^1.1.0",
+ "check-error": "^1.0.2",
+ "deep-eql": "^4.1.2",
+ "get-func-name": "^2.0.0",
+ "loupe": "^2.3.1",
+ "pathval": "^1.1.1",
+ "type-detect": "^4.0.5"
+ }
+ },
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "dependencies": {
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "check-error": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
+ "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA=="
+ },
+ "chokidar": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "requires": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "fsevents": "~2.3.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ }
+ },
+ "cliui": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+ "requires": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
+ },
+ "content-disposition": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
+ "requires": {
+ "safe-buffer": "5.2.1"
+ }
+ },
+ "content-type": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
+ },
+ "cookie": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
+ "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA=="
+ },
+ "cookie-signature": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
+ },
+ "cors": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
+ "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
+ "requires": {
+ "object-assign": "^4",
+ "vary": "^1"
+ }
+ },
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "decamelize": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
+ "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ=="
+ },
+ "deep-eql": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.2.tgz",
+ "integrity": "sha512-gT18+YW4CcW/DBNTwAmqTtkJh7f9qqScu2qFVlx7kCoeY9tlBu9cUcr7+I+Z/noG8INehS3xQgLpTtd/QUTn4w==",
+ "requires": {
+ "type-detect": "^4.0.0"
+ }
+ },
+ "denque": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
+ "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw=="
+ },
+ "depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="
+ },
+ "destroy": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="
+ },
+ "diff": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
+ "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w=="
+ },
+ "dotenv": {
+ "version": "16.0.3",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
+ "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ=="
+ },
+ "ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="
+ },
+ "engine.io": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz",
+ "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==",
+ "requires": {
+ "@types/cookie": "^0.4.1",
+ "@types/cors": "^2.8.12",
+ "@types/node": ">=10.0.0",
+ "accepts": "~1.3.4",
+ "base64id": "2.0.0",
+ "cookie": "~0.4.1",
+ "cors": "~2.8.5",
+ "debug": "~4.3.1",
+ "engine.io-parser": "~5.0.3",
+ "ws": "~8.2.3"
+ }
+ },
+ "engine.io-client": {
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.3.tgz",
+ "integrity": "sha512-aXPtgF1JS3RuuKcpSrBtimSjYvrbhKW9froICH4s0F3XQWLxsKNxqzG39nnvQZQnva4CMvUK63T7shevxRyYHw==",
+ "requires": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.1",
+ "engine.io-parser": "~5.0.3",
+ "ws": "~8.2.3",
+ "xmlhttprequest-ssl": "~2.0.0"
+ }
+ },
+ "engine.io-parser": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
+ "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg=="
+ },
+ "escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
+ },
+ "escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
+ },
+ "escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="
+ },
+ "etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="
+ },
+ "express": {
+ "version": "4.18.1",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz",
+ "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==",
+ "requires": {
+ "accepts": "~1.3.8",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.20.0",
+ "content-disposition": "0.5.4",
+ "content-type": "~1.0.4",
+ "cookie": "0.5.0",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "1.2.0",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.7",
+ "qs": "6.10.3",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.2.1",
+ "send": "0.18.0",
+ "serve-static": "1.15.0",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "dependencies": {
+ "cookie": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
+ "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw=="
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ }
+ }
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "finalhandler": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
+ "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
+ "requires": {
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "statuses": "2.0.1",
+ "unpipe": "~1.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ }
+ }
+ },
+ "find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "requires": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "flat": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
+ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ=="
+ },
+ "forwarded": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="
+ },
+ "fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
+ },
+ "fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "optional": true
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ },
+ "get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
+ },
+ "get-func-name": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
+ "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig=="
+ },
+ "get-intrinsic": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
+ "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
+ "requires": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.3"
+ }
+ },
+ "glob": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+ "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="
+ },
+ "has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
+ },
+ "he": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
+ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
+ },
+ "http": {
+ "version": "0.0.1-security",
+ "resolved": "https://registry.npmjs.org/http/-/http-0.0.1-security.tgz",
+ "integrity": "sha512-RnDvP10Ty9FxqOtPZuxtebw1j4L/WiqNMDtuc1YMH1XQm5TgDRaR1G9u8upL6KD1bXHSp9eSXo/ED+8Q7FAr+g=="
+ },
+ "http-errors": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+ "requires": {
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
+ },
+ "ignore-by-default": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
+ "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA=="
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "ip": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
+ "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
+ },
+ "ipaddr.js": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
+ },
+ "is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "requires": {
+ "binary-extensions": "^2.0.0"
+ }
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
+ },
+ "is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
+ },
+ "is-plain-obj": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+ "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA=="
+ },
+ "is-unicode-supported": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
+ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw=="
+ },
+ "js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "requires": {
+ "argparse": "^2.0.1"
+ }
+ },
+ "kareem": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.4.1.tgz",
+ "integrity": "sha512-aJ9opVoXroQUPfovYP5kaj2lM7Jn02Gw13bL0lg9v0V7SaUc0qavPs0Eue7d2DcC3NjqI6QAUElXNsuZSeM+EA=="
+ },
+ "locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "requires": {
+ "p-locate": "^5.0.0"
+ }
+ },
+ "log-symbols": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+ "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+ "requires": {
+ "chalk": "^4.1.0",
+ "is-unicode-supported": "^0.1.0"
+ }
+ },
+ "loupe": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz",
+ "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==",
+ "requires": {
+ "get-func-name": "^2.0.0"
+ }
+ },
+ "media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ=="
+ },
+ "memory-pager": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
+ "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
+ "optional": true
+ },
+ "merge-descriptors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+ "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
+ },
+ "methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w=="
+ },
+ "mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
+ },
+ "mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
+ },
+ "mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "requires": {
+ "mime-db": "1.52.0"
+ }
+ },
+ "minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "mocha": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.1.0.tgz",
+ "integrity": "sha512-vUF7IYxEoN7XhQpFLxQAEMtE4W91acW4B6En9l97MwE9stL1A9gusXfoHZCLVHDUJ/7V5+lbCM6yMqzo5vNymg==",
+ "requires": {
+ "ansi-colors": "4.1.1",
+ "browser-stdout": "1.3.1",
+ "chokidar": "3.5.3",
+ "debug": "4.3.4",
+ "diff": "5.0.0",
+ "escape-string-regexp": "4.0.0",
+ "find-up": "5.0.0",
+ "glob": "7.2.0",
+ "he": "1.2.0",
+ "js-yaml": "4.1.0",
+ "log-symbols": "4.1.0",
+ "minimatch": "5.0.1",
+ "ms": "2.1.3",
+ "nanoid": "3.3.3",
+ "serialize-javascript": "6.0.0",
+ "strip-json-comments": "3.1.1",
+ "supports-color": "8.1.1",
+ "workerpool": "6.2.1",
+ "yargs": "16.2.0",
+ "yargs-parser": "20.2.4",
+ "yargs-unparser": "2.0.0"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
+ },
+ "minimatch": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
+ "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ },
+ "supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "mongodb": {
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.9.1.tgz",
+ "integrity": "sha512-ZhgI/qBf84fD7sI4waZBoLBNJYPQN5IOC++SBCiPiyhzpNKOxN/fi0tBHvH2dEC42HXtNEbFB0zmNz4+oVtorQ==",
+ "requires": {
+ "bson": "^4.7.0",
+ "denque": "^2.1.0",
+ "mongodb-connection-string-url": "^2.5.3",
+ "saslprep": "^1.0.3",
+ "socks": "^2.7.0"
+ }
+ },
+ "mongodb-connection-string-url": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.5.4.tgz",
+ "integrity": "sha512-SeAxuWs0ez3iI3vvmLk/j2y+zHwigTDKQhtdxTgt5ZCOQQS5+HW4g45/Xw5vzzbn7oQXCNQ24Z40AkJsizEy7w==",
+ "requires": {
+ "@types/whatwg-url": "^8.2.1",
+ "whatwg-url": "^11.0.0"
+ }
+ },
+ "mongoose": {
+ "version": "6.6.5",
+ "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.6.5.tgz",
+ "integrity": "sha512-iA/oDpWOc+K2QYzA4Eq7Z1oUBQOz9FGDmUwPLgw872Bfs/qizA5Db+gJorAn+TnnGu3VoCK8iP4Y+TECUelwjA==",
+ "requires": {
+ "bson": "^4.6.5",
+ "kareem": "2.4.1",
+ "mongodb": "4.9.1",
+ "mpath": "0.9.0",
+ "mquery": "4.0.3",
+ "ms": "2.1.3",
+ "sift": "16.0.0"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ }
+ }
+ },
+ "mpath": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz",
+ "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew=="
+ },
+ "mquery": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.3.tgz",
+ "integrity": "sha512-J5heI+P08I6VJ2Ky3+33IpCdAvlYGTSUjwTPxkAr8i8EoduPMBX2OY/wa3IKZIQl7MU4SbFk8ndgSKyB/cl1zA==",
+ "requires": {
+ "debug": "4.x"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "nanoid": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
+ "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w=="
+ },
+ "negotiator": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="
+ },
+ "nodemon": {
+ "version": "2.0.20",
+ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.20.tgz",
+ "integrity": "sha512-Km2mWHKKY5GzRg6i1j5OxOHQtuvVsgskLfigG25yTtbyfRGn/GNvIbRyOf1PSCKJ2aT/58TiuUsuOU5UToVViw==",
+ "requires": {
+ "chokidar": "^3.5.2",
+ "debug": "^3.2.7",
+ "ignore-by-default": "^1.0.1",
+ "minimatch": "^3.1.2",
+ "pstree.remy": "^1.1.8",
+ "semver": "^5.7.1",
+ "simple-update-notifier": "^1.0.7",
+ "supports-color": "^5.5.0",
+ "touch": "^3.1.0",
+ "undefsafe": "^2.0.5"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ }
+ }
+ },
+ "nopt": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
+ "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==",
+ "requires": {
+ "abbrev": "1"
+ }
+ },
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
+ },
+ "object-inspect": {
+ "version": "1.12.2",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
+ "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ=="
+ },
+ "on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "requires": {
+ "ee-first": "1.1.1"
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "requires": {
+ "yocto-queue": "^0.1.0"
+ }
+ },
+ "p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "requires": {
+ "p-limit": "^3.0.2"
+ }
+ },
+ "parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
+ },
+ "path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="
+ },
+ "path-to-regexp": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+ "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
+ },
+ "pathval": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
+ "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ=="
+ },
+ "picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
+ },
+ "proxy-addr": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
+ "requires": {
+ "forwarded": "0.2.0",
+ "ipaddr.js": "1.9.1"
+ }
+ },
+ "pstree.remy": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
+ "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w=="
+ },
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
+ },
+ "qs": {
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+ "requires": {
+ "side-channel": "^1.0.4"
+ }
+ },
+ "randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "requires": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
+ },
+ "raw-body": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
+ "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
+ "requires": {
+ "bytes": "3.1.2",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ }
+ },
+ "readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "requires": {
+ "picomatch": "^2.2.1"
+ }
+ },
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="
+ },
+ "safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "saslprep": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
+ "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==",
+ "optional": true,
+ "requires": {
+ "sparse-bitfield": "^3.0.3"
+ }
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+ },
+ "send": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
+ "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
+ "requires": {
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ }
+ }
+ },
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ }
+ }
+ },
+ "serialize-javascript": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
+ "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
+ "requires": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "serve-static": {
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
+ "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
+ "requires": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.18.0"
+ }
+ },
+ "setprototypeof": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
+ },
+ "side-channel": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+ "requires": {
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ }
+ },
+ "sift": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/sift/-/sift-16.0.0.tgz",
+ "integrity": "sha512-ILTjdP2Mv9V1kIxWMXeMTIRbOBrqKc4JAXmFMnFq3fKeyQ2Qwa3Dw1ubcye3vR+Y6ofA0b9gNDr/y2t6eUeIzQ=="
+ },
+ "simple-update-notifier": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz",
+ "integrity": "sha512-BBKgR84BJQJm6WjWFMHgLVuo61FBDSj1z/xSFUIozqO6wO7ii0JxCqlIud7Enr/+LhlbNI0whErq96P2qHNWew==",
+ "requires": {
+ "semver": "~7.0.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
+ "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A=="
+ }
+ }
+ },
+ "smart-buffer": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
+ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg=="
+ },
+ "socket.io": {
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.2.tgz",
+ "integrity": "sha512-6fCnk4ARMPZN448+SQcnn1u8OHUC72puJcNtSgg2xS34Cu7br1gQ09YKkO1PFfDn/wyUE9ZgMAwosJed003+NQ==",
+ "requires": {
+ "accepts": "~1.3.4",
+ "base64id": "~2.0.0",
+ "debug": "~4.3.2",
+ "engine.io": "~6.2.0",
+ "socket.io-adapter": "~2.4.0",
+ "socket.io-parser": "~4.2.0"
+ }
+ },
+ "socket.io-adapter": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
+ "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg=="
+ },
+ "socket.io-client": {
+ "version": "4.5.3",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.3.tgz",
+ "integrity": "sha512-I/hqDYpQ6JKwtJOf5ikM+Qz+YujZPMEl6qBLhxiP0nX+TfXKhW4KZZG8lamrD6Y5ngjmYHreESVasVCgi5Kl3A==",
+ "requires": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.2",
+ "engine.io-client": "~6.2.3",
+ "socket.io-parser": "~4.2.0"
+ }
+ },
+ "socket.io-parser": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz",
+ "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==",
+ "requires": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.1"
+ }
+ },
+ "socks": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
+ "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
+ "requires": {
+ "ip": "^2.0.0",
+ "smart-buffer": "^4.2.0"
+ }
+ },
+ "sparse-bitfield": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
+ "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==",
+ "optional": true,
+ "requires": {
+ "memory-pager": "^1.0.2"
+ }
+ },
+ "statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="
+ },
+ "string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
+ "strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "toidentifier": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="
+ },
+ "touch": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
+ "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==",
+ "requires": {
+ "nopt": "~1.0.10"
+ }
+ },
+ "tr46": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
+ "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
+ "requires": {
+ "punycode": "^2.1.1"
+ }
+ },
+ "type-detect": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g=="
+ },
+ "type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "requires": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ }
+ },
+ "undefsafe": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
+ "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA=="
+ },
+ "unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="
+ },
+ "utils-merge": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA=="
+ },
+ "vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="
+ },
+ "webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="
+ },
+ "whatwg-url": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
+ "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
+ "requires": {
+ "tr46": "^3.0.0",
+ "webidl-conversions": "^7.0.0"
+ }
+ },
+ "workerpool": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz",
+ "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw=="
+ },
+ "wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ },
+ "ws": {
+ "version": "8.2.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
+ "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
+ "requires": {}
+ },
+ "xmlhttprequest-ssl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
+ "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A=="
+ },
+ "y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="
+ },
+ "yargs": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+ "requires": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.0",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^20.2.2"
+ }
+ },
+ "yargs-parser": {
+ "version": "20.2.4",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
+ "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA=="
+ },
+ "yargs-unparser": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+ "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+ "requires": {
+ "camelcase": "^6.0.0",
+ "decamelize": "^4.0.0",
+ "flat": "^5.0.2",
+ "is-plain-obj": "^2.1.0"
+ }
+ },
+ "yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="
+ }
+ }
+}
diff --git a/chat-service/package.json b/chat-service/package.json
new file mode 100644
index 0000000..46def85
--- /dev/null
+++ b/chat-service/package.json
@@ -0,0 +1,26 @@
+{
+ "name": "chat-service",
+ "version": "1.0.0",
+ "description": "",
+ "main": "index.js",
+ "type": "module",
+ "scripts": {
+ "dev": "nodemon index.js",
+ "start": "node index.js",
+ "test": "mocha ./Tests --exit"
+ },
+ "author": "",
+ "license": "ISC",
+ "dependencies": {
+ "chai": "^4.3.7",
+ "cors": "^2.8.5",
+ "dotenv": "^16.0.3",
+ "express": "^4.18.1",
+ "http": "^0.0.1-security",
+ "mocha": "^10.1.0",
+ "mongoose": "^6.6.5",
+ "nodemon": "^2.0.20",
+ "socket.io": "^4.5.2",
+ "socket.io-client": "^4.5.3"
+ }
+}
diff --git a/collaboration-service/.dockerignore b/collaboration-service/.dockerignore
new file mode 100644
index 0000000..edd83c0
--- /dev/null
+++ b/collaboration-service/.dockerignore
@@ -0,0 +1,4 @@
+node_modules
+npm-debug.log
+Dockerfile
+.dockerignore
\ No newline at end of file
diff --git a/collaboration-service/Dockerfile b/collaboration-service/Dockerfile
new file mode 100644
index 0000000..b5a9629
--- /dev/null
+++ b/collaboration-service/Dockerfile
@@ -0,0 +1,19 @@
+
+FROM node:latest
+
+RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app
+
+WORKDIR /home/node/app
+
+COPY --chown=node:node package*.json ./
+
+USER node
+
+RUN npm install
+
+COPY --chown=node:node . .
+
+EXPOSE 8002
+
+CMD [ "node", "index.js" ]
+
diff --git a/collaboration-service/controller/collaboration-controller.js b/collaboration-service/controller/collaboration-controller.js
new file mode 100644
index 0000000..54b7c7d
--- /dev/null
+++ b/collaboration-service/controller/collaboration-controller.js
@@ -0,0 +1,58 @@
+import {
+ delKey,
+ getObject,
+ setObject,
+ lpush,
+ lRangeKey,
+ setRoomId,
+ setString,
+ getString,
+} from "../middleware/redis.js";
+import { io } from "../index.js";
+
+export const collaborationController = function (socket) {
+ socket.on("roomConnect", async ({ roomId, username }) => {
+ if (!(roomId == null || username == null)) {
+ console.log("Room connect triggered");
+ console.log("socketid here", socket.id);
+ console.log("usernam here", username);
+ console.log("roomid here", roomId);
+ await setRoomId(roomId);
+ await lpush(`${roomId}:users`, `${username}`);
+ await setObject(socket.id, { roomId, username });
+ const users = await lRangeKey(`${roomId}:users`, 0, -1);
+ const roomName = `ROOM:${roomId}`;
+ socket.join(roomName);
+ const code = (await getString(`${roomId}:code`)) || {};
+ io.in(roomName).emit("roomConnect", {users, "code": code});
+ }
+ });
+
+ socket.on("codeChange", async (code) => {
+ console.log(`codeChange triggered ${code}`);
+ const { roomId, username } = (await getObject(socket.id)) || {};
+ const roomName = `ROOM:${roomId}`;
+ await setString(`${roomId}:code`, code);
+ socket.to(roomName).emit("codeChange", code);
+ });
+
+ socket.on("disconnect", async () => {
+ console.log("Room disconnect triggered");
+ const { roomId, username } = (await getObject(socket.id)) || {};
+ console.log(
+ `socketid is ${socket.id},roomID is ${roomId} and userID is ${username}`
+ );
+ const users = await lRangeKey(`${roomId}:users`, 0, -1);
+ const newUsers = users.filter((user) => username !== user);
+
+ if (newUsers.length) {
+ await delKey(`${roomId}:users`);
+ await lpush(`${roomId}:users`, newUsers);
+ } else {
+ await delKey(`${roomId}:users`);
+ }
+
+ const roomName = `ROOM:${roomId}`;
+ io.in(roomName).emit("roomConnect", newUsers);
+ });
+};
diff --git a/collaboration-service/index.js b/collaboration-service/index.js
new file mode 100644
index 0000000..fb18629
--- /dev/null
+++ b/collaboration-service/index.js
@@ -0,0 +1,32 @@
+import express from "express";
+import cors from "cors";
+import { createServer } from "http";
+import { Server } from "socket.io";
+import "dotenv/config";
+import { collaborationController } from "./controller/collaboration-controller.js";
+
+const app = express();
+app.use(express.urlencoded({ extended: true }));
+app.use(express.json());
+app.use(cors()); // config cors so that front-end can use
+app.options("*", cors());
+
+app.get("/api", (req, res) => {
+ res.send("Hello World from collaboration-service");
+});
+// app.get("/api/createRoom", createRoom);
+
+const httpServer = createServer(app);
+
+export const io = new Server(httpServer, {
+ /* options */
+ cors: {
+ origin: "http://localhost:3000",
+ methods: ["GET", "POST"],
+ },
+});
+
+
+io.on("connection", collaborationController);
+httpServer.listen(8002);
+// app.listen(8002, () => console.log("user-service listening on port 8002"));
diff --git a/collaboration-service/middleware/redis.js b/collaboration-service/middleware/redis.js
new file mode 100644
index 0000000..d0315f6
--- /dev/null
+++ b/collaboration-service/middleware/redis.js
@@ -0,0 +1,71 @@
+import { createClient } from "redis";
+import moment from "moment";
+import "dotenv/config";
+export const client = createClient({url: 'redis://' + process.env.COLLAB_REDIS_IP + ':' + process.env.COLLAB_REDIS_PORT});
+
+client.on("connect", () =>
+ console.log("Collaboration client connected to Redis")
+);
+
+client.on("ready", () => console.log("Redis Ready"));
+
+client.on("error", (err) => console.error(`Redis Connection Error ${err}`));
+
+client.on("end", () =>
+ console.log("CollaborationClient disconnected from Redis")
+);
+
+process.on("SIGINT", () => {
+ client.quit();
+});
+
+await client.connect();
+
+export const setRoomId = async (roomId) => {
+ const dto = {
+ created: moment(),
+ updated: moment(),
+ };
+ await setObject(`${roomId}:info`, dto);
+};
+
+export const delKey = async (key) => {
+ await client.del(key);
+};
+
+export const setObject = async (key, object) => {
+ await client.set(key, JSON.stringify(object)).catch((err) => {
+ console.error(1, err);
+ });
+};
+
+// lPush object can be string or array
+export const lpush = async (key, object) => {
+ await client.lPush(key, object).catch((err) => {
+ console.error(1, err);
+ });
+};
+
+export const lRangeKey = async (key, start, end) => {
+ const range = await client.lRange(key, start, end).catch((err) => {
+ console.error(1, err);
+ });
+ return range;
+};
+
+export const setString = async (key, string) => {
+ await client.set(key, string).catch((err) => {
+ console.error(1, err);
+ });
+};
+
+export const getString = async (key) => {
+ return await client.get(key).catch((err) => {
+ console.error(1, err);
+ });
+};
+
+export const getObject = async (key) => {
+ const result = await client.get(key);
+ return JSON.parse(result);
+};
diff --git a/collaboration-service/package-lock.json b/collaboration-service/package-lock.json
new file mode 100644
index 0000000..a24f0f3
--- /dev/null
+++ b/collaboration-service/package-lock.json
@@ -0,0 +1,5032 @@
+{
+ "name": "collaboration-service",
+ "version": "1.0.0",
+ "lockfileVersion": 2,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "collaboration-service",
+ "version": "1.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "bcrypt": "^5.0.1",
+ "chalk": "^5.1.0",
+ "cors": "^2.8.5",
+ "dotenv": "^16.0.3",
+ "express": "^4.18.1",
+ "http": "^0.0.1-security",
+ "jsonwebtoken": "^8.5.1",
+ "moment": "^2.29.4",
+ "mongoose": "^6.4.5",
+ "redis": "^4.0.0-rc.2",
+ "redis-commander": "^0.8.0",
+ "socket.io": "^4.5.2",
+ "socket.io-client": "^4.5.2",
+ "uuid": "^9.0.0"
+ },
+ "devDependencies": {
+ "nodemon": "^2.0.19"
+ }
+ },
+ "node_modules/@mapbox/node-pre-gyp": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz",
+ "integrity": "sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==",
+ "dependencies": {
+ "detect-libc": "^2.0.0",
+ "https-proxy-agent": "^5.0.0",
+ "make-dir": "^3.1.0",
+ "node-fetch": "^2.6.7",
+ "nopt": "^5.0.0",
+ "npmlog": "^5.0.1",
+ "rimraf": "^3.0.2",
+ "semver": "^7.3.5",
+ "tar": "^6.1.11"
+ },
+ "bin": {
+ "node-pre-gyp": "bin/node-pre-gyp"
+ }
+ },
+ "node_modules/@redis/bloom": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@redis/bloom/-/bloom-1.0.2.tgz",
+ "integrity": "sha512-EBw7Ag1hPgFzdznK2PBblc1kdlj5B5Cw3XwI9/oG7tSn85/HKy3X9xHy/8tm/eNXJYHLXHJL/pkwBpFMVVefkw==",
+ "peerDependencies": {
+ "@redis/client": "^1.0.0"
+ }
+ },
+ "node_modules/@redis/client": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@redis/client/-/client-1.3.0.tgz",
+ "integrity": "sha512-XCFV60nloXAefDsPnYMjHGtvbtHR8fV5Om8cQ0JYqTNbWcQo/4AryzJ2luRj4blveWazRK/j40gES8M7Cp6cfQ==",
+ "dependencies": {
+ "cluster-key-slot": "1.1.0",
+ "generic-pool": "3.8.2",
+ "yallist": "4.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@redis/graph": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@redis/graph/-/graph-1.0.1.tgz",
+ "integrity": "sha512-oDE4myMCJOCVKYMygEMWuriBgqlS5FqdWerikMoJxzmmTUErnTRRgmIDa2VcgytACZMFqpAOWDzops4DOlnkfQ==",
+ "peerDependencies": {
+ "@redis/client": "^1.0.0"
+ }
+ },
+ "node_modules/@redis/json": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@redis/json/-/json-1.0.4.tgz",
+ "integrity": "sha512-LUZE2Gdrhg0Rx7AN+cZkb1e6HjoSKaeeW8rYnt89Tly13GBI5eP4CwDVr+MY8BAYfCg4/N15OUrtLoona9uSgw==",
+ "peerDependencies": {
+ "@redis/client": "^1.0.0"
+ }
+ },
+ "node_modules/@redis/search": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@redis/search/-/search-1.1.0.tgz",
+ "integrity": "sha512-NyFZEVnxIJEybpy+YskjgOJRNsfTYqaPbK/Buv6W2kmFNaRk85JiqjJZA5QkRmWvGbyQYwoO5QfDi2wHskKrQQ==",
+ "peerDependencies": {
+ "@redis/client": "^1.0.0"
+ }
+ },
+ "node_modules/@redis/time-series": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@redis/time-series/-/time-series-1.0.3.tgz",
+ "integrity": "sha512-OFp0q4SGrTH0Mruf6oFsHGea58u8vS/iI5+NpYdicaM+7BgqBZH8FFvNZ8rYYLrUO/QRqMq72NpXmxLVNcdmjA==",
+ "peerDependencies": {
+ "@redis/client": "^1.0.0"
+ }
+ },
+ "node_modules/@socket.io/component-emitter": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
+ "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
+ },
+ "node_modules/@types/cookie": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
+ "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q=="
+ },
+ "node_modules/@types/cors": {
+ "version": "2.8.12",
+ "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
+ "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw=="
+ },
+ "node_modules/@types/node": {
+ "version": "18.8.3",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.3.tgz",
+ "integrity": "sha512-0os9vz6BpGwxGe9LOhgP/ncvYN5Tx1fNcd2TM3rD/aCGBkysb+ZWpXEocG24h6ZzOi13+VB8HndAQFezsSOw1w=="
+ },
+ "node_modules/@types/webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog=="
+ },
+ "node_modules/@types/whatwg-url": {
+ "version": "8.2.2",
+ "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz",
+ "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==",
+ "dependencies": {
+ "@types/node": "*",
+ "@types/webidl-conversions": "*"
+ }
+ },
+ "node_modules/abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+ },
+ "node_modules/accepts": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+ "dependencies": {
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "dependencies": {
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
+ "node_modules/agent-base/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/agent-base/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+ "dev": true,
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/aproba": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
+ "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="
+ },
+ "node_modules/are-we-there-yet": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
+ "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
+ "dependencies": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^3.6.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
+ },
+ "node_modules/async": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
+ "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g=="
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ },
+ "node_modules/base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/base64id": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
+ "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
+ "engines": {
+ "node": "^4.5.0 || >= 5.9"
+ }
+ },
+ "node_modules/bcrypt": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.1.0.tgz",
+ "integrity": "sha512-RHBS7HI5N5tEnGTmtR/pppX0mmDSBpQ4aCBsj7CEQfYXDcO74A8sIBYcJMuCsis2E81zDxeENYhv66oZwLiA+Q==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@mapbox/node-pre-gyp": "^1.0.10",
+ "node-addon-api": "^5.0.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/bcryptjs": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz",
+ "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ=="
+ },
+ "node_modules/binary-extensions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/body-parser": {
+ "version": "1.20.1",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
+ "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "content-type": "~1.0.4",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "on-finished": "2.4.1",
+ "qs": "6.11.0",
+ "raw-body": "2.5.1",
+ "type-is": "~1.6.18",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "dependencies": {
+ "fill-range": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/bson": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/bson/-/bson-4.7.0.tgz",
+ "integrity": "sha512-VrlEE4vuiO1WTpfof4VmaVolCVYkYTgB9iWgYNOrVlnifpME/06fhFRmONgBhClD5pFC1t9ZWqFUQEQAzY43bA==",
+ "dependencies": {
+ "buffer": "^5.6.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "node_modules/buffer-equal-constant-time": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
+ "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA=="
+ },
+ "node_modules/bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/call-bind": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/chalk": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.1.0.tgz",
+ "integrity": "sha512-56zD4khRTBoIyzUYAFgDDaPhUMN/fC/rySe6aZGqbj/VWiU2eI3l6ZLOtYGFZAV5v02mwPjtpzlrOveJiz5eZQ==",
+ "engines": {
+ "node": "^12.17.0 || ^14.13 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/chokidar": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ ],
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/chownr": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/clipboard": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.10.tgz",
+ "integrity": "sha512-cz3m2YVwFz95qSEbCDi2fzLN/epEN9zXBvfgAoGkvGOJZATMl9gtTDVOtBYkx2ODUJl2kvmud7n32sV2BpYR4g==",
+ "dependencies": {
+ "good-listener": "^1.2.2",
+ "select": "^1.1.2",
+ "tiny-emitter": "^2.0.0"
+ }
+ },
+ "node_modules/cliui": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "node_modules/cluster-key-slot": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.0.tgz",
+ "integrity": "sha512-2Nii8p3RwAPiFwsnZvukotvow2rIHM+yQ6ZcBXGHdniadkYGZYiGmkHJIbZPIV9nfv7m/U1IPMVVcAhoWFeklw==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/cmdparser": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/cmdparser/-/cmdparser-0.0.3.tgz",
+ "integrity": "sha512-gW/1flMiBIzM36QmZnFF4Wz1H2VDJ9Dv6n0ii76nfW86Cr7pDfD4odYpks0sIhRL69WzAU16vQzxEGnE7ZMyng==",
+ "dependencies": {
+ "async": "~0.1.22"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/cmdparser/node_modules/async": {
+ "version": "0.1.22",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz",
+ "integrity": "sha512-2tEzliJmf5fHNafNwQLJXUasGzQCVctvsNkXmnlELHwypU0p08/rHohYvkqKIjyXpx+0rkrYv6QbhJ+UF4QkBg==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/color-support": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
+ "bin": {
+ "color-support": "bin.js"
+ }
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
+ },
+ "node_modules/config": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/config/-/config-3.3.7.tgz",
+ "integrity": "sha512-mX/n7GKDYZMqvvkY6e6oBY49W8wxdmQt+ho/5lhwFDXqQW9gI+Ahp8EKp8VAbISPnmf2+Bv5uZK7lKXZ6pf1aA==",
+ "dependencies": {
+ "json5": "^2.1.1"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/console-control-strings": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ=="
+ },
+ "node_modules/content-disposition": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
+ "dependencies": {
+ "safe-buffer": "5.2.1"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/content-type": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cookie": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
+ "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cookie-signature": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
+ },
+ "node_modules/cors": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
+ "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
+ "dependencies": {
+ "object-assign": "^4",
+ "vary": "^1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/dateformat": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
+ "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/delegate": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz",
+ "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw=="
+ },
+ "node_modules/delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ=="
+ },
+ "node_modules/denque": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
+ "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==",
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/destroy": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/detect-libc": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
+ "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/dotenv": {
+ "version": "16.0.3",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
+ "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/ecdsa-sig-formatter": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
+ "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
+ "dependencies": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
+ },
+ "node_modules/ejs": {
+ "version": "3.1.7",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.7.tgz",
+ "integrity": "sha512-BIar7R6abbUxDA3bfXrO4DSgwo8I+fB5/1zgujl3HLLjwd6+9iOnrT+t3grn2qbk9vOgBubXOFwX2m9axoFaGw==",
+ "dependencies": {
+ "jake": "^10.8.5"
+ },
+ "bin": {
+ "ejs": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "node_modules/encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/engine.io": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz",
+ "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==",
+ "dependencies": {
+ "@types/cookie": "^0.4.1",
+ "@types/cors": "^2.8.12",
+ "@types/node": ">=10.0.0",
+ "accepts": "~1.3.4",
+ "base64id": "2.0.0",
+ "cookie": "~0.4.1",
+ "cors": "~2.8.5",
+ "debug": "~4.3.1",
+ "engine.io-parser": "~5.0.3",
+ "ws": "~8.2.3"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/engine.io-client": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.2.tgz",
+ "integrity": "sha512-8ZQmx0LQGRTYkHuogVZuGSpDqYZtCM/nv8zQ68VZ+JkOpazJ7ICdsSpaO6iXwvaU30oFg5QJOJWj8zWqhbKjkQ==",
+ "dependencies": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.1",
+ "engine.io-parser": "~5.0.3",
+ "ws": "~8.2.3",
+ "xmlhttprequest-ssl": "~2.0.0"
+ }
+ },
+ "node_modules/engine.io-client/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/engine.io-client/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/engine.io-parser": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
+ "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==",
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/engine.io/node_modules/cookie": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
+ "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/engine.io/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/engine.io/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
+ },
+ "node_modules/etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/express": {
+ "version": "4.18.2",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
+ "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
+ "dependencies": {
+ "accepts": "~1.3.8",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.20.1",
+ "content-disposition": "0.5.4",
+ "content-type": "~1.0.4",
+ "cookie": "0.5.0",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "1.2.0",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.7",
+ "qs": "6.11.0",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.2.1",
+ "send": "0.18.0",
+ "serve-static": "1.15.0",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "node_modules/express-partials": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/express-partials/-/express-partials-0.3.0.tgz",
+ "integrity": "sha512-LodvQHqUhSKJNl7NMjjPvHAh7sybtmUOWKKGrrb2/eL/kPlto2KQO5lCVceOBamxipDoWw07zLwWiDwidHgmEQ==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/filelist": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
+ "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
+ "dependencies": {
+ "minimatch": "^5.0.1"
+ }
+ },
+ "node_modules/filelist/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/filelist/node_modules/minimatch": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+ "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/finalhandler": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
+ "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
+ "dependencies": {
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "statuses": "2.0.1",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/forwarded": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fs-minipass": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ },
+ "node_modules/gauge": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
+ "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
+ "dependencies": {
+ "aproba": "^1.0.3 || ^2.0.0",
+ "color-support": "^1.1.2",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.1",
+ "object-assign": "^4.1.1",
+ "signal-exit": "^3.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "wide-align": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/generic-pool": {
+ "version": "3.8.2",
+ "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.8.2.tgz",
+ "integrity": "sha512-nGToKy6p3PAbYQ7p1UlWl6vSPwfwU6TMSWK7TTu+WUY4ZjyZQGniGGt2oNVvyNSpyZYSB43zMXVLcBm08MTMkg==",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
+ "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/good-listener": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz",
+ "integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==",
+ "dependencies": {
+ "delegate": "^3.1.2"
+ }
+ },
+ "node_modules/has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dependencies": {
+ "function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ=="
+ },
+ "node_modules/http": {
+ "version": "0.0.1-security",
+ "resolved": "https://registry.npmjs.org/http/-/http-0.0.1-security.tgz",
+ "integrity": "sha512-RnDvP10Ty9FxqOtPZuxtebw1j4L/WiqNMDtuc1YMH1XQm5TgDRaR1G9u8upL6KD1bXHSp9eSXo/ED+8Q7FAr+g=="
+ },
+ "node_modules/http-errors": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+ "dependencies": {
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "dependencies": {
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/https-proxy-agent/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/https-proxy-agent/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/ignore-by-default": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
+ "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==",
+ "dev": true
+ },
+ "node_modules/inflection": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.13.2.tgz",
+ "integrity": "sha512-cmZlljCRTBFouT8UzMzrGcVEvkv6D/wBdcdKG7J1QH5cXjtU75Dm+P27v9EKu/Y43UYyCJd1WC4zLebRrC8NBw==",
+ "engines": [
+ "node >= 0.4.0"
+ ]
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "node_modules/ioredis": {
+ "version": "4.28.5",
+ "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-4.28.5.tgz",
+ "integrity": "sha512-3GYo0GJtLqgNXj4YhrisLaNNvWSNwSS2wS4OELGfGxH8I69+XfNdnmV1AyN+ZqMh0i7eX+SWjrwFKDBDgfBC1A==",
+ "dependencies": {
+ "cluster-key-slot": "^1.1.0",
+ "debug": "^4.3.1",
+ "denque": "^1.1.0",
+ "lodash.defaults": "^4.2.0",
+ "lodash.flatten": "^4.4.0",
+ "lodash.isarguments": "^3.1.0",
+ "p-map": "^2.1.0",
+ "redis-commands": "1.7.0",
+ "redis-errors": "^1.2.0",
+ "redis-parser": "^3.0.0",
+ "standard-as-callback": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/ioredis"
+ }
+ },
+ "node_modules/ioredis/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/ioredis/node_modules/denque": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.1.tgz",
+ "integrity": "sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==",
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/ioredis/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/ip": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
+ "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
+ },
+ "node_modules/ipaddr.js": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dev": true,
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/jake": {
+ "version": "10.8.5",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz",
+ "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==",
+ "dependencies": {
+ "async": "^3.2.3",
+ "chalk": "^4.0.2",
+ "filelist": "^1.0.1",
+ "minimatch": "^3.0.4"
+ },
+ "bin": {
+ "jake": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/jake/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jake/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jake/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jquery": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.1.tgz",
+ "integrity": "sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw=="
+ },
+ "node_modules/jquery.json-viewer": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/jquery.json-viewer/-/jquery.json-viewer-1.5.0.tgz",
+ "integrity": "sha512-M/mRFXg14V/UUAlz7TBNBIDmQdWt05BunsqC/UjEx5BoFdQpNpfkfDdVn+VtjX951n/an/T9GWB3apBp02x8Mg=="
+ },
+ "node_modules/json5": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
+ "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/jsonwebtoken": {
+ "version": "8.5.1",
+ "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz",
+ "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==",
+ "dependencies": {
+ "jws": "^3.2.2",
+ "lodash.includes": "^4.3.0",
+ "lodash.isboolean": "^3.0.3",
+ "lodash.isinteger": "^4.0.4",
+ "lodash.isnumber": "^3.0.3",
+ "lodash.isplainobject": "^4.0.6",
+ "lodash.isstring": "^4.0.1",
+ "lodash.once": "^4.0.0",
+ "ms": "^2.1.1",
+ "semver": "^5.6.0"
+ },
+ "engines": {
+ "node": ">=4",
+ "npm": ">=1.4.28"
+ }
+ },
+ "node_modules/jsonwebtoken/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ },
+ "node_modules/jsonwebtoken/node_modules/semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/jstree": {
+ "version": "3.3.12",
+ "resolved": "https://registry.npmjs.org/jstree/-/jstree-3.3.12.tgz",
+ "integrity": "sha512-vHNLWkUr02ZYH7RcIckvhtLUtneWCVEtIKpIp2G9WtRh01ITv18EoNtNQcFG3ozM+oK6wp1Z300gSLXNQWCqGA==",
+ "dependencies": {
+ "jquery": ">=1.9.1"
+ }
+ },
+ "node_modules/jwa": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz",
+ "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==",
+ "dependencies": {
+ "buffer-equal-constant-time": "1.0.1",
+ "ecdsa-sig-formatter": "1.0.11",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/jws": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz",
+ "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==",
+ "dependencies": {
+ "jwa": "^1.4.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/kareem": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.4.1.tgz",
+ "integrity": "sha512-aJ9opVoXroQUPfovYP5kaj2lM7Jn02Gw13bL0lg9v0V7SaUc0qavPs0Eue7d2DcC3NjqI6QAUElXNsuZSeM+EA=="
+ },
+ "node_modules/lodash.defaults": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
+ "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ=="
+ },
+ "node_modules/lodash.flatten": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
+ "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g=="
+ },
+ "node_modules/lodash.includes": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
+ "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w=="
+ },
+ "node_modules/lodash.isarguments": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+ "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg=="
+ },
+ "node_modules/lodash.isboolean": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
+ "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg=="
+ },
+ "node_modules/lodash.isequal": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
+ "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ=="
+ },
+ "node_modules/lodash.isinteger": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
+ "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA=="
+ },
+ "node_modules/lodash.isnumber": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz",
+ "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw=="
+ },
+ "node_modules/lodash.isplainobject": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+ "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA=="
+ },
+ "node_modules/lodash.isstring": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
+ "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw=="
+ },
+ "node_modules/lodash.once": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
+ "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg=="
+ },
+ "node_modules/lossless-json": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/lossless-json/-/lossless-json-1.0.5.tgz",
+ "integrity": "sha512-RicKUuLwZVNZ6ZdJHgIZnSeA05p8qWc5NW0uR96mpPIjN9WDLUg9+kj1esQU1GkPn9iLZVKatSQK5gyiaFHgJA=="
+ },
+ "node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dependencies": {
+ "semver": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/make-dir/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/memory-pager": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
+ "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
+ "optional": true
+ },
+ "node_modules/merge-descriptors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+ "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
+ },
+ "node_modules/methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/minipass": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz",
+ "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/minizlib": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
+ "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
+ "dependencies": {
+ "minipass": "^3.0.0",
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/moment": {
+ "version": "2.29.4",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
+ "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/mongodb": {
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.9.1.tgz",
+ "integrity": "sha512-ZhgI/qBf84fD7sI4waZBoLBNJYPQN5IOC++SBCiPiyhzpNKOxN/fi0tBHvH2dEC42HXtNEbFB0zmNz4+oVtorQ==",
+ "dependencies": {
+ "bson": "^4.7.0",
+ "denque": "^2.1.0",
+ "mongodb-connection-string-url": "^2.5.3",
+ "socks": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=12.9.0"
+ },
+ "optionalDependencies": {
+ "saslprep": "^1.0.3"
+ }
+ },
+ "node_modules/mongodb-connection-string-url": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.5.4.tgz",
+ "integrity": "sha512-SeAxuWs0ez3iI3vvmLk/j2y+zHwigTDKQhtdxTgt5ZCOQQS5+HW4g45/Xw5vzzbn7oQXCNQ24Z40AkJsizEy7w==",
+ "dependencies": {
+ "@types/whatwg-url": "^8.2.1",
+ "whatwg-url": "^11.0.0"
+ }
+ },
+ "node_modules/mongoose": {
+ "version": "6.6.5",
+ "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.6.5.tgz",
+ "integrity": "sha512-iA/oDpWOc+K2QYzA4Eq7Z1oUBQOz9FGDmUwPLgw872Bfs/qizA5Db+gJorAn+TnnGu3VoCK8iP4Y+TECUelwjA==",
+ "dependencies": {
+ "bson": "^4.6.5",
+ "kareem": "2.4.1",
+ "mongodb": "4.9.1",
+ "mpath": "0.9.0",
+ "mquery": "4.0.3",
+ "ms": "2.1.3",
+ "sift": "16.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mongoose"
+ }
+ },
+ "node_modules/mongoose/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ },
+ "node_modules/mpath": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz",
+ "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==",
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/mquery": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.3.tgz",
+ "integrity": "sha512-J5heI+P08I6VJ2Ky3+33IpCdAvlYGTSUjwTPxkAr8i8EoduPMBX2OY/wa3IKZIQl7MU4SbFk8ndgSKyB/cl1zA==",
+ "dependencies": {
+ "debug": "4.x"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/mquery/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/mquery/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/negotiator": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/node-addon-api": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.0.0.tgz",
+ "integrity": "sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA=="
+ },
+ "node_modules/node-fetch": {
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/node-fetch/node_modules/tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
+ },
+ "node_modules/node-fetch/node_modules/webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
+ },
+ "node_modules/node-fetch/node_modules/whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+ "dependencies": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
+ "node_modules/node-redis-dump2": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/node-redis-dump2/-/node-redis-dump2-0.5.0.tgz",
+ "integrity": "sha512-rG54sksxPvNB0/1tsUESVBhapzCX0yAIwW2cv3k0jFK01nc0Zu/yaHGC28tCk6DHDVs9+kCFdAWewMrslJTrEA==",
+ "dependencies": {
+ "async": "^3.2.0",
+ "ioredis": "^4.27.0",
+ "underscore": "^1.13.1"
+ },
+ "engines": {
+ "node": ">10"
+ }
+ },
+ "node_modules/nodemon": {
+ "version": "2.0.20",
+ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.20.tgz",
+ "integrity": "sha512-Km2mWHKKY5GzRg6i1j5OxOHQtuvVsgskLfigG25yTtbyfRGn/GNvIbRyOf1PSCKJ2aT/58TiuUsuOU5UToVViw==",
+ "dev": true,
+ "dependencies": {
+ "chokidar": "^3.5.2",
+ "debug": "^3.2.7",
+ "ignore-by-default": "^1.0.1",
+ "minimatch": "^3.1.2",
+ "pstree.remy": "^1.1.8",
+ "semver": "^5.7.1",
+ "simple-update-notifier": "^1.0.7",
+ "supports-color": "^5.5.0",
+ "touch": "^3.1.0",
+ "undefsafe": "^2.0.5"
+ },
+ "bin": {
+ "nodemon": "bin/nodemon.js"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/nodemon"
+ }
+ },
+ "node_modules/nodemon/node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/nodemon/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/nodemon/node_modules/semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/nopt": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
+ "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
+ "dependencies": {
+ "abbrev": "1"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/npmlog": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
+ "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
+ "dependencies": {
+ "are-we-there-yet": "^2.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^3.0.0",
+ "set-blocking": "^2.0.0"
+ }
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-inspect": {
+ "version": "1.12.2",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
+ "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/opener": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz",
+ "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==",
+ "bin": {
+ "opener": "bin/opener-bin.js"
+ }
+ },
+ "node_modules/p-map": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
+ "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-to-regexp": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+ "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/proxy-addr": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
+ "dependencies": {
+ "forwarded": "0.2.0",
+ "ipaddr.js": "1.9.1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/pstree.remy": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
+ "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==",
+ "dev": true
+ },
+ "node_modules/punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/qs": {
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
+ "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
+ "dependencies": {
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/raw-body": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
+ "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dev": true,
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/readline-browserify": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/readline-browserify/-/readline-browserify-0.0.4.tgz",
+ "integrity": "sha512-SHbXkW5caHKOF7O06a60TF1vF/uBLB3b4ZF91tmwcuNOwnLrsgqy8p+XIP3J9h41AZuM9AqlKlQO9tvU/muD4w==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/redis": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/redis/-/redis-4.3.1.tgz",
+ "integrity": "sha512-cM7yFU5CA6zyCF7N/+SSTcSJQSRMEKN0k0Whhu6J7n9mmXRoXugfWDBo5iOzGwABmsWKSwGPTU5J4Bxbl+0mrA==",
+ "dependencies": {
+ "@redis/bloom": "1.0.2",
+ "@redis/client": "1.3.0",
+ "@redis/graph": "1.0.1",
+ "@redis/json": "1.0.4",
+ "@redis/search": "1.1.0",
+ "@redis/time-series": "1.0.3"
+ }
+ },
+ "node_modules/redis-commander": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/redis-commander/-/redis-commander-0.8.0.tgz",
+ "integrity": "sha512-vE1VCjI6KMxvrP7ClwylqV8DR3mbGuRClOlmi1mtNcxuWQ5G1WLnBNNAdlRcqOCv64bx2rLiuHV1lW1jyGgbxQ==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "async": "3.2.3",
+ "bcryptjs": "2.4.3",
+ "body-parser": "1.20.0",
+ "clipboard": "2.0.10",
+ "cmdparser": "0.0.3",
+ "config": "3.3.7",
+ "dateformat": "3.0.3",
+ "ejs": "3.1.7",
+ "express": "4.18.1",
+ "express-partials": "0.3.0",
+ "inflection": "1.13.2",
+ "ioredis": "4.28.5",
+ "jquery.json-viewer": "1.5.0",
+ "jsonwebtoken": "8.5.1",
+ "jstree": "3.3.12",
+ "lodash.isequal": "4.5.0",
+ "lossless-json": "1.0.5",
+ "node-redis-dump2": "0.5.0",
+ "opener": "1.5.2",
+ "readline-browserify": "0.0.4",
+ "yargs": "17.4.1"
+ },
+ "bin": {
+ "redis-commander": "bin/redis-commander.js"
+ },
+ "engines": {
+ "node": ">=12.0"
+ },
+ "optionalDependencies": {
+ "bcrypt": "~5.0.0"
+ }
+ },
+ "node_modules/redis-commander/node_modules/bcrypt": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.0.1.tgz",
+ "integrity": "sha512-9BTgmrhZM2t1bNuDtrtIMVSmmxZBrJ71n8Wg+YgdjHuIWYF7SjjmCPZFB+/5i/o/PIeRpwVJR3P+NrpIItUjqw==",
+ "hasInstallScript": true,
+ "optional": true,
+ "dependencies": {
+ "@mapbox/node-pre-gyp": "^1.0.0",
+ "node-addon-api": "^3.1.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/redis-commander/node_modules/body-parser": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
+ "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "content-type": "~1.0.4",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "on-finished": "2.4.1",
+ "qs": "6.10.3",
+ "raw-body": "2.5.1",
+ "type-is": "~1.6.18",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/redis-commander/node_modules/express": {
+ "version": "4.18.1",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz",
+ "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==",
+ "dependencies": {
+ "accepts": "~1.3.8",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.20.0",
+ "content-disposition": "0.5.4",
+ "content-type": "~1.0.4",
+ "cookie": "0.5.0",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "1.2.0",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.7",
+ "qs": "6.10.3",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.2.1",
+ "send": "0.18.0",
+ "serve-static": "1.15.0",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "node_modules/redis-commander/node_modules/node-addon-api": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz",
+ "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==",
+ "optional": true
+ },
+ "node_modules/redis-commander/node_modules/qs": {
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+ "dependencies": {
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/redis-commands": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.7.0.tgz",
+ "integrity": "sha512-nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ=="
+ },
+ "node_modules/redis-errors": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz",
+ "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/redis-parser": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz",
+ "integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==",
+ "dependencies": {
+ "redis-errors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "node_modules/saslprep": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
+ "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==",
+ "optional": true,
+ "dependencies": {
+ "sparse-bitfield": "^3.0.3"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/select": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz",
+ "integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA=="
+ },
+ "node_modules/semver": {
+ "version": "7.3.8",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+ "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/send": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
+ "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
+ "dependencies": {
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/send/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ },
+ "node_modules/serve-static": {
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
+ "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
+ "dependencies": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.18.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
+ },
+ "node_modules/setprototypeof": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
+ },
+ "node_modules/side-channel": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/sift": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/sift/-/sift-16.0.0.tgz",
+ "integrity": "sha512-ILTjdP2Mv9V1kIxWMXeMTIRbOBrqKc4JAXmFMnFq3fKeyQ2Qwa3Dw1ubcye3vR+Y6ofA0b9gNDr/y2t6eUeIzQ=="
+ },
+ "node_modules/signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
+ },
+ "node_modules/simple-update-notifier": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz",
+ "integrity": "sha512-BBKgR84BJQJm6WjWFMHgLVuo61FBDSj1z/xSFUIozqO6wO7ii0JxCqlIud7Enr/+LhlbNI0whErq96P2qHNWew==",
+ "dev": true,
+ "dependencies": {
+ "semver": "~7.0.0"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/simple-update-notifier/node_modules/semver": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
+ "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/smart-buffer": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
+ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
+ "engines": {
+ "node": ">= 6.0.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "node_modules/socket.io": {
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.2.tgz",
+ "integrity": "sha512-6fCnk4ARMPZN448+SQcnn1u8OHUC72puJcNtSgg2xS34Cu7br1gQ09YKkO1PFfDn/wyUE9ZgMAwosJed003+NQ==",
+ "dependencies": {
+ "accepts": "~1.3.4",
+ "base64id": "~2.0.0",
+ "debug": "~4.3.2",
+ "engine.io": "~6.2.0",
+ "socket.io-adapter": "~2.4.0",
+ "socket.io-parser": "~4.2.0"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/socket.io-adapter": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
+ "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg=="
+ },
+ "node_modules/socket.io-client": {
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.2.tgz",
+ "integrity": "sha512-naqYfFu7CLDiQ1B7AlLhRXKX3gdeaIMfgigwavDzgJoIUYulc1qHH5+2XflTsXTPY7BlPH5rppJyUjhjrKQKLg==",
+ "dependencies": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.2",
+ "engine.io-client": "~6.2.1",
+ "socket.io-parser": "~4.2.0"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/socket.io-client/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/socket.io-client/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/socket.io-parser": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz",
+ "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==",
+ "dependencies": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.1"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/socket.io-parser/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/socket.io-parser/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/socket.io/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/socket.io/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/socks": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
+ "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
+ "dependencies": {
+ "ip": "^2.0.0",
+ "smart-buffer": "^4.2.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "node_modules/sparse-bitfield": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
+ "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==",
+ "optional": true,
+ "dependencies": {
+ "memory-pager": "^1.0.2"
+ }
+ },
+ "node_modules/standard-as-callback": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz",
+ "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A=="
+ },
+ "node_modules/statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "dependencies": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/tar": {
+ "version": "6.1.11",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
+ "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
+ "dependencies": {
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^3.0.0",
+ "minizlib": "^2.1.1",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/tiny-emitter": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
+ "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q=="
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/toidentifier": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/touch": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
+ "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==",
+ "dev": true,
+ "dependencies": {
+ "nopt": "~1.0.10"
+ },
+ "bin": {
+ "nodetouch": "bin/nodetouch.js"
+ }
+ },
+ "node_modules/touch/node_modules/nopt": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
+ "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==",
+ "dev": true,
+ "dependencies": {
+ "abbrev": "1"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
+ "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
+ "dependencies": {
+ "punycode": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "dependencies": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/undefsafe": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
+ "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==",
+ "dev": true
+ },
+ "node_modules/underscore": {
+ "version": "1.13.6",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz",
+ "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A=="
+ },
+ "node_modules/unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+ },
+ "node_modules/utils-merge": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/uuid": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
+ "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/whatwg-url": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
+ "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
+ "dependencies": {
+ "tr46": "^3.0.0",
+ "webidl-conversions": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/wide-align": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
+ "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
+ "dependencies": {
+ "string-width": "^1.0.2 || 2 || 3 || 4"
+ }
+ },
+ "node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ },
+ "node_modules/ws": {
+ "version": "8.2.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
+ "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/xmlhttprequest-ssl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
+ "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ },
+ "node_modules/yargs": {
+ "version": "17.4.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz",
+ "integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==",
+ "dependencies": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "engines": {
+ "node": ">=12"
+ }
+ }
+ },
+ "dependencies": {
+ "@mapbox/node-pre-gyp": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz",
+ "integrity": "sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==",
+ "requires": {
+ "detect-libc": "^2.0.0",
+ "https-proxy-agent": "^5.0.0",
+ "make-dir": "^3.1.0",
+ "node-fetch": "^2.6.7",
+ "nopt": "^5.0.0",
+ "npmlog": "^5.0.1",
+ "rimraf": "^3.0.2",
+ "semver": "^7.3.5",
+ "tar": "^6.1.11"
+ }
+ },
+ "@redis/bloom": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@redis/bloom/-/bloom-1.0.2.tgz",
+ "integrity": "sha512-EBw7Ag1hPgFzdznK2PBblc1kdlj5B5Cw3XwI9/oG7tSn85/HKy3X9xHy/8tm/eNXJYHLXHJL/pkwBpFMVVefkw==",
+ "requires": {}
+ },
+ "@redis/client": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@redis/client/-/client-1.3.0.tgz",
+ "integrity": "sha512-XCFV60nloXAefDsPnYMjHGtvbtHR8fV5Om8cQ0JYqTNbWcQo/4AryzJ2luRj4blveWazRK/j40gES8M7Cp6cfQ==",
+ "requires": {
+ "cluster-key-slot": "1.1.0",
+ "generic-pool": "3.8.2",
+ "yallist": "4.0.0"
+ }
+ },
+ "@redis/graph": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@redis/graph/-/graph-1.0.1.tgz",
+ "integrity": "sha512-oDE4myMCJOCVKYMygEMWuriBgqlS5FqdWerikMoJxzmmTUErnTRRgmIDa2VcgytACZMFqpAOWDzops4DOlnkfQ==",
+ "requires": {}
+ },
+ "@redis/json": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@redis/json/-/json-1.0.4.tgz",
+ "integrity": "sha512-LUZE2Gdrhg0Rx7AN+cZkb1e6HjoSKaeeW8rYnt89Tly13GBI5eP4CwDVr+MY8BAYfCg4/N15OUrtLoona9uSgw==",
+ "requires": {}
+ },
+ "@redis/search": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@redis/search/-/search-1.1.0.tgz",
+ "integrity": "sha512-NyFZEVnxIJEybpy+YskjgOJRNsfTYqaPbK/Buv6W2kmFNaRk85JiqjJZA5QkRmWvGbyQYwoO5QfDi2wHskKrQQ==",
+ "requires": {}
+ },
+ "@redis/time-series": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@redis/time-series/-/time-series-1.0.3.tgz",
+ "integrity": "sha512-OFp0q4SGrTH0Mruf6oFsHGea58u8vS/iI5+NpYdicaM+7BgqBZH8FFvNZ8rYYLrUO/QRqMq72NpXmxLVNcdmjA==",
+ "requires": {}
+ },
+ "@socket.io/component-emitter": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
+ "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
+ },
+ "@types/cookie": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
+ "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q=="
+ },
+ "@types/cors": {
+ "version": "2.8.12",
+ "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
+ "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw=="
+ },
+ "@types/node": {
+ "version": "18.8.3",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.3.tgz",
+ "integrity": "sha512-0os9vz6BpGwxGe9LOhgP/ncvYN5Tx1fNcd2TM3rD/aCGBkysb+ZWpXEocG24h6ZzOi13+VB8HndAQFezsSOw1w=="
+ },
+ "@types/webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog=="
+ },
+ "@types/whatwg-url": {
+ "version": "8.2.2",
+ "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz",
+ "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==",
+ "requires": {
+ "@types/node": "*",
+ "@types/webidl-conversions": "*"
+ }
+ },
+ "abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+ },
+ "accepts": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+ "requires": {
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
+ }
+ },
+ "agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "requires": {
+ "debug": "4"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
+ },
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "anymatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "aproba": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
+ "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="
+ },
+ "are-we-there-yet": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
+ "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
+ "requires": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^3.6.0"
+ }
+ },
+ "array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
+ },
+ "async": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
+ "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g=="
+ },
+ "balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ },
+ "base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
+ },
+ "base64id": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
+ "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog=="
+ },
+ "bcrypt": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.1.0.tgz",
+ "integrity": "sha512-RHBS7HI5N5tEnGTmtR/pppX0mmDSBpQ4aCBsj7CEQfYXDcO74A8sIBYcJMuCsis2E81zDxeENYhv66oZwLiA+Q==",
+ "requires": {
+ "@mapbox/node-pre-gyp": "^1.0.10",
+ "node-addon-api": "^5.0.0"
+ }
+ },
+ "bcryptjs": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz",
+ "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ=="
+ },
+ "binary-extensions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+ "dev": true
+ },
+ "body-parser": {
+ "version": "1.20.1",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
+ "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
+ "requires": {
+ "bytes": "3.1.2",
+ "content-type": "~1.0.4",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "on-finished": "2.4.1",
+ "qs": "6.11.0",
+ "raw-body": "2.5.1",
+ "type-is": "~1.6.18",
+ "unpipe": "1.0.0"
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "bson": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/bson/-/bson-4.7.0.tgz",
+ "integrity": "sha512-VrlEE4vuiO1WTpfof4VmaVolCVYkYTgB9iWgYNOrVlnifpME/06fhFRmONgBhClD5pFC1t9ZWqFUQEQAzY43bA==",
+ "requires": {
+ "buffer": "^5.6.0"
+ }
+ },
+ "buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "requires": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "buffer-equal-constant-time": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
+ "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA=="
+ },
+ "bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="
+ },
+ "call-bind": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+ "requires": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
+ }
+ },
+ "chalk": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.1.0.tgz",
+ "integrity": "sha512-56zD4khRTBoIyzUYAFgDDaPhUMN/fC/rySe6aZGqbj/VWiU2eI3l6ZLOtYGFZAV5v02mwPjtpzlrOveJiz5eZQ=="
+ },
+ "chokidar": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "dev": true,
+ "requires": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "fsevents": "~2.3.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ }
+ },
+ "chownr": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ=="
+ },
+ "clipboard": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.10.tgz",
+ "integrity": "sha512-cz3m2YVwFz95qSEbCDi2fzLN/epEN9zXBvfgAoGkvGOJZATMl9gtTDVOtBYkx2ODUJl2kvmud7n32sV2BpYR4g==",
+ "requires": {
+ "good-listener": "^1.2.2",
+ "select": "^1.1.2",
+ "tiny-emitter": "^2.0.0"
+ }
+ },
+ "cliui": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+ "requires": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "cluster-key-slot": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.0.tgz",
+ "integrity": "sha512-2Nii8p3RwAPiFwsnZvukotvow2rIHM+yQ6ZcBXGHdniadkYGZYiGmkHJIbZPIV9nfv7m/U1IPMVVcAhoWFeklw=="
+ },
+ "cmdparser": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/cmdparser/-/cmdparser-0.0.3.tgz",
+ "integrity": "sha512-gW/1flMiBIzM36QmZnFF4Wz1H2VDJ9Dv6n0ii76nfW86Cr7pDfD4odYpks0sIhRL69WzAU16vQzxEGnE7ZMyng==",
+ "requires": {
+ "async": "~0.1.22"
+ },
+ "dependencies": {
+ "async": {
+ "version": "0.1.22",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz",
+ "integrity": "sha512-2tEzliJmf5fHNafNwQLJXUasGzQCVctvsNkXmnlELHwypU0p08/rHohYvkqKIjyXpx+0rkrYv6QbhJ+UF4QkBg=="
+ }
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "color-support": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg=="
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
+ },
+ "config": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/config/-/config-3.3.7.tgz",
+ "integrity": "sha512-mX/n7GKDYZMqvvkY6e6oBY49W8wxdmQt+ho/5lhwFDXqQW9gI+Ahp8EKp8VAbISPnmf2+Bv5uZK7lKXZ6pf1aA==",
+ "requires": {
+ "json5": "^2.1.1"
+ }
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ=="
+ },
+ "content-disposition": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
+ "requires": {
+ "safe-buffer": "5.2.1"
+ }
+ },
+ "content-type": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
+ },
+ "cookie": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
+ "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw=="
+ },
+ "cookie-signature": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
+ },
+ "cors": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
+ "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
+ "requires": {
+ "object-assign": "^4",
+ "vary": "^1"
+ }
+ },
+ "dateformat": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
+ "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q=="
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "delegate": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz",
+ "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw=="
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ=="
+ },
+ "denque": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
+ "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw=="
+ },
+ "depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="
+ },
+ "destroy": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="
+ },
+ "detect-libc": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
+ "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w=="
+ },
+ "dotenv": {
+ "version": "16.0.3",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
+ "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ=="
+ },
+ "ecdsa-sig-formatter": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
+ "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
+ "requires": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
+ },
+ "ejs": {
+ "version": "3.1.7",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.7.tgz",
+ "integrity": "sha512-BIar7R6abbUxDA3bfXrO4DSgwo8I+fB5/1zgujl3HLLjwd6+9iOnrT+t3grn2qbk9vOgBubXOFwX2m9axoFaGw==",
+ "requires": {
+ "jake": "^10.8.5"
+ }
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="
+ },
+ "engine.io": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz",
+ "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==",
+ "requires": {
+ "@types/cookie": "^0.4.1",
+ "@types/cors": "^2.8.12",
+ "@types/node": ">=10.0.0",
+ "accepts": "~1.3.4",
+ "base64id": "2.0.0",
+ "cookie": "~0.4.1",
+ "cors": "~2.8.5",
+ "debug": "~4.3.1",
+ "engine.io-parser": "~5.0.3",
+ "ws": "~8.2.3"
+ },
+ "dependencies": {
+ "cookie": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
+ "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA=="
+ },
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
+ "engine.io-client": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.2.tgz",
+ "integrity": "sha512-8ZQmx0LQGRTYkHuogVZuGSpDqYZtCM/nv8zQ68VZ+JkOpazJ7ICdsSpaO6iXwvaU30oFg5QJOJWj8zWqhbKjkQ==",
+ "requires": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.1",
+ "engine.io-parser": "~5.0.3",
+ "ws": "~8.2.3",
+ "xmlhttprequest-ssl": "~2.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
+ "engine.io-parser": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
+ "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg=="
+ },
+ "escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
+ },
+ "escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
+ },
+ "etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="
+ },
+ "express": {
+ "version": "4.18.2",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
+ "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
+ "requires": {
+ "accepts": "~1.3.8",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.20.1",
+ "content-disposition": "0.5.4",
+ "content-type": "~1.0.4",
+ "cookie": "0.5.0",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "1.2.0",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.7",
+ "qs": "6.11.0",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.2.1",
+ "send": "0.18.0",
+ "serve-static": "1.15.0",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ }
+ },
+ "express-partials": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/express-partials/-/express-partials-0.3.0.tgz",
+ "integrity": "sha512-LodvQHqUhSKJNl7NMjjPvHAh7sybtmUOWKKGrrb2/eL/kPlto2KQO5lCVceOBamxipDoWw07zLwWiDwidHgmEQ=="
+ },
+ "filelist": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
+ "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
+ "requires": {
+ "minimatch": "^5.0.1"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "minimatch": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+ "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
+ }
+ }
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "finalhandler": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
+ "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
+ "requires": {
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "statuses": "2.0.1",
+ "unpipe": "~1.0.0"
+ }
+ },
+ "forwarded": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="
+ },
+ "fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="
+ },
+ "fs-minipass": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+ "requires": {
+ "minipass": "^3.0.0"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
+ },
+ "fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "dev": true,
+ "optional": true
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ },
+ "gauge": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
+ "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
+ "requires": {
+ "aproba": "^1.0.3 || ^2.0.0",
+ "color-support": "^1.1.2",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.1",
+ "object-assign": "^4.1.1",
+ "signal-exit": "^3.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "wide-align": "^1.1.2"
+ }
+ },
+ "generic-pool": {
+ "version": "3.8.2",
+ "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.8.2.tgz",
+ "integrity": "sha512-nGToKy6p3PAbYQ7p1UlWl6vSPwfwU6TMSWK7TTu+WUY4ZjyZQGniGGt2oNVvyNSpyZYSB43zMXVLcBm08MTMkg=="
+ },
+ "get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
+ },
+ "get-intrinsic": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
+ "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
+ "requires": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.3"
+ }
+ },
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "good-listener": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz",
+ "integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==",
+ "requires": {
+ "delegate": "^3.1.2"
+ }
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "dev": true
+ },
+ "has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ=="
+ },
+ "http": {
+ "version": "0.0.1-security",
+ "resolved": "https://registry.npmjs.org/http/-/http-0.0.1-security.tgz",
+ "integrity": "sha512-RnDvP10Ty9FxqOtPZuxtebw1j4L/WiqNMDtuc1YMH1XQm5TgDRaR1G9u8upL6KD1bXHSp9eSXo/ED+8Q7FAr+g=="
+ },
+ "http-errors": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+ "requires": {
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
+ }
+ },
+ "https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "requires": {
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
+ },
+ "ignore-by-default": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
+ "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==",
+ "dev": true
+ },
+ "inflection": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.13.2.tgz",
+ "integrity": "sha512-cmZlljCRTBFouT8UzMzrGcVEvkv6D/wBdcdKG7J1QH5cXjtU75Dm+P27v9EKu/Y43UYyCJd1WC4zLebRrC8NBw=="
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "ioredis": {
+ "version": "4.28.5",
+ "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-4.28.5.tgz",
+ "integrity": "sha512-3GYo0GJtLqgNXj4YhrisLaNNvWSNwSS2wS4OELGfGxH8I69+XfNdnmV1AyN+ZqMh0i7eX+SWjrwFKDBDgfBC1A==",
+ "requires": {
+ "cluster-key-slot": "^1.1.0",
+ "debug": "^4.3.1",
+ "denque": "^1.1.0",
+ "lodash.defaults": "^4.2.0",
+ "lodash.flatten": "^4.4.0",
+ "lodash.isarguments": "^3.1.0",
+ "p-map": "^2.1.0",
+ "redis-commands": "1.7.0",
+ "redis-errors": "^1.2.0",
+ "redis-parser": "^3.0.0",
+ "standard-as-callback": "^2.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "denque": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.1.tgz",
+ "integrity": "sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw=="
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
+ "ip": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
+ "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
+ },
+ "ipaddr.js": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
+ },
+ "is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dev": true,
+ "requires": {
+ "binary-extensions": "^2.0.0"
+ }
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
+ },
+ "is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true
+ },
+ "jake": {
+ "version": "10.8.5",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz",
+ "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==",
+ "requires": {
+ "async": "^3.2.3",
+ "chalk": "^4.0.2",
+ "filelist": "^1.0.1",
+ "minimatch": "^3.0.4"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "jquery": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.1.tgz",
+ "integrity": "sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw=="
+ },
+ "jquery.json-viewer": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/jquery.json-viewer/-/jquery.json-viewer-1.5.0.tgz",
+ "integrity": "sha512-M/mRFXg14V/UUAlz7TBNBIDmQdWt05BunsqC/UjEx5BoFdQpNpfkfDdVn+VtjX951n/an/T9GWB3apBp02x8Mg=="
+ },
+ "json5": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
+ "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA=="
+ },
+ "jsonwebtoken": {
+ "version": "8.5.1",
+ "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz",
+ "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==",
+ "requires": {
+ "jws": "^3.2.2",
+ "lodash.includes": "^4.3.0",
+ "lodash.isboolean": "^3.0.3",
+ "lodash.isinteger": "^4.0.4",
+ "lodash.isnumber": "^3.0.3",
+ "lodash.isplainobject": "^4.0.6",
+ "lodash.isstring": "^4.0.1",
+ "lodash.once": "^4.0.0",
+ "ms": "^2.1.1",
+ "semver": "^5.6.0"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+ }
+ }
+ },
+ "jstree": {
+ "version": "3.3.12",
+ "resolved": "https://registry.npmjs.org/jstree/-/jstree-3.3.12.tgz",
+ "integrity": "sha512-vHNLWkUr02ZYH7RcIckvhtLUtneWCVEtIKpIp2G9WtRh01ITv18EoNtNQcFG3ozM+oK6wp1Z300gSLXNQWCqGA==",
+ "requires": {
+ "jquery": ">=1.9.1"
+ }
+ },
+ "jwa": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz",
+ "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==",
+ "requires": {
+ "buffer-equal-constant-time": "1.0.1",
+ "ecdsa-sig-formatter": "1.0.11",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "jws": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz",
+ "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==",
+ "requires": {
+ "jwa": "^1.4.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "kareem": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.4.1.tgz",
+ "integrity": "sha512-aJ9opVoXroQUPfovYP5kaj2lM7Jn02Gw13bL0lg9v0V7SaUc0qavPs0Eue7d2DcC3NjqI6QAUElXNsuZSeM+EA=="
+ },
+ "lodash.defaults": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
+ "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ=="
+ },
+ "lodash.flatten": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
+ "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g=="
+ },
+ "lodash.includes": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
+ "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w=="
+ },
+ "lodash.isarguments": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+ "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg=="
+ },
+ "lodash.isboolean": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
+ "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg=="
+ },
+ "lodash.isequal": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
+ "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ=="
+ },
+ "lodash.isinteger": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
+ "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA=="
+ },
+ "lodash.isnumber": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz",
+ "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw=="
+ },
+ "lodash.isplainobject": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+ "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA=="
+ },
+ "lodash.isstring": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
+ "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw=="
+ },
+ "lodash.once": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
+ "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg=="
+ },
+ "lossless-json": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/lossless-json/-/lossless-json-1.0.5.tgz",
+ "integrity": "sha512-RicKUuLwZVNZ6ZdJHgIZnSeA05p8qWc5NW0uR96mpPIjN9WDLUg9+kj1esQU1GkPn9iLZVKatSQK5gyiaFHgJA=="
+ },
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
+ "make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "requires": {
+ "semver": "^6.0.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ }
+ }
+ },
+ "media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ=="
+ },
+ "memory-pager": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
+ "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
+ "optional": true
+ },
+ "merge-descriptors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+ "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
+ },
+ "methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w=="
+ },
+ "mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
+ },
+ "mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
+ },
+ "mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "requires": {
+ "mime-db": "1.52.0"
+ }
+ },
+ "minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minipass": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz",
+ "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==",
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
+ "minizlib": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
+ "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
+ "requires": {
+ "minipass": "^3.0.0",
+ "yallist": "^4.0.0"
+ }
+ },
+ "mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
+ },
+ "moment": {
+ "version": "2.29.4",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
+ "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w=="
+ },
+ "mongodb": {
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.9.1.tgz",
+ "integrity": "sha512-ZhgI/qBf84fD7sI4waZBoLBNJYPQN5IOC++SBCiPiyhzpNKOxN/fi0tBHvH2dEC42HXtNEbFB0zmNz4+oVtorQ==",
+ "requires": {
+ "bson": "^4.7.0",
+ "denque": "^2.1.0",
+ "mongodb-connection-string-url": "^2.5.3",
+ "saslprep": "^1.0.3",
+ "socks": "^2.7.0"
+ }
+ },
+ "mongodb-connection-string-url": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.5.4.tgz",
+ "integrity": "sha512-SeAxuWs0ez3iI3vvmLk/j2y+zHwigTDKQhtdxTgt5ZCOQQS5+HW4g45/Xw5vzzbn7oQXCNQ24Z40AkJsizEy7w==",
+ "requires": {
+ "@types/whatwg-url": "^8.2.1",
+ "whatwg-url": "^11.0.0"
+ }
+ },
+ "mongoose": {
+ "version": "6.6.5",
+ "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.6.5.tgz",
+ "integrity": "sha512-iA/oDpWOc+K2QYzA4Eq7Z1oUBQOz9FGDmUwPLgw872Bfs/qizA5Db+gJorAn+TnnGu3VoCK8iP4Y+TECUelwjA==",
+ "requires": {
+ "bson": "^4.6.5",
+ "kareem": "2.4.1",
+ "mongodb": "4.9.1",
+ "mpath": "0.9.0",
+ "mquery": "4.0.3",
+ "ms": "2.1.3",
+ "sift": "16.0.0"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ }
+ }
+ },
+ "mpath": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz",
+ "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew=="
+ },
+ "mquery": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.3.tgz",
+ "integrity": "sha512-J5heI+P08I6VJ2Ky3+33IpCdAvlYGTSUjwTPxkAr8i8EoduPMBX2OY/wa3IKZIQl7MU4SbFk8ndgSKyB/cl1zA==",
+ "requires": {
+ "debug": "4.x"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "negotiator": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="
+ },
+ "node-addon-api": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.0.0.tgz",
+ "integrity": "sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA=="
+ },
+ "node-fetch": {
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "requires": {
+ "whatwg-url": "^5.0.0"
+ },
+ "dependencies": {
+ "tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
+ },
+ "webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
+ },
+ "whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+ "requires": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ }
+ }
+ },
+ "node-redis-dump2": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/node-redis-dump2/-/node-redis-dump2-0.5.0.tgz",
+ "integrity": "sha512-rG54sksxPvNB0/1tsUESVBhapzCX0yAIwW2cv3k0jFK01nc0Zu/yaHGC28tCk6DHDVs9+kCFdAWewMrslJTrEA==",
+ "requires": {
+ "async": "^3.2.0",
+ "ioredis": "^4.27.0",
+ "underscore": "^1.13.1"
+ }
+ },
+ "nodemon": {
+ "version": "2.0.20",
+ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.20.tgz",
+ "integrity": "sha512-Km2mWHKKY5GzRg6i1j5OxOHQtuvVsgskLfigG25yTtbyfRGn/GNvIbRyOf1PSCKJ2aT/58TiuUsuOU5UToVViw==",
+ "dev": true,
+ "requires": {
+ "chokidar": "^3.5.2",
+ "debug": "^3.2.7",
+ "ignore-by-default": "^1.0.1",
+ "minimatch": "^3.1.2",
+ "pstree.remy": "^1.1.8",
+ "semver": "^5.7.1",
+ "simple-update-notifier": "^1.0.7",
+ "supports-color": "^5.5.0",
+ "touch": "^3.1.0",
+ "undefsafe": "^2.0.5"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ }
+ }
+ },
+ "nopt": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
+ "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
+ "requires": {
+ "abbrev": "1"
+ }
+ },
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true
+ },
+ "npmlog": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
+ "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
+ "requires": {
+ "are-we-there-yet": "^2.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^3.0.0",
+ "set-blocking": "^2.0.0"
+ }
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
+ },
+ "object-inspect": {
+ "version": "1.12.2",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
+ "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ=="
+ },
+ "on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "requires": {
+ "ee-first": "1.1.1"
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "opener": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz",
+ "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A=="
+ },
+ "p-map": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
+ "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw=="
+ },
+ "parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="
+ },
+ "path-to-regexp": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+ "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
+ },
+ "picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true
+ },
+ "proxy-addr": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
+ "requires": {
+ "forwarded": "0.2.0",
+ "ipaddr.js": "1.9.1"
+ }
+ },
+ "pstree.remy": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
+ "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==",
+ "dev": true
+ },
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
+ },
+ "qs": {
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
+ "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
+ "requires": {
+ "side-channel": "^1.0.4"
+ }
+ },
+ "range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
+ },
+ "raw-body": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
+ "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
+ "requires": {
+ "bytes": "3.1.2",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ }
+ },
+ "readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ },
+ "readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dev": true,
+ "requires": {
+ "picomatch": "^2.2.1"
+ }
+ },
+ "readline-browserify": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/readline-browserify/-/readline-browserify-0.0.4.tgz",
+ "integrity": "sha512-SHbXkW5caHKOF7O06a60TF1vF/uBLB3b4ZF91tmwcuNOwnLrsgqy8p+XIP3J9h41AZuM9AqlKlQO9tvU/muD4w=="
+ },
+ "redis": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/redis/-/redis-4.3.1.tgz",
+ "integrity": "sha512-cM7yFU5CA6zyCF7N/+SSTcSJQSRMEKN0k0Whhu6J7n9mmXRoXugfWDBo5iOzGwABmsWKSwGPTU5J4Bxbl+0mrA==",
+ "requires": {
+ "@redis/bloom": "1.0.2",
+ "@redis/client": "1.3.0",
+ "@redis/graph": "1.0.1",
+ "@redis/json": "1.0.4",
+ "@redis/search": "1.1.0",
+ "@redis/time-series": "1.0.3"
+ }
+ },
+ "redis-commander": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/redis-commander/-/redis-commander-0.8.0.tgz",
+ "integrity": "sha512-vE1VCjI6KMxvrP7ClwylqV8DR3mbGuRClOlmi1mtNcxuWQ5G1WLnBNNAdlRcqOCv64bx2rLiuHV1lW1jyGgbxQ==",
+ "requires": {
+ "async": "3.2.3",
+ "bcrypt": "~5.0.0",
+ "bcryptjs": "2.4.3",
+ "body-parser": "1.20.0",
+ "clipboard": "2.0.10",
+ "cmdparser": "0.0.3",
+ "config": "3.3.7",
+ "dateformat": "3.0.3",
+ "ejs": "3.1.7",
+ "express": "4.18.1",
+ "express-partials": "0.3.0",
+ "inflection": "1.13.2",
+ "ioredis": "4.28.5",
+ "jquery.json-viewer": "1.5.0",
+ "jsonwebtoken": "8.5.1",
+ "jstree": "3.3.12",
+ "lodash.isequal": "4.5.0",
+ "lossless-json": "1.0.5",
+ "node-redis-dump2": "0.5.0",
+ "opener": "1.5.2",
+ "readline-browserify": "0.0.4",
+ "yargs": "17.4.1"
+ },
+ "dependencies": {
+ "bcrypt": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.0.1.tgz",
+ "integrity": "sha512-9BTgmrhZM2t1bNuDtrtIMVSmmxZBrJ71n8Wg+YgdjHuIWYF7SjjmCPZFB+/5i/o/PIeRpwVJR3P+NrpIItUjqw==",
+ "optional": true,
+ "requires": {
+ "@mapbox/node-pre-gyp": "^1.0.0",
+ "node-addon-api": "^3.1.0"
+ }
+ },
+ "body-parser": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
+ "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
+ "requires": {
+ "bytes": "3.1.2",
+ "content-type": "~1.0.4",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "on-finished": "2.4.1",
+ "qs": "6.10.3",
+ "raw-body": "2.5.1",
+ "type-is": "~1.6.18",
+ "unpipe": "1.0.0"
+ }
+ },
+ "express": {
+ "version": "4.18.1",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz",
+ "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==",
+ "requires": {
+ "accepts": "~1.3.8",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.20.0",
+ "content-disposition": "0.5.4",
+ "content-type": "~1.0.4",
+ "cookie": "0.5.0",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "1.2.0",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.7",
+ "qs": "6.10.3",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.2.1",
+ "send": "0.18.0",
+ "serve-static": "1.15.0",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ }
+ },
+ "node-addon-api": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz",
+ "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==",
+ "optional": true
+ },
+ "qs": {
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+ "requires": {
+ "side-channel": "^1.0.4"
+ }
+ }
+ }
+ },
+ "redis-commands": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.7.0.tgz",
+ "integrity": "sha512-nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ=="
+ },
+ "redis-errors": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz",
+ "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w=="
+ },
+ "redis-parser": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz",
+ "integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==",
+ "requires": {
+ "redis-errors": "^1.0.0"
+ }
+ },
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "saslprep": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
+ "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==",
+ "optional": true,
+ "requires": {
+ "sparse-bitfield": "^3.0.3"
+ }
+ },
+ "select": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz",
+ "integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA=="
+ },
+ "semver": {
+ "version": "7.3.8",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+ "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "send": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
+ "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
+ "requires": {
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ }
+ }
+ },
+ "serve-static": {
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
+ "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
+ "requires": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.18.0"
+ }
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
+ },
+ "setprototypeof": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
+ },
+ "side-channel": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+ "requires": {
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ }
+ },
+ "sift": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/sift/-/sift-16.0.0.tgz",
+ "integrity": "sha512-ILTjdP2Mv9V1kIxWMXeMTIRbOBrqKc4JAXmFMnFq3fKeyQ2Qwa3Dw1ubcye3vR+Y6ofA0b9gNDr/y2t6eUeIzQ=="
+ },
+ "signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
+ },
+ "simple-update-notifier": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz",
+ "integrity": "sha512-BBKgR84BJQJm6WjWFMHgLVuo61FBDSj1z/xSFUIozqO6wO7ii0JxCqlIud7Enr/+LhlbNI0whErq96P2qHNWew==",
+ "dev": true,
+ "requires": {
+ "semver": "~7.0.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
+ "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
+ "dev": true
+ }
+ }
+ },
+ "smart-buffer": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
+ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg=="
+ },
+ "socket.io": {
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.2.tgz",
+ "integrity": "sha512-6fCnk4ARMPZN448+SQcnn1u8OHUC72puJcNtSgg2xS34Cu7br1gQ09YKkO1PFfDn/wyUE9ZgMAwosJed003+NQ==",
+ "requires": {
+ "accepts": "~1.3.4",
+ "base64id": "~2.0.0",
+ "debug": "~4.3.2",
+ "engine.io": "~6.2.0",
+ "socket.io-adapter": "~2.4.0",
+ "socket.io-parser": "~4.2.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
+ "socket.io-adapter": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
+ "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg=="
+ },
+ "socket.io-client": {
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.2.tgz",
+ "integrity": "sha512-naqYfFu7CLDiQ1B7AlLhRXKX3gdeaIMfgigwavDzgJoIUYulc1qHH5+2XflTsXTPY7BlPH5rppJyUjhjrKQKLg==",
+ "requires": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.2",
+ "engine.io-client": "~6.2.1",
+ "socket.io-parser": "~4.2.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
+ "socket.io-parser": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz",
+ "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==",
+ "requires": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
+ "socks": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
+ "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
+ "requires": {
+ "ip": "^2.0.0",
+ "smart-buffer": "^4.2.0"
+ }
+ },
+ "sparse-bitfield": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
+ "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==",
+ "optional": true,
+ "requires": {
+ "memory-pager": "^1.0.2"
+ }
+ },
+ "standard-as-callback": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz",
+ "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A=="
+ },
+ "statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="
+ },
+ "string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "requires": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "tar": {
+ "version": "6.1.11",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
+ "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
+ "requires": {
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^3.0.0",
+ "minizlib": "^2.1.1",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
+ }
+ },
+ "tiny-emitter": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
+ "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q=="
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "toidentifier": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="
+ },
+ "touch": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
+ "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==",
+ "dev": true,
+ "requires": {
+ "nopt": "~1.0.10"
+ },
+ "dependencies": {
+ "nopt": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
+ "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==",
+ "dev": true,
+ "requires": {
+ "abbrev": "1"
+ }
+ }
+ }
+ },
+ "tr46": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
+ "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
+ "requires": {
+ "punycode": "^2.1.1"
+ }
+ },
+ "type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "requires": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ }
+ },
+ "undefsafe": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
+ "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==",
+ "dev": true
+ },
+ "underscore": {
+ "version": "1.13.6",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz",
+ "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A=="
+ },
+ "unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+ },
+ "utils-merge": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA=="
+ },
+ "uuid": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
+ "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg=="
+ },
+ "vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="
+ },
+ "webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="
+ },
+ "whatwg-url": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
+ "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
+ "requires": {
+ "tr46": "^3.0.0",
+ "webidl-conversions": "^7.0.0"
+ }
+ },
+ "wide-align": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
+ "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
+ "requires": {
+ "string-width": "^1.0.2 || 2 || 3 || 4"
+ }
+ },
+ "wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ },
+ "ws": {
+ "version": "8.2.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
+ "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
+ "requires": {}
+ },
+ "xmlhttprequest-ssl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
+ "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A=="
+ },
+ "y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ },
+ "yargs": {
+ "version": "17.4.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz",
+ "integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==",
+ "requires": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.0.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="
+ }
+ }
+}
diff --git a/collaboration-service/package.json b/collaboration-service/package.json
new file mode 100644
index 0000000..b7f7bed
--- /dev/null
+++ b/collaboration-service/package.json
@@ -0,0 +1,33 @@
+{
+ "name": "collaboration-service",
+ "version": "1.0.0",
+ "description": "",
+ "main": "index.js",
+ "type": "module",
+ "scripts": {
+ "start": "node index.js",
+ "dev": "nodemon index.js",
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "author": "",
+ "license": "ISC",
+ "devDependencies": {
+ "nodemon": "^2.0.19"
+ },
+ "dependencies": {
+ "bcrypt": "^5.0.1",
+ "chalk": "^5.1.0",
+ "cors": "^2.8.5",
+ "dotenv": "^16.0.3",
+ "express": "^4.18.1",
+ "http": "^0.0.1-security",
+ "jsonwebtoken": "^8.5.1",
+ "moment": "^2.29.4",
+ "mongoose": "^6.4.5",
+ "redis": "^4.0.0-rc.2",
+ "redis-commander": "^0.8.0",
+ "socket.io": "^4.5.2",
+ "socket.io-client": "^4.5.2",
+ "uuid": "^9.0.0"
+ }
+}
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..23384c6
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,109 @@
+version: '3.8'
+
+services:
+ frontend:
+ image: cs3219g2/frontend
+ ports:
+ - "3000:3000"
+ environment:
+ REACT_APP_QN_SERVER_IP: ${REACT_APP_QN_SERVER_IP}
+ REACT_APP_QN_SERVER_PORT: ${REACT_APP_QN_SERVER_PORT}
+ REACT_APP_USER_SERVER_IP: ${REACT_APP_USER_SERVER_IP}
+ REACT_APP_USER_SERVER_PORT: ${REACT_APP_USER_SERVER_PORT}
+ REACT_APP_MATCH_SERVER_IP: ${REACT_APP_MATCH_SERVER_IP}
+ REACT_APP_MATCH_SERVER_PORT: ${REACT_APP_MATCH_SERVER_PORT}
+ REACT_APP_COLLAB_SERVER_IP: ${REACT_APP_COLLAB_SERVER_IP}
+ REACT_APP_COLLAB_SERVER_PORT: ${REACT_APP_COLLAB_SERVER_PORT}
+ REACT_APP_CHAT_SERVER_IP: ${REACT_APP_CHAT_SERVER_IP}
+ REACT_APP_CHAT_SERVER_PORT: ${REACT_APP_CHAT_SERVER_PORT}
+
+ user-service:
+ image: cs3219g2/userservice
+ ports:
+ - "8000:8000"
+ depends_on:
+ - usermongo
+ - userredis
+ environment:
+ ENV: ${ENV}
+ JWT_SECRET_KEY: ${JWT_SECRET_KEY}
+ USER_MONGO_IP: ${USER_MONGO_IP}
+ USER_MONGO_PORT: ${USER_MONGO_PORT}
+ USER_REDIS_IP: ${USER_REDIS_IP}
+ USER_REDIS_PORT: ${USER_REDIS_PORT}
+ DB_LOCAL_URI: ${DB_LOCAL_URI}
+
+ matching-service:
+ image: cs3219g2/matchservice
+ ports:
+ - "8001:8001"
+ environment:
+ QN_SERVER_IP: ${QN_SERVER_IP}
+ QN_SERVER_PORT: ${QN_SERVER_PORT}
+
+ collab-service:
+ image: cs3219g2/collabservice
+ ports:
+ - "8002:8002"
+ depends_on:
+ - collabredis
+ environment:
+ COLLAB_REDIS_IP: ${COLLAB_REDIS_IP}
+ COLLAB_REDIS_PORT: ${COLLAB_REDIS_PORT}
+
+ chatservice:
+ image: cs3219g2/chatservice
+ ports:
+ - "8005:8005"
+ depends_on:
+ - chatmongo
+ environment:
+ ENV: ${ENV}
+ CHAT_MONGO_IP: ${CHAT_MONGO_IP}
+ CHAT_MONGO_PORT: ${CHAT_MONGO_PORT}
+ DB_LOCAL_URI: ${DB_LOCAL_URI}
+
+ questionservice:
+ image: cs3219g2/questionservice
+ ports:
+ - "5200:5200"
+ depends_on:
+ - questionmongo
+ environment:
+ QN_MONGO_PORT: ${QN_MONGO_PORT}
+ QN_MONGO_IP: ${QN_MONGO_IP}
+
+ chatmongo:
+ image: mongo:latest
+ command: mongod --port 27018
+ ports:
+ - "27018:27018"
+
+ questionmongo:
+ image: mongo:latest
+ command: mongod --port 27019
+ ports:
+ - "27019:27019"
+
+ mongo-seed:
+ image: cs3219g2/questionseed
+ depends_on:
+ - questionmongo
+
+ usermongo:
+ image: mongo:latest
+ command: mongod --port 27020
+ ports:
+ - "27020:27020"
+
+ userredis:
+ image: redis:4.0.10
+ command: --port 6380
+ ports:
+ - "6380:6380"
+
+ collabredis:
+ image: redis:4.0.10
+ command: --port 6381
+ ports:
+ - "6381:6381"
diff --git a/frontend/.dockerignore b/frontend/.dockerignore
new file mode 100644
index 0000000..edd83c0
--- /dev/null
+++ b/frontend/.dockerignore
@@ -0,0 +1,4 @@
+node_modules
+npm-debug.log
+Dockerfile
+.dockerignore
\ No newline at end of file
diff --git a/frontend/Dockerfile b/frontend/Dockerfile
new file mode 100644
index 0000000..71e5cbd
--- /dev/null
+++ b/frontend/Dockerfile
@@ -0,0 +1,17 @@
+FROM node:latest
+
+RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app
+
+WORKDIR /home/node/app
+
+COPY --chown=node:node package*.json ./
+
+USER node
+
+RUN npm install --force
+
+COPY --chown=node:node . .
+
+EXPOSE 3000
+
+CMD [ "npm", "start" ]
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index 3e64bea..18a90ba 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -1,8 +1,19568 @@
{
"name": "frontend",
"version": "0.1.0",
- "lockfileVersion": 1,
+ "lockfileVersion": 2,
"requires": true,
+ "packages": {
+ "": {
+ "name": "frontend",
+ "version": "0.1.0",
+ "dependencies": {
+ "@chakra-ui/react": "^2.3.5",
+ "@emotion/react": "^11.10.4",
+ "@emotion/styled": "^11.9.3",
+ "@fortawesome/fontawesome-svg-core": "^6.2.0",
+ "@fortawesome/free-regular-svg-icons": "^6.2.0",
+ "@fortawesome/free-solid-svg-icons": "^6.2.0",
+ "@fortawesome/react-fontawesome": "^0.2.0",
+ "@material-ui/core": "^4.12.4",
+ "@material-ui/icons": "^4.11.3",
+ "@mui/icons-material": "^5.10.6",
+ "@mui/material": "^5.9.1",
+ "@testing-library/jest-dom": "^5.16.4",
+ "@testing-library/react": "^13.3.0",
+ "@testing-library/user-event": "^13.5.0",
+ "@uiw/react-codemirror": "^4.12.4",
+ "axios": "^0.27.2",
+ "codemirror": "^5.63.0",
+ "dotenv-webpack": "^8.0.1",
+ "fa-icons": "^0.2.0",
+ "framer-motion": "^7.5.3",
+ "js-base64": "^3.7.2",
+ "path": "^0.12.7",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
+ "react-router-dom": "^6.4.0",
+ "react-scripts": "5.0.1",
+ "socket.io-client": "^4.5.1",
+ "universal-cookie": "^4.0.4",
+ "web-vitals": "^2.1.4",
+ "zustand": "^4.1.2"
+ },
+ "devDependencies": {
+ "eslint": "^8.21.0",
+ "eslint-plugin-react": "^7.30.1"
+ }
+ },
+ "node_modules/@ampproject/remapping": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
+ "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.1.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/code-frame": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
+ "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
+ "dependencies": {
+ "@babel/highlight": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/compat-data": {
+ "version": "7.18.8",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz",
+ "integrity": "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.6.tgz",
+ "integrity": "sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ==",
+ "dependencies": {
+ "@ampproject/remapping": "^2.1.0",
+ "@babel/code-frame": "^7.18.6",
+ "@babel/generator": "^7.18.6",
+ "@babel/helper-compilation-targets": "^7.18.6",
+ "@babel/helper-module-transforms": "^7.18.6",
+ "@babel/helpers": "^7.18.6",
+ "@babel/parser": "^7.18.6",
+ "@babel/template": "^7.18.6",
+ "@babel/traverse": "^7.18.6",
+ "@babel/types": "^7.18.6",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.1",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
+ }
+ },
+ "node_modules/@babel/core/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/eslint-parser": {
+ "version": "7.18.2",
+ "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.18.2.tgz",
+ "integrity": "sha512-oFQYkE8SuH14+uR51JVAmdqwKYXGRjEXx7s+WiagVjqQ+HPE+nnwyF2qlVG8evUsUHmPcA+6YXMEDbIhEyQc5A==",
+ "dependencies": {
+ "eslint-scope": "^5.1.1",
+ "eslint-visitor-keys": "^2.1.0",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || >=14.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": ">=7.11.0",
+ "eslint": "^7.5.0 || ^8.0.0"
+ }
+ },
+ "node_modules/@babel/eslint-parser/node_modules/eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+ "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@babel/eslint-parser/node_modules/estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/@babel/eslint-parser/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.18.7",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.7.tgz",
+ "integrity": "sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A==",
+ "dependencies": {
+ "@babel/types": "^7.18.7",
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "jsesc": "^2.5.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
+ "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
+ "dependencies": {
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/helper-annotate-as-pure": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz",
+ "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==",
+ "dependencies": {
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.6.tgz",
+ "integrity": "sha512-KT10c1oWEpmrIRYnthbzHgoOf6B+Xd6a5yhdbNtdhtG7aO1or5HViuf1TQR36xY/QprXA5nvxO6nAjhJ4y38jw==",
+ "dependencies": {
+ "@babel/helper-explode-assignable-expression": "^7.18.6",
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.6.tgz",
+ "integrity": "sha512-vFjbfhNCzqdeAtZflUFrG5YIFqGTqsctrtkZ1D/NB0mDW9TwW3GmmUepYY4G9wCET5rY5ugz4OGTcLd614IzQg==",
+ "dependencies": {
+ "@babel/compat-data": "^7.18.6",
+ "@babel/helper-validator-option": "^7.18.6",
+ "browserslist": "^4.20.2",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/helper-create-class-features-plugin": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.6.tgz",
+ "integrity": "sha512-YfDzdnoxHGV8CzqHGyCbFvXg5QESPFkXlHtvdCkesLjjVMT2Adxe4FGUR5ChIb3DxSaXO12iIOCWoXdsUVwnqw==",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.18.6",
+ "@babel/helper-environment-visitor": "^7.18.6",
+ "@babel/helper-function-name": "^7.18.6",
+ "@babel/helper-member-expression-to-functions": "^7.18.6",
+ "@babel/helper-optimise-call-expression": "^7.18.6",
+ "@babel/helper-replace-supers": "^7.18.6",
+ "@babel/helper-split-export-declaration": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-create-regexp-features-plugin": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz",
+ "integrity": "sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.18.6",
+ "regexpu-core": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-define-polyfill-provider": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz",
+ "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==",
+ "dependencies": {
+ "@babel/helper-compilation-targets": "^7.13.0",
+ "@babel/helper-module-imports": "^7.12.13",
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/traverse": "^7.13.0",
+ "debug": "^4.1.1",
+ "lodash.debounce": "^4.0.8",
+ "resolve": "^1.14.2",
+ "semver": "^6.1.2"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.4.0-0"
+ }
+ },
+ "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/helper-environment-visitor": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.6.tgz",
+ "integrity": "sha512-8n6gSfn2baOY+qlp+VSzsosjCVGFqWKmDF0cCWOybh52Dw3SEyoWR1KrhMJASjLwIEkkAufZ0xvr+SxLHSpy2Q==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-explode-assignable-expression": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz",
+ "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==",
+ "dependencies": {
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-function-name": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.6.tgz",
+ "integrity": "sha512-0mWMxV1aC97dhjCah5U5Ua7668r5ZmSC2DLfH2EZnf9c3/dHZKiFa5pRLMH5tjSl471tY6496ZWk/kjNONBxhw==",
+ "dependencies": {
+ "@babel/template": "^7.18.6",
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-hoist-variables": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
+ "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
+ "dependencies": {
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-member-expression-to-functions": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.6.tgz",
+ "integrity": "sha512-CeHxqwwipekotzPDUuJOfIMtcIHBuc7WAzLmTYWctVigqS5RktNMQ5bEwQSuGewzYnCtTWa3BARXeiLxDTv+Ng==",
+ "dependencies": {
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
+ "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
+ "dependencies": {
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.18.8",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.8.tgz",
+ "integrity": "sha512-che3jvZwIcZxrwh63VfnFTUzcAM9v/lznYkkRxIBGMPt1SudOKHAEec0SIRCfiuIzTcF7VGj/CaTT6gY4eWxvA==",
+ "dependencies": {
+ "@babel/helper-environment-visitor": "^7.18.6",
+ "@babel/helper-module-imports": "^7.18.6",
+ "@babel/helper-simple-access": "^7.18.6",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "@babel/helper-validator-identifier": "^7.18.6",
+ "@babel/template": "^7.18.6",
+ "@babel/traverse": "^7.18.8",
+ "@babel/types": "^7.18.8"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-optimise-call-expression": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz",
+ "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==",
+ "dependencies": {
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-plugin-utils": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.6.tgz",
+ "integrity": "sha512-gvZnm1YAAxh13eJdkb9EWHBnF3eAub3XTLCZEehHT2kWxiKVRL64+ae5Y6Ivne0mVHmMYKT+xWgZO+gQhuLUBg==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-remap-async-to-generator": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.6.tgz",
+ "integrity": "sha512-z5wbmV55TveUPZlCLZvxWHtrjuJd+8inFhk7DG0WW87/oJuGDcjDiu7HIvGcpf5464L6xKCg3vNkmlVVz9hwyQ==",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.18.6",
+ "@babel/helper-environment-visitor": "^7.18.6",
+ "@babel/helper-wrap-function": "^7.18.6",
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-replace-supers": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.6.tgz",
+ "integrity": "sha512-fTf7zoXnUGl9gF25fXCWE26t7Tvtyn6H4hkLSYhATwJvw2uYxd3aoXplMSe0g9XbwK7bmxNes7+FGO0rB/xC0g==",
+ "dependencies": {
+ "@babel/helper-environment-visitor": "^7.18.6",
+ "@babel/helper-member-expression-to-functions": "^7.18.6",
+ "@babel/helper-optimise-call-expression": "^7.18.6",
+ "@babel/traverse": "^7.18.6",
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-simple-access": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz",
+ "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==",
+ "dependencies": {
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.6.tgz",
+ "integrity": "sha512-4KoLhwGS9vGethZpAhYnMejWkX64wsnHPDwvOsKWU6Fg4+AlK2Jz3TyjQLMEPvz+1zemi/WBdkYxCD0bAfIkiw==",
+ "dependencies": {
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-split-export-declaration": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
+ "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
+ "dependencies": {
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz",
+ "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
+ "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-wrap-function": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.6.tgz",
+ "integrity": "sha512-I5/LZfozwMNbwr/b1vhhuYD+J/mU+gfGAj5td7l5Rv9WYmH6i3Om69WGKNmlIpsVW/mF6O5bvTKbvDQZVgjqOw==",
+ "dependencies": {
+ "@babel/helper-function-name": "^7.18.6",
+ "@babel/template": "^7.18.6",
+ "@babel/traverse": "^7.18.6",
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helpers": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.6.tgz",
+ "integrity": "sha512-vzSiiqbQOghPngUYt/zWGvK3LAsPhz55vc9XNN0xAl2gV4ieShI2OQli5duxWHD+72PZPTKAcfcZDE1Cwc5zsQ==",
+ "dependencies": {
+ "@babel/template": "^7.18.6",
+ "@babel/traverse": "^7.18.6",
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/highlight": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
+ "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.18.6",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.18.8",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.8.tgz",
+ "integrity": "sha512-RSKRfYX20dyH+elbJK2uqAkVyucL+xXzhqlMD5/ZXx+dAAwpyB7HsvnHe/ZUGOF+xLr5Wx9/JoXVTj6BQE2/oA==",
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz",
+ "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.6.tgz",
+ "integrity": "sha512-Udgu8ZRgrBrttVz6A0EVL0SJ1z+RLbIeqsu632SA1hf0awEppD6TvdznoH+orIF8wtFFAV/Enmw9Y+9oV8TQcw==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.18.6",
+ "@babel/plugin-proposal-optional-chaining": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.13.0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-async-generator-functions": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz",
+ "integrity": "sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w==",
+ "dependencies": {
+ "@babel/helper-environment-visitor": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/helper-remap-async-to-generator": "^7.18.6",
+ "@babel/plugin-syntax-async-generators": "^7.8.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-class-properties": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz",
+ "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-class-static-block": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz",
+ "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-class-static-block": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.12.0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-decorators": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.18.6.tgz",
+ "integrity": "sha512-gAdhsjaYmiZVxx5vTMiRfj31nB7LhwBJFMSLzeDxc7X4tKLixup0+k9ughn0RcpBrv9E3PBaXJW7jF5TCihAOg==",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/helper-replace-supers": "^7.18.6",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "@babel/plugin-syntax-decorators": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-dynamic-import": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz",
+ "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-export-namespace-from": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.6.tgz",
+ "integrity": "sha512-zr/QcUlUo7GPo6+X1wC98NJADqmy5QTFWWhqeQWiki4XHafJtLl/YMGkmRB2szDD2IYJCCdBTd4ElwhId9T7Xw==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-json-strings": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz",
+ "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-json-strings": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-logical-assignment-operators": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.6.tgz",
+ "integrity": "sha512-zMo66azZth/0tVd7gmkxOkOjs2rpHyhpcFo565PUP37hSp6hSd9uUKIfTDFMz58BwqgQKhJ9YxtM5XddjXVn+Q==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz",
+ "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-numeric-separator": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz",
+ "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-object-rest-spread": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.6.tgz",
+ "integrity": "sha512-9yuM6wr4rIsKa1wlUAbZEazkCrgw2sMPEXCr4Rnwetu7cEW1NydkCWytLuYletbf8vFxdJxFhwEZqMpOx2eZyw==",
+ "dependencies": {
+ "@babel/compat-data": "^7.18.6",
+ "@babel/helper-compilation-targets": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-transform-parameters": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-optional-catch-binding": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz",
+ "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-optional-chaining": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.6.tgz",
+ "integrity": "sha512-PatI6elL5eMzoypFAiYDpYQyMtXTn+iMhuxxQt5mAXD4fEmKorpSI3PHd+i3JXBJN3xyA6MvJv7at23HffFHwA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.18.6",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-private-methods": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz",
+ "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-private-property-in-object": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz",
+ "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.18.6",
+ "@babel/helper-create-class-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-unicode-property-regex": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz",
+ "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-async-generators": {
+ "version": "7.8.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+ "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-bigint": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
+ "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-class-properties": {
+ "version": "7.12.13",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
+ "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-class-static-block": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
+ "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-decorators": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.18.6.tgz",
+ "integrity": "sha512-fqyLgjcxf/1yhyZ6A+yo1u9gJ7eleFQod2lkaUsF9DQ7sbbY3Ligym3L0+I2c0WmqNKDpoD9UTb1AKP3qRMOAQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-dynamic-import": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
+ "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-export-namespace-from": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
+ "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-flow": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz",
+ "integrity": "sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-import-assertions": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz",
+ "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-import-meta": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
+ "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-json-strings": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+ "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-jsx": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz",
+ "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
+ "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+ "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-numeric-separator": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
+ "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+ "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+ "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-optional-chaining": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+ "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-private-property-in-object": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
+ "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-top-level-await": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
+ "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-typescript": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz",
+ "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-arrow-functions": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz",
+ "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-async-to-generator": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz",
+ "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/helper-remap-async-to-generator": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-block-scoped-functions": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz",
+ "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-block-scoping": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.6.tgz",
+ "integrity": "sha512-pRqwb91C42vs1ahSAWJkxOxU1RHWDn16XAa6ggQ72wjLlWyYeAcLvTtE0aM8ph3KNydy9CQF2nLYcjq1WysgxQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-classes": {
+ "version": "7.18.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.8.tgz",
+ "integrity": "sha512-RySDoXdF6hgHSHuAW4aLGyVQdmvEX/iJtjVre52k0pxRq4hzqze+rAVP++NmNv596brBpYmaiKgTZby7ziBnVg==",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.18.6",
+ "@babel/helper-environment-visitor": "^7.18.6",
+ "@babel/helper-function-name": "^7.18.6",
+ "@babel/helper-optimise-call-expression": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/helper-replace-supers": "^7.18.6",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "globals": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-computed-properties": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.6.tgz",
+ "integrity": "sha512-9repI4BhNrR0KenoR9vm3/cIc1tSBIo+u1WVjKCAynahj25O8zfbiE6JtAtHPGQSs4yZ+bA8mRasRP+qc+2R5A==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-destructuring": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.6.tgz",
+ "integrity": "sha512-tgy3u6lRp17ilY8r1kP4i2+HDUwxlVqq3RTc943eAWSzGgpU1qhiKpqZ5CMyHReIYPHdo3Kg8v8edKtDqSVEyQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-dotall-regex": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz",
+ "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-duplicate-keys": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.6.tgz",
+ "integrity": "sha512-NJU26U/208+sxYszf82nmGYqVF9QN8py2HFTblPT9hbawi8+1C5a9JubODLTGFuT0qlkqVinmkwOD13s0sZktg==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-exponentiation-operator": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz",
+ "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==",
+ "dependencies": {
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-flow-strip-types": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.18.6.tgz",
+ "integrity": "sha512-wE0xtA7csz+hw4fKPwxmu5jnzAsXPIO57XnRwzXP3T19jWh1BODnPGoG9xKYwvAwusP7iUktHayRFbMPGtODaQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-flow": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-for-of": {
+ "version": "7.18.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz",
+ "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-function-name": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.6.tgz",
+ "integrity": "sha512-kJha/Gbs5RjzIu0CxZwf5e3aTTSlhZnHMT8zPWnJMjNpLOUgqevg+PN5oMH68nMCXnfiMo4Bhgxqj59KHTlAnA==",
+ "dependencies": {
+ "@babel/helper-compilation-targets": "^7.18.6",
+ "@babel/helper-function-name": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-literals": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.6.tgz",
+ "integrity": "sha512-x3HEw0cJZVDoENXOp20HlypIHfl0zMIhMVZEBVTfmqbObIpsMxMbmU5nOEO8R7LYT+z5RORKPlTI5Hj4OsO9/Q==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-member-expression-literals": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz",
+ "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-modules-amd": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz",
+ "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==",
+ "dependencies": {
+ "@babel/helper-module-transforms": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-modules-commonjs": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz",
+ "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==",
+ "dependencies": {
+ "@babel/helper-module-transforms": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/helper-simple-access": "^7.18.6",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-modules-systemjs": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.6.tgz",
+ "integrity": "sha512-UbPYpXxLjTw6w6yXX2BYNxF3p6QY225wcTkfQCy3OMnSlS/C3xGtwUjEzGkldb/sy6PWLiCQ3NbYfjWUTI3t4g==",
+ "dependencies": {
+ "@babel/helper-hoist-variables": "^7.18.6",
+ "@babel/helper-module-transforms": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/helper-validator-identifier": "^7.18.6",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-modules-umd": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz",
+ "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==",
+ "dependencies": {
+ "@babel/helper-module-transforms": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz",
+ "integrity": "sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-new-target": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz",
+ "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-object-super": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz",
+ "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/helper-replace-supers": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-parameters": {
+ "version": "7.18.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz",
+ "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-property-literals": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz",
+ "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-constant-elements": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.18.6.tgz",
+ "integrity": "sha512-4g5H1bonF1dqgMe+wQ2fvDlRZ/mN/KwArk13teDv+xxn+pUDEiiDluQd6D2B30MJcL1u3qr0WZpfq0mw9/zSqA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-display-name": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz",
+ "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-jsx": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.18.6.tgz",
+ "integrity": "sha512-Mz7xMPxoy9kPS/JScj6fJs03TZ/fZ1dJPlMjRAgTaxaS0fUBk8FV/A2rRgfPsVCZqALNwMexD+0Uaf5zlcKPpw==",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.18.6",
+ "@babel/helper-module-imports": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-jsx": "^7.18.6",
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-jsx-development": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz",
+ "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==",
+ "dependencies": {
+ "@babel/plugin-transform-react-jsx": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-pure-annotations": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz",
+ "integrity": "sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-regenerator": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz",
+ "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "regenerator-transform": "^0.15.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-reserved-words": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz",
+ "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-runtime": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.6.tgz",
+ "integrity": "sha512-8uRHk9ZmRSnWqUgyae249EJZ94b0yAGLBIqzZzl+0iEdbno55Pmlt/32JZsHwXD9k/uZj18Aqqk35wBX4CBTXA==",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "babel-plugin-polyfill-corejs2": "^0.3.1",
+ "babel-plugin-polyfill-corejs3": "^0.5.2",
+ "babel-plugin-polyfill-regenerator": "^0.3.1",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-runtime/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/plugin-transform-shorthand-properties": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz",
+ "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-spread": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.6.tgz",
+ "integrity": "sha512-ayT53rT/ENF8WWexIRg9AiV9h0aIteyWn5ptfZTZQrjk/+f3WdrJGCY4c9wcgl2+MKkKPhzbYp97FTsquZpDCw==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-sticky-regex": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz",
+ "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-template-literals": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.6.tgz",
+ "integrity": "sha512-UuqlRrQmT2SWRvahW46cGSany0uTlcj8NYOS5sRGYi8FxPYPoLd5DDmMd32ZXEj2Jq+06uGVQKHxa/hJx2EzKw==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-typeof-symbol": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.6.tgz",
+ "integrity": "sha512-7m71iS/QhsPk85xSjFPovHPcH3H9qeyzsujhTc+vcdnsXavoWYJ74zx0lP5RhpC5+iDnVLO+PPMHzC11qels1g==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-typescript": {
+ "version": "7.18.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.18.8.tgz",
+ "integrity": "sha512-p2xM8HI83UObjsZGofMV/EdYjamsDm6MoN3hXPYIT0+gxIoopE+B7rPYKAxfrz9K9PK7JafTTjqYC6qipLExYA==",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/plugin-syntax-typescript": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-unicode-escapes": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz",
+ "integrity": "sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-unicode-regex": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz",
+ "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/preset-env": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.6.tgz",
+ "integrity": "sha512-WrthhuIIYKrEFAwttYzgRNQ5hULGmwTj+D6l7Zdfsv5M7IWV/OZbUfbeL++Qrzx1nVJwWROIFhCHRYQV4xbPNw==",
+ "dependencies": {
+ "@babel/compat-data": "^7.18.6",
+ "@babel/helper-compilation-targets": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/helper-validator-option": "^7.18.6",
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6",
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.6",
+ "@babel/plugin-proposal-async-generator-functions": "^7.18.6",
+ "@babel/plugin-proposal-class-properties": "^7.18.6",
+ "@babel/plugin-proposal-class-static-block": "^7.18.6",
+ "@babel/plugin-proposal-dynamic-import": "^7.18.6",
+ "@babel/plugin-proposal-export-namespace-from": "^7.18.6",
+ "@babel/plugin-proposal-json-strings": "^7.18.6",
+ "@babel/plugin-proposal-logical-assignment-operators": "^7.18.6",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
+ "@babel/plugin-proposal-numeric-separator": "^7.18.6",
+ "@babel/plugin-proposal-object-rest-spread": "^7.18.6",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.18.6",
+ "@babel/plugin-proposal-optional-chaining": "^7.18.6",
+ "@babel/plugin-proposal-private-methods": "^7.18.6",
+ "@babel/plugin-proposal-private-property-in-object": "^7.18.6",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.18.6",
+ "@babel/plugin-syntax-async-generators": "^7.8.4",
+ "@babel/plugin-syntax-class-properties": "^7.12.13",
+ "@babel/plugin-syntax-class-static-block": "^7.14.5",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
+ "@babel/plugin-syntax-import-assertions": "^7.18.6",
+ "@babel/plugin-syntax-json-strings": "^7.8.3",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3",
+ "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
+ "@babel/plugin-syntax-top-level-await": "^7.14.5",
+ "@babel/plugin-transform-arrow-functions": "^7.18.6",
+ "@babel/plugin-transform-async-to-generator": "^7.18.6",
+ "@babel/plugin-transform-block-scoped-functions": "^7.18.6",
+ "@babel/plugin-transform-block-scoping": "^7.18.6",
+ "@babel/plugin-transform-classes": "^7.18.6",
+ "@babel/plugin-transform-computed-properties": "^7.18.6",
+ "@babel/plugin-transform-destructuring": "^7.18.6",
+ "@babel/plugin-transform-dotall-regex": "^7.18.6",
+ "@babel/plugin-transform-duplicate-keys": "^7.18.6",
+ "@babel/plugin-transform-exponentiation-operator": "^7.18.6",
+ "@babel/plugin-transform-for-of": "^7.18.6",
+ "@babel/plugin-transform-function-name": "^7.18.6",
+ "@babel/plugin-transform-literals": "^7.18.6",
+ "@babel/plugin-transform-member-expression-literals": "^7.18.6",
+ "@babel/plugin-transform-modules-amd": "^7.18.6",
+ "@babel/plugin-transform-modules-commonjs": "^7.18.6",
+ "@babel/plugin-transform-modules-systemjs": "^7.18.6",
+ "@babel/plugin-transform-modules-umd": "^7.18.6",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6",
+ "@babel/plugin-transform-new-target": "^7.18.6",
+ "@babel/plugin-transform-object-super": "^7.18.6",
+ "@babel/plugin-transform-parameters": "^7.18.6",
+ "@babel/plugin-transform-property-literals": "^7.18.6",
+ "@babel/plugin-transform-regenerator": "^7.18.6",
+ "@babel/plugin-transform-reserved-words": "^7.18.6",
+ "@babel/plugin-transform-shorthand-properties": "^7.18.6",
+ "@babel/plugin-transform-spread": "^7.18.6",
+ "@babel/plugin-transform-sticky-regex": "^7.18.6",
+ "@babel/plugin-transform-template-literals": "^7.18.6",
+ "@babel/plugin-transform-typeof-symbol": "^7.18.6",
+ "@babel/plugin-transform-unicode-escapes": "^7.18.6",
+ "@babel/plugin-transform-unicode-regex": "^7.18.6",
+ "@babel/preset-modules": "^0.1.5",
+ "@babel/types": "^7.18.6",
+ "babel-plugin-polyfill-corejs2": "^0.3.1",
+ "babel-plugin-polyfill-corejs3": "^0.5.2",
+ "babel-plugin-polyfill-regenerator": "^0.3.1",
+ "core-js-compat": "^3.22.1",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/preset-env/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/preset-modules": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz",
+ "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
+ "@babel/plugin-transform-dotall-regex": "^7.4.4",
+ "@babel/types": "^7.4.4",
+ "esutils": "^2.0.2"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/preset-react": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz",
+ "integrity": "sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/helper-validator-option": "^7.18.6",
+ "@babel/plugin-transform-react-display-name": "^7.18.6",
+ "@babel/plugin-transform-react-jsx": "^7.18.6",
+ "@babel/plugin-transform-react-jsx-development": "^7.18.6",
+ "@babel/plugin-transform-react-pure-annotations": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/preset-typescript": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz",
+ "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/helper-validator-option": "^7.18.6",
+ "@babel/plugin-transform-typescript": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/runtime": {
+ "version": "7.19.0",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz",
+ "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==",
+ "dependencies": {
+ "regenerator-runtime": "^0.13.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/runtime-corejs3": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.18.6.tgz",
+ "integrity": "sha512-cOu5wH2JFBgMjje+a+fz2JNIWU4GzYpl05oSob3UDvBEh6EuIn+TXFHMmBbhSb+k/4HMzgKCQfEEDArAWNF9Cw==",
+ "dependencies": {
+ "core-js-pure": "^3.20.2",
+ "regenerator-runtime": "^0.13.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/template": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz",
+ "integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==",
+ "dependencies": {
+ "@babel/code-frame": "^7.18.6",
+ "@babel/parser": "^7.18.6",
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.18.8",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.8.tgz",
+ "integrity": "sha512-UNg/AcSySJYR/+mIcJQDCv00T+AqRO7j/ZEJLzpaYtgM48rMg5MnkJgyNqkzo88+p4tfRvZJCEiwwfG6h4jkRg==",
+ "dependencies": {
+ "@babel/code-frame": "^7.18.6",
+ "@babel/generator": "^7.18.7",
+ "@babel/helper-environment-visitor": "^7.18.6",
+ "@babel/helper-function-name": "^7.18.6",
+ "@babel/helper-hoist-variables": "^7.18.6",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "@babel/parser": "^7.18.8",
+ "@babel/types": "^7.18.8",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.18.8",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.8.tgz",
+ "integrity": "sha512-qwpdsmraq0aJ3osLJRApsc2ouSJCdnMeZwB0DhbtHAtRpZNZCdlbRnHIgcRKzdE1g0iOGg644fzjOBcdOz9cPw==",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.18.6",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@bcoe/v8-coverage": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
+ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw=="
+ },
+ "node_modules/@chakra-ui/accordion": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/accordion/-/accordion-2.1.1.tgz",
+ "integrity": "sha512-5f4QBl/0EgU/9EVvzlj8ZU7SWwG6nUHCE9moGBCbgiIOVBEySxZ5Robsk6+T7sXmzQ41db04GcUE9NRKdalgIA==",
+ "dependencies": {
+ "@chakra-ui/descendant": "3.0.10",
+ "@chakra-ui/icon": "3.0.11",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-use-controllable-state": "2.0.5",
+ "@chakra-ui/react-use-merge-refs": "2.0.4",
+ "@chakra-ui/transition": "2.0.10"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "framer-motion": ">=4.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/alert": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/alert/-/alert-2.0.11.tgz",
+ "integrity": "sha512-n40KHU3j1H6EbIdgptjEad92V7Fpv7YD++ZBjy2g1h4w9ay9nw4kGHib3gaIkBupLf52CfLqySEc8w0taoIlXQ==",
+ "dependencies": {
+ "@chakra-ui/icon": "3.0.11",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/spinner": "2.0.10"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/anatomy": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/anatomy/-/anatomy-2.0.7.tgz",
+ "integrity": "sha512-vzcB2gcsGCxhrKbldQQV6LnBPys4eSSsH2UA2mLsT+J3WlXw0aodZw0eE/nH7yLxe4zaQ4Gnc0KjkFW4EWNKSg=="
+ },
+ "node_modules/@chakra-ui/avatar": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/avatar/-/avatar-2.1.1.tgz",
+ "integrity": "sha512-lTZPUq4Pefxgv3ndyJMxIHgFrXwdz2VZFCLF/aKcuGaUlB7TBYaCurQ7TNbME8j8VkJWNX+vKiVHPYvxsrITwQ==",
+ "dependencies": {
+ "@chakra-ui/image": "2.0.11",
+ "@chakra-ui/react-children-utils": "2.0.2",
+ "@chakra-ui/react-context": "2.0.4"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/breadcrumb": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/breadcrumb/-/breadcrumb-2.0.10.tgz",
+ "integrity": "sha512-roKFA7nheq18eWNAdrHV6w8A9vZMSQTEEsbL6eU0lhUkolW9RlDjBl1bZvE7icFkNFXlJ33n8+0QAezLI+mMrQ==",
+ "dependencies": {
+ "@chakra-ui/react-children-utils": "2.0.2",
+ "@chakra-ui/react-context": "2.0.4"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/breakpoint-utils": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/breakpoint-utils/-/breakpoint-utils-2.0.4.tgz",
+ "integrity": "sha512-SUUEYnA/FCIKYDHMuEXcnBMwet+6RAAjQ+CqGD1hlwKPTfh7EK9fS8FoVAJa9KpRKAc/AawzPkgwvorzPj8NSg=="
+ },
+ "node_modules/@chakra-ui/button": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/button/-/button-2.0.11.tgz",
+ "integrity": "sha512-J6iMRITqxTxa0JexHUY9c7BXUrTZtSkl3jZ2hxiFybB4MQL8J2wZ24O846B6M+WTYqy7XVuHRuVURnH4czWesw==",
+ "dependencies": {
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-use-merge-refs": "2.0.4",
+ "@chakra-ui/spinner": "2.0.10"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/checkbox": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/checkbox/-/checkbox-2.2.1.tgz",
+ "integrity": "sha512-soTeXEI+4UZSA4B4rRLpdh3cIW/gdhY6k0eXF4ZWExPb+dJ5Giv497S96vS4IGE7SJ7Ugw9kaWS+do2lSiPJew==",
+ "dependencies": {
+ "@chakra-ui/form-control": "2.0.11",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-types": "2.0.3",
+ "@chakra-ui/react-use-callback-ref": "2.0.4",
+ "@chakra-ui/react-use-controllable-state": "2.0.5",
+ "@chakra-ui/react-use-merge-refs": "2.0.4",
+ "@chakra-ui/react-use-safe-layout-effect": "2.0.2",
+ "@chakra-ui/react-use-update-effect": "2.0.4",
+ "@chakra-ui/visually-hidden": "2.0.11",
+ "@zag-js/focus-visible": "0.1.0"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "framer-motion": ">=4.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/clickable": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/clickable/-/clickable-2.0.10.tgz",
+ "integrity": "sha512-G6JdR6yAMlXpfjOJ70W2FL7aUwNuomiMFtkneeTpk7Q42bJ5iGHfYlbZEx5nJd8iB+UluXVM4xlhMv2MyytjGw==",
+ "dependencies": {
+ "@chakra-ui/react-use-merge-refs": "2.0.4"
+ },
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/close-button": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/close-button/-/close-button-2.0.11.tgz",
+ "integrity": "sha512-9WF/nwwK9BldS89WQ5PtXK2nFS4r8QOgKls2BOwXfE+rGmOUZtOsu8ne/drXRjgkiBRETR6CxdyUjm7EPzXllw==",
+ "dependencies": {
+ "@chakra-ui/icon": "3.0.11"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/color-mode": {
+ "version": "2.1.9",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/color-mode/-/color-mode-2.1.9.tgz",
+ "integrity": "sha512-0kx0I+AQon8oS23/X+qMtnhsv/1BUulyJvU56p3Uh8CRaBfgJ7Ly9CerShoUL+5kadu6hN1M9oty4cugaCwv2w==",
+ "dependencies": {
+ "@chakra-ui/react-use-safe-layout-effect": "2.0.2"
+ },
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/control-box": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/control-box/-/control-box-2.0.10.tgz",
+ "integrity": "sha512-sHmZanFLEv4IDATl19ZTxq8Bi8PtjfvnsN6xF4k7JGSYUnk1YXUf1coyW7WKdcsczOASrMikfsLc3iEVAzx4Ng==",
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/counter": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/counter/-/counter-2.0.10.tgz",
+ "integrity": "sha512-MZK8UKUZp4nFMd+GlV/cq0NIARS7UdlubTuCx+wockw9j2JI5OHzsyK0XiWuJiq5psegSTzpbtT99QfAUm3Yiw==",
+ "dependencies": {
+ "@chakra-ui/number-utils": "2.0.4",
+ "@chakra-ui/react-use-callback-ref": "2.0.4"
+ },
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/css-reset": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/css-reset/-/css-reset-2.0.8.tgz",
+ "integrity": "sha512-VuDD1rk1pFc+dItk4yUcstyoC9D2B35hatHDBtlPMqTczFAzpbgVJJYgEHANatXGfulM5SdckmYEIJ3Tac1Rtg==",
+ "peerDependencies": {
+ "@emotion/react": ">=10.0.35",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/descendant": {
+ "version": "3.0.10",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.10.tgz",
+ "integrity": "sha512-MHH0Qdm0fGllGP2xgx4WOycmrpctyyEdGw6zxcfs2VqZNlrwmjG3Yb9eVY+Q7UmEv5rwAq6qRn7BhQxgSPn3Cg==",
+ "dependencies": {
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-use-merge-refs": "2.0.4"
+ },
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/dom-utils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/dom-utils/-/dom-utils-2.0.3.tgz",
+ "integrity": "sha512-aeGlRmTxcv0cvW44DyeZHru1i68ZDQsXpfX2dnG1I1yBlT6GlVx1xYjCULis9mjhgvd2O3NfcYPRTkjNWTDUbA=="
+ },
+ "node_modules/@chakra-ui/editable": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/editable/-/editable-2.0.12.tgz",
+ "integrity": "sha512-37bDqm+j2JTN2XR443KRK9MmHHIQuS6fN+2TRuFgjfG8TomxxCJnhJ3GIfQSKh5Yjtnt4sXDmL4L0tyDpNrrrw==",
+ "dependencies": {
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-types": "2.0.3",
+ "@chakra-ui/react-use-callback-ref": "2.0.4",
+ "@chakra-ui/react-use-controllable-state": "2.0.5",
+ "@chakra-ui/react-use-focus-on-pointer-down": "2.0.3",
+ "@chakra-ui/react-use-merge-refs": "2.0.4",
+ "@chakra-ui/react-use-safe-layout-effect": "2.0.2",
+ "@chakra-ui/react-use-update-effect": "2.0.4",
+ "@chakra-ui/shared-utils": "2.0.2"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/event-utils": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/event-utils/-/event-utils-2.0.5.tgz",
+ "integrity": "sha512-VXoOAIsM0PFKDlhm+EZxkWlUXd5UFTb/LTux3y3A+S9G5fDxLRvpiLWByPUgTFTCDFcgTCF+YnQtdWJB4DLyxg=="
+ },
+ "node_modules/@chakra-ui/focus-lock": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/focus-lock/-/focus-lock-2.0.12.tgz",
+ "integrity": "sha512-NvIP59A11ZNbxXZ3qwxSiQ5npjABkpSbTIjK0uZ9bZm5LMfepRnuuA19VsVlq31/BYV9nHFAy6xzIuG+Qf9xMA==",
+ "dependencies": {
+ "@chakra-ui/dom-utils": "2.0.3",
+ "react-focus-lock": "^2.9.1"
+ },
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/form-control": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/form-control/-/form-control-2.0.11.tgz",
+ "integrity": "sha512-MVhIe0xY4Zn06IXRXFmS9tCa93snppK1SdUQb1P99Ipo424RrL5ykzLnJ8CAkQrhoVP3sxF7z3eOSzk8/iRfow==",
+ "dependencies": {
+ "@chakra-ui/icon": "3.0.11",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-types": "2.0.3",
+ "@chakra-ui/react-use-merge-refs": "2.0.4"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/hooks": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/hooks/-/hooks-2.0.11.tgz",
+ "integrity": "sha512-mYN4u9lbjDjEr/VucrVcLGg/sIO6gA9ZprcT3n9CBGSWt3xih7fCOJmE+yRcCNbL7335AMrv7a/M5Q30aRArcA==",
+ "dependencies": {
+ "@chakra-ui/react-utils": "2.0.8",
+ "@chakra-ui/utils": "2.0.11",
+ "compute-scroll-into-view": "1.0.14",
+ "copy-to-clipboard": "3.3.1"
+ },
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/icon": {
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/icon/-/icon-3.0.11.tgz",
+ "integrity": "sha512-RG4jf/XmBdaxOYI5J5QstEtTCPoVlmrQ/XiWhvN0LTgAnmZIqVwFl3Uw+satArdStHAs0GmJZg/E/soFTWuFmw==",
+ "dependencies": {
+ "@chakra-ui/shared-utils": "2.0.2"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/image": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/image/-/image-2.0.11.tgz",
+ "integrity": "sha512-S6NqAprPcbHnck/J+2wg06r9SSol62v5A01O8Kke2PnAyjalMcS+6P59lDRO7wvPqsdxq4PPbSTZP6Dww2CvcA==",
+ "dependencies": {
+ "@chakra-ui/react-use-safe-layout-effect": "2.0.2"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/input": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/input/-/input-2.0.11.tgz",
+ "integrity": "sha512-kaV0VCz6/yzoCKQnh/tMUVgh+Rp6EnM+WzJ37SVX1gDvErON2bmmVLU45BiRoWUcd50wOhDlpsNVUWP0sLlCDA==",
+ "dependencies": {
+ "@chakra-ui/form-control": "2.0.11",
+ "@chakra-ui/object-utils": "2.0.4",
+ "@chakra-ui/react-children-utils": "2.0.2",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/shared-utils": "2.0.2"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/layout": {
+ "version": "2.1.8",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/layout/-/layout-2.1.8.tgz",
+ "integrity": "sha512-pcNUNgMh+e4wepNOlCg5iDrxGg4VFBpqZPmSHoP4TyPN2ddEnDRLoMLaREMoX7gEVyTsqEFOFg+wa3JZK32H4A==",
+ "dependencies": {
+ "@chakra-ui/breakpoint-utils": "2.0.4",
+ "@chakra-ui/icon": "3.0.11",
+ "@chakra-ui/object-utils": "2.0.4",
+ "@chakra-ui/react-children-utils": "2.0.2",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/shared-utils": "2.0.2"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/lazy-utils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/lazy-utils/-/lazy-utils-2.0.2.tgz",
+ "integrity": "sha512-MTxutBJZvqNNqrrS0722cI7qrnGu0yUQpIebmTxYwI+F3cOnPEKf5Ni+hrA8hKcw4XJhSY4npAPPYu1zJbOV4w=="
+ },
+ "node_modules/@chakra-ui/live-region": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/live-region/-/live-region-2.0.10.tgz",
+ "integrity": "sha512-eQ2ZIreR/plzi/KGszDYTi1TvIyGEBcPiWP52BQOS7xwpzb1vsoR1FgFAIELxAGJvKnMUs+9qVogfyRBX8PdOg==",
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/media-query": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/media-query/-/media-query-3.2.7.tgz",
+ "integrity": "sha512-hbgm6JCe0kYU3PAhxASYYDopFQI26cW9kZnbp+5tRL1fykkVWNMPwoGC8FEZPur9JjXp7aoL6H4Jk7nrxY/XWw==",
+ "dependencies": {
+ "@chakra-ui/breakpoint-utils": "2.0.4",
+ "@chakra-ui/react-env": "2.0.10"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/menu": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/menu/-/menu-2.1.1.tgz",
+ "integrity": "sha512-9fpCyV3vufLV5Rvv/oYC3LyCIkNqh0bEdYFVOLiqCZ6mt6NLFxL2jgE25nROYfDXQuBkY0qPC9IopYU198G4nw==",
+ "dependencies": {
+ "@chakra-ui/clickable": "2.0.10",
+ "@chakra-ui/descendant": "3.0.10",
+ "@chakra-ui/lazy-utils": "2.0.2",
+ "@chakra-ui/popper": "3.0.8",
+ "@chakra-ui/react-children-utils": "2.0.2",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-use-animation-state": "2.0.5",
+ "@chakra-ui/react-use-controllable-state": "2.0.5",
+ "@chakra-ui/react-use-disclosure": "2.0.5",
+ "@chakra-ui/react-use-focus-effect": "2.0.5",
+ "@chakra-ui/react-use-merge-refs": "2.0.4",
+ "@chakra-ui/react-use-outside-click": "2.0.4",
+ "@chakra-ui/react-use-update-effect": "2.0.4",
+ "@chakra-ui/transition": "2.0.10"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "framer-motion": ">=4.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/modal": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/modal/-/modal-2.2.1.tgz",
+ "integrity": "sha512-+zfiUG/yZqUQ0wY7syoZg01cpBf54lbKUe7+ANEx558UQGbsI4bbcHSkY9l5lsprQ8teInvhjb6BekeCA0e7TA==",
+ "dependencies": {
+ "@chakra-ui/close-button": "2.0.11",
+ "@chakra-ui/focus-lock": "2.0.12",
+ "@chakra-ui/portal": "2.0.10",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-types": "2.0.3",
+ "@chakra-ui/react-use-merge-refs": "2.0.4",
+ "@chakra-ui/transition": "2.0.10",
+ "aria-hidden": "^1.1.1",
+ "react-remove-scroll": "^2.5.4"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "framer-motion": ">=4.0.0",
+ "react": ">=18",
+ "react-dom": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/number-input": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/number-input/-/number-input-2.0.12.tgz",
+ "integrity": "sha512-3owLjl01sCYpTd3xbq//fJo9QJ0Q3PVYSx9JeOzlXnnTW8ws+yHPrqQzPe7G+tO4yOYynWuUT+NJ9oyCeAJIxA==",
+ "dependencies": {
+ "@chakra-ui/counter": "2.0.10",
+ "@chakra-ui/form-control": "2.0.11",
+ "@chakra-ui/icon": "3.0.11",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-types": "2.0.3",
+ "@chakra-ui/react-use-callback-ref": "2.0.4",
+ "@chakra-ui/react-use-event-listener": "2.0.4",
+ "@chakra-ui/react-use-interval": "2.0.2",
+ "@chakra-ui/react-use-merge-refs": "2.0.4",
+ "@chakra-ui/react-use-safe-layout-effect": "2.0.2",
+ "@chakra-ui/react-use-update-effect": "2.0.4"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/number-utils": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/number-utils/-/number-utils-2.0.4.tgz",
+ "integrity": "sha512-MdYd29GboBoKaXY9jhbY0Wl+0NxG1t/fa32ZSIbU6VrfMsZuAMl4NEJsz7Xvhy50fummLdKn5J6HFS7o5iyIgw=="
+ },
+ "node_modules/@chakra-ui/object-utils": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/object-utils/-/object-utils-2.0.4.tgz",
+ "integrity": "sha512-sY98L4v2wcjpwRX8GCXqT+WzpL0i5FHVxT1Okxw0360T2tGnZt7toAwpMfIOR3dzkemP9LfXMCyBmWR5Hi2zpQ=="
+ },
+ "node_modules/@chakra-ui/pin-input": {
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/pin-input/-/pin-input-2.0.14.tgz",
+ "integrity": "sha512-gFNlTUjU1xIuOErR/d/HrNNh1mS0erjNJSt5C6RU/My4lShzgCczmwnil7TuEx3k7lPqHKLEf/CGeCxBSUjaGA==",
+ "dependencies": {
+ "@chakra-ui/descendant": "3.0.10",
+ "@chakra-ui/react-children-utils": "2.0.2",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-use-controllable-state": "2.0.5",
+ "@chakra-ui/react-use-merge-refs": "2.0.4"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/popover": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/popover/-/popover-2.1.1.tgz",
+ "integrity": "sha512-j09NsesfT+eaYITkITYJXDlRcPoOeQUM80neJZKOBgul2iHkVsEoii8dwS5Ip5ONeu4ane1b6zEOlYvYj2SrkA==",
+ "dependencies": {
+ "@chakra-ui/close-button": "2.0.11",
+ "@chakra-ui/lazy-utils": "2.0.2",
+ "@chakra-ui/popper": "3.0.8",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-types": "2.0.3",
+ "@chakra-ui/react-use-animation-state": "2.0.5",
+ "@chakra-ui/react-use-disclosure": "2.0.5",
+ "@chakra-ui/react-use-focus-effect": "2.0.5",
+ "@chakra-ui/react-use-focus-on-pointer-down": "2.0.3",
+ "@chakra-ui/react-use-merge-refs": "2.0.4"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "framer-motion": ">=4.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/popper": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/popper/-/popper-3.0.8.tgz",
+ "integrity": "sha512-246eUwuCRsLpTPxn5T8D8T9/6ODqmmz6pRRJAjGnLlUB0gNHgjisBn0UDBic5Gbxcg0sqKvxOMY3uurbW5lXTA==",
+ "dependencies": {
+ "@chakra-ui/react-types": "2.0.3",
+ "@chakra-ui/react-use-merge-refs": "2.0.4",
+ "@popperjs/core": "^2.9.3"
+ },
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/portal": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/portal/-/portal-2.0.10.tgz",
+ "integrity": "sha512-VRYvVAggIuqIZ3IQ6XZ1b5ujjjOUgPk9PPdc9jssUngZa7RG+5NXNhgoM8a5TsXv6aPEolBOlDNWuxzRQ4RSSg==",
+ "dependencies": {
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-use-safe-layout-effect": "2.0.2"
+ },
+ "peerDependencies": {
+ "react": ">=18",
+ "react-dom": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/progress": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/progress/-/progress-2.0.11.tgz",
+ "integrity": "sha512-2OwxGxI6W757QpDB6b++B4b2+t0oBgaQdHnd4/y35n3+mOFj++Wg7XpW4/iDHn+x3LkM+X3NIgdBWQFlmGx+6w==",
+ "dependencies": {
+ "@chakra-ui/react-context": "2.0.4"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/provider": {
+ "version": "2.0.19",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/provider/-/provider-2.0.19.tgz",
+ "integrity": "sha512-V+p0OePre0OgYmNxLbfiPWWbzaJ/EM2sfaRtD7E6ZA4TjUl2m4pWdC6OPMOiklu7EALfSgVk9X6Jh5pc+moH1g==",
+ "dependencies": {
+ "@chakra-ui/css-reset": "2.0.8",
+ "@chakra-ui/portal": "2.0.10",
+ "@chakra-ui/react-env": "2.0.10",
+ "@chakra-ui/system": "2.2.12",
+ "@chakra-ui/utils": "2.0.11"
+ },
+ "peerDependencies": {
+ "@emotion/react": "^11.0.0",
+ "@emotion/styled": "^11.0.0",
+ "react": ">=18",
+ "react-dom": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/radio": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/radio/-/radio-2.0.12.tgz",
+ "integrity": "sha512-871hqAGQaufxyUzPP3aautPBIRZQmpi3fw5XPZ6SbY62dV61M4sjcttd46HfCf5SrAonoOADFQLMGQafznjhaA==",
+ "dependencies": {
+ "@chakra-ui/form-control": "2.0.11",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-types": "2.0.3",
+ "@chakra-ui/react-use-merge-refs": "2.0.4",
+ "@zag-js/focus-visible": "0.1.0"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/react": {
+ "version": "2.3.5",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react/-/react-2.3.5.tgz",
+ "integrity": "sha512-bQDRV23M3IvF0+AorTvqJmG/4T6KKQIb+1XGA2RyxonoSHVt89HbN3qnygHJw06Sdgpclxdbr/1qZ4o8+SMbpA==",
+ "dependencies": {
+ "@chakra-ui/accordion": "2.1.1",
+ "@chakra-ui/alert": "2.0.11",
+ "@chakra-ui/avatar": "2.1.1",
+ "@chakra-ui/breadcrumb": "2.0.10",
+ "@chakra-ui/button": "2.0.11",
+ "@chakra-ui/checkbox": "2.2.1",
+ "@chakra-ui/close-button": "2.0.11",
+ "@chakra-ui/control-box": "2.0.10",
+ "@chakra-ui/counter": "2.0.10",
+ "@chakra-ui/css-reset": "2.0.8",
+ "@chakra-ui/editable": "2.0.12",
+ "@chakra-ui/form-control": "2.0.11",
+ "@chakra-ui/hooks": "2.0.11",
+ "@chakra-ui/icon": "3.0.11",
+ "@chakra-ui/image": "2.0.11",
+ "@chakra-ui/input": "2.0.11",
+ "@chakra-ui/layout": "2.1.8",
+ "@chakra-ui/live-region": "2.0.10",
+ "@chakra-ui/media-query": "3.2.7",
+ "@chakra-ui/menu": "2.1.1",
+ "@chakra-ui/modal": "2.2.1",
+ "@chakra-ui/number-input": "2.0.12",
+ "@chakra-ui/pin-input": "2.0.14",
+ "@chakra-ui/popover": "2.1.1",
+ "@chakra-ui/popper": "3.0.8",
+ "@chakra-ui/portal": "2.0.10",
+ "@chakra-ui/progress": "2.0.11",
+ "@chakra-ui/provider": "2.0.19",
+ "@chakra-ui/radio": "2.0.12",
+ "@chakra-ui/react-env": "2.0.10",
+ "@chakra-ui/select": "2.0.12",
+ "@chakra-ui/skeleton": "2.0.17",
+ "@chakra-ui/slider": "2.0.12",
+ "@chakra-ui/spinner": "2.0.10",
+ "@chakra-ui/stat": "2.0.11",
+ "@chakra-ui/styled-system": "2.3.4",
+ "@chakra-ui/switch": "2.0.13",
+ "@chakra-ui/system": "2.2.12",
+ "@chakra-ui/table": "2.0.11",
+ "@chakra-ui/tabs": "2.1.3",
+ "@chakra-ui/tag": "2.0.11",
+ "@chakra-ui/textarea": "2.0.12",
+ "@chakra-ui/theme": "2.1.13",
+ "@chakra-ui/toast": "3.0.13",
+ "@chakra-ui/tooltip": "2.2.0",
+ "@chakra-ui/transition": "2.0.10",
+ "@chakra-ui/utils": "2.0.11",
+ "@chakra-ui/visually-hidden": "2.0.11"
+ },
+ "peerDependencies": {
+ "@emotion/react": "^11.0.0",
+ "@emotion/styled": "^11.0.0",
+ "framer-motion": ">=4.0.0",
+ "react": ">=18",
+ "react-dom": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/react-children-utils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-children-utils/-/react-children-utils-2.0.2.tgz",
+ "integrity": "sha512-mRTGAZ3DBXB3hgVwS2DVJe3Nlc0qGvMN0PAo4tD/3fj2op2IwspLcYPAWC5D/rI2xj2JlwE6szAtbvxdAfLCNw=="
+ },
+ "node_modules/@chakra-ui/react-context": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-context/-/react-context-2.0.4.tgz",
+ "integrity": "sha512-eBITFkf7fLSiMZrSdhweK4fYr41WUNMEeIEOP2dCWolE7WgKxNYaYleC+iRGY0GeXkFM2KYywUtixjJe29NuVA==",
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/react-env": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-env/-/react-env-2.0.10.tgz",
+ "integrity": "sha512-3Yab5EbFcCGYzEsoijy4eA3354Z/JoXyk9chYIuW7Uwd+K6g/R8C0mUSAHeTmfp6Fix9kzDgerO5MWNM87b8cA==",
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/react-types": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-types/-/react-types-2.0.3.tgz",
+ "integrity": "sha512-1mJYOQldFTALE0Wr3j6tk/MYvgQIp6CKkJulNzZrI8QN+ox/bJOh8OVP4vhwqvfigdLTui0g0k8M9h+j2ub/Mw==",
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/react-use-animation-state": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-animation-state/-/react-use-animation-state-2.0.5.tgz",
+ "integrity": "sha512-8gZIqZpMS5yTGlC+IqYoSrV13joiAYoeI0YR2t68WuDagcZ459OrjE57+gF04NLxfdV7eUgwqnpuv7IOLbJX/A==",
+ "dependencies": {
+ "@chakra-ui/dom-utils": "2.0.3",
+ "@chakra-ui/react-use-event-listener": "2.0.4"
+ },
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/react-use-callback-ref": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-callback-ref/-/react-use-callback-ref-2.0.4.tgz",
+ "integrity": "sha512-he7EQfwMA4mwiDDKvX7cHIJaboCqf7UD3KYHGUcIjsF4dSc2Y8X5Ze4w+hmVZoJWIe4DWUzb3ili2SUm8eTgPg==",
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/react-use-controllable-state": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-controllable-state/-/react-use-controllable-state-2.0.5.tgz",
+ "integrity": "sha512-JrZZpMX24CUyfDuyqDczw9Z9IMvjH8ujETHK0Zu4M0SIsX/q4EqOwwngUFL03I2gx/O38HfSdeX8hMu4zbTAGA==",
+ "dependencies": {
+ "@chakra-ui/react-use-callback-ref": "2.0.4"
+ },
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/react-use-disclosure": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-disclosure/-/react-use-disclosure-2.0.5.tgz",
+ "integrity": "sha512-kPLB9oxImASRhAbKfvfc03/lbAJbsXndEVRzd+nvvL+QZm2RRfnel3k6OIkWvGFOXXYOPE2+slLe8ZPwbTGg9g==",
+ "dependencies": {
+ "@chakra-ui/react-use-callback-ref": "2.0.4"
+ },
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/react-use-event-listener": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-event-listener/-/react-use-event-listener-2.0.4.tgz",
+ "integrity": "sha512-VqmalfKWMO8D21XuZO19WUtcP5xhbHXKzkggApTChZUN02UC5TC4pe0pYbDygoeUuNBhY+9lJKHeS08vYsljRg==",
+ "dependencies": {
+ "@chakra-ui/react-use-callback-ref": "2.0.4"
+ },
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/react-use-focus-effect": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-effect/-/react-use-focus-effect-2.0.5.tgz",
+ "integrity": "sha512-sbe1QnsXXfjukM+laxbKnT0UnMpHe/7kTzEPG/BYM6/ZDUUmrC1Nz+8l+3H/52iWIaruikDBdif/Xd37Yvu3Kg==",
+ "dependencies": {
+ "@chakra-ui/dom-utils": "2.0.3",
+ "@chakra-ui/react-use-event-listener": "2.0.4",
+ "@chakra-ui/react-use-update-effect": "2.0.4"
+ },
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/react-use-focus-on-pointer-down": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-on-pointer-down/-/react-use-focus-on-pointer-down-2.0.3.tgz",
+ "integrity": "sha512-8cKmpv26JnblexNaekWxEDI7M+MZnJcp1PJUz6lByjfQ1m4YjFr1cdbdhG4moaqzzYs7vTmO/qL8KVq8ZLUwyQ==",
+ "dependencies": {
+ "@chakra-ui/react-use-event-listener": "2.0.4"
+ },
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/react-use-interval": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-interval/-/react-use-interval-2.0.2.tgz",
+ "integrity": "sha512-5U1c0pEB5n0Yri0E4RdFXWx2RVBZBBhD8Uu49dM33jkIguCbIPmZ+YgVry5DDzCHyz4RgDg4yZKOPK0PI8lEUg==",
+ "dependencies": {
+ "@chakra-ui/react-use-callback-ref": "2.0.4"
+ },
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/react-use-latest-ref": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-latest-ref/-/react-use-latest-ref-2.0.2.tgz",
+ "integrity": "sha512-Ra/NMV+DSQ3n0AdKsyIqdgnFzls5UntabtIRfDXLrqmJ4tI0a1tDdop2qop0Ue87AcqD9P1KtQue4KPx7wCElw==",
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/react-use-merge-refs": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-merge-refs/-/react-use-merge-refs-2.0.4.tgz",
+ "integrity": "sha512-aoWvtE5tDQNaLCiNUI6WV+MA2zVcCLR5mHSCISmowlTXyXOqOU5Fo9ZoUftzrmgCJpDu5x1jfUOivxuHUueb0g==",
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/react-use-outside-click": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-outside-click/-/react-use-outside-click-2.0.4.tgz",
+ "integrity": "sha512-uerJKS8dqg2kHs1xozA5vcCqW0UInuwrfCPb+rDWBTpu7aEqxABMw9W3e4gfOABrAjhKz2I0a/bu2i8zbVwdLw==",
+ "dependencies": {
+ "@chakra-ui/react-use-callback-ref": "2.0.4"
+ },
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/react-use-pan-event": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-pan-event/-/react-use-pan-event-2.0.5.tgz",
+ "integrity": "sha512-nhE3b85++EEmBD2v6m46TLoA4LehSCZ349P8kvEjw/RC0K6XDOZndaBucIeAlnpEENSSUpczFfMSOLxSHdu0oA==",
+ "dependencies": {
+ "@chakra-ui/event-utils": "2.0.5",
+ "@chakra-ui/react-use-latest-ref": "2.0.2",
+ "framesync": "5.3.0"
+ },
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/react-use-previous": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-previous/-/react-use-previous-2.0.2.tgz",
+ "integrity": "sha512-ap/teLRPKopaHYD80fnf0TR/NpTWHJO5VdKg6sPyF1y5ediYLAzPT1G2OqMCj4QfJsYDctioT142URDYe0Nn7w==",
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/react-use-safe-layout-effect": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-safe-layout-effect/-/react-use-safe-layout-effect-2.0.2.tgz",
+ "integrity": "sha512-gl5HDq9RVeDJiT8udtpx12KRV8JPLJHDIUX8f/yZcKpXow0C7FFGg5Yy5I9397NQog5ZjKMuOg+AUq9TLJxsyQ==",
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/react-use-size": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-size/-/react-use-size-2.0.4.tgz",
+ "integrity": "sha512-W6rgTLuoSC4ovZtqYco8cG+yBadH3bhlg92T5lgpKDakSDr0mXcZdbGx6g0AOkgxXm0V1jWNGO1743wudtF7ew==",
+ "dependencies": {
+ "@zag-js/element-size": "0.1.0"
+ },
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/react-use-timeout": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-timeout/-/react-use-timeout-2.0.2.tgz",
+ "integrity": "sha512-n6zb3OmxtDmRMxYkDgILqKh15aDOa8jNLHBlqHzmlL6mEGNKmMFPW9j/KvpAqSgKjUTDRnnXcpneprTMKy/yrw==",
+ "dependencies": {
+ "@chakra-ui/react-use-callback-ref": "2.0.4"
+ },
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/react-use-update-effect": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-update-effect/-/react-use-update-effect-2.0.4.tgz",
+ "integrity": "sha512-F/I9LVnGAQyvww+x7tQb47wCwjhMYjpxtM1dTg1U3oCEXY0yF1Ts3NJLUAlsr3nAW6epJIwWx61niC7KWpam1w==",
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/react-utils": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-utils/-/react-utils-2.0.8.tgz",
+ "integrity": "sha512-OSHHBKZlJWTi2NZcPnBx1PyZvLQY+n5RPBtcri7/89EDdAwz2NdEhp2Dz1yQRctOSCF1kB/rnCYDP1U0oRk9RQ==",
+ "dependencies": {
+ "@chakra-ui/utils": "2.0.11"
+ },
+ "peerDependencies": {
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/select": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/select/-/select-2.0.12.tgz",
+ "integrity": "sha512-NCDMb0w48GYCHmazVSQ7/ysEpbnri+Up6n+v7yytf6g43TPRkikvK5CsVgLnAEj0lIdCJhWXTcZer5wG5KOEgA==",
+ "dependencies": {
+ "@chakra-ui/form-control": "2.0.11"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/shared-utils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/shared-utils/-/shared-utils-2.0.2.tgz",
+ "integrity": "sha512-wC58Fh6wCnFFQyiebVZ0NI7PFW9+Vch0QE6qN7iR+bLseOzQY9miYuzPJ1kMYiFd6QTOmPJkI39M3wHqrPYiOg=="
+ },
+ "node_modules/@chakra-ui/skeleton": {
+ "version": "2.0.17",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/skeleton/-/skeleton-2.0.17.tgz",
+ "integrity": "sha512-dL7viXEKDEzmAJGbHMj+QbGl9PAd0VWztEcWcz5wOGfmAcJllA0lVh6NmG/yqLb6iXPCX4Y1Y0Yurm459TEYWg==",
+ "dependencies": {
+ "@chakra-ui/media-query": "3.2.7",
+ "@chakra-ui/react-use-previous": "2.0.2"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/slider": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/slider/-/slider-2.0.12.tgz",
+ "integrity": "sha512-Cna04J7e4+F3tJNb7tRNfPP+koicbDsKJBp+f1NpR32JbRzIfrf2Vdr4hfD5/uOfC4RGxnVInNZzZLGBelLtLw==",
+ "dependencies": {
+ "@chakra-ui/number-utils": "2.0.4",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-types": "2.0.3",
+ "@chakra-ui/react-use-callback-ref": "2.0.4",
+ "@chakra-ui/react-use-controllable-state": "2.0.5",
+ "@chakra-ui/react-use-latest-ref": "2.0.2",
+ "@chakra-ui/react-use-merge-refs": "2.0.4",
+ "@chakra-ui/react-use-pan-event": "2.0.5",
+ "@chakra-ui/react-use-size": "2.0.4",
+ "@chakra-ui/react-use-update-effect": "2.0.4"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/spinner": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/spinner/-/spinner-2.0.10.tgz",
+ "integrity": "sha512-SwId1xPaaFAaEYrR9eHkQHAuB66CbxwjWaQonEjeEUSh9ecxkd5WbXlsQSyf2hVRIqXJg0m3HIYblcKUsQt9Rw==",
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/stat": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/stat/-/stat-2.0.11.tgz",
+ "integrity": "sha512-ZPFK2fKufDSHD8bp/KhO3jLgW/b3PzdG4zV+7iTO7OYjxm5pkBfBAeMqfXGx4cl51rtWUKzsY0HV4vLLjcSjHw==",
+ "dependencies": {
+ "@chakra-ui/icon": "3.0.11",
+ "@chakra-ui/react-context": "2.0.4"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/styled-system": {
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/styled-system/-/styled-system-2.3.4.tgz",
+ "integrity": "sha512-Lozbedu+GBj4EbHB/eGv475SFDLApsIEN9gNKiZJBJAE1HIhHn3Seh1iZQSrHC/Beq+D5cQq3Z+yPn3bXtFU7w==",
+ "dependencies": {
+ "csstype": "^3.0.11",
+ "lodash.mergewith": "4.6.2"
+ }
+ },
+ "node_modules/@chakra-ui/switch": {
+ "version": "2.0.13",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/switch/-/switch-2.0.13.tgz",
+ "integrity": "sha512-Ikj0L+SLLs/SnfGCiUChaldLIr/aizA1Q9D5+X6LtxpBnixFK/+fNXU+3juPDi9G1IFuNz2IAG51souO7C4nSQ==",
+ "dependencies": {
+ "@chakra-ui/checkbox": "2.2.1"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "framer-motion": ">=4.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/system": {
+ "version": "2.2.12",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/system/-/system-2.2.12.tgz",
+ "integrity": "sha512-I7hFQswp8tG6ogjEMFs5TsCItdCYuNxpLAULgUrLdOlsQeNnHNQhlL4zpIfD+VzguhsNy5lisbegAMKjdghTYg==",
+ "dependencies": {
+ "@chakra-ui/color-mode": "2.1.9",
+ "@chakra-ui/react-utils": "2.0.8",
+ "@chakra-ui/styled-system": "2.3.4",
+ "@chakra-ui/utils": "2.0.11",
+ "react-fast-compare": "3.2.0"
+ },
+ "peerDependencies": {
+ "@emotion/react": "^11.0.0",
+ "@emotion/styled": "^11.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/table": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/table/-/table-2.0.11.tgz",
+ "integrity": "sha512-zQTiqPKEgjdeO/PG0FByn0fH4sPF7dLJF+YszrIzDc6wvpD96iY6MYLeV+CSelbH1g0/uibcJ10PSaFStfGUZg==",
+ "dependencies": {
+ "@chakra-ui/react-context": "2.0.4"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/tabs": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/tabs/-/tabs-2.1.3.tgz",
+ "integrity": "sha512-9gUcj49LMt5QQnfJHR/ctr9VPttJ97CtQWuH2Irjb3RXkq1TRrz6wjythPImNQUv1/DYyXp2jsUhoEQc4Oz14Q==",
+ "dependencies": {
+ "@chakra-ui/clickable": "2.0.10",
+ "@chakra-ui/descendant": "3.0.10",
+ "@chakra-ui/lazy-utils": "2.0.2",
+ "@chakra-ui/react-children-utils": "2.0.2",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-use-controllable-state": "2.0.5",
+ "@chakra-ui/react-use-merge-refs": "2.0.4",
+ "@chakra-ui/react-use-safe-layout-effect": "2.0.2"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/tag": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/tag/-/tag-2.0.11.tgz",
+ "integrity": "sha512-iJJcX+4hl+6Se/8eCRzG+xxDwZfiYgc4Ly/8s93M0uW2GLb+ybbfSE2DjeKSyk3mQVeGzuxGkBfDHH2c2v26ew==",
+ "dependencies": {
+ "@chakra-ui/icon": "3.0.11",
+ "@chakra-ui/react-context": "2.0.4"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/textarea": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/textarea/-/textarea-2.0.12.tgz",
+ "integrity": "sha512-msR9YMynRXwZIqR6DgjQ2MogA/cW1syBx/R0v3es+9Zx8zlbuKdoLhYqajHteCup8dUzTeIH2Vs2vAwgq4wu5A==",
+ "dependencies": {
+ "@chakra-ui/form-control": "2.0.11"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/theme": {
+ "version": "2.1.13",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/theme/-/theme-2.1.13.tgz",
+ "integrity": "sha512-qbrrvn9JstyLFV2qyhwgnhwzVs4zSJ4PcS3ScL8kafXJazTRU6onbCcjEZ5mVCw6z8uEz3jcE8Y5KIhVzaB+Xw==",
+ "dependencies": {
+ "@chakra-ui/anatomy": "2.0.7",
+ "@chakra-ui/theme-tools": "2.0.12"
+ },
+ "peerDependencies": {
+ "@chakra-ui/styled-system": ">=2.0.0"
+ }
+ },
+ "node_modules/@chakra-ui/theme-tools": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/theme-tools/-/theme-tools-2.0.12.tgz",
+ "integrity": "sha512-mnMlKSmXkCjHUJsKWmJbgBTGF2vnLaMLv1ihkBn5eQcCubMQrBLTiMAEFl5pZdzuHItU6QdnLGA10smcXbNl0g==",
+ "dependencies": {
+ "@chakra-ui/anatomy": "2.0.7",
+ "@ctrl/tinycolor": "^3.4.0"
+ },
+ "peerDependencies": {
+ "@chakra-ui/styled-system": ">=2.0.0"
+ }
+ },
+ "node_modules/@chakra-ui/toast": {
+ "version": "3.0.13",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/toast/-/toast-3.0.13.tgz",
+ "integrity": "sha512-5GADso5l5Tv1PAL1iocEneLs6U7I8HHMHSMvWdPFSmmJJh0XCH3fboh0C9LiFNIcnEGJmn+A5yGc4vjedA0h2A==",
+ "dependencies": {
+ "@chakra-ui/alert": "2.0.11",
+ "@chakra-ui/close-button": "2.0.11",
+ "@chakra-ui/portal": "2.0.10",
+ "@chakra-ui/react-use-timeout": "2.0.2",
+ "@chakra-ui/react-use-update-effect": "2.0.4",
+ "@chakra-ui/styled-system": "2.3.4",
+ "@chakra-ui/theme": "2.1.13"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": "2.2.12",
+ "framer-motion": ">=4.0.0",
+ "react": ">=18",
+ "react-dom": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/tooltip": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/tooltip/-/tooltip-2.2.0.tgz",
+ "integrity": "sha512-oB97aQJBW+U3rRIt1ct7NaDRMnbW16JQ5ZBCl3BzN1VJWO3djiNuscpjVdZSceb+FdGSFo+GoDozp1ZwqdfFeQ==",
+ "dependencies": {
+ "@chakra-ui/popper": "3.0.8",
+ "@chakra-ui/portal": "2.0.10",
+ "@chakra-ui/react-types": "2.0.3",
+ "@chakra-ui/react-use-disclosure": "2.0.5",
+ "@chakra-ui/react-use-event-listener": "2.0.4",
+ "@chakra-ui/react-use-merge-refs": "2.0.4"
+ },
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "framer-motion": ">=4.0.0",
+ "react": ">=18",
+ "react-dom": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/transition": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/transition/-/transition-2.0.10.tgz",
+ "integrity": "sha512-Tkkne8pIIY7f95TKt2aH+IAuQqzHmEt+ICPqvg74QbmIpKE5ptX0cd+P3swBANw4ACnJcCc2vWIaKmVBQ9clLw==",
+ "peerDependencies": {
+ "framer-motion": ">=4.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@chakra-ui/utils": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/utils/-/utils-2.0.11.tgz",
+ "integrity": "sha512-4ZQdK6tbOuTrUCsAQBHWo7tw5/Q6pBV93ZbVpats61cSWMFGv32AIQw9/hA4un2zDeSWN9ZMVLNjAY2Dq/KQOA==",
+ "dependencies": {
+ "@types/lodash.mergewith": "4.6.6",
+ "css-box-model": "1.2.1",
+ "framesync": "5.3.0",
+ "lodash.mergewith": "4.6.2"
+ }
+ },
+ "node_modules/@chakra-ui/visually-hidden": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/visually-hidden/-/visually-hidden-2.0.11.tgz",
+ "integrity": "sha512-e+5amYvnsmEQdiWH4XMyvrtGTdwz//+48vwj5CsNWWcselzkwqodmciy5rIrT71/SCQDOtmgnL7ZWAUOffxfsQ==",
+ "peerDependencies": {
+ "@chakra-ui/system": ">=2.0.0",
+ "react": ">=18"
+ }
+ },
+ "node_modules/@codemirror/autocomplete": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.3.0.tgz",
+ "integrity": "sha512-4jEvh3AjJZTDKazd10J6ZsCIqaYxDMCeua5ouQxY8hlFIml+nr7le0SgBhT3SIytFBmdzPK3AUhXGuW3T79nVg==",
+ "dependencies": {
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0",
+ "@lezer/common": "^1.0.0"
+ },
+ "peerDependencies": {
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0",
+ "@lezer/common": "^1.0.0"
+ }
+ },
+ "node_modules/@codemirror/commands": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.1.1.tgz",
+ "integrity": "sha512-ibDohwkk7vyu3VsnZNlQhwk0OETBtlkYV+6AHfn5Zgq0sxa+yGVX+apwtC3M4wh6AH7yU5si/NysoECs5EGS3Q==",
+ "dependencies": {
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0",
+ "@lezer/common": "^1.0.0"
+ }
+ },
+ "node_modules/@codemirror/language": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.2.1.tgz",
+ "integrity": "sha512-MC3svxuvIj0MRpFlGHxLS6vPyIdbTr2KKPEW46kCoCXw2ktb4NTkpkPBI/lSP/FoNXLCBJ0mrnUi1OoZxtpW1Q==",
+ "dependencies": {
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0",
+ "@lezer/common": "^1.0.0",
+ "@lezer/highlight": "^1.0.0",
+ "@lezer/lr": "^1.0.0",
+ "style-mod": "^4.0.0"
+ }
+ },
+ "node_modules/@codemirror/lint": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.0.0.tgz",
+ "integrity": "sha512-nUUXcJW1Xp54kNs+a1ToPLK8MadO0rMTnJB8Zk4Z8gBdrN0kqV7uvUraU/T2yqg+grDNR38Vmy/MrhQN/RgwiA==",
+ "dependencies": {
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0",
+ "crelt": "^1.0.5"
+ }
+ },
+ "node_modules/@codemirror/search": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.2.1.tgz",
+ "integrity": "sha512-Q1JgUSBjQZRPIddlXzad/AVDigdhriLxQNFyP0gfrDTq6LDHNhr95U/tW3bpVssGenkaLzujtu/7XoK4kyvL3g==",
+ "dependencies": {
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0",
+ "crelt": "^1.0.5"
+ }
+ },
+ "node_modules/@codemirror/state": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.1.2.tgz",
+ "integrity": "sha512-Mxff85Hp5va+zuj+H748KbubXjrinX/k28lj43H14T2D0+4kuvEFIEIO7hCEcvBT8ubZyIelt9yGOjj2MWOEQA=="
+ },
+ "node_modules/@codemirror/theme-one-dark": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/theme-one-dark/-/theme-one-dark-6.1.0.tgz",
+ "integrity": "sha512-AiTHtFRu8+vWT9wWUWDM+cog6ZwgivJogB1Tm/g40NIpLwph7AnmxrSzWfvJN5fBVufsuwBxecQCNmdcR5D7Aw==",
+ "dependencies": {
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0",
+ "@lezer/highlight": "^1.0.0"
+ }
+ },
+ "node_modules/@codemirror/view": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.3.1.tgz",
+ "integrity": "sha512-NKPBphoV9W2Q6tKXk+ge4q5EhMOOC0rpwdGS80/slNSfsVqkN4gwXIEqSprXJFlf9aUKZU7WhPvqRBMNH+hJkQ==",
+ "dependencies": {
+ "@codemirror/state": "^6.0.0",
+ "style-mod": "^4.0.0",
+ "w3c-keyname": "^2.2.4"
+ }
+ },
+ "node_modules/@csstools/normalize.css": {
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz",
+ "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg=="
+ },
+ "node_modules/@csstools/postcss-cascade-layers": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.5.tgz",
+ "integrity": "sha512-Id/9wBT7FkgFzdEpiEWrsVd4ltDxN0rI0QS0SChbeQiSuux3z21SJCRLu6h2cvCEUmaRi+VD0mHFj+GJD4GFnw==",
+ "dependencies": {
+ "@csstools/selector-specificity": "^2.0.2",
+ "postcss-selector-parser": "^6.0.10"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/@csstools/postcss-color-function": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz",
+ "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==",
+ "dependencies": {
+ "@csstools/postcss-progressive-custom-properties": "^1.1.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/@csstools/postcss-font-format-keywords": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz",
+ "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/@csstools/postcss-hwb-function": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz",
+ "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/@csstools/postcss-ic-unit": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz",
+ "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==",
+ "dependencies": {
+ "@csstools/postcss-progressive-custom-properties": "^1.1.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/@csstools/postcss-is-pseudo-class": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz",
+ "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==",
+ "dependencies": {
+ "@csstools/selector-specificity": "^2.0.0",
+ "postcss-selector-parser": "^6.0.10"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/@csstools/postcss-normalize-display-values": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz",
+ "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/@csstools/postcss-oklab-function": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz",
+ "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==",
+ "dependencies": {
+ "@csstools/postcss-progressive-custom-properties": "^1.1.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/@csstools/postcss-progressive-custom-properties": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz",
+ "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "peerDependencies": {
+ "postcss": "^8.3"
+ }
+ },
+ "node_modules/@csstools/postcss-stepped-value-functions": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz",
+ "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/@csstools/postcss-trigonometric-functions": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz",
+ "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/@csstools/postcss-unset-value": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz",
+ "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==",
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/@csstools/selector-specificity": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz",
+ "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==",
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2",
+ "postcss-selector-parser": "^6.0.10"
+ }
+ },
+ "node_modules/@ctrl/tinycolor": {
+ "version": "3.4.1",
+ "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.4.1.tgz",
+ "integrity": "sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@emotion/babel-plugin": {
+ "version": "11.10.2",
+ "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.2.tgz",
+ "integrity": "sha512-xNQ57njWTFVfPAc3cjfuaPdsgLp5QOSuRsj9MA6ndEhH/AzuZM86qIQzt6rq+aGBwj3n5/TkLmU5lhAfdRmogA==",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.16.7",
+ "@babel/plugin-syntax-jsx": "^7.17.12",
+ "@babel/runtime": "^7.18.3",
+ "@emotion/hash": "^0.9.0",
+ "@emotion/memoize": "^0.8.0",
+ "@emotion/serialize": "^1.1.0",
+ "babel-plugin-macros": "^3.1.0",
+ "convert-source-map": "^1.5.0",
+ "escape-string-regexp": "^4.0.0",
+ "find-root": "^1.1.0",
+ "source-map": "^0.5.7",
+ "stylis": "4.0.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@emotion/babel-plugin/node_modules/@emotion/memoize": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz",
+ "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA=="
+ },
+ "node_modules/@emotion/babel-plugin/node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@emotion/babel-plugin/node_modules/source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@emotion/cache": {
+ "version": "11.10.3",
+ "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.3.tgz",
+ "integrity": "sha512-Psmp/7ovAa8appWh3g51goxu/z3iVms7JXOreq136D8Bbn6dYraPnmL6mdM8GThEx9vwSn92Fz+mGSjBzN8UPQ==",
+ "dependencies": {
+ "@emotion/memoize": "^0.8.0",
+ "@emotion/sheet": "^1.2.0",
+ "@emotion/utils": "^1.2.0",
+ "@emotion/weak-memoize": "^0.3.0",
+ "stylis": "4.0.13"
+ }
+ },
+ "node_modules/@emotion/cache/node_modules/@emotion/memoize": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz",
+ "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA=="
+ },
+ "node_modules/@emotion/hash": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz",
+ "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ=="
+ },
+ "node_modules/@emotion/is-prop-valid": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.1.3.tgz",
+ "integrity": "sha512-RFg04p6C+1uO19uG8N+vqanzKqiM9eeV1LDOG3bmkYmuOj7NbKNlFC/4EZq5gnwAIlcC/jOT24f8Td0iax2SXA==",
+ "dependencies": {
+ "@emotion/memoize": "^0.7.4"
+ }
+ },
+ "node_modules/@emotion/memoize": {
+ "version": "0.7.5",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.5.tgz",
+ "integrity": "sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ=="
+ },
+ "node_modules/@emotion/react": {
+ "version": "11.10.4",
+ "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.4.tgz",
+ "integrity": "sha512-j0AkMpr6BL8gldJZ6XQsQ8DnS9TxEQu1R+OGmDZiWjBAJtCcbt0tS3I/YffoqHXxH6MjgI7KdMbYKw3MEiU9eA==",
+ "dependencies": {
+ "@babel/runtime": "^7.18.3",
+ "@emotion/babel-plugin": "^11.10.0",
+ "@emotion/cache": "^11.10.0",
+ "@emotion/serialize": "^1.1.0",
+ "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0",
+ "@emotion/utils": "^1.2.0",
+ "@emotion/weak-memoize": "^0.3.0",
+ "hoist-non-react-statics": "^3.3.1"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0",
+ "react": ">=16.8.0"
+ },
+ "peerDependenciesMeta": {
+ "@babel/core": {
+ "optional": true
+ },
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@emotion/serialize": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.0.tgz",
+ "integrity": "sha512-F1ZZZW51T/fx+wKbVlwsfchr5q97iW8brAnXmsskz4d0hVB4O3M/SiA3SaeH06x02lSNzkkQv+n3AX3kCXKSFA==",
+ "dependencies": {
+ "@emotion/hash": "^0.9.0",
+ "@emotion/memoize": "^0.8.0",
+ "@emotion/unitless": "^0.8.0",
+ "@emotion/utils": "^1.2.0",
+ "csstype": "^3.0.2"
+ }
+ },
+ "node_modules/@emotion/serialize/node_modules/@emotion/memoize": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz",
+ "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA=="
+ },
+ "node_modules/@emotion/sheet": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.0.tgz",
+ "integrity": "sha512-OiTkRgpxescko+M51tZsMq7Puu/KP55wMT8BgpcXVG2hqXc0Vo0mfymJ/Uj24Hp0i083ji/o0aLddh08UEjq8w=="
+ },
+ "node_modules/@emotion/styled": {
+ "version": "11.10.4",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.10.4.tgz",
+ "integrity": "sha512-pRl4R8Ez3UXvOPfc2bzIoV8u9P97UedgHS4FPX594ntwEuAMA114wlaHvOK24HB48uqfXiGlYIZYCxVJ1R1ttQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.18.3",
+ "@emotion/babel-plugin": "^11.10.0",
+ "@emotion/is-prop-valid": "^1.2.0",
+ "@emotion/serialize": "^1.1.0",
+ "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0",
+ "@emotion/utils": "^1.2.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0",
+ "@emotion/react": "^11.0.0-rc.0",
+ "react": ">=16.8.0"
+ },
+ "peerDependenciesMeta": {
+ "@babel/core": {
+ "optional": true
+ },
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@emotion/styled/node_modules/@emotion/is-prop-valid": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz",
+ "integrity": "sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==",
+ "dependencies": {
+ "@emotion/memoize": "^0.8.0"
+ }
+ },
+ "node_modules/@emotion/styled/node_modules/@emotion/memoize": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz",
+ "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA=="
+ },
+ "node_modules/@emotion/unitless": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz",
+ "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw=="
+ },
+ "node_modules/@emotion/use-insertion-effect-with-fallbacks": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz",
+ "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==",
+ "peerDependencies": {
+ "react": ">=16.8.0"
+ }
+ },
+ "node_modules/@emotion/utils": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz",
+ "integrity": "sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw=="
+ },
+ "node_modules/@emotion/weak-memoize": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz",
+ "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg=="
+ },
+ "node_modules/@eslint/eslintrc": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz",
+ "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==",
+ "dependencies": {
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^9.3.2",
+ "globals": "^13.15.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
+ },
+ "node_modules/@eslint/eslintrc/node_modules/globals": {
+ "version": "13.17.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
+ "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@fortawesome/fontawesome-common-types": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.2.0.tgz",
+ "integrity": "sha512-rBevIsj2nclStJ7AxTdfsa3ovHb1H+qApwrxcTVo+NNdeJiB9V75hsKfrkG5AwNcRUNxrPPiScGYCNmLMoh8pg==",
+ "hasInstallScript": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@fortawesome/fontawesome-free": {
+ "version": "5.15.4",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.4.tgz",
+ "integrity": "sha512-eYm8vijH/hpzr/6/1CJ/V/Eb1xQFW2nnUKArb3z+yUWv7HTwj6M7SP957oMjfZjAHU6qpoNc2wQvIxBLWYa/Jg==",
+ "hasInstallScript": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@fortawesome/fontawesome-svg-core": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.2.0.tgz",
+ "integrity": "sha512-Cf2mAAeMWFMzpLC7Y9H1I4o3wEU+XovVJhTiNG8ZNgSQj53yl7OCJaS80K4YjrABWZzbAHVaoHE1dVJ27AAYXw==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@fortawesome/fontawesome-common-types": "6.2.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@fortawesome/free-regular-svg-icons": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.2.0.tgz",
+ "integrity": "sha512-M1dG+PAmkYMTL9BSUHFXY5oaHwBYfHCPhbJ8qj8JELsc9XCrUJ6eEHWip4q0tE+h9C0DVyFkwIM9t7QYyCpprQ==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@fortawesome/fontawesome-common-types": "6.2.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@fortawesome/free-solid-svg-icons": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.2.0.tgz",
+ "integrity": "sha512-UjCILHIQ4I8cN46EiQn0CZL/h8AwCGgR//1c4R96Q5viSRwuKVo0NdQEc4bm+69ZwC0dUvjbDqAHF1RR5FA3XA==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@fortawesome/fontawesome-common-types": "6.2.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@fortawesome/react-fontawesome": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.0.tgz",
+ "integrity": "sha512-uHg75Rb/XORTtVt7OS9WoK8uM276Ufi7gCzshVWkUJbHhh3svsUUeqXerrM96Wm7fRiDzfKRwSoahhMIkGAYHw==",
+ "dependencies": {
+ "prop-types": "^15.8.1"
+ },
+ "peerDependencies": {
+ "@fortawesome/fontawesome-svg-core": "~1 || ~6",
+ "react": ">=16.3"
+ }
+ },
+ "node_modules/@humanwhocodes/config-array": {
+ "version": "0.10.4",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz",
+ "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==",
+ "dependencies": {
+ "@humanwhocodes/object-schema": "^1.2.1",
+ "debug": "^4.1.1",
+ "minimatch": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=10.10.0"
+ }
+ },
+ "node_modules/@humanwhocodes/gitignore-to-minimatch": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz",
+ "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
+ "node_modules/@humanwhocodes/object-schema": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
+ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA=="
+ },
+ "node_modules/@istanbuljs/load-nyc-config": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
+ "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
+ "dependencies": {
+ "camelcase": "^5.3.1",
+ "find-up": "^4.1.0",
+ "get-package-type": "^0.1.0",
+ "js-yaml": "^3.13.1",
+ "resolve-from": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dependencies": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dependencies": {
+ "p-locate": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dependencies": {
+ "p-try": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dependencies": {
+ "p-limit": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@istanbuljs/schema": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
+ "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/console": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz",
+ "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==",
+ "dependencies": {
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "jest-message-util": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jest/console/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@jest/console/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@jest/console/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@jest/console/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/@jest/console/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/console/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/core": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz",
+ "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==",
+ "dependencies": {
+ "@jest/console": "^27.5.1",
+ "@jest/reporters": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/transform": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.0.0",
+ "emittery": "^0.8.1",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.9",
+ "jest-changed-files": "^27.5.1",
+ "jest-config": "^27.5.1",
+ "jest-haste-map": "^27.5.1",
+ "jest-message-util": "^27.5.1",
+ "jest-regex-util": "^27.5.1",
+ "jest-resolve": "^27.5.1",
+ "jest-resolve-dependencies": "^27.5.1",
+ "jest-runner": "^27.5.1",
+ "jest-runtime": "^27.5.1",
+ "jest-snapshot": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jest-validate": "^27.5.1",
+ "jest-watcher": "^27.5.1",
+ "micromatch": "^4.0.4",
+ "rimraf": "^3.0.0",
+ "slash": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@jest/core/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@jest/core/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@jest/core/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@jest/core/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/@jest/core/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/core/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/environment": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz",
+ "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==",
+ "dependencies": {
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "jest-mock": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jest/fake-timers": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz",
+ "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==",
+ "dependencies": {
+ "@jest/types": "^27.5.1",
+ "@sinonjs/fake-timers": "^8.0.1",
+ "@types/node": "*",
+ "jest-message-util": "^27.5.1",
+ "jest-mock": "^27.5.1",
+ "jest-util": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jest/globals": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz",
+ "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==",
+ "dependencies": {
+ "@jest/environment": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "expect": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jest/reporters": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz",
+ "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==",
+ "dependencies": {
+ "@bcoe/v8-coverage": "^0.2.3",
+ "@jest/console": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/transform": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "exit": "^0.1.2",
+ "glob": "^7.1.2",
+ "graceful-fs": "^4.2.9",
+ "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-instrument": "^5.1.0",
+ "istanbul-lib-report": "^3.0.0",
+ "istanbul-lib-source-maps": "^4.0.0",
+ "istanbul-reports": "^3.1.3",
+ "jest-haste-map": "^27.5.1",
+ "jest-resolve": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jest-worker": "^27.5.1",
+ "slash": "^3.0.0",
+ "source-map": "^0.6.0",
+ "string-length": "^4.0.1",
+ "terminal-link": "^2.0.0",
+ "v8-to-istanbul": "^8.1.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/@jest/reporters/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/schemas": {
+ "version": "28.1.3",
+ "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz",
+ "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==",
+ "dependencies": {
+ "@sinclair/typebox": "^0.24.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/@jest/source-map": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz",
+ "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==",
+ "dependencies": {
+ "callsites": "^3.0.0",
+ "graceful-fs": "^4.2.9",
+ "source-map": "^0.6.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jest/source-map/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@jest/test-result": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz",
+ "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==",
+ "dependencies": {
+ "@jest/console": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "collect-v8-coverage": "^1.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jest/test-sequencer": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz",
+ "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==",
+ "dependencies": {
+ "@jest/test-result": "^27.5.1",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^27.5.1",
+ "jest-runtime": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jest/transform": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz",
+ "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==",
+ "dependencies": {
+ "@babel/core": "^7.1.0",
+ "@jest/types": "^27.5.1",
+ "babel-plugin-istanbul": "^6.1.1",
+ "chalk": "^4.0.0",
+ "convert-source-map": "^1.4.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^27.5.1",
+ "jest-regex-util": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "micromatch": "^4.0.4",
+ "pirates": "^4.0.4",
+ "slash": "^3.0.0",
+ "source-map": "^0.6.1",
+ "write-file-atomic": "^3.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jest/transform/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@jest/transform/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@jest/transform/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@jest/transform/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/@jest/transform/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/transform/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@jest/transform/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/types": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz",
+ "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==",
+ "dependencies": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^16.0.0",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jest/types/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@jest/types/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@jest/types/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@jest/types/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/@jest/types/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/types/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
+ "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
+ "dependencies": {
+ "@jridgewell/set-array": "^1.0.0",
+ "@jridgewell/sourcemap-codec": "^1.4.10"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
+ "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
+ "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/source-map": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
+ "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ }
+ },
+ "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
+ "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
+ "dependencies": {
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.4.14",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
+ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.14",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz",
+ "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.0.3",
+ "@jridgewell/sourcemap-codec": "^1.4.10"
+ }
+ },
+ "node_modules/@leichtgewicht/ip-codec": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz",
+ "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A=="
+ },
+ "node_modules/@lezer/common": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.0.1.tgz",
+ "integrity": "sha512-8TR5++Q/F//tpDsLd5zkrvEX5xxeemafEaek7mUp7Y+bI8cKQXdSqhzTOBaOogETcMOVr0pT3BBPXp13477ciw=="
+ },
+ "node_modules/@lezer/highlight": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.1.1.tgz",
+ "integrity": "sha512-duv9D23O9ghEDnnUDmxu+L8pJy4nYo4AbCOHIudUhscrLSazqeJeK1V50EU6ZufWF1zv0KJwu/frFRyZWXxHBQ==",
+ "dependencies": {
+ "@lezer/common": "^1.0.0"
+ }
+ },
+ "node_modules/@lezer/lr": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.2.3.tgz",
+ "integrity": "sha512-qpB7rBzH8f6Mzjv2AVZRahcm+2Cf7nbIH++uXbvVOL1yIRvVWQ3HAM/saeBLCyz/togB7LGo76qdJYL1uKQlqA==",
+ "dependencies": {
+ "@lezer/common": "^1.0.0"
+ }
+ },
+ "node_modules/@material-ui/core": {
+ "version": "4.12.4",
+ "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.12.4.tgz",
+ "integrity": "sha512-tr7xekNlM9LjA6pagJmL8QCgZXaubWUwkJnoYcMKd4gw/t4XiyvnTkjdGrUVicyB2BsdaAv1tvow45bPM4sSwQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.4.4",
+ "@material-ui/styles": "^4.11.5",
+ "@material-ui/system": "^4.12.2",
+ "@material-ui/types": "5.1.0",
+ "@material-ui/utils": "^4.11.3",
+ "@types/react-transition-group": "^4.2.0",
+ "clsx": "^1.0.4",
+ "hoist-non-react-statics": "^3.3.2",
+ "popper.js": "1.16.1-lts",
+ "prop-types": "^15.7.2",
+ "react-is": "^16.8.0 || ^17.0.0",
+ "react-transition-group": "^4.4.0"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/material-ui"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.6 || ^17.0.0",
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@material-ui/core/node_modules/@emotion/hash": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz",
+ "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow=="
+ },
+ "node_modules/@material-ui/core/node_modules/@material-ui/styles": {
+ "version": "4.11.5",
+ "resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.11.5.tgz",
+ "integrity": "sha512-o/41ot5JJiUsIETME9wVLAJrmIWL3j0R0Bj2kCOLbSfqEkKf0fmaPt+5vtblUh5eXr2S+J/8J3DaCb10+CzPGA==",
+ "dependencies": {
+ "@babel/runtime": "^7.4.4",
+ "@emotion/hash": "^0.8.0",
+ "@material-ui/types": "5.1.0",
+ "@material-ui/utils": "^4.11.3",
+ "clsx": "^1.0.4",
+ "csstype": "^2.5.2",
+ "hoist-non-react-statics": "^3.3.2",
+ "jss": "^10.5.1",
+ "jss-plugin-camel-case": "^10.5.1",
+ "jss-plugin-default-unit": "^10.5.1",
+ "jss-plugin-global": "^10.5.1",
+ "jss-plugin-nested": "^10.5.1",
+ "jss-plugin-props-sort": "^10.5.1",
+ "jss-plugin-rule-value-function": "^10.5.1",
+ "jss-plugin-vendor-prefixer": "^10.5.1",
+ "prop-types": "^15.7.2"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/material-ui"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.6 || ^17.0.0",
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@material-ui/core/node_modules/@material-ui/system": {
+ "version": "4.12.2",
+ "resolved": "https://registry.npmjs.org/@material-ui/system/-/system-4.12.2.tgz",
+ "integrity": "sha512-6CSKu2MtmiJgcCGf6nBQpM8fLkuB9F55EKfbdTC80NND5wpTmKzwdhLYLH3zL4cLlK0gVaaltW7/wMuyTnN0Lw==",
+ "dependencies": {
+ "@babel/runtime": "^7.4.4",
+ "@material-ui/utils": "^4.11.3",
+ "csstype": "^2.5.2",
+ "prop-types": "^15.7.2"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/material-ui"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.6 || ^17.0.0",
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@material-ui/core/node_modules/@material-ui/utils": {
+ "version": "4.11.3",
+ "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-4.11.3.tgz",
+ "integrity": "sha512-ZuQPV4rBK/V1j2dIkSSEcH5uT6AaHuKWFfotADHsC0wVL1NLd2WkFCm4ZZbX33iO4ydl6V0GPngKm8HZQ2oujg==",
+ "dependencies": {
+ "@babel/runtime": "^7.4.4",
+ "prop-types": "^15.7.2",
+ "react-is": "^16.8.0 || ^17.0.0"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@material-ui/core/node_modules/csstype": {
+ "version": "2.6.21",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz",
+ "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
+ },
+ "node_modules/@material-ui/icons": {
+ "version": "4.11.3",
+ "resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-4.11.3.tgz",
+ "integrity": "sha512-IKHlyx6LDh8n19vzwH5RtHIOHl9Tu90aAAxcbWME6kp4dmvODM3UvOHJeMIDzUbd4muuJKHmlNoBN+mDY4XkBA==",
+ "dependencies": {
+ "@babel/runtime": "^7.4.4"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ },
+ "peerDependencies": {
+ "@material-ui/core": "^4.0.0",
+ "@types/react": "^16.8.6 || ^17.0.0",
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@material-ui/types": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@material-ui/types/-/types-5.1.0.tgz",
+ "integrity": "sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A==",
+ "peerDependencies": {
+ "@types/react": "*"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@motionone/animation": {
+ "version": "10.14.0",
+ "resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.14.0.tgz",
+ "integrity": "sha512-h+1sdyBP8vbxEBW5gPFDnj+m2DCqdlAuf2g6Iafb1lcMnqjsRXWlPw1AXgvUMXmreyhqmPbJqoNfIKdytampRQ==",
+ "dependencies": {
+ "@motionone/easing": "^10.14.0",
+ "@motionone/types": "^10.14.0",
+ "@motionone/utils": "^10.14.0",
+ "tslib": "^2.3.1"
+ }
+ },
+ "node_modules/@motionone/dom": {
+ "version": "10.13.1",
+ "resolved": "https://registry.npmjs.org/@motionone/dom/-/dom-10.13.1.tgz",
+ "integrity": "sha512-zjfX+AGMIt/fIqd/SL1Lj93S6AiJsEA3oc5M9VkUr+Gz+juRmYN1vfvZd6MvEkSqEjwPQgcjN7rGZHrDB9APfQ==",
+ "dependencies": {
+ "@motionone/animation": "^10.13.1",
+ "@motionone/generators": "^10.13.1",
+ "@motionone/types": "^10.13.0",
+ "@motionone/utils": "^10.13.1",
+ "hey-listen": "^1.0.8",
+ "tslib": "^2.3.1"
+ }
+ },
+ "node_modules/@motionone/easing": {
+ "version": "10.14.0",
+ "resolved": "https://registry.npmjs.org/@motionone/easing/-/easing-10.14.0.tgz",
+ "integrity": "sha512-2vUBdH9uWTlRbuErhcsMmt1jvMTTqvGmn9fHq8FleFDXBlHFs5jZzHJT9iw+4kR1h6a4SZQuCf72b9ji92qNYA==",
+ "dependencies": {
+ "@motionone/utils": "^10.14.0",
+ "tslib": "^2.3.1"
+ }
+ },
+ "node_modules/@motionone/generators": {
+ "version": "10.14.0",
+ "resolved": "https://registry.npmjs.org/@motionone/generators/-/generators-10.14.0.tgz",
+ "integrity": "sha512-6kRHezoFfIjFN7pPpaxmkdZXD36tQNcyJe3nwVqwJ+ZfC0e3rFmszR8kp9DEVFs9QL/akWjuGPSLBI1tvz+Vjg==",
+ "dependencies": {
+ "@motionone/types": "^10.14.0",
+ "@motionone/utils": "^10.14.0",
+ "tslib": "^2.3.1"
+ }
+ },
+ "node_modules/@motionone/types": {
+ "version": "10.14.0",
+ "resolved": "https://registry.npmjs.org/@motionone/types/-/types-10.14.0.tgz",
+ "integrity": "sha512-3bNWyYBHtVd27KncnJLhksMFQ5o2MSdk1cA/IZqsHtA9DnRM1SYgN01CTcJ8Iw8pCXF5Ocp34tyAjY7WRpOJJQ=="
+ },
+ "node_modules/@motionone/utils": {
+ "version": "10.14.0",
+ "resolved": "https://registry.npmjs.org/@motionone/utils/-/utils-10.14.0.tgz",
+ "integrity": "sha512-sLWBLPzRqkxmOTRzSaD3LFQXCPHvDzyHJ1a3VP9PRzBxyVd2pv51/gMOsdAcxQ9n+MIeGJnxzXBYplUHKj4jkw==",
+ "dependencies": {
+ "@motionone/types": "^10.14.0",
+ "hey-listen": "^1.0.8",
+ "tslib": "^2.3.1"
+ }
+ },
+ "node_modules/@mui/base": {
+ "version": "5.0.0-alpha.90",
+ "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.90.tgz",
+ "integrity": "sha512-hNKwzr+RkiuGsGrakz8Q2i5ezr4Dz4b4Qsdipt9SiMrhuFAra/i501VSaEIzwec9LC4G+vtW4fE7yJBB0XaAYw==",
+ "dependencies": {
+ "@babel/runtime": "^7.17.2",
+ "@emotion/is-prop-valid": "^1.1.3",
+ "@mui/types": "^7.1.4",
+ "@mui/utils": "^5.9.1",
+ "@popperjs/core": "^2.11.5",
+ "clsx": "^1.2.1",
+ "prop-types": "^15.8.1",
+ "react-is": "^18.2.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui"
+ },
+ "peerDependencies": {
+ "@types/react": "^17.0.0 || ^18.0.0",
+ "react": "^17.0.0 || ^18.0.0",
+ "react-dom": "^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/base/node_modules/react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
+ },
+ "node_modules/@mui/icons-material": {
+ "version": "5.10.6",
+ "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.10.6.tgz",
+ "integrity": "sha512-QwxdRmLA46S94B0hExPDx0td+A2unF+33bQ6Cs+lNpJKVsm1YeHwNdYXYcnpWeHeQQ07055OXl7IB2GKDd0MfA==",
+ "dependencies": {
+ "@babel/runtime": "^7.19.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui"
+ },
+ "peerDependencies": {
+ "@mui/material": "^5.0.0",
+ "@types/react": "^17.0.0 || ^18.0.0",
+ "react": "^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/material": {
+ "version": "5.9.1",
+ "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.9.1.tgz",
+ "integrity": "sha512-c09SbaMm7Rl7Df9JRkXwPWNbnfrutmHERTJC46OJ9OMAM9+HGQihIbGln1k2Xj65jb3E+G498FZFAoSrrBDvwQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.17.2",
+ "@mui/base": "5.0.0-alpha.90",
+ "@mui/system": "^5.9.1",
+ "@mui/types": "^7.1.4",
+ "@mui/utils": "^5.9.1",
+ "@types/react-transition-group": "^4.4.5",
+ "clsx": "^1.2.1",
+ "csstype": "^3.1.0",
+ "prop-types": "^15.8.1",
+ "react-is": "^18.2.0",
+ "react-transition-group": "^4.4.2"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui"
+ },
+ "peerDependencies": {
+ "@emotion/react": "^11.5.0",
+ "@emotion/styled": "^11.3.0",
+ "@types/react": "^17.0.0 || ^18.0.0",
+ "react": "^17.0.0 || ^18.0.0",
+ "react-dom": "^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@emotion/react": {
+ "optional": true
+ },
+ "@emotion/styled": {
+ "optional": true
+ },
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/material/node_modules/react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
+ },
+ "node_modules/@mui/private-theming": {
+ "version": "5.9.1",
+ "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.9.1.tgz",
+ "integrity": "sha512-eIh2IZJInNTdgPLMo9cruzm8UDX5amBBxxsSoNre7lRj3wcsu3TG5OKjIbzkf4VxHHEhdPeNNQyt92k7L78u2A==",
+ "dependencies": {
+ "@babel/runtime": "^7.17.2",
+ "@mui/utils": "^5.9.1",
+ "prop-types": "^15.8.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui"
+ },
+ "peerDependencies": {
+ "@types/react": "^17.0.0 || ^18.0.0",
+ "react": "^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/styled-engine": {
+ "version": "5.8.7",
+ "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.8.7.tgz",
+ "integrity": "sha512-tVqtowjbYmiRq+qcqXK731L9eWoL9H8xTRhuTgaDGKdch1zlt4I2UwInUe1w2N9N/u3/jHsFbLcl1Un3uOwpQg==",
+ "dependencies": {
+ "@babel/runtime": "^7.17.2",
+ "@emotion/cache": "^11.9.3",
+ "csstype": "^3.1.0",
+ "prop-types": "^15.8.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui"
+ },
+ "peerDependencies": {
+ "@emotion/react": "^11.4.1",
+ "@emotion/styled": "^11.3.0",
+ "react": "^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@emotion/react": {
+ "optional": true
+ },
+ "@emotion/styled": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/system": {
+ "version": "5.9.1",
+ "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.9.1.tgz",
+ "integrity": "sha512-ZixTmc2+sYp++avoYJ38eM70nfwwudN06vYCU4kfwa4nQPiH+bhLYZnfYkcXRKiDR/hfT0dptbOOfQGZqBYczQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.17.2",
+ "@mui/private-theming": "^5.9.1",
+ "@mui/styled-engine": "^5.8.7",
+ "@mui/types": "^7.1.4",
+ "@mui/utils": "^5.9.1",
+ "clsx": "^1.2.1",
+ "csstype": "^3.1.0",
+ "prop-types": "^15.8.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui"
+ },
+ "peerDependencies": {
+ "@emotion/react": "^11.5.0",
+ "@emotion/styled": "^11.3.0",
+ "@types/react": "^17.0.0 || ^18.0.0",
+ "react": "^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@emotion/react": {
+ "optional": true
+ },
+ "@emotion/styled": {
+ "optional": true
+ },
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/types": {
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.1.4.tgz",
+ "integrity": "sha512-uveM3byMbthO+6tXZ1n2zm0W3uJCQYtwt/v5zV5I77v2v18u0ITkb8xwhsDD2i3V2Kye7SaNR6FFJ6lMuY/WqQ==",
+ "peerDependencies": {
+ "@types/react": "*"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/utils": {
+ "version": "5.9.1",
+ "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.9.1.tgz",
+ "integrity": "sha512-8+4adOR3xusyJwvbnZxcjqcmbWvl7Og+260ZKIrSvwnFs0aLubL+8MhiceeDDGcmb0bTKxfUgRJ96j32Jb7P+A==",
+ "dependencies": {
+ "@babel/runtime": "^7.17.2",
+ "@types/prop-types": "^15.7.5",
+ "@types/react-is": "^16.7.1 || ^17.0.0",
+ "prop-types": "^15.8.1",
+ "react-is": "^18.2.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui"
+ },
+ "peerDependencies": {
+ "react": "^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/@mui/utils/node_modules/react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@pmmmwh/react-refresh-webpack-plugin": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.7.tgz",
+ "integrity": "sha512-bcKCAzF0DV2IIROp9ZHkRJa6O4jy7NlnHdWL3GmcUxYWNjLXkK5kfELELwEfSP5hXPfVL/qOGMAROuMQb9GG8Q==",
+ "dependencies": {
+ "ansi-html-community": "^0.0.8",
+ "common-path-prefix": "^3.0.0",
+ "core-js-pure": "^3.8.1",
+ "error-stack-parser": "^2.0.6",
+ "find-up": "^5.0.0",
+ "html-entities": "^2.1.0",
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^3.0.0",
+ "source-map": "^0.7.3"
+ },
+ "engines": {
+ "node": ">= 10.13"
+ },
+ "peerDependencies": {
+ "@types/webpack": "4.x || 5.x",
+ "react-refresh": ">=0.10.0 <1.0.0",
+ "sockjs-client": "^1.4.0",
+ "type-fest": ">=0.17.0 <3.0.0",
+ "webpack": ">=4.43.0 <6.0.0",
+ "webpack-dev-server": "3.x || 4.x",
+ "webpack-hot-middleware": "2.x",
+ "webpack-plugin-serve": "0.x || 1.x"
+ },
+ "peerDependenciesMeta": {
+ "@types/webpack": {
+ "optional": true
+ },
+ "sockjs-client": {
+ "optional": true
+ },
+ "type-fest": {
+ "optional": true
+ },
+ "webpack-dev-server": {
+ "optional": true
+ },
+ "webpack-hot-middleware": {
+ "optional": true
+ },
+ "webpack-plugin-serve": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@popperjs/core": {
+ "version": "2.11.5",
+ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz",
+ "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/popperjs"
+ }
+ },
+ "node_modules/@remix-run/router": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.0.0.tgz",
+ "integrity": "sha512-SCR1cxRSMNKjaVYptCzBApPDqGwa3FGdjVHc+rOToocNPHQdIYLZBfv/3f+KvYuXDkUGVIW9IAzmPNZDRL1I4A==",
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@rollup/plugin-babel": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz",
+ "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.10.4",
+ "@rollup/pluginutils": "^3.1.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0",
+ "@types/babel__core": "^7.1.9",
+ "rollup": "^1.20.0||^2.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/babel__core": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@rollup/plugin-node-resolve": {
+ "version": "11.2.1",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz",
+ "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==",
+ "dependencies": {
+ "@rollup/pluginutils": "^3.1.0",
+ "@types/resolve": "1.17.1",
+ "builtin-modules": "^3.1.0",
+ "deepmerge": "^4.2.2",
+ "is-module": "^1.0.0",
+ "resolve": "^1.19.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0"
+ }
+ },
+ "node_modules/@rollup/plugin-replace": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz",
+ "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==",
+ "dependencies": {
+ "@rollup/pluginutils": "^3.1.0",
+ "magic-string": "^0.25.7"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0 || ^2.0.0"
+ }
+ },
+ "node_modules/@rollup/pluginutils": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
+ "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
+ "dependencies": {
+ "@types/estree": "0.0.39",
+ "estree-walker": "^1.0.1",
+ "picomatch": "^2.2.2"
+ },
+ "engines": {
+ "node": ">= 8.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0"
+ }
+ },
+ "node_modules/@rollup/pluginutils/node_modules/@types/estree": {
+ "version": "0.0.39",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
+ "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw=="
+ },
+ "node_modules/@rushstack/eslint-patch": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.1.4.tgz",
+ "integrity": "sha512-LwzQKA4vzIct1zNZzBmRKI9QuNpLgTQMEjsQLf3BXuGYb3QPTP4Yjf6mkdX+X1mYttZ808QpOwAzZjv28kq7DA=="
+ },
+ "node_modules/@sinclair/typebox": {
+ "version": "0.24.20",
+ "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.20.tgz",
+ "integrity": "sha512-kVaO5aEFZb33nPMTZBxiPEkY+slxiPtqC7QX8f9B3eGOMBvEfuMfxp9DSTTCsRJPumPKjrge4yagyssO4q6qzQ=="
+ },
+ "node_modules/@sinonjs/commons": {
+ "version": "1.8.3",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz",
+ "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==",
+ "dependencies": {
+ "type-detect": "4.0.8"
+ }
+ },
+ "node_modules/@sinonjs/fake-timers": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz",
+ "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==",
+ "dependencies": {
+ "@sinonjs/commons": "^1.7.0"
+ }
+ },
+ "node_modules/@socket.io/component-emitter": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
+ "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
+ },
+ "node_modules/@surma/rollup-plugin-off-main-thread": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz",
+ "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==",
+ "dependencies": {
+ "ejs": "^3.1.6",
+ "json5": "^2.2.0",
+ "magic-string": "^0.25.0",
+ "string.prototype.matchall": "^4.0.6"
+ }
+ },
+ "node_modules/@svgr/babel-plugin-add-jsx-attribute": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz",
+ "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/babel-plugin-remove-jsx-attribute": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz",
+ "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz",
+ "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz",
+ "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/babel-plugin-svg-dynamic-title": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz",
+ "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/babel-plugin-svg-em-dimensions": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz",
+ "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/babel-plugin-transform-react-native-svg": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz",
+ "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/babel-plugin-transform-svg-component": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz",
+ "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/babel-preset": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz",
+ "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==",
+ "dependencies": {
+ "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0",
+ "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0",
+ "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1",
+ "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1",
+ "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0",
+ "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0",
+ "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0",
+ "@svgr/babel-plugin-transform-svg-component": "^5.5.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/core": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz",
+ "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==",
+ "dependencies": {
+ "@svgr/plugin-jsx": "^5.5.0",
+ "camelcase": "^6.2.0",
+ "cosmiconfig": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/hast-util-to-babel-ast": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz",
+ "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==",
+ "dependencies": {
+ "@babel/types": "^7.12.6"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/plugin-jsx": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz",
+ "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==",
+ "dependencies": {
+ "@babel/core": "^7.12.3",
+ "@svgr/babel-preset": "^5.5.0",
+ "@svgr/hast-util-to-babel-ast": "^5.5.0",
+ "svg-parser": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/plugin-svgo": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz",
+ "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==",
+ "dependencies": {
+ "cosmiconfig": "^7.0.0",
+ "deepmerge": "^4.2.2",
+ "svgo": "^1.2.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@svgr/webpack": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz",
+ "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==",
+ "dependencies": {
+ "@babel/core": "^7.12.3",
+ "@babel/plugin-transform-react-constant-elements": "^7.12.1",
+ "@babel/preset-env": "^7.12.1",
+ "@babel/preset-react": "^7.12.5",
+ "@svgr/core": "^5.5.0",
+ "@svgr/plugin-jsx": "^5.5.0",
+ "@svgr/plugin-svgo": "^5.5.0",
+ "loader-utils": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ }
+ },
+ "node_modules/@testing-library/dom": {
+ "version": "8.16.0",
+ "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.16.0.tgz",
+ "integrity": "sha512-uxF4zmnLHHDlmW4l+0WDjcgLVwCvH+OVLpD8Dfp+Bjfz85prwxWGbwXgJdLtkgjD0qfOzkJF9SmA6YZPsMYX4w==",
+ "dependencies": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/runtime": "^7.12.5",
+ "@types/aria-query": "^4.2.0",
+ "aria-query": "^5.0.0",
+ "chalk": "^4.1.0",
+ "dom-accessibility-api": "^0.5.9",
+ "lz-string": "^1.4.4",
+ "pretty-format": "^27.0.2"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@testing-library/dom/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@testing-library/dom/node_modules/aria-query": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.0.0.tgz",
+ "integrity": "sha512-V+SM7AbUwJ+EBnB8+DXs0hPZHO0W6pqBcc0dW90OwtVG02PswOu/teuARoLQjdDOH+t9pJgGnW5/Qmouf3gPJg==",
+ "engines": {
+ "node": ">=6.0"
+ }
+ },
+ "node_modules/@testing-library/dom/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@testing-library/dom/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@testing-library/dom/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/@testing-library/dom/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@testing-library/dom/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@testing-library/jest-dom": {
+ "version": "5.16.4",
+ "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.4.tgz",
+ "integrity": "sha512-Gy+IoFutbMQcky0k+bqqumXZ1cTGswLsFqmNLzNdSKkU9KGV2u9oXhukCbbJ9/LRPKiqwxEE8VpV/+YZlfkPUA==",
+ "dependencies": {
+ "@babel/runtime": "^7.9.2",
+ "@types/testing-library__jest-dom": "^5.9.1",
+ "aria-query": "^5.0.0",
+ "chalk": "^3.0.0",
+ "css": "^3.0.0",
+ "css.escape": "^1.5.1",
+ "dom-accessibility-api": "^0.5.6",
+ "lodash": "^4.17.15",
+ "redent": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8",
+ "npm": ">=6",
+ "yarn": ">=1"
+ }
+ },
+ "node_modules/@testing-library/jest-dom/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@testing-library/jest-dom/node_modules/aria-query": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.0.0.tgz",
+ "integrity": "sha512-V+SM7AbUwJ+EBnB8+DXs0hPZHO0W6pqBcc0dW90OwtVG02PswOu/teuARoLQjdDOH+t9pJgGnW5/Qmouf3gPJg==",
+ "engines": {
+ "node": ">=6.0"
+ }
+ },
+ "node_modules/@testing-library/jest-dom/node_modules/chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@testing-library/jest-dom/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@testing-library/jest-dom/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/@testing-library/jest-dom/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@testing-library/jest-dom/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@testing-library/react": {
+ "version": "13.3.0",
+ "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.3.0.tgz",
+ "integrity": "sha512-DB79aA426+deFgGSjnf5grczDPiL4taK3hFaa+M5q7q20Kcve9eQottOG5kZ74KEr55v0tU2CQormSSDK87zYQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.12.5",
+ "@testing-library/dom": "^8.5.0",
+ "@types/react-dom": "^18.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "peerDependencies": {
+ "react": "^18.0.0",
+ "react-dom": "^18.0.0"
+ }
+ },
+ "node_modules/@testing-library/user-event": {
+ "version": "13.5.0",
+ "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz",
+ "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==",
+ "dependencies": {
+ "@babel/runtime": "^7.12.5"
+ },
+ "engines": {
+ "node": ">=10",
+ "npm": ">=6"
+ },
+ "peerDependencies": {
+ "@testing-library/dom": ">=7.21.4"
+ }
+ },
+ "node_modules/@tootallnate/once": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
+ "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/@trysound/sax": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
+ "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==",
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/@types/aria-query": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz",
+ "integrity": "sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig=="
+ },
+ "node_modules/@types/babel__core": {
+ "version": "7.1.19",
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz",
+ "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==",
+ "dependencies": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0",
+ "@types/babel__generator": "*",
+ "@types/babel__template": "*",
+ "@types/babel__traverse": "*"
+ }
+ },
+ "node_modules/@types/babel__generator": {
+ "version": "7.6.4",
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz",
+ "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==",
+ "dependencies": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__template": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz",
+ "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==",
+ "dependencies": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__traverse": {
+ "version": "7.17.1",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz",
+ "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==",
+ "dependencies": {
+ "@babel/types": "^7.3.0"
+ }
+ },
+ "node_modules/@types/body-parser": {
+ "version": "1.19.2",
+ "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
+ "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==",
+ "dependencies": {
+ "@types/connect": "*",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/bonjour": {
+ "version": "3.5.10",
+ "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz",
+ "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/connect": {
+ "version": "3.4.35",
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
+ "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/connect-history-api-fallback": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz",
+ "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==",
+ "dependencies": {
+ "@types/express-serve-static-core": "*",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/cookie": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.3.3.tgz",
+ "integrity": "sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow=="
+ },
+ "node_modules/@types/eslint": {
+ "version": "8.4.5",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.5.tgz",
+ "integrity": "sha512-dhsC09y1gpJWnK+Ff4SGvCuSnk9DaU0BJZSzOwa6GVSg65XtTugLBITDAAzRU5duGBoXBHpdR/9jHGxJjNflJQ==",
+ "dependencies": {
+ "@types/estree": "*",
+ "@types/json-schema": "*"
+ }
+ },
+ "node_modules/@types/eslint-scope": {
+ "version": "3.7.4",
+ "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz",
+ "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==",
+ "dependencies": {
+ "@types/eslint": "*",
+ "@types/estree": "*"
+ }
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz",
+ "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ=="
+ },
+ "node_modules/@types/express": {
+ "version": "4.17.13",
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz",
+ "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==",
+ "dependencies": {
+ "@types/body-parser": "*",
+ "@types/express-serve-static-core": "^4.17.18",
+ "@types/qs": "*",
+ "@types/serve-static": "*"
+ }
+ },
+ "node_modules/@types/express-serve-static-core": {
+ "version": "4.17.29",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz",
+ "integrity": "sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==",
+ "dependencies": {
+ "@types/node": "*",
+ "@types/qs": "*",
+ "@types/range-parser": "*"
+ }
+ },
+ "node_modules/@types/graceful-fs": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz",
+ "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/html-minifier-terser": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz",
+ "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg=="
+ },
+ "node_modules/@types/http-proxy": {
+ "version": "1.17.9",
+ "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz",
+ "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/istanbul-lib-coverage": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz",
+ "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g=="
+ },
+ "node_modules/@types/istanbul-lib-report": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
+ "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
+ "dependencies": {
+ "@types/istanbul-lib-coverage": "*"
+ }
+ },
+ "node_modules/@types/istanbul-reports": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz",
+ "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==",
+ "dependencies": {
+ "@types/istanbul-lib-report": "*"
+ }
+ },
+ "node_modules/@types/jest": {
+ "version": "28.1.6",
+ "resolved": "https://registry.npmjs.org/@types/jest/-/jest-28.1.6.tgz",
+ "integrity": "sha512-0RbGAFMfcBJKOmqRazM8L98uokwuwD5F8rHrv/ZMbrZBwVOWZUyPG6VFNscjYr/vjM3Vu4fRrCPbOs42AfemaQ==",
+ "dependencies": {
+ "jest-matcher-utils": "^28.0.0",
+ "pretty-format": "^28.0.0"
+ }
+ },
+ "node_modules/@types/jest/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@types/jest/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@types/jest/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@types/jest/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/@types/jest/node_modules/diff-sequences": {
+ "version": "28.1.1",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz",
+ "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==",
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/@types/jest/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@types/jest/node_modules/jest-diff": {
+ "version": "28.1.3",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz",
+ "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==",
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^28.1.1",
+ "jest-get-type": "^28.0.2",
+ "pretty-format": "^28.1.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/@types/jest/node_modules/jest-get-type": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz",
+ "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==",
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/@types/jest/node_modules/jest-matcher-utils": {
+ "version": "28.1.3",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz",
+ "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==",
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "jest-diff": "^28.1.3",
+ "jest-get-type": "^28.0.2",
+ "pretty-format": "^28.1.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/@types/jest/node_modules/pretty-format": {
+ "version": "28.1.3",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz",
+ "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/@types/jest/node_modules/pretty-format/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@types/jest/node_modules/react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
+ },
+ "node_modules/@types/jest/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@types/json-schema": {
+ "version": "7.0.11",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
+ "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ=="
+ },
+ "node_modules/@types/json5": {
+ "version": "0.0.29",
+ "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
+ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ=="
+ },
+ "node_modules/@types/lodash": {
+ "version": "4.14.186",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.186.tgz",
+ "integrity": "sha512-eHcVlLXP0c2FlMPm56ITode2AgLMSa6aJ05JTTbYbI+7EMkCEE5qk2E41d5g2lCVTqRe0GnnRFurmlCsDODrPw=="
+ },
+ "node_modules/@types/lodash.mergewith": {
+ "version": "4.6.6",
+ "resolved": "https://registry.npmjs.org/@types/lodash.mergewith/-/lodash.mergewith-4.6.6.tgz",
+ "integrity": "sha512-RY/8IaVENjG19rxTZu9Nukqh0W2UrYgmBj5sdns4hWRZaV8PqR7wIKHFKzvOTjo4zVRV7sVI+yFhAJql12Kfqg==",
+ "dependencies": {
+ "@types/lodash": "*"
+ }
+ },
+ "node_modules/@types/mime": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
+ "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw=="
+ },
+ "node_modules/@types/node": {
+ "version": "18.0.5",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.5.tgz",
+ "integrity": "sha512-En7tneq+j0qAiVwysBD79y86MT3ModuoIJbe7JXp+sb5UAjInSShmK3nXXMioBzfF7rXC12hv12d4IyCVwN4dA=="
+ },
+ "node_modules/@types/parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA=="
+ },
+ "node_modules/@types/prettier": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.3.tgz",
+ "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg=="
+ },
+ "node_modules/@types/prop-types": {
+ "version": "15.7.5",
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
+ "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w=="
+ },
+ "node_modules/@types/q": {
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz",
+ "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ=="
+ },
+ "node_modules/@types/qs": {
+ "version": "6.9.7",
+ "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
+ "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw=="
+ },
+ "node_modules/@types/range-parser": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz",
+ "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw=="
+ },
+ "node_modules/@types/react": {
+ "version": "17.0.52",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.52.tgz",
+ "integrity": "sha512-vwk8QqVODi0VaZZpDXQCmEmiOuyjEFPY7Ttaw5vjM112LOq37yz1CDJGrRJwA1fYEq4Iitd5rnjd1yWAc/bT+A==",
+ "dependencies": {
+ "@types/prop-types": "*",
+ "@types/scheduler": "*",
+ "csstype": "^3.0.2"
+ }
+ },
+ "node_modules/@types/react-dom": {
+ "version": "18.0.6",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.6.tgz",
+ "integrity": "sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==",
+ "dependencies": {
+ "@types/react": "*"
+ }
+ },
+ "node_modules/@types/react-is": {
+ "version": "17.0.3",
+ "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.3.tgz",
+ "integrity": "sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==",
+ "dependencies": {
+ "@types/react": "*"
+ }
+ },
+ "node_modules/@types/react-transition-group": {
+ "version": "4.4.5",
+ "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz",
+ "integrity": "sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==",
+ "dependencies": {
+ "@types/react": "*"
+ }
+ },
+ "node_modules/@types/resolve": {
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz",
+ "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/retry": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz",
+ "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA=="
+ },
+ "node_modules/@types/scheduler": {
+ "version": "0.16.2",
+ "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
+ "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew=="
+ },
+ "node_modules/@types/serve-index": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz",
+ "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==",
+ "dependencies": {
+ "@types/express": "*"
+ }
+ },
+ "node_modules/@types/serve-static": {
+ "version": "1.13.10",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz",
+ "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==",
+ "dependencies": {
+ "@types/mime": "^1",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/sockjs": {
+ "version": "0.3.33",
+ "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz",
+ "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/stack-utils": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz",
+ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw=="
+ },
+ "node_modules/@types/testing-library__jest-dom": {
+ "version": "5.14.5",
+ "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz",
+ "integrity": "sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ==",
+ "dependencies": {
+ "@types/jest": "*"
+ }
+ },
+ "node_modules/@types/trusted-types": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz",
+ "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg=="
+ },
+ "node_modules/@types/ws": {
+ "version": "8.5.3",
+ "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz",
+ "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/yargs": {
+ "version": "16.0.4",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz",
+ "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==",
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/@types/yargs-parser": {
+ "version": "21.0.0",
+ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz",
+ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA=="
+ },
+ "node_modules/@typescript-eslint/eslint-plugin": {
+ "version": "5.30.6",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.30.6.tgz",
+ "integrity": "sha512-J4zYMIhgrx4MgnZrSDD7sEnQp7FmhKNOaqaOpaoQ/SfdMfRB/0yvK74hTnvH+VQxndZynqs5/Hn4t+2/j9bADg==",
+ "dependencies": {
+ "@typescript-eslint/scope-manager": "5.30.6",
+ "@typescript-eslint/type-utils": "5.30.6",
+ "@typescript-eslint/utils": "5.30.6",
+ "debug": "^4.3.4",
+ "functional-red-black-tree": "^1.0.1",
+ "ignore": "^5.2.0",
+ "regexpp": "^3.2.0",
+ "semver": "^7.3.7",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/parser": "^5.0.0",
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/experimental-utils": {
+ "version": "5.30.6",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.30.6.tgz",
+ "integrity": "sha512-bqvT+0L8IjtW7MCrMgm9oVNxs4g7mESro1mm5c1/SNfTnHuFTf9OUX1WzVkTz75M9cp//UrTrSmGvK48NEKshQ==",
+ "dependencies": {
+ "@typescript-eslint/utils": "5.30.6"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/parser": {
+ "version": "5.30.6",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.30.6.tgz",
+ "integrity": "sha512-gfF9lZjT0p2ZSdxO70Xbw8w9sPPJGfAdjK7WikEjB3fcUI/yr9maUVEdqigBjKincUYNKOmf7QBMiTf719kbrA==",
+ "dependencies": {
+ "@typescript-eslint/scope-manager": "5.30.6",
+ "@typescript-eslint/types": "5.30.6",
+ "@typescript-eslint/typescript-estree": "5.30.6",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "5.30.6",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.30.6.tgz",
+ "integrity": "sha512-Hkq5PhLgtVoW1obkqYH0i4iELctEKixkhWLPTYs55doGUKCASvkjOXOd/pisVeLdO24ZX9D6yymJ/twqpJiG3g==",
+ "dependencies": {
+ "@typescript-eslint/types": "5.30.6",
+ "@typescript-eslint/visitor-keys": "5.30.6"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/type-utils": {
+ "version": "5.30.6",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.30.6.tgz",
+ "integrity": "sha512-GFVVzs2j0QPpM+NTDMXtNmJKlF842lkZKDSanIxf+ArJsGeZUIaeT4jGg+gAgHt7AcQSFwW7htzF/rbAh2jaVA==",
+ "dependencies": {
+ "@typescript-eslint/utils": "5.30.6",
+ "debug": "^4.3.4",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "*"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/types": {
+ "version": "5.30.6",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.30.6.tgz",
+ "integrity": "sha512-HdnP8HioL1F7CwVmT4RaaMX57RrfqsOMclZc08wGMiDYJBsLGBM7JwXM4cZJmbWLzIR/pXg1kkrBBVpxTOwfUg==",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree": {
+ "version": "5.30.6",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.6.tgz",
+ "integrity": "sha512-Z7TgPoeYUm06smfEfYF0RBkpF8csMyVnqQbLYiGgmUSTaSXTP57bt8f0UFXstbGxKIreTwQCujtaH0LY9w9B+A==",
+ "dependencies": {
+ "@typescript-eslint/types": "5.30.6",
+ "@typescript-eslint/visitor-keys": "5.30.6",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
+ "is-glob": "^4.0.3",
+ "semver": "^7.3.7",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/utils": {
+ "version": "5.30.6",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.30.6.tgz",
+ "integrity": "sha512-xFBLc/esUbLOJLk9jKv0E9gD/OH966M40aY9jJ8GiqpSkP2xOV908cokJqqhVd85WoIvHVHYXxSFE4cCSDzVvA==",
+ "dependencies": {
+ "@types/json-schema": "^7.0.9",
+ "@typescript-eslint/scope-manager": "5.30.6",
+ "@typescript-eslint/types": "5.30.6",
+ "@typescript-eslint/typescript-estree": "5.30.6",
+ "eslint-scope": "^5.1.1",
+ "eslint-utils": "^3.0.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/utils/node_modules/estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/@typescript-eslint/visitor-keys": {
+ "version": "5.30.6",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.6.tgz",
+ "integrity": "sha512-41OiCjdL2mCaSDi2SvYbzFLlqqlm5v1ZW9Ym55wXKL/Rx6OOB1IbuFGo71Fj6Xy90gJDFTlgOS+vbmtGHPTQQA==",
+ "dependencies": {
+ "@typescript-eslint/types": "5.30.6",
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@uiw/codemirror-extensions-basic-setup": {
+ "version": "4.12.4",
+ "resolved": "https://registry.npmjs.org/@uiw/codemirror-extensions-basic-setup/-/codemirror-extensions-basic-setup-4.12.4.tgz",
+ "integrity": "sha512-owSCcRBtS2wYjxgBFkuIjfjWJHsR8AxgsQtqPpHB/6U0zCLuzKS/OM5ZRS2T3rdOizg0hCPztVvmshWeKjF+qw==",
+ "dependencies": {
+ "@codemirror/autocomplete": "^6.0.0",
+ "@codemirror/commands": "^6.0.0",
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/lint": "^6.0.0",
+ "@codemirror/search": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0"
+ },
+ "peerDependencies": {
+ "@codemirror/autocomplete": ">=6.0.0",
+ "@codemirror/commands": ">=6.0.0",
+ "@codemirror/language": ">=6.0.0",
+ "@codemirror/lint": ">=6.0.0",
+ "@codemirror/search": ">=6.0.0",
+ "@codemirror/state": ">=6.0.0",
+ "@codemirror/view": ">=6.0.0"
+ }
+ },
+ "node_modules/@uiw/react-codemirror": {
+ "version": "4.12.4",
+ "resolved": "https://registry.npmjs.org/@uiw/react-codemirror/-/react-codemirror-4.12.4.tgz",
+ "integrity": "sha512-92TAvN2z5snPjPtJDLmbqrqsXXYFYlBnWraXZuDc1XGaw80tB26ZkdEW79CD2QM4Y9LhFIt+sauwlmiAVDs/5A==",
+ "dependencies": {
+ "@babel/runtime": "^7.18.6",
+ "@codemirror/commands": "^6.1.0",
+ "@codemirror/state": "^6.1.1",
+ "@codemirror/theme-one-dark": "^6.0.0",
+ "@uiw/codemirror-extensions-basic-setup": "4.12.4",
+ "codemirror": "^6.0.0"
+ },
+ "peerDependencies": {
+ "@babel/runtime": ">=7.11.0",
+ "@codemirror/state": ">=6.0.0",
+ "@codemirror/theme-one-dark": ">=6.0.0",
+ "@codemirror/view": ">=6.0.0",
+ "codemirror": ">=6.0.0",
+ "react": ">=16.8.0",
+ "react-dom": ">=16.8.0"
+ }
+ },
+ "node_modules/@uiw/react-codemirror/node_modules/codemirror": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-6.0.1.tgz",
+ "integrity": "sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==",
+ "dependencies": {
+ "@codemirror/autocomplete": "^6.0.0",
+ "@codemirror/commands": "^6.0.0",
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/lint": "^6.0.0",
+ "@codemirror/search": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0"
+ }
+ },
+ "node_modules/@webassemblyjs/ast": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
+ "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
+ "dependencies": {
+ "@webassemblyjs/helper-numbers": "1.11.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.1"
+ }
+ },
+ "node_modules/@webassemblyjs/floating-point-hex-parser": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz",
+ "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ=="
+ },
+ "node_modules/@webassemblyjs/helper-api-error": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz",
+ "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg=="
+ },
+ "node_modules/@webassemblyjs/helper-buffer": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz",
+ "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA=="
+ },
+ "node_modules/@webassemblyjs/helper-numbers": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz",
+ "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==",
+ "dependencies": {
+ "@webassemblyjs/floating-point-hex-parser": "1.11.1",
+ "@webassemblyjs/helper-api-error": "1.11.1",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@webassemblyjs/helper-wasm-bytecode": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz",
+ "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q=="
+ },
+ "node_modules/@webassemblyjs/helper-wasm-section": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz",
+ "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/helper-buffer": "1.11.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
+ "@webassemblyjs/wasm-gen": "1.11.1"
+ }
+ },
+ "node_modules/@webassemblyjs/ieee754": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz",
+ "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==",
+ "dependencies": {
+ "@xtuc/ieee754": "^1.2.0"
+ }
+ },
+ "node_modules/@webassemblyjs/leb128": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz",
+ "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==",
+ "dependencies": {
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@webassemblyjs/utf8": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz",
+ "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ=="
+ },
+ "node_modules/@webassemblyjs/wasm-edit": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz",
+ "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/helper-buffer": "1.11.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
+ "@webassemblyjs/helper-wasm-section": "1.11.1",
+ "@webassemblyjs/wasm-gen": "1.11.1",
+ "@webassemblyjs/wasm-opt": "1.11.1",
+ "@webassemblyjs/wasm-parser": "1.11.1",
+ "@webassemblyjs/wast-printer": "1.11.1"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-gen": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz",
+ "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
+ "@webassemblyjs/ieee754": "1.11.1",
+ "@webassemblyjs/leb128": "1.11.1",
+ "@webassemblyjs/utf8": "1.11.1"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-opt": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz",
+ "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/helper-buffer": "1.11.1",
+ "@webassemblyjs/wasm-gen": "1.11.1",
+ "@webassemblyjs/wasm-parser": "1.11.1"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-parser": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz",
+ "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/helper-api-error": "1.11.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
+ "@webassemblyjs/ieee754": "1.11.1",
+ "@webassemblyjs/leb128": "1.11.1",
+ "@webassemblyjs/utf8": "1.11.1"
+ }
+ },
+ "node_modules/@webassemblyjs/wast-printer": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz",
+ "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==",
+ "dependencies": {
+ "@webassemblyjs/ast": "1.11.1",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@xtuc/ieee754": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
+ "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA=="
+ },
+ "node_modules/@xtuc/long": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
+ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ=="
+ },
+ "node_modules/@zag-js/element-size": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@zag-js/element-size/-/element-size-0.1.0.tgz",
+ "integrity": "sha512-QF8wp0+V8++z+FHXiIw93+zudtubYszOtYbNgK39fg3pi+nCZtuSm4L1jC5QZMatNZ83MfOzyNCfgUubapagJQ=="
+ },
+ "node_modules/@zag-js/focus-visible": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@zag-js/focus-visible/-/focus-visible-0.1.0.tgz",
+ "integrity": "sha512-PeaBcTmdZWcFf7n1aM+oiOdZc+sy14qi0emPIeUuGMTjbP0xLGrZu43kdpHnWSXy7/r4Ubp/vlg50MCV8+9Isg=="
+ },
+ "node_modules/abab": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
+ "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA=="
+ },
+ "node_modules/accepts": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+ "dependencies": {
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/acorn": {
+ "version": "8.7.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz",
+ "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-globals": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
+ "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
+ "dependencies": {
+ "acorn": "^7.1.1",
+ "acorn-walk": "^7.1.1"
+ }
+ },
+ "node_modules/acorn-globals/node_modules/acorn": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-import-assertions": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
+ "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
+ "peerDependencies": {
+ "acorn": "^8"
+ }
+ },
+ "node_modules/acorn-jsx": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+ "peerDependencies": {
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/acorn-node": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
+ "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
+ "dependencies": {
+ "acorn": "^7.0.0",
+ "acorn-walk": "^7.0.0",
+ "xtend": "^4.0.2"
+ }
+ },
+ "node_modules/acorn-node/node_modules/acorn": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-walk": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
+ "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/address": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/address/-/address-1.2.0.tgz",
+ "integrity": "sha512-tNEZYz5G/zYunxFm7sfhAxkXEuLj3K6BKwv6ZURlsF6yiUQ65z0Q2wZW9L5cPUl9ocofGvXOdFYbFHp0+6MOig==",
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/adjust-sourcemap-loader": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz",
+ "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==",
+ "dependencies": {
+ "loader-utils": "^2.0.0",
+ "regex-parser": "^2.2.11"
+ },
+ "engines": {
+ "node": ">=8.9"
+ }
+ },
+ "node_modules/agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "dependencies": {
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
+ "node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/ajv-formats": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
+ "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
+ "dependencies": {
+ "ajv": "^8.0.0"
+ },
+ "peerDependencies": {
+ "ajv": "^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "ajv": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/ajv-formats/node_modules/ajv": {
+ "version": "8.11.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
+ "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/ajv-formats/node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
+ },
+ "node_modules/ajv-keywords": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+ "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
+ "peerDependencies": {
+ "ajv": "^6.9.1"
+ }
+ },
+ "node_modules/ansi-escapes": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
+ "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
+ "dependencies": {
+ "type-fest": "^0.21.3"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ansi-html-community": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz",
+ "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==",
+ "engines": [
+ "node >= 0.8.0"
+ ],
+ "bin": {
+ "ansi-html": "bin/ansi-html"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/arg": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
+ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="
+ },
+ "node_modules/argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "node_modules/aria-hidden": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.1.tgz",
+ "integrity": "sha512-PN344VAf9j1EAi+jyVHOJ8XidQdPVssGco39eNcsGdM4wcsILtxrKLkbuiMfLWYROK1FjRQasMWCBttrhjnr6A==",
+ "dependencies": {
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.9.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/aria-query": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz",
+ "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==",
+ "dependencies": {
+ "@babel/runtime": "^7.10.2",
+ "@babel/runtime-corejs3": "^7.10.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ }
+ },
+ "node_modules/array-flatten": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
+ "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ=="
+ },
+ "node_modules/array-includes": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz",
+ "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.4",
+ "es-abstract": "^1.19.5",
+ "get-intrinsic": "^1.1.1",
+ "is-string": "^1.0.7"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/array.prototype.flat": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz",
+ "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.19.2",
+ "es-shim-unscopables": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array.prototype.flatmap": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz",
+ "integrity": "sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.19.2",
+ "es-shim-unscopables": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array.prototype.reduce": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz",
+ "integrity": "sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.19.2",
+ "es-array-method-boxes-properly": "^1.0.0",
+ "is-string": "^1.0.7"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/asap": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+ "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA=="
+ },
+ "node_modules/ast-types-flow": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
+ "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag=="
+ },
+ "node_modules/async": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
+ "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ=="
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+ },
+ "node_modules/at-least-node": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
+ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/atob": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+ "bin": {
+ "atob": "bin/atob.js"
+ },
+ "engines": {
+ "node": ">= 4.5.0"
+ }
+ },
+ "node_modules/autoprefixer": {
+ "version": "10.4.7",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz",
+ "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/autoprefixer"
+ }
+ ],
+ "dependencies": {
+ "browserslist": "^4.20.3",
+ "caniuse-lite": "^1.0.30001335",
+ "fraction.js": "^4.2.0",
+ "normalize-range": "^0.1.2",
+ "picocolors": "^1.0.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "bin": {
+ "autoprefixer": "bin/autoprefixer"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/axe-core": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.3.tgz",
+ "integrity": "sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/axios": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
+ "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
+ "dependencies": {
+ "follow-redirects": "^1.14.9",
+ "form-data": "^4.0.0"
+ }
+ },
+ "node_modules/axios/node_modules/form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/axobject-query": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz",
+ "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA=="
+ },
+ "node_modules/babel-jest": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz",
+ "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==",
+ "dependencies": {
+ "@jest/transform": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/babel__core": "^7.1.14",
+ "babel-plugin-istanbul": "^6.1.1",
+ "babel-preset-jest": "^27.5.1",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.8.0"
+ }
+ },
+ "node_modules/babel-jest/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/babel-jest/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/babel-jest/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/babel-jest/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/babel-jest/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/babel-jest/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/babel-loader": {
+ "version": "8.2.5",
+ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz",
+ "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==",
+ "dependencies": {
+ "find-cache-dir": "^3.3.1",
+ "loader-utils": "^2.0.0",
+ "make-dir": "^3.1.0",
+ "schema-utils": "^2.6.5"
+ },
+ "engines": {
+ "node": ">= 8.9"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0",
+ "webpack": ">=2"
+ }
+ },
+ "node_modules/babel-loader/node_modules/schema-utils": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
+ "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
+ "dependencies": {
+ "@types/json-schema": "^7.0.5",
+ "ajv": "^6.12.4",
+ "ajv-keywords": "^3.5.2"
+ },
+ "engines": {
+ "node": ">= 8.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "node_modules/babel-plugin-dynamic-import-node": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
+ "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
+ "dependencies": {
+ "object.assign": "^4.1.0"
+ }
+ },
+ "node_modules/babel-plugin-istanbul": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz",
+ "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@istanbuljs/load-nyc-config": "^1.0.0",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-instrument": "^5.0.4",
+ "test-exclude": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/babel-plugin-jest-hoist": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz",
+ "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==",
+ "dependencies": {
+ "@babel/template": "^7.3.3",
+ "@babel/types": "^7.3.3",
+ "@types/babel__core": "^7.0.0",
+ "@types/babel__traverse": "^7.0.6"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/babel-plugin-macros": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz",
+ "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==",
+ "dependencies": {
+ "@babel/runtime": "^7.12.5",
+ "cosmiconfig": "^7.0.0",
+ "resolve": "^1.19.0"
+ },
+ "engines": {
+ "node": ">=10",
+ "npm": ">=6"
+ }
+ },
+ "node_modules/babel-plugin-named-asset-import": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz",
+ "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==",
+ "peerDependencies": {
+ "@babel/core": "^7.1.0"
+ }
+ },
+ "node_modules/babel-plugin-polyfill-corejs2": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz",
+ "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==",
+ "dependencies": {
+ "@babel/compat-data": "^7.13.11",
+ "@babel/helper-define-polyfill-provider": "^0.3.1",
+ "semver": "^6.1.1"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/babel-plugin-polyfill-corejs3": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz",
+ "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==",
+ "dependencies": {
+ "@babel/helper-define-polyfill-provider": "^0.3.1",
+ "core-js-compat": "^3.21.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/babel-plugin-polyfill-regenerator": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz",
+ "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==",
+ "dependencies": {
+ "@babel/helper-define-polyfill-provider": "^0.3.1"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/babel-plugin-transform-react-remove-prop-types": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz",
+ "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA=="
+ },
+ "node_modules/babel-preset-current-node-syntax": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz",
+ "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==",
+ "dependencies": {
+ "@babel/plugin-syntax-async-generators": "^7.8.4",
+ "@babel/plugin-syntax-bigint": "^7.8.3",
+ "@babel/plugin-syntax-class-properties": "^7.8.3",
+ "@babel/plugin-syntax-import-meta": "^7.8.3",
+ "@babel/plugin-syntax-json-strings": "^7.8.3",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+ "@babel/plugin-syntax-numeric-separator": "^7.8.3",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3",
+ "@babel/plugin-syntax-top-level-await": "^7.8.3"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/babel-preset-jest": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz",
+ "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==",
+ "dependencies": {
+ "babel-plugin-jest-hoist": "^27.5.1",
+ "babel-preset-current-node-syntax": "^1.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/babel-preset-react-app": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz",
+ "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==",
+ "dependencies": {
+ "@babel/core": "^7.16.0",
+ "@babel/plugin-proposal-class-properties": "^7.16.0",
+ "@babel/plugin-proposal-decorators": "^7.16.4",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0",
+ "@babel/plugin-proposal-numeric-separator": "^7.16.0",
+ "@babel/plugin-proposal-optional-chaining": "^7.16.0",
+ "@babel/plugin-proposal-private-methods": "^7.16.0",
+ "@babel/plugin-transform-flow-strip-types": "^7.16.0",
+ "@babel/plugin-transform-react-display-name": "^7.16.0",
+ "@babel/plugin-transform-runtime": "^7.16.4",
+ "@babel/preset-env": "^7.16.4",
+ "@babel/preset-react": "^7.16.0",
+ "@babel/preset-typescript": "^7.16.0",
+ "@babel/runtime": "^7.16.3",
+ "babel-plugin-macros": "^3.1.0",
+ "babel-plugin-transform-react-remove-prop-types": "^0.4.24"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ },
+ "node_modules/batch": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
+ "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw=="
+ },
+ "node_modules/bfj": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz",
+ "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==",
+ "dependencies": {
+ "bluebird": "^3.5.5",
+ "check-types": "^11.1.1",
+ "hoopy": "^0.1.4",
+ "tryer": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 8.0.0"
+ }
+ },
+ "node_modules/big.js": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
+ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/binary-extensions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/bluebird": {
+ "version": "3.7.2",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
+ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
+ },
+ "node_modules/body-parser": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
+ "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "content-type": "~1.0.4",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "on-finished": "2.4.1",
+ "qs": "6.10.3",
+ "raw-body": "2.5.1",
+ "type-is": "~1.6.18",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/body-parser/node_modules/bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/body-parser/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/body-parser/node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/body-parser/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/bonjour-service": {
+ "version": "1.0.13",
+ "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.13.tgz",
+ "integrity": "sha512-LWKRU/7EqDUC9CTAQtuZl5HzBALoCYwtLhffW3et7vZMwv3bWLpJf8bRYlMD5OCcDpTfnPgNCV4yo9ZIaJGMiA==",
+ "dependencies": {
+ "array-flatten": "^2.1.2",
+ "dns-equal": "^1.0.0",
+ "fast-deep-equal": "^3.1.3",
+ "multicast-dns": "^7.2.5"
+ }
+ },
+ "node_modules/boolbase": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dependencies": {
+ "fill-range": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browser-process-hrtime": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
+ "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow=="
+ },
+ "node_modules/browserslist": {
+ "version": "4.21.2",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.2.tgz",
+ "integrity": "sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ }
+ ],
+ "dependencies": {
+ "caniuse-lite": "^1.0.30001366",
+ "electron-to-chromium": "^1.4.188",
+ "node-releases": "^2.0.6",
+ "update-browserslist-db": "^1.0.4"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/bser": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
+ "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
+ "dependencies": {
+ "node-int64": "^0.4.0"
+ }
+ },
+ "node_modules/buffer-from": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
+ },
+ "node_modules/builtin-modules": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
+ "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/bytes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+ "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/call-bind": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/camel-case": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz",
+ "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==",
+ "dependencies": {
+ "pascal-case": "^3.1.2",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/camelcase": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/camelcase-css": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
+ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/caniuse-api": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
+ "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==",
+ "dependencies": {
+ "browserslist": "^4.0.0",
+ "caniuse-lite": "^1.0.0",
+ "lodash.memoize": "^4.1.2",
+ "lodash.uniq": "^4.5.0"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001367",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001367.tgz",
+ "integrity": "sha512-XDgbeOHfifWV3GEES2B8rtsrADx4Jf+juKX2SICJcaUhjYBO3bR96kvEIHa15VU6ohtOhBZuPGGYGbXMRn0NCw==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ }
+ ]
+ },
+ "node_modules/case-sensitive-paths-webpack-plugin": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz",
+ "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/char-regex": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
+ "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/check-types": {
+ "version": "11.1.2",
+ "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.1.2.tgz",
+ "integrity": "sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ=="
+ },
+ "node_modules/chokidar": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ ],
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/chokidar/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/chrome-trace-event": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
+ "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
+ "engines": {
+ "node": ">=6.0"
+ }
+ },
+ "node_modules/ci-info": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.2.tgz",
+ "integrity": "sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg=="
+ },
+ "node_modules/cjs-module-lexer": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz",
+ "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA=="
+ },
+ "node_modules/clean-css": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.1.tgz",
+ "integrity": "sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg==",
+ "dependencies": {
+ "source-map": "~0.6.0"
+ },
+ "engines": {
+ "node": ">= 10.0"
+ }
+ },
+ "node_modules/clean-css/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/cliui": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "node_modules/clsx": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz",
+ "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
+ "engines": {
+ "iojs": ">= 1.0.0",
+ "node": ">= 0.12.0"
+ }
+ },
+ "node_modules/coa": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
+ "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==",
+ "dependencies": {
+ "@types/q": "^1.5.1",
+ "chalk": "^2.4.1",
+ "q": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 4.0"
+ }
+ },
+ "node_modules/codemirror": {
+ "version": "5.65.9",
+ "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.9.tgz",
+ "integrity": "sha512-19Jox5sAKpusTDgqgKB5dawPpQcY+ipQK7xoEI+MVucEF9qqFaXpeqY1KaoyGBso/wHQoDa4HMMxMjdsS3Zzzw=="
+ },
+ "node_modules/collect-v8-coverage": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz",
+ "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg=="
+ },
+ "node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
+ },
+ "node_modules/colord": {
+ "version": "2.9.2",
+ "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz",
+ "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ=="
+ },
+ "node_modules/colorette": {
+ "version": "2.0.19",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz",
+ "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ=="
+ },
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/commander": {
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
+ "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "node_modules/common-path-prefix": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz",
+ "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w=="
+ },
+ "node_modules/common-tags": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz",
+ "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==",
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/commondir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+ "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg=="
+ },
+ "node_modules/compressible": {
+ "version": "2.0.18",
+ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
+ "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
+ "dependencies": {
+ "mime-db": ">= 1.43.0 < 2"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/compression": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
+ "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
+ "dependencies": {
+ "accepts": "~1.3.5",
+ "bytes": "3.0.0",
+ "compressible": "~2.0.16",
+ "debug": "2.6.9",
+ "on-headers": "~1.0.2",
+ "safe-buffer": "5.1.2",
+ "vary": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/compression/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/compression/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/compute-scroll-into-view": {
+ "version": "1.0.14",
+ "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.14.tgz",
+ "integrity": "sha512-mKDjINe3tc6hGelUMNDzuhorIUZ7kS7BwyY0r2wQd2HOH2tRuJykiC06iSEX8y1TuhNzvz4GcJnK16mM2J1NMQ=="
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
+ },
+ "node_modules/confusing-browser-globals": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz",
+ "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA=="
+ },
+ "node_modules/connect-history-api-fallback": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz",
+ "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==",
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/content-disposition": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
+ "dependencies": {
+ "safe-buffer": "5.2.1"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/content-disposition/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/content-type": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/convert-source-map": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
+ "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
+ "dependencies": {
+ "safe-buffer": "~5.1.1"
+ }
+ },
+ "node_modules/cookie": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
+ "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cookie-signature": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
+ },
+ "node_modules/copy-to-clipboard": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz",
+ "integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==",
+ "dependencies": {
+ "toggle-selection": "^1.0.6"
+ }
+ },
+ "node_modules/core-js": {
+ "version": "3.23.4",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.23.4.tgz",
+ "integrity": "sha512-vjsKqRc1RyAJC3Ye2kYqgfdThb3zYnx9CrqoCcjMOENMtQPC7ZViBvlDxwYU/2z2NI/IPuiXw5mT4hWhddqjzQ==",
+ "hasInstallScript": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/core-js"
+ }
+ },
+ "node_modules/core-js-compat": {
+ "version": "3.23.4",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.23.4.tgz",
+ "integrity": "sha512-RkSRPe+JYEoflcsuxJWaiMPhnZoFS51FcIxm53k4KzhISCBTmaGlto9dTIrYuk0hnJc3G6pKufAKepHnBq6B6Q==",
+ "dependencies": {
+ "browserslist": "^4.21.1",
+ "semver": "7.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/core-js"
+ }
+ },
+ "node_modules/core-js-compat/node_modules/semver": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
+ "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/core-js-pure": {
+ "version": "3.23.4",
+ "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.23.4.tgz",
+ "integrity": "sha512-lizxkcgj3XDmi7TUBFe+bQ1vNpD5E4t76BrBWI3HdUxdw/Mq1VF4CkiHzIKyieECKtcODK2asJttoofEeUKICQ==",
+ "hasInstallScript": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/core-js"
+ }
+ },
+ "node_modules/core-util-is": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
+ },
+ "node_modules/cosmiconfig": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
+ "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
+ "dependencies": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.2.1",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.10.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/crelt": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.5.tgz",
+ "integrity": "sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA=="
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/crypto-random-string": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
+ "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/css": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz",
+ "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==",
+ "dependencies": {
+ "inherits": "^2.0.4",
+ "source-map": "^0.6.1",
+ "source-map-resolve": "^0.6.0"
+ }
+ },
+ "node_modules/css-blank-pseudo": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz",
+ "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==",
+ "dependencies": {
+ "postcss-selector-parser": "^6.0.9"
+ },
+ "bin": {
+ "css-blank-pseudo": "dist/cli.cjs"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/css-box-model": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/css-box-model/-/css-box-model-1.2.1.tgz",
+ "integrity": "sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw==",
+ "dependencies": {
+ "tiny-invariant": "^1.0.6"
+ }
+ },
+ "node_modules/css-declaration-sorter": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.0.tgz",
+ "integrity": "sha512-OGT677UGHJTAVMRhPO+HJ4oKln3wkBTwtDFH0ojbqm+MJm6xuDMHp2nkhh/ThaBqq20IbraBQSWKfSLNHQO9Og==",
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.0.9"
+ }
+ },
+ "node_modules/css-has-pseudo": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz",
+ "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==",
+ "dependencies": {
+ "postcss-selector-parser": "^6.0.9"
+ },
+ "bin": {
+ "css-has-pseudo": "dist/cli.cjs"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/css-loader": {
+ "version": "6.7.1",
+ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz",
+ "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==",
+ "dependencies": {
+ "icss-utils": "^5.1.0",
+ "postcss": "^8.4.7",
+ "postcss-modules-extract-imports": "^3.0.0",
+ "postcss-modules-local-by-default": "^4.0.0",
+ "postcss-modules-scope": "^3.0.0",
+ "postcss-modules-values": "^4.0.0",
+ "postcss-value-parser": "^4.2.0",
+ "semver": "^7.3.5"
+ },
+ "engines": {
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.0.0"
+ }
+ },
+ "node_modules/css-minimizer-webpack-plugin": {
+ "version": "3.4.1",
+ "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz",
+ "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==",
+ "dependencies": {
+ "cssnano": "^5.0.6",
+ "jest-worker": "^27.0.2",
+ "postcss": "^8.3.5",
+ "schema-utils": "^4.0.0",
+ "serialize-javascript": "^6.0.0",
+ "source-map": "^0.6.1"
+ },
+ "engines": {
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@parcel/css": {
+ "optional": true
+ },
+ "clean-css": {
+ "optional": true
+ },
+ "csso": {
+ "optional": true
+ },
+ "esbuild": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": {
+ "version": "8.11.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
+ "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+ "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.3"
+ },
+ "peerDependencies": {
+ "ajv": "^8.8.2"
+ }
+ },
+ "node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
+ },
+ "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
+ "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
+ "dependencies": {
+ "@types/json-schema": "^7.0.9",
+ "ajv": "^8.8.0",
+ "ajv-formats": "^2.1.1",
+ "ajv-keywords": "^5.0.0"
+ },
+ "engines": {
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "node_modules/css-minimizer-webpack-plugin/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/css-prefers-color-scheme": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz",
+ "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==",
+ "bin": {
+ "css-prefers-color-scheme": "dist/cli.cjs"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/css-select": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz",
+ "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==",
+ "dependencies": {
+ "boolbase": "^1.0.0",
+ "css-what": "^6.0.1",
+ "domhandler": "^4.3.1",
+ "domutils": "^2.8.0",
+ "nth-check": "^2.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
+ }
+ },
+ "node_modules/css-select-base-adapter": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz",
+ "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w=="
+ },
+ "node_modules/css-tree": {
+ "version": "1.0.0-alpha.37",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz",
+ "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==",
+ "dependencies": {
+ "mdn-data": "2.0.4",
+ "source-map": "^0.6.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/css-tree/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/css-vendor": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz",
+ "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.8.3",
+ "is-in-browser": "^1.0.2"
+ }
+ },
+ "node_modules/css-what": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
+ "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
+ "engines": {
+ "node": ">= 6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
+ }
+ },
+ "node_modules/css.escape": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz",
+ "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg=="
+ },
+ "node_modules/css/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/cssdb": {
+ "version": "6.6.3",
+ "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-6.6.3.tgz",
+ "integrity": "sha512-7GDvDSmE+20+WcSMhP17Q1EVWUrLlbxxpMDqG731n8P99JhnQZHR9YvtjPvEHfjFUjvQJvdpKCjlKOX+xe4UVA==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ },
+ "node_modules/cssesc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+ "bin": {
+ "cssesc": "bin/cssesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/cssnano": {
+ "version": "5.1.12",
+ "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.12.tgz",
+ "integrity": "sha512-TgvArbEZu0lk/dvg2ja+B7kYoD7BBCmn3+k58xD0qjrGHsFzXY/wKTo9M5egcUCabPol05e/PVoIu79s2JN4WQ==",
+ "dependencies": {
+ "cssnano-preset-default": "^5.2.12",
+ "lilconfig": "^2.0.3",
+ "yaml": "^1.10.2"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/cssnano"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/cssnano-preset-default": {
+ "version": "5.2.12",
+ "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.12.tgz",
+ "integrity": "sha512-OyCBTZi+PXgylz9HAA5kHyoYhfGcYdwFmyaJzWnzxuGRtnMw/kR6ilW9XzlzlRAtB6PLT/r+prYgkef7hngFew==",
+ "dependencies": {
+ "css-declaration-sorter": "^6.3.0",
+ "cssnano-utils": "^3.1.0",
+ "postcss-calc": "^8.2.3",
+ "postcss-colormin": "^5.3.0",
+ "postcss-convert-values": "^5.1.2",
+ "postcss-discard-comments": "^5.1.2",
+ "postcss-discard-duplicates": "^5.1.0",
+ "postcss-discard-empty": "^5.1.1",
+ "postcss-discard-overridden": "^5.1.0",
+ "postcss-merge-longhand": "^5.1.6",
+ "postcss-merge-rules": "^5.1.2",
+ "postcss-minify-font-values": "^5.1.0",
+ "postcss-minify-gradients": "^5.1.1",
+ "postcss-minify-params": "^5.1.3",
+ "postcss-minify-selectors": "^5.2.1",
+ "postcss-normalize-charset": "^5.1.0",
+ "postcss-normalize-display-values": "^5.1.0",
+ "postcss-normalize-positions": "^5.1.1",
+ "postcss-normalize-repeat-style": "^5.1.1",
+ "postcss-normalize-string": "^5.1.0",
+ "postcss-normalize-timing-functions": "^5.1.0",
+ "postcss-normalize-unicode": "^5.1.0",
+ "postcss-normalize-url": "^5.1.0",
+ "postcss-normalize-whitespace": "^5.1.1",
+ "postcss-ordered-values": "^5.1.3",
+ "postcss-reduce-initial": "^5.1.0",
+ "postcss-reduce-transforms": "^5.1.0",
+ "postcss-svgo": "^5.1.0",
+ "postcss-unique-selectors": "^5.1.1"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/cssnano-utils": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz",
+ "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==",
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/csso": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz",
+ "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==",
+ "dependencies": {
+ "css-tree": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/csso/node_modules/css-tree": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
+ "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
+ "dependencies": {
+ "mdn-data": "2.0.14",
+ "source-map": "^0.6.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/csso/node_modules/mdn-data": {
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
+ "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow=="
+ },
+ "node_modules/csso/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/cssom": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
+ "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw=="
+ },
+ "node_modules/cssstyle": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
+ "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
+ "dependencies": {
+ "cssom": "~0.3.6"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cssstyle/node_modules/cssom": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
+ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg=="
+ },
+ "node_modules/csstype": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz",
+ "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA=="
+ },
+ "node_modules/damerau-levenshtein": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
+ "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA=="
+ },
+ "node_modules/data-urls": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
+ "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
+ "dependencies": {
+ "abab": "^2.0.3",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^8.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/decimal.js": {
+ "version": "10.3.1",
+ "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz",
+ "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ=="
+ },
+ "node_modules/decode-uri-component": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==",
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/dedent": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
+ "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA=="
+ },
+ "node_modules/deep-is": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
+ },
+ "node_modules/deepmerge": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
+ "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/default-gateway": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz",
+ "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==",
+ "dependencies": {
+ "execa": "^5.0.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/define-lazy-prop": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
+ "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/define-properties": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
+ "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
+ "dependencies": {
+ "has-property-descriptors": "^1.0.0",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/defined": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+ "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ=="
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/destroy": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/detect-newline": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
+ "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/detect-node": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
+ "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g=="
+ },
+ "node_modules/detect-node-es": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz",
+ "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ=="
+ },
+ "node_modules/detect-port-alt": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz",
+ "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==",
+ "dependencies": {
+ "address": "^1.0.1",
+ "debug": "^2.6.0"
+ },
+ "bin": {
+ "detect": "bin/detect-port",
+ "detect-port": "bin/detect-port"
+ },
+ "engines": {
+ "node": ">= 4.2.1"
+ }
+ },
+ "node_modules/detect-port-alt/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/detect-port-alt/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/detective": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz",
+ "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==",
+ "dependencies": {
+ "acorn-node": "^1.8.2",
+ "defined": "^1.0.0",
+ "minimist": "^1.2.6"
+ },
+ "bin": {
+ "detective": "bin/detective.js"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/didyoumean": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
+ "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="
+ },
+ "node_modules/diff-sequences": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz",
+ "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==",
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/dir-glob": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "dependencies": {
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/dlv": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
+ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="
+ },
+ "node_modules/dns-equal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
+ "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg=="
+ },
+ "node_modules/dns-packet": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz",
+ "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==",
+ "dependencies": {
+ "@leichtgewicht/ip-codec": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/dom-accessibility-api": {
+ "version": "0.5.14",
+ "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz",
+ "integrity": "sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg=="
+ },
+ "node_modules/dom-converter": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz",
+ "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==",
+ "dependencies": {
+ "utila": "~0.4"
+ }
+ },
+ "node_modules/dom-helpers": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz",
+ "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==",
+ "dependencies": {
+ "@babel/runtime": "^7.8.7",
+ "csstype": "^3.0.2"
+ }
+ },
+ "node_modules/dom-serializer": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
+ "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
+ "dependencies": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.2.0",
+ "entities": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
+ }
+ },
+ "node_modules/domelementtype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
+ "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ]
+ },
+ "node_modules/domexception": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
+ "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
+ "dependencies": {
+ "webidl-conversions": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/domexception/node_modules/webidl-conversions": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
+ "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/domhandler": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
+ "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
+ "dependencies": {
+ "domelementtype": "^2.2.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
+ }
+ },
+ "node_modules/domutils": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
+ "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
+ "dependencies": {
+ "dom-serializer": "^1.0.1",
+ "domelementtype": "^2.2.0",
+ "domhandler": "^4.2.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domutils?sponsor=1"
+ }
+ },
+ "node_modules/dot-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
+ "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==",
+ "dependencies": {
+ "no-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/dotenv-defaults": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz",
+ "integrity": "sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg==",
+ "dependencies": {
+ "dotenv": "^8.2.0"
+ }
+ },
+ "node_modules/dotenv-defaults/node_modules/dotenv": {
+ "version": "8.6.0",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz",
+ "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/dotenv-expand": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz",
+ "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA=="
+ },
+ "node_modules/dotenv-webpack": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-8.0.1.tgz",
+ "integrity": "sha512-CdrgfhZOnx4uB18SgaoP9XHRN2v48BbjuXQsZY5ixs5A8579NxQkmMxRtI7aTwSiSQcM2ao12Fdu+L3ZS3bG4w==",
+ "dependencies": {
+ "dotenv-defaults": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "webpack": "^4 || ^5"
+ }
+ },
+ "node_modules/duplexer": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
+ "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg=="
+ },
+ "node_modules/ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
+ },
+ "node_modules/ejs": {
+ "version": "3.1.8",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz",
+ "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==",
+ "dependencies": {
+ "jake": "^10.8.5"
+ },
+ "bin": {
+ "ejs": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.4.192",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.192.tgz",
+ "integrity": "sha512-8nCXyIQY9An88NXAp+PuPy5h3/w5ZY7Iu2lag65Q0XREprcat5F8gKhoHsBUnQcFuCRnmevpR8yEBYRU3d2HDw=="
+ },
+ "node_modules/emittery": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz",
+ "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/emittery?sponsor=1"
+ }
+ },
+ "node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
+ },
+ "node_modules/emojis-list": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
+ "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/engine.io-client": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.2.tgz",
+ "integrity": "sha512-8ZQmx0LQGRTYkHuogVZuGSpDqYZtCM/nv8zQ68VZ+JkOpazJ7ICdsSpaO6iXwvaU30oFg5QJOJWj8zWqhbKjkQ==",
+ "dependencies": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.1",
+ "engine.io-parser": "~5.0.3",
+ "ws": "~8.2.3",
+ "xmlhttprequest-ssl": "~2.0.0"
+ }
+ },
+ "node_modules/engine.io-client/node_modules/ws": {
+ "version": "8.2.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
+ "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/engine.io-parser": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
+ "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==",
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/enhanced-resolve": {
+ "version": "5.10.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz",
+ "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==",
+ "dependencies": {
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/entities": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+ "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dependencies": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "node_modules/error-stack-parser": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz",
+ "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==",
+ "dependencies": {
+ "stackframe": "^1.3.4"
+ }
+ },
+ "node_modules/es-abstract": {
+ "version": "1.20.1",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz",
+ "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "function.prototype.name": "^1.1.5",
+ "get-intrinsic": "^1.1.1",
+ "get-symbol-description": "^1.0.0",
+ "has": "^1.0.3",
+ "has-property-descriptors": "^1.0.0",
+ "has-symbols": "^1.0.3",
+ "internal-slot": "^1.0.3",
+ "is-callable": "^1.2.4",
+ "is-negative-zero": "^2.0.2",
+ "is-regex": "^1.1.4",
+ "is-shared-array-buffer": "^1.0.2",
+ "is-string": "^1.0.7",
+ "is-weakref": "^1.0.2",
+ "object-inspect": "^1.12.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.2",
+ "regexp.prototype.flags": "^1.4.3",
+ "string.prototype.trimend": "^1.0.5",
+ "string.prototype.trimstart": "^1.0.5",
+ "unbox-primitive": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/es-array-method-boxes-properly": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz",
+ "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA=="
+ },
+ "node_modules/es-module-lexer": {
+ "version": "0.9.3",
+ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz",
+ "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ=="
+ },
+ "node_modules/es-shim-unscopables": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
+ "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==",
+ "dependencies": {
+ "has": "^1.0.3"
+ }
+ },
+ "node_modules/es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "dependencies": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/escodegen": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz",
+ "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==",
+ "dependencies": {
+ "esprima": "^4.0.1",
+ "estraverse": "^5.2.0",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1"
+ },
+ "bin": {
+ "escodegen": "bin/escodegen.js",
+ "esgenerate": "bin/esgenerate.js"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "optionalDependencies": {
+ "source-map": "~0.6.1"
+ }
+ },
+ "node_modules/escodegen/node_modules/levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==",
+ "dependencies": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/escodegen/node_modules/optionator": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+ "dependencies": {
+ "deep-is": "~0.1.3",
+ "fast-levenshtein": "~2.0.6",
+ "levn": "~0.3.0",
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2",
+ "word-wrap": "~1.2.3"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/escodegen/node_modules/prelude-ls": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==",
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/escodegen/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/escodegen/node_modules/type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==",
+ "dependencies": {
+ "prelude-ls": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/eslint": {
+ "version": "8.22.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.22.0.tgz",
+ "integrity": "sha512-ci4t0sz6vSRKdmkOGmprBo6fmI4PrphDFMy5JEq/fNS0gQkJM3rLmrqcp8ipMcdobH3KtUP40KniAE9W19S4wA==",
+ "dependencies": {
+ "@eslint/eslintrc": "^1.3.0",
+ "@humanwhocodes/config-array": "^0.10.4",
+ "@humanwhocodes/gitignore-to-minimatch": "^1.0.2",
+ "ajv": "^6.10.0",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.3.2",
+ "doctrine": "^3.0.0",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^7.1.1",
+ "eslint-utils": "^3.0.0",
+ "eslint-visitor-keys": "^3.3.0",
+ "espree": "^9.3.3",
+ "esquery": "^1.4.0",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^6.0.1",
+ "find-up": "^5.0.0",
+ "functional-red-black-tree": "^1.0.1",
+ "glob-parent": "^6.0.1",
+ "globals": "^13.15.0",
+ "globby": "^11.1.0",
+ "grapheme-splitter": "^1.0.4",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.0.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "js-yaml": "^4.1.0",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.1.2",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.1",
+ "regexpp": "^3.2.0",
+ "strip-ansi": "^6.0.1",
+ "strip-json-comments": "^3.1.0",
+ "text-table": "^0.2.0",
+ "v8-compile-cache": "^2.0.3"
+ },
+ "bin": {
+ "eslint": "bin/eslint.js"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-config-react-app": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz",
+ "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==",
+ "dependencies": {
+ "@babel/core": "^7.16.0",
+ "@babel/eslint-parser": "^7.16.3",
+ "@rushstack/eslint-patch": "^1.1.0",
+ "@typescript-eslint/eslint-plugin": "^5.5.0",
+ "@typescript-eslint/parser": "^5.5.0",
+ "babel-preset-react-app": "^10.0.1",
+ "confusing-browser-globals": "^1.0.11",
+ "eslint-plugin-flowtype": "^8.0.3",
+ "eslint-plugin-import": "^2.25.3",
+ "eslint-plugin-jest": "^25.3.0",
+ "eslint-plugin-jsx-a11y": "^6.5.1",
+ "eslint-plugin-react": "^7.27.1",
+ "eslint-plugin-react-hooks": "^4.3.0",
+ "eslint-plugin-testing-library": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "eslint": "^8.0.0"
+ }
+ },
+ "node_modules/eslint-import-resolver-node": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz",
+ "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==",
+ "dependencies": {
+ "debug": "^3.2.7",
+ "resolve": "^1.20.0"
+ }
+ },
+ "node_modules/eslint-import-resolver-node/node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/eslint-module-utils": {
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz",
+ "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==",
+ "dependencies": {
+ "debug": "^3.2.7",
+ "find-up": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/eslint-module-utils/node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/eslint-module-utils/node_modules/find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==",
+ "dependencies": {
+ "locate-path": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/eslint-module-utils/node_modules/locate-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+ "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==",
+ "dependencies": {
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/eslint-module-utils/node_modules/p-limit": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+ "dependencies": {
+ "p-try": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/eslint-module-utils/node_modules/p-locate": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==",
+ "dependencies": {
+ "p-limit": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/eslint-module-utils/node_modules/p-try": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+ "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/eslint-module-utils/node_modules/path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/eslint-plugin-flowtype": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz",
+ "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==",
+ "dependencies": {
+ "lodash": "^4.17.21",
+ "string-natural-compare": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "@babel/plugin-syntax-flow": "^7.14.5",
+ "@babel/plugin-transform-react-jsx": "^7.14.9",
+ "eslint": "^8.1.0"
+ }
+ },
+ "node_modules/eslint-plugin-import": {
+ "version": "2.26.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz",
+ "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==",
+ "dependencies": {
+ "array-includes": "^3.1.4",
+ "array.prototype.flat": "^1.2.5",
+ "debug": "^2.6.9",
+ "doctrine": "^2.1.0",
+ "eslint-import-resolver-node": "^0.3.6",
+ "eslint-module-utils": "^2.7.3",
+ "has": "^1.0.3",
+ "is-core-module": "^2.8.1",
+ "is-glob": "^4.0.3",
+ "minimatch": "^3.1.2",
+ "object.values": "^1.1.5",
+ "resolve": "^1.22.0",
+ "tsconfig-paths": "^3.14.1"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "peerDependencies": {
+ "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8"
+ }
+ },
+ "node_modules/eslint-plugin-import/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-import/node_modules/doctrine": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/eslint-plugin-import/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/eslint-plugin-jest": {
+ "version": "25.7.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz",
+ "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==",
+ "dependencies": {
+ "@typescript-eslint/experimental-utils": "^5.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0",
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@typescript-eslint/eslint-plugin": {
+ "optional": true
+ },
+ "jest": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-plugin-jsx-a11y": {
+ "version": "6.6.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.0.tgz",
+ "integrity": "sha512-kTeLuIzpNhXL2CwLlc8AHI0aFRwWHcg483yepO9VQiHzM9bZwJdzTkzBszbuPrbgGmq2rlX/FaT2fJQsjUSHsw==",
+ "dependencies": {
+ "@babel/runtime": "^7.18.3",
+ "aria-query": "^4.2.2",
+ "array-includes": "^3.1.5",
+ "ast-types-flow": "^0.0.7",
+ "axe-core": "^4.4.2",
+ "axobject-query": "^2.2.0",
+ "damerau-levenshtein": "^1.0.8",
+ "emoji-regex": "^9.2.2",
+ "has": "^1.0.3",
+ "jsx-ast-utils": "^3.3.1",
+ "language-tags": "^1.0.5",
+ "minimatch": "^3.1.2",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependencies": {
+ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8"
+ }
+ },
+ "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/eslint-plugin-react": {
+ "version": "7.30.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.30.1.tgz",
+ "integrity": "sha512-NbEvI9jtqO46yJA3wcRF9Mo0lF9T/jhdHqhCHXiXtD+Zcb98812wvokjWpU7Q4QH5edo6dmqrukxVvWWXHlsUg==",
+ "dependencies": {
+ "array-includes": "^3.1.5",
+ "array.prototype.flatmap": "^1.3.0",
+ "doctrine": "^2.1.0",
+ "estraverse": "^5.3.0",
+ "jsx-ast-utils": "^2.4.1 || ^3.0.0",
+ "minimatch": "^3.1.2",
+ "object.entries": "^1.1.5",
+ "object.fromentries": "^2.0.5",
+ "object.hasown": "^1.1.1",
+ "object.values": "^1.1.5",
+ "prop-types": "^15.8.1",
+ "resolve": "^2.0.0-next.3",
+ "semver": "^6.3.0",
+ "string.prototype.matchall": "^4.0.7"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "peerDependencies": {
+ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8"
+ }
+ },
+ "node_modules/eslint-plugin-react-hooks": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz",
+ "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==",
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0"
+ }
+ },
+ "node_modules/eslint-plugin-react/node_modules/doctrine": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/eslint-plugin-react/node_modules/resolve": {
+ "version": "2.0.0-next.4",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz",
+ "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==",
+ "dependencies": {
+ "is-core-module": "^2.9.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/eslint-plugin-react/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/eslint-plugin-testing-library": {
+ "version": "5.5.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.5.1.tgz",
+ "integrity": "sha512-plLEkkbAKBjPxsLj7x4jNapcHAg2ernkQlKKrN2I8NrQwPISZHyCUNvg5Hv3EDqOQReToQb5bnqXYbkijJPE/g==",
+ "dependencies": {
+ "@typescript-eslint/utils": "^5.13.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0",
+ "npm": ">=6"
+ },
+ "peerDependencies": {
+ "eslint": "^7.5.0 || ^8.0.0"
+ }
+ },
+ "node_modules/eslint-scope": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
+ "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/eslint-utils": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
+ "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
+ "dependencies": {
+ "eslint-visitor-keys": "^2.0.0"
+ },
+ "engines": {
+ "node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ },
+ "peerDependencies": {
+ "eslint": ">=5"
+ }
+ },
+ "node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+ "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/eslint-visitor-keys": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
+ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/eslint-webpack-plugin": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz",
+ "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==",
+ "dependencies": {
+ "@types/eslint": "^7.29.0 || ^8.4.1",
+ "jest-worker": "^28.0.2",
+ "micromatch": "^4.0.5",
+ "normalize-path": "^3.0.0",
+ "schema-utils": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "eslint": "^7.0.0 || ^8.0.0",
+ "webpack": "^5.0.0"
+ }
+ },
+ "node_modules/eslint-webpack-plugin/node_modules/ajv": {
+ "version": "8.11.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
+ "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/eslint-webpack-plugin/node_modules/ajv-keywords": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+ "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.3"
+ },
+ "peerDependencies": {
+ "ajv": "^8.8.2"
+ }
+ },
+ "node_modules/eslint-webpack-plugin/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/eslint-webpack-plugin/node_modules/jest-worker": {
+ "version": "28.1.3",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz",
+ "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==",
+ "dependencies": {
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/eslint-webpack-plugin/node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
+ },
+ "node_modules/eslint-webpack-plugin/node_modules/schema-utils": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
+ "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
+ "dependencies": {
+ "@types/json-schema": "^7.0.9",
+ "ajv": "^8.8.0",
+ "ajv-formats": "^2.1.1",
+ "ajv-keywords": "^5.0.0"
+ },
+ "engines": {
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "node_modules/eslint-webpack-plugin/node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/eslint/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/eslint/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
+ },
+ "node_modules/eslint/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/eslint/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/eslint/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/eslint/node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint/node_modules/globals": {
+ "version": "13.17.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
+ "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/eslint/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/eslint/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/eslint/node_modules/type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/espree": {
+ "version": "9.3.3",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.3.tgz",
+ "integrity": "sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng==",
+ "dependencies": {
+ "acorn": "^8.8.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/espree/node_modules/acorn": {
+ "version": "8.8.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
+ "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/esquery": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
+ "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
+ "dependencies": {
+ "estraverse": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estree-walker": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
+ "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg=="
+ },
+ "node_modules/esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/eventemitter3": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
+ "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="
+ },
+ "node_modules/events": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+ "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+ "engines": {
+ "node": ">=0.8.x"
+ }
+ },
+ "node_modules/execa": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "node_modules/exit": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+ "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==",
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/expect": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz",
+ "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==",
+ "dependencies": {
+ "@jest/types": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "jest-matcher-utils": "^27.5.1",
+ "jest-message-util": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/express": {
+ "version": "4.18.1",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz",
+ "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==",
+ "dependencies": {
+ "accepts": "~1.3.8",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.20.0",
+ "content-disposition": "0.5.4",
+ "content-type": "~1.0.4",
+ "cookie": "0.5.0",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "1.2.0",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.7",
+ "qs": "6.10.3",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.2.1",
+ "send": "0.18.0",
+ "serve-static": "1.15.0",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "node_modules/express/node_modules/array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
+ },
+ "node_modules/express/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/express/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/express/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/fa-icons": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/fa-icons/-/fa-icons-0.2.0.tgz",
+ "integrity": "sha512-HxGOWM8gpYiilRnsOykLNyt65aC+pmJ2ulxGaWvDRsLWU9DzvN8zNoz6EIlRKJ7ytvvqpOORhxIYRndaKn36nA==",
+ "dependencies": {
+ "@fortawesome/fontawesome-free": "^5.12.1",
+ "lit-element": "^2.2.1"
+ }
+ },
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
+ },
+ "node_modules/fast-glob": {
+ "version": "3.2.11",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
+ "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.4"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
+ "node_modules/fast-glob/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
+ },
+ "node_modules/fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
+ },
+ "node_modules/fastq": {
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
+ "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/faye-websocket": {
+ "version": "0.11.4",
+ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz",
+ "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==",
+ "dependencies": {
+ "websocket-driver": ">=0.5.1"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/fb-watchman": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz",
+ "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==",
+ "dependencies": {
+ "bser": "2.1.1"
+ }
+ },
+ "node_modules/file-entry-cache": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
+ "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+ "dependencies": {
+ "flat-cache": "^3.0.4"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/file-loader": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz",
+ "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==",
+ "dependencies": {
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^4.0.0 || ^5.0.0"
+ }
+ },
+ "node_modules/filelist": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
+ "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
+ "dependencies": {
+ "minimatch": "^5.0.1"
+ }
+ },
+ "node_modules/filelist/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/filelist/node_modules/minimatch": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+ "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/filesize": {
+ "version": "8.0.7",
+ "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz",
+ "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==",
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/finalhandler": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
+ "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
+ "dependencies": {
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "statuses": "2.0.1",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/finalhandler/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/finalhandler/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/find-cache-dir": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
+ "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
+ "dependencies": {
+ "commondir": "^1.0.1",
+ "make-dir": "^3.0.2",
+ "pkg-dir": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
+ }
+ },
+ "node_modules/find-root": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz",
+ "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng=="
+ },
+ "node_modules/find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/flat-cache": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
+ "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+ "dependencies": {
+ "flatted": "^3.1.0",
+ "rimraf": "^3.0.2"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/flatted": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.6.tgz",
+ "integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ=="
+ },
+ "node_modules/focus-lock": {
+ "version": "0.11.3",
+ "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-0.11.3.tgz",
+ "integrity": "sha512-4n0pYcPTa/uI7Q66BZna61nRT7lDhnuJ9PJr6wiDjx4uStg491ks41y7uOG+s0umaaa+hulNKSldU9aTg9/yVg==",
+ "dependencies": {
+ "tslib": "^2.0.3"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/follow-redirects": {
+ "version": "1.15.1",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz",
+ "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/fork-ts-checker-webpack-plugin": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz",
+ "integrity": "sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA==",
+ "dependencies": {
+ "@babel/code-frame": "^7.8.3",
+ "@types/json-schema": "^7.0.5",
+ "chalk": "^4.1.0",
+ "chokidar": "^3.4.2",
+ "cosmiconfig": "^6.0.0",
+ "deepmerge": "^4.2.2",
+ "fs-extra": "^9.0.0",
+ "glob": "^7.1.6",
+ "memfs": "^3.1.2",
+ "minimatch": "^3.0.4",
+ "schema-utils": "2.7.0",
+ "semver": "^7.3.2",
+ "tapable": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=10",
+ "yarn": ">=1.0.0"
+ },
+ "peerDependencies": {
+ "eslint": ">= 6",
+ "typescript": ">= 2.7",
+ "vue-template-compiler": "*",
+ "webpack": ">= 4"
+ },
+ "peerDependenciesMeta": {
+ "eslint": {
+ "optional": true
+ },
+ "vue-template-compiler": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
+ "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
+ "dependencies": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.1.0",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.7.2"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "dependencies": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
+ "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
+ "dependencies": {
+ "@types/json-schema": "^7.0.4",
+ "ajv": "^6.12.2",
+ "ajv-keywords": "^3.4.1"
+ },
+ "engines": {
+ "node": ">= 8.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
+ "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/form-data": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
+ "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/forwarded": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fraction.js": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
+ "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "type": "patreon",
+ "url": "https://www.patreon.com/infusion"
+ }
+ },
+ "node_modules/framer-motion": {
+ "version": "7.5.3",
+ "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-7.5.3.tgz",
+ "integrity": "sha512-VvANga9Z7bYtKMAsM/je81FwJDHfThOYywN04xVQ4OGdMVY09Bowx/q7nZd6XtytLuv6byc6GT1mYwag+SQ/nw==",
+ "dependencies": {
+ "@motionone/dom": "10.13.1",
+ "framesync": "6.1.2",
+ "hey-listen": "^1.0.8",
+ "popmotion": "11.0.5",
+ "style-value-types": "5.1.2",
+ "tslib": "2.4.0"
+ },
+ "optionalDependencies": {
+ "@emotion/is-prop-valid": "^0.8.2"
+ },
+ "peerDependencies": {
+ "react": "^18.0.0",
+ "react-dom": "^18.0.0"
+ }
+ },
+ "node_modules/framer-motion/node_modules/@emotion/is-prop-valid": {
+ "version": "0.8.8",
+ "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz",
+ "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==",
+ "optional": true,
+ "dependencies": {
+ "@emotion/memoize": "0.7.4"
+ }
+ },
+ "node_modules/framer-motion/node_modules/@emotion/memoize": {
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz",
+ "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==",
+ "optional": true
+ },
+ "node_modules/framer-motion/node_modules/framesync": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.1.2.tgz",
+ "integrity": "sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g==",
+ "dependencies": {
+ "tslib": "2.4.0"
+ }
+ },
+ "node_modules/framesync": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/framesync/-/framesync-5.3.0.tgz",
+ "integrity": "sha512-oc5m68HDO/tuK2blj7ZcdEBRx3p1PjrgHazL8GYEpvULhrtGIFbQArN6cQS2QhW8mitffaB+VYzMjDqBxxQeoA==",
+ "dependencies": {
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fs-extra": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
+ "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/fs-monkey": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz",
+ "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q=="
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ },
+ "node_modules/function.prototype.name": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz",
+ "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.19.0",
+ "functions-have-names": "^1.2.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/functional-red-black-tree": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g=="
+ },
+ "node_modules/functions-have-names": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
+ "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz",
+ "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==",
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-nonce": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz",
+ "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/get-own-enumerable-property-symbols": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz",
+ "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g=="
+ },
+ "node_modules/get-package-type": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
+ "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/get-stream": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/get-symbol-description": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
+ "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/glob-to-regexp": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
+ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="
+ },
+ "node_modules/global-modules": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
+ "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
+ "dependencies": {
+ "global-prefix": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/global-prefix": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
+ "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
+ "dependencies": {
+ "ini": "^1.3.5",
+ "kind-of": "^6.0.2",
+ "which": "^1.3.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/global-prefix/node_modules/which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "which": "bin/which"
+ }
+ },
+ "node_modules/globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/globby": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+ "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "dependencies": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.10",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
+ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
+ },
+ "node_modules/grapheme-splitter": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
+ "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ=="
+ },
+ "node_modules/gzip-size": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz",
+ "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==",
+ "dependencies": {
+ "duplexer": "^0.1.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/handle-thing": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz",
+ "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg=="
+ },
+ "node_modules/harmony-reflect": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz",
+ "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g=="
+ },
+ "node_modules/has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dependencies": {
+ "function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/has-bigints": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
+ "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/has-property-descriptors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
+ "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
+ "dependencies": {
+ "get-intrinsic": "^1.1.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-tostringtag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
+ "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
+ "dependencies": {
+ "has-symbols": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/he": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
+ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
+ "bin": {
+ "he": "bin/he"
+ }
+ },
+ "node_modules/hey-listen": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz",
+ "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q=="
+ },
+ "node_modules/hoist-non-react-statics": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
+ "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
+ "dependencies": {
+ "react-is": "^16.7.0"
+ }
+ },
+ "node_modules/hoist-non-react-statics/node_modules/react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ },
+ "node_modules/hoopy": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz",
+ "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==",
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
+ "node_modules/hpack.js": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
+ "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==",
+ "dependencies": {
+ "inherits": "^2.0.1",
+ "obuf": "^1.0.0",
+ "readable-stream": "^2.0.1",
+ "wbuf": "^1.1.0"
+ }
+ },
+ "node_modules/hpack.js/node_modules/readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/hpack.js/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/html-encoding-sniffer": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
+ "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
+ "dependencies": {
+ "whatwg-encoding": "^1.0.5"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/html-entities": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz",
+ "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA=="
+ },
+ "node_modules/html-escaper": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
+ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg=="
+ },
+ "node_modules/html-minifier-terser": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz",
+ "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==",
+ "dependencies": {
+ "camel-case": "^4.1.2",
+ "clean-css": "^5.2.2",
+ "commander": "^8.3.0",
+ "he": "^1.2.0",
+ "param-case": "^3.0.4",
+ "relateurl": "^0.2.7",
+ "terser": "^5.10.0"
+ },
+ "bin": {
+ "html-minifier-terser": "cli.js"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/html-webpack-plugin": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz",
+ "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==",
+ "dependencies": {
+ "@types/html-minifier-terser": "^6.0.0",
+ "html-minifier-terser": "^6.0.2",
+ "lodash": "^4.17.21",
+ "pretty-error": "^4.0.0",
+ "tapable": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/html-webpack-plugin"
+ },
+ "peerDependencies": {
+ "webpack": "^5.20.0"
+ }
+ },
+ "node_modules/htmlparser2": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
+ "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
+ "funding": [
+ "https://github.com/fb55/htmlparser2?sponsor=1",
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ],
+ "dependencies": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.0.0",
+ "domutils": "^2.5.2",
+ "entities": "^2.0.0"
+ }
+ },
+ "node_modules/http-deceiver": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
+ "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw=="
+ },
+ "node_modules/http-errors": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+ "dependencies": {
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/http-parser-js": {
+ "version": "0.5.8",
+ "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz",
+ "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q=="
+ },
+ "node_modules/http-proxy": {
+ "version": "1.18.1",
+ "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
+ "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
+ "dependencies": {
+ "eventemitter3": "^4.0.0",
+ "follow-redirects": "^1.0.0",
+ "requires-port": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/http-proxy-agent": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
+ "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
+ "dependencies": {
+ "@tootallnate/once": "1",
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/http-proxy-middleware": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz",
+ "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==",
+ "dependencies": {
+ "@types/http-proxy": "^1.17.8",
+ "http-proxy": "^1.18.1",
+ "is-glob": "^4.0.1",
+ "is-plain-obj": "^3.0.0",
+ "micromatch": "^4.0.2"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "@types/express": "^4.17.13"
+ },
+ "peerDependenciesMeta": {
+ "@types/express": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "dependencies": {
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/human-signals": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
+ "engines": {
+ "node": ">=10.17.0"
+ }
+ },
+ "node_modules/hyphenate-style-name": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz",
+ "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ=="
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/icss-utils": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
+ "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
+ "engines": {
+ "node": "^10 || ^12 || >= 14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/idb": {
+ "version": "6.1.5",
+ "resolved": "https://registry.npmjs.org/idb/-/idb-6.1.5.tgz",
+ "integrity": "sha512-IJtugpKkiVXQn5Y+LteyBCNk1N8xpGV3wWZk9EVtZWH8DYkjBn0bX1XnGP9RkyZF0sAcywa6unHqSWKe7q4LGw=="
+ },
+ "node_modules/identity-obj-proxy": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz",
+ "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==",
+ "dependencies": {
+ "harmony-reflect": "^1.4.6"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/ignore": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
+ "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/immer": {
+ "version": "9.0.15",
+ "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.15.tgz",
+ "integrity": "sha512-2eB/sswms9AEUSkOm4SbV5Y7Vmt/bKRwByd52jfLkW4OLYeaTP3EEiJ9agqU0O/tq6Dk62Zfj+TJSqfm1rLVGQ==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/immer"
+ }
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/import-fresh/node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/import-local": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz",
+ "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==",
+ "dependencies": {
+ "pkg-dir": "^4.2.0",
+ "resolve-cwd": "^3.0.0"
+ },
+ "bin": {
+ "import-local-fixture": "fixtures/cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "node_modules/indent-string": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "node_modules/ini": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
+ },
+ "node_modules/internal-slot": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz",
+ "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==",
+ "dependencies": {
+ "get-intrinsic": "^1.1.0",
+ "has": "^1.0.3",
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "dependencies": {
+ "loose-envify": "^1.0.0"
+ }
+ },
+ "node_modules/ipaddr.js": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz",
+ "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==",
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="
+ },
+ "node_modules/is-bigint": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
+ "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
+ "dependencies": {
+ "has-bigints": "^1.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-boolean-object": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
+ "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-callable": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz",
+ "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
+ "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
+ "dependencies": {
+ "has": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-date-object": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
+ "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-docker": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-generator-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
+ "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-in-browser": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz",
+ "integrity": "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g=="
+ },
+ "node_modules/is-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
+ "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g=="
+ },
+ "node_modules/is-negative-zero": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
+ "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-number-object": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
+ "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+ "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-plain-obj": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz",
+ "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-potential-custom-element-name": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
+ "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ=="
+ },
+ "node_modules/is-regex": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
+ "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-regexp": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
+ "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-root": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz",
+ "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/is-shared-array-buffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
+ "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
+ "dependencies": {
+ "call-bind": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-string": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
+ "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-symbol": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
+ "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
+ "dependencies": {
+ "has-symbols": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA=="
+ },
+ "node_modules/is-weakref": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
+ "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
+ "dependencies": {
+ "call-bind": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "dependencies": {
+ "is-docker": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
+ },
+ "node_modules/istanbul-lib-coverage": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
+ "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-instrument": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz",
+ "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==",
+ "dependencies": {
+ "@babel/core": "^7.12.3",
+ "@babel/parser": "^7.14.7",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.2.0",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-instrument/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/istanbul-lib-report": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
+ "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
+ "dependencies": {
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^3.0.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-report/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-report/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-source-maps": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
+ "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==",
+ "dependencies": {
+ "debug": "^4.1.1",
+ "istanbul-lib-coverage": "^3.0.0",
+ "source-map": "^0.6.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/istanbul-lib-source-maps/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/istanbul-reports": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz",
+ "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==",
+ "dependencies": {
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jake": {
+ "version": "10.8.5",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz",
+ "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==",
+ "dependencies": {
+ "async": "^3.2.3",
+ "chalk": "^4.0.2",
+ "filelist": "^1.0.1",
+ "minimatch": "^3.0.4"
+ },
+ "bin": {
+ "jake": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/jake/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jake/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jake/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jake/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/jake/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jake/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz",
+ "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==",
+ "dependencies": {
+ "@jest/core": "^27.5.1",
+ "import-local": "^3.0.2",
+ "jest-cli": "^27.5.1"
+ },
+ "bin": {
+ "jest": "bin/jest.js"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-changed-files": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz",
+ "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==",
+ "dependencies": {
+ "@jest/types": "^27.5.1",
+ "execa": "^5.0.0",
+ "throat": "^6.0.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-circus": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz",
+ "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==",
+ "dependencies": {
+ "@jest/environment": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "co": "^4.6.0",
+ "dedent": "^0.7.0",
+ "expect": "^27.5.1",
+ "is-generator-fn": "^2.0.0",
+ "jest-each": "^27.5.1",
+ "jest-matcher-utils": "^27.5.1",
+ "jest-message-util": "^27.5.1",
+ "jest-runtime": "^27.5.1",
+ "jest-snapshot": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "pretty-format": "^27.5.1",
+ "slash": "^3.0.0",
+ "stack-utils": "^2.0.3",
+ "throat": "^6.0.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-circus/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-circus/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-circus/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-circus/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/jest-circus/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-circus/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-cli": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz",
+ "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==",
+ "dependencies": {
+ "@jest/core": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "chalk": "^4.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.9",
+ "import-local": "^3.0.2",
+ "jest-config": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jest-validate": "^27.5.1",
+ "prompts": "^2.0.1",
+ "yargs": "^16.2.0"
+ },
+ "bin": {
+ "jest": "bin/jest.js"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-cli/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-cli/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-cli/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-cli/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/jest-cli/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-cli/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-config": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz",
+ "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==",
+ "dependencies": {
+ "@babel/core": "^7.8.0",
+ "@jest/test-sequencer": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "babel-jest": "^27.5.1",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "deepmerge": "^4.2.2",
+ "glob": "^7.1.1",
+ "graceful-fs": "^4.2.9",
+ "jest-circus": "^27.5.1",
+ "jest-environment-jsdom": "^27.5.1",
+ "jest-environment-node": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "jest-jasmine2": "^27.5.1",
+ "jest-regex-util": "^27.5.1",
+ "jest-resolve": "^27.5.1",
+ "jest-runner": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jest-validate": "^27.5.1",
+ "micromatch": "^4.0.4",
+ "parse-json": "^5.2.0",
+ "pretty-format": "^27.5.1",
+ "slash": "^3.0.0",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ },
+ "peerDependencies": {
+ "ts-node": ">=9.0.0"
+ },
+ "peerDependenciesMeta": {
+ "ts-node": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-config/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-config/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-config/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-config/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/jest-config/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-config/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-diff": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz",
+ "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==",
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "pretty-format": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-diff/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-diff/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-diff/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-diff/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/jest-diff/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-diff/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-docblock": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz",
+ "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==",
+ "dependencies": {
+ "detect-newline": "^3.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-each": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz",
+ "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==",
+ "dependencies": {
+ "@jest/types": "^27.5.1",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "pretty-format": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-each/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-each/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-each/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-each/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/jest-each/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-each/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-environment-jsdom": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz",
+ "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==",
+ "dependencies": {
+ "@jest/environment": "^27.5.1",
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "jest-mock": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jsdom": "^16.6.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-environment-node": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz",
+ "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==",
+ "dependencies": {
+ "@jest/environment": "^27.5.1",
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "jest-mock": "^27.5.1",
+ "jest-util": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-get-type": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz",
+ "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==",
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-haste-map": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz",
+ "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==",
+ "dependencies": {
+ "@jest/types": "^27.5.1",
+ "@types/graceful-fs": "^4.1.2",
+ "@types/node": "*",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-regex-util": "^27.5.1",
+ "jest-serializer": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jest-worker": "^27.5.1",
+ "micromatch": "^4.0.4",
+ "walker": "^1.0.7"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "^2.3.2"
+ }
+ },
+ "node_modules/jest-jasmine2": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz",
+ "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==",
+ "dependencies": {
+ "@jest/environment": "^27.5.1",
+ "@jest/source-map": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "co": "^4.6.0",
+ "expect": "^27.5.1",
+ "is-generator-fn": "^2.0.0",
+ "jest-each": "^27.5.1",
+ "jest-matcher-utils": "^27.5.1",
+ "jest-message-util": "^27.5.1",
+ "jest-runtime": "^27.5.1",
+ "jest-snapshot": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "pretty-format": "^27.5.1",
+ "throat": "^6.0.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-jasmine2/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-jasmine2/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-jasmine2/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-jasmine2/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/jest-jasmine2/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-jasmine2/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-leak-detector": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz",
+ "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==",
+ "dependencies": {
+ "jest-get-type": "^27.5.1",
+ "pretty-format": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-matcher-utils": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz",
+ "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==",
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "jest-diff": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "pretty-format": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-matcher-utils/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-matcher-utils/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-matcher-utils/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-matcher-utils/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/jest-matcher-utils/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-matcher-utils/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-message-util": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz",
+ "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==",
+ "dependencies": {
+ "@babel/code-frame": "^7.12.13",
+ "@jest/types": "^27.5.1",
+ "@types/stack-utils": "^2.0.0",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "micromatch": "^4.0.4",
+ "pretty-format": "^27.5.1",
+ "slash": "^3.0.0",
+ "stack-utils": "^2.0.3"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-message-util/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-message-util/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-message-util/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-message-util/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/jest-message-util/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-message-util/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-mock": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz",
+ "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==",
+ "dependencies": {
+ "@jest/types": "^27.5.1",
+ "@types/node": "*"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-pnp-resolver": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz",
+ "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==",
+ "engines": {
+ "node": ">=6"
+ },
+ "peerDependencies": {
+ "jest-resolve": "*"
+ },
+ "peerDependenciesMeta": {
+ "jest-resolve": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-regex-util": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz",
+ "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==",
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-resolve": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz",
+ "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==",
+ "dependencies": {
+ "@jest/types": "^27.5.1",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^27.5.1",
+ "jest-pnp-resolver": "^1.2.2",
+ "jest-util": "^27.5.1",
+ "jest-validate": "^27.5.1",
+ "resolve": "^1.20.0",
+ "resolve.exports": "^1.1.0",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-resolve-dependencies": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz",
+ "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==",
+ "dependencies": {
+ "@jest/types": "^27.5.1",
+ "jest-regex-util": "^27.5.1",
+ "jest-snapshot": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-resolve/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-resolve/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-resolve/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-resolve/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/jest-resolve/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-resolve/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-runner": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz",
+ "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==",
+ "dependencies": {
+ "@jest/console": "^27.5.1",
+ "@jest/environment": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/transform": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "emittery": "^0.8.1",
+ "graceful-fs": "^4.2.9",
+ "jest-docblock": "^27.5.1",
+ "jest-environment-jsdom": "^27.5.1",
+ "jest-environment-node": "^27.5.1",
+ "jest-haste-map": "^27.5.1",
+ "jest-leak-detector": "^27.5.1",
+ "jest-message-util": "^27.5.1",
+ "jest-resolve": "^27.5.1",
+ "jest-runtime": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jest-worker": "^27.5.1",
+ "source-map-support": "^0.5.6",
+ "throat": "^6.0.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-runner/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-runner/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-runner/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-runner/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/jest-runner/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-runner/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-runtime": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz",
+ "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==",
+ "dependencies": {
+ "@jest/environment": "^27.5.1",
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/globals": "^27.5.1",
+ "@jest/source-map": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
+ "@jest/transform": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "chalk": "^4.0.0",
+ "cjs-module-lexer": "^1.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "execa": "^5.0.0",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^27.5.1",
+ "jest-message-util": "^27.5.1",
+ "jest-mock": "^27.5.1",
+ "jest-regex-util": "^27.5.1",
+ "jest-resolve": "^27.5.1",
+ "jest-snapshot": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "slash": "^3.0.0",
+ "strip-bom": "^4.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-runtime/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-runtime/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-runtime/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-runtime/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/jest-runtime/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-runtime/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-serializer": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz",
+ "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==",
+ "dependencies": {
+ "@types/node": "*",
+ "graceful-fs": "^4.2.9"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-snapshot": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz",
+ "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==",
+ "dependencies": {
+ "@babel/core": "^7.7.2",
+ "@babel/generator": "^7.7.2",
+ "@babel/plugin-syntax-typescript": "^7.7.2",
+ "@babel/traverse": "^7.7.2",
+ "@babel/types": "^7.0.0",
+ "@jest/transform": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/babel__traverse": "^7.0.4",
+ "@types/prettier": "^2.1.5",
+ "babel-preset-current-node-syntax": "^1.0.0",
+ "chalk": "^4.0.0",
+ "expect": "^27.5.1",
+ "graceful-fs": "^4.2.9",
+ "jest-diff": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "jest-haste-map": "^27.5.1",
+ "jest-matcher-utils": "^27.5.1",
+ "jest-message-util": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "natural-compare": "^1.4.0",
+ "pretty-format": "^27.5.1",
+ "semver": "^7.3.2"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-snapshot/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-snapshot/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-snapshot/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-snapshot/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/jest-snapshot/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-snapshot/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-util": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz",
+ "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==",
+ "dependencies": {
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-util/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-util/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-util/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-util/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/jest-util/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-util/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-validate": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz",
+ "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==",
+ "dependencies": {
+ "@jest/types": "^27.5.1",
+ "camelcase": "^6.2.0",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^27.5.1",
+ "leven": "^3.1.0",
+ "pretty-format": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-validate/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-validate/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-validate/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-validate/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/jest-validate/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-validate/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-watch-typeahead": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz",
+ "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==",
+ "dependencies": {
+ "ansi-escapes": "^4.3.1",
+ "chalk": "^4.0.0",
+ "jest-regex-util": "^28.0.0",
+ "jest-watcher": "^28.0.0",
+ "slash": "^4.0.0",
+ "string-length": "^5.0.1",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "jest": "^27.0.0 || ^28.0.0"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/@jest/console": {
+ "version": "28.1.3",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz",
+ "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "jest-message-util": "^28.1.3",
+ "jest-util": "^28.1.3",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/@jest/console/node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/@jest/test-result": {
+ "version": "28.1.3",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz",
+ "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==",
+ "dependencies": {
+ "@jest/console": "^28.1.3",
+ "@jest/types": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "collect-v8-coverage": "^1.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/@jest/types": {
+ "version": "28.1.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz",
+ "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/@types/yargs": {
+ "version": "17.0.10",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz",
+ "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==",
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/jest-watch-typeahead/node_modules/emittery": {
+ "version": "0.10.2",
+ "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz",
+ "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/emittery?sponsor=1"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/jest-message-util": {
+ "version": "28.1.3",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz",
+ "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==",
+ "dependencies": {
+ "@babel/code-frame": "^7.12.13",
+ "@jest/types": "^28.1.3",
+ "@types/stack-utils": "^2.0.0",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "micromatch": "^4.0.4",
+ "pretty-format": "^28.1.3",
+ "slash": "^3.0.0",
+ "stack-utils": "^2.0.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/jest-message-util/node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/jest-regex-util": {
+ "version": "28.0.2",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz",
+ "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==",
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/jest-util": {
+ "version": "28.1.3",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz",
+ "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==",
+ "dependencies": {
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/jest-watcher": {
+ "version": "28.1.3",
+ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz",
+ "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==",
+ "dependencies": {
+ "@jest/test-result": "^28.1.3",
+ "@jest/types": "^28.1.3",
+ "@types/node": "*",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.0.0",
+ "emittery": "^0.10.2",
+ "jest-util": "^28.1.3",
+ "string-length": "^4.0.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/string-length": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
+ "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==",
+ "dependencies": {
+ "char-regex": "^1.0.2",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/pretty-format": {
+ "version": "28.1.3",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz",
+ "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==",
+ "dependencies": {
+ "@jest/schemas": "^28.1.3",
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/pretty-format/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
+ },
+ "node_modules/jest-watch-typeahead/node_modules/slash": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
+ "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/string-length": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz",
+ "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==",
+ "dependencies": {
+ "char-regex": "^2.0.0",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12.20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/char-regex": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz",
+ "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==",
+ "engines": {
+ "node": ">=12.20"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/strip-ansi": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz",
+ "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/strip-ansi/node_modules/ansi-regex": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+ "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/jest-watch-typeahead/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-watcher": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz",
+ "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==",
+ "dependencies": {
+ "@jest/test-result": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.0.0",
+ "jest-util": "^27.5.1",
+ "string-length": "^4.0.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-watcher/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-watcher/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-watcher/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-watcher/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/jest-watcher/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-watcher/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-worker": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
+ "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
+ "dependencies": {
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ }
+ },
+ "node_modules/jest-worker/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-worker/node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/js-base64": {
+ "version": "3.7.2",
+ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.2.tgz",
+ "integrity": "sha512-NnRs6dsyqUXejqk/yv2aiXlAvOs56sLkX6nUdeaNezI5LFFLlsZjOThmwnrcwh5ZZRwZlCMnVAY3CvhIhoVEKQ=="
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ },
+ "node_modules/js-yaml": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/jsdom": {
+ "version": "16.7.0",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz",
+ "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==",
+ "dependencies": {
+ "abab": "^2.0.5",
+ "acorn": "^8.2.4",
+ "acorn-globals": "^6.0.0",
+ "cssom": "^0.4.4",
+ "cssstyle": "^2.3.0",
+ "data-urls": "^2.0.0",
+ "decimal.js": "^10.2.1",
+ "domexception": "^2.0.1",
+ "escodegen": "^2.0.0",
+ "form-data": "^3.0.0",
+ "html-encoding-sniffer": "^2.0.1",
+ "http-proxy-agent": "^4.0.1",
+ "https-proxy-agent": "^5.0.0",
+ "is-potential-custom-element-name": "^1.0.1",
+ "nwsapi": "^2.2.0",
+ "parse5": "6.0.1",
+ "saxes": "^5.0.1",
+ "symbol-tree": "^3.2.4",
+ "tough-cookie": "^4.0.0",
+ "w3c-hr-time": "^1.0.2",
+ "w3c-xmlserializer": "^2.0.0",
+ "webidl-conversions": "^6.1.0",
+ "whatwg-encoding": "^1.0.5",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^8.5.0",
+ "ws": "^7.4.6",
+ "xml-name-validator": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "canvas": "^2.5.0"
+ },
+ "peerDependenciesMeta": {
+ "canvas": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="
+ },
+ "node_modules/json-schema": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
+ "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="
+ },
+ "node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
+ },
+ "node_modules/json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="
+ },
+ "node_modules/json5": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
+ "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "dependencies": {
+ "universalify": "^2.0.0"
+ },
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/jsonpointer": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz",
+ "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/jss": {
+ "version": "10.9.2",
+ "resolved": "https://registry.npmjs.org/jss/-/jss-10.9.2.tgz",
+ "integrity": "sha512-b8G6rWpYLR4teTUbGd4I4EsnWjg7MN0Q5bSsjKhVkJVjhQDy2KzkbD2AW3TuT0RYZVmZZHKIrXDn6kjU14qkUg==",
+ "dependencies": {
+ "@babel/runtime": "^7.3.1",
+ "csstype": "^3.0.2",
+ "is-in-browser": "^1.1.3",
+ "tiny-warning": "^1.0.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/jss"
+ }
+ },
+ "node_modules/jss-plugin-camel-case": {
+ "version": "10.9.2",
+ "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.9.2.tgz",
+ "integrity": "sha512-wgBPlL3WS0WDJ1lPJcgjux/SHnDuu7opmgQKSraKs4z8dCCyYMx9IDPFKBXQ8Q5dVYij1FFV0WdxyhuOOAXuTg==",
+ "dependencies": {
+ "@babel/runtime": "^7.3.1",
+ "hyphenate-style-name": "^1.0.3",
+ "jss": "10.9.2"
+ }
+ },
+ "node_modules/jss-plugin-default-unit": {
+ "version": "10.9.2",
+ "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.9.2.tgz",
+ "integrity": "sha512-pYg0QX3bBEFtTnmeSI3l7ad1vtHU42YEEpgW7pmIh+9pkWNWb5dwS/4onSfAaI0kq+dOZHzz4dWe+8vWnanoSg==",
+ "dependencies": {
+ "@babel/runtime": "^7.3.1",
+ "jss": "10.9.2"
+ }
+ },
+ "node_modules/jss-plugin-global": {
+ "version": "10.9.2",
+ "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.9.2.tgz",
+ "integrity": "sha512-GcX0aE8Ef6AtlasVrafg1DItlL/tWHoC4cGir4r3gegbWwF5ZOBYhx04gurPvWHC8F873aEGqge7C17xpwmp2g==",
+ "dependencies": {
+ "@babel/runtime": "^7.3.1",
+ "jss": "10.9.2"
+ }
+ },
+ "node_modules/jss-plugin-nested": {
+ "version": "10.9.2",
+ "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.9.2.tgz",
+ "integrity": "sha512-VgiOWIC6bvgDaAL97XCxGD0BxOKM0K0zeB/ECyNaVF6FqvdGB9KBBWRdy2STYAss4VVA7i5TbxFZN+WSX1kfQA==",
+ "dependencies": {
+ "@babel/runtime": "^7.3.1",
+ "jss": "10.9.2",
+ "tiny-warning": "^1.0.2"
+ }
+ },
+ "node_modules/jss-plugin-props-sort": {
+ "version": "10.9.2",
+ "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.9.2.tgz",
+ "integrity": "sha512-AP1AyUTbi2szylgr+O0OB7gkIxEGzySLITZ2GpsaoX72YMCGI2jYAc+WUhPfvUnZYiauF4zTnN4V4TGuvFjJlw==",
+ "dependencies": {
+ "@babel/runtime": "^7.3.1",
+ "jss": "10.9.2"
+ }
+ },
+ "node_modules/jss-plugin-rule-value-function": {
+ "version": "10.9.2",
+ "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.9.2.tgz",
+ "integrity": "sha512-vf5ms8zvLFMub6swbNxvzsurHfUZ5Shy5aJB2gIpY6WNA3uLinEcxYyraQXItRHi5ivXGqYciFDRM2ZoVoRZ4Q==",
+ "dependencies": {
+ "@babel/runtime": "^7.3.1",
+ "jss": "10.9.2",
+ "tiny-warning": "^1.0.2"
+ }
+ },
+ "node_modules/jss-plugin-vendor-prefixer": {
+ "version": "10.9.2",
+ "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.9.2.tgz",
+ "integrity": "sha512-SxcEoH+Rttf9fEv6KkiPzLdXRmI6waOTcMkbbEFgdZLDYNIP9UKNHFy6thhbRKqv0XMQZdrEsbDyV464zE/dUA==",
+ "dependencies": {
+ "@babel/runtime": "^7.3.1",
+ "css-vendor": "^2.0.8",
+ "jss": "10.9.2"
+ }
+ },
+ "node_modules/jsx-ast-utils": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.2.tgz",
+ "integrity": "sha512-4ZCADZHRkno244xlNnn4AOG6sRQ7iBZ5BbgZ4vW4y5IZw7cVUD1PPeblm1xx/nfmMxPdt/LHsXZW8z/j58+l9Q==",
+ "dependencies": {
+ "array-includes": "^3.1.5",
+ "object.assign": "^4.1.2"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/kleur": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
+ "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/klona": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz",
+ "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/language-subtag-registry": {
+ "version": "0.3.22",
+ "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz",
+ "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w=="
+ },
+ "node_modules/language-tags": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz",
+ "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==",
+ "dependencies": {
+ "language-subtag-registry": "~0.3.2"
+ }
+ },
+ "node_modules/leven": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dependencies": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/lilconfig": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz",
+ "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/lines-and-columns": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
+ },
+ "node_modules/lit-element": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-2.5.1.tgz",
+ "integrity": "sha512-ogu7PiJTA33bEK0xGu1dmaX5vhcRjBXCFexPja0e7P7jqLhTpNKYRPmE+GmiCaRVAbiQKGkUgkh/i6+bh++dPQ==",
+ "dependencies": {
+ "lit-html": "^1.1.1"
+ }
+ },
+ "node_modules/lit-html": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-1.4.1.tgz",
+ "integrity": "sha512-B9btcSgPYb1q4oSOb/PrOT6Z/H+r6xuNzfH4lFli/AWhYwdtrgQkQWBbIc6mdnf6E2IL3gDXdkkqNktpU0OZQA=="
+ },
+ "node_modules/loader-runner": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
+ "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
+ "engines": {
+ "node": ">=6.11.5"
+ }
+ },
+ "node_modules/loader-utils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz",
+ "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
+ "dependencies": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ },
+ "engines": {
+ "node": ">=8.9.0"
+ }
+ },
+ "node_modules/locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+ },
+ "node_modules/lodash.debounce": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+ "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow=="
+ },
+ "node_modules/lodash.memoize": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+ "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag=="
+ },
+ "node_modules/lodash.merge": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
+ },
+ "node_modules/lodash.mergewith": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz",
+ "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ=="
+ },
+ "node_modules/lodash.sortby": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
+ "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA=="
+ },
+ "node_modules/lodash.uniq": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
+ "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ=="
+ },
+ "node_modules/loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "dependencies": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ },
+ "bin": {
+ "loose-envify": "cli.js"
+ }
+ },
+ "node_modules/lower-case": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
+ "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==",
+ "dependencies": {
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/lz-string": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz",
+ "integrity": "sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==",
+ "bin": {
+ "lz-string": "bin/bin.js"
+ }
+ },
+ "node_modules/magic-string": {
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
+ "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
+ "dependencies": {
+ "sourcemap-codec": "^1.4.8"
+ }
+ },
+ "node_modules/make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dependencies": {
+ "semver": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/make-dir/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/makeerror": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz",
+ "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==",
+ "dependencies": {
+ "tmpl": "1.0.5"
+ }
+ },
+ "node_modules/mdn-data": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
+ "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA=="
+ },
+ "node_modules/media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/memfs": {
+ "version": "3.4.7",
+ "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.7.tgz",
+ "integrity": "sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw==",
+ "dependencies": {
+ "fs-monkey": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/merge-descriptors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+ "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
+ },
+ "node_modules/merge-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "dependencies": {
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/min-indent": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
+ "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/mini-css-extract-plugin": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz",
+ "integrity": "sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg==",
+ "dependencies": {
+ "schema-utils": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.0.0"
+ }
+ },
+ "node_modules/mini-css-extract-plugin/node_modules/ajv": {
+ "version": "8.11.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
+ "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+ "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.3"
+ },
+ "peerDependencies": {
+ "ajv": "^8.8.2"
+ }
+ },
+ "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
+ },
+ "node_modules/mini-css-extract-plugin/node_modules/schema-utils": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
+ "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
+ "dependencies": {
+ "@types/json-schema": "^7.0.9",
+ "ajv": "^8.8.0",
+ "ajv-formats": "^2.1.1",
+ "ajv-keywords": "^5.0.0"
+ },
+ "engines": {
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "node_modules/minimalistic-assert": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
+ "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/minimist": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
+ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
+ },
+ "node_modules/mkdirp": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
+ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+ "dependencies": {
+ "minimist": "^1.2.6"
+ },
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/multicast-dns": {
+ "version": "7.2.5",
+ "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz",
+ "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==",
+ "dependencies": {
+ "dns-packet": "^5.2.2",
+ "thunky": "^1.0.2"
+ },
+ "bin": {
+ "multicast-dns": "cli.js"
+ }
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
+ "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="
+ },
+ "node_modules/negotiator": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/neo-async": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
+ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="
+ },
+ "node_modules/no-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
+ "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==",
+ "dependencies": {
+ "lower-case": "^2.0.2",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/node-forge": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
+ "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
+ "engines": {
+ "node": ">= 6.13.0"
+ }
+ },
+ "node_modules/node-int64": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
+ "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw=="
+ },
+ "node_modules/node-releases": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
+ "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg=="
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/normalize-range": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+ "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/normalize-url": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
+ "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "dependencies": {
+ "path-key": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/nth-check": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
+ "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
+ "dependencies": {
+ "boolbase": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/nth-check?sponsor=1"
+ }
+ },
+ "node_modules/nwsapi": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.1.tgz",
+ "integrity": "sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg=="
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-hash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
+ "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/object-inspect": {
+ "version": "1.12.2",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
+ "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/object.assign": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
+ "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3",
+ "has-symbols": "^1.0.1",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object.entries": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz",
+ "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.19.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/object.fromentries": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz",
+ "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.19.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object.getownpropertydescriptors": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz",
+ "integrity": "sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ==",
+ "dependencies": {
+ "array.prototype.reduce": "^1.0.4",
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.4",
+ "es-abstract": "^1.20.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object.hasown": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.1.tgz",
+ "integrity": "sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==",
+ "dependencies": {
+ "define-properties": "^1.1.4",
+ "es-abstract": "^1.19.5"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object.values": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz",
+ "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.19.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/obuf": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
+ "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg=="
+ },
+ "node_modules/on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/on-headers": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
+ "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+ "dependencies": {
+ "mimic-fn": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/open": {
+ "version": "8.4.0",
+ "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz",
+ "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==",
+ "dependencies": {
+ "define-lazy-prop": "^2.0.0",
+ "is-docker": "^2.1.1",
+ "is-wsl": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/optionator": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
+ "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+ "dependencies": {
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.3"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-retry": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz",
+ "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==",
+ "dependencies": {
+ "@types/retry": "0.12.0",
+ "retry": "^0.13.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/param-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
+ "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==",
+ "dependencies": {
+ "dot-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parse-json": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+ "dependencies": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/parse5": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
+ },
+ "node_modules/parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/pascal-case": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz",
+ "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==",
+ "dependencies": {
+ "no-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/path": {
+ "version": "0.12.7",
+ "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz",
+ "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==",
+ "dependencies": {
+ "process": "^0.11.1",
+ "util": "^0.10.3"
+ }
+ },
+ "node_modules/path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
+ },
+ "node_modules/path-to-regexp": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+ "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
+ },
+ "node_modules/path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
+ },
+ "node_modules/picocolors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/pirates": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz",
+ "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/pkg-dir": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+ "dependencies": {
+ "find-up": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dependencies": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dependencies": {
+ "p-locate": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dependencies": {
+ "p-try": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dependencies": {
+ "p-limit": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pkg-up": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz",
+ "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==",
+ "dependencies": {
+ "find-up": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pkg-up/node_modules/find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "dependencies": {
+ "locate-path": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/pkg-up/node_modules/locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "dependencies": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/pkg-up/node_modules/p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dependencies": {
+ "p-try": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/pkg-up/node_modules/p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "dependencies": {
+ "p-limit": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/pkg-up/node_modules/path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/popmotion": {
+ "version": "11.0.5",
+ "resolved": "https://registry.npmjs.org/popmotion/-/popmotion-11.0.5.tgz",
+ "integrity": "sha512-la8gPM1WYeFznb/JqF4GiTkRRPZsfaj2+kCxqQgr2MJylMmIKUwBfWW8Wa5fml/8gmtlD5yI01MP1QCZPWmppA==",
+ "dependencies": {
+ "framesync": "6.1.2",
+ "hey-listen": "^1.0.8",
+ "style-value-types": "5.1.2",
+ "tslib": "2.4.0"
+ }
+ },
+ "node_modules/popmotion/node_modules/framesync": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.1.2.tgz",
+ "integrity": "sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g==",
+ "dependencies": {
+ "tslib": "2.4.0"
+ }
+ },
+ "node_modules/popper.js": {
+ "version": "1.16.1-lts",
+ "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1-lts.tgz",
+ "integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA=="
+ },
+ "node_modules/postcss": {
+ "version": "8.4.14",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
+ "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ }
+ ],
+ "dependencies": {
+ "nanoid": "^3.3.4",
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.0.2"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/postcss-attribute-case-insensitive": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz",
+ "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==",
+ "dependencies": {
+ "postcss-selector-parser": "^6.0.10"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/postcss-browser-comments": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz",
+ "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==",
+ "engines": {
+ "node": ">=8"
+ },
+ "peerDependencies": {
+ "browserslist": ">=4",
+ "postcss": ">=8"
+ }
+ },
+ "node_modules/postcss-calc": {
+ "version": "8.2.4",
+ "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz",
+ "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==",
+ "dependencies": {
+ "postcss-selector-parser": "^6.0.9",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.2"
+ }
+ },
+ "node_modules/postcss-clamp": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz",
+ "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=7.6.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.6"
+ }
+ },
+ "node_modules/postcss-color-functional-notation": {
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz",
+ "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/postcss-color-hex-alpha": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz",
+ "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/postcss-color-rebeccapurple": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz",
+ "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/postcss-colormin": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz",
+ "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==",
+ "dependencies": {
+ "browserslist": "^4.16.6",
+ "caniuse-api": "^3.0.0",
+ "colord": "^2.9.1",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-convert-values": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.2.tgz",
+ "integrity": "sha512-c6Hzc4GAv95B7suy4udszX9Zy4ETyMCgFPUDtWjdFTKH1SE9eFY/jEpHSwTH1QPuwxHpWslhckUQWbNRM4ho5g==",
+ "dependencies": {
+ "browserslist": "^4.20.3",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-custom-media": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz",
+ "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.3"
+ }
+ },
+ "node_modules/postcss-custom-properties": {
+ "version": "12.1.8",
+ "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.8.tgz",
+ "integrity": "sha512-8rbj8kVu00RQh2fQF81oBqtduiANu4MIxhyf0HbbStgPtnFlWn0yiaYTpLHrPnJbffVY1s9apWsIoVZcc68FxA==",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/postcss-custom-selectors": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz",
+ "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==",
+ "dependencies": {
+ "postcss-selector-parser": "^6.0.4"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.3"
+ }
+ },
+ "node_modules/postcss-dir-pseudo-class": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz",
+ "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==",
+ "dependencies": {
+ "postcss-selector-parser": "^6.0.10"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/postcss-discard-comments": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz",
+ "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==",
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-discard-duplicates": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz",
+ "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==",
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-discard-empty": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz",
+ "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==",
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-discard-overridden": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz",
+ "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==",
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-double-position-gradients": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz",
+ "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==",
+ "dependencies": {
+ "@csstools/postcss-progressive-custom-properties": "^1.1.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/postcss-env-function": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz",
+ "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/postcss-flexbugs-fixes": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz",
+ "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==",
+ "peerDependencies": {
+ "postcss": "^8.1.4"
+ }
+ },
+ "node_modules/postcss-focus-visible": {
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz",
+ "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==",
+ "dependencies": {
+ "postcss-selector-parser": "^6.0.9"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/postcss-focus-within": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz",
+ "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==",
+ "dependencies": {
+ "postcss-selector-parser": "^6.0.9"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/postcss-font-variant": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz",
+ "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==",
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/postcss-gap-properties": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz",
+ "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==",
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/postcss-image-set-function": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz",
+ "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/postcss-import": {
+ "version": "14.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz",
+ "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==",
+ "dependencies": {
+ "postcss-value-parser": "^4.0.0",
+ "read-cache": "^1.0.0",
+ "resolve": "^1.1.7"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.0.0"
+ }
+ },
+ "node_modules/postcss-initial": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz",
+ "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==",
+ "peerDependencies": {
+ "postcss": "^8.0.0"
+ }
+ },
+ "node_modules/postcss-js": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz",
+ "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==",
+ "dependencies": {
+ "camelcase-css": "^2.0.1"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >= 16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ "peerDependencies": {
+ "postcss": "^8.3.3"
+ }
+ },
+ "node_modules/postcss-lab-function": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz",
+ "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==",
+ "dependencies": {
+ "@csstools/postcss-progressive-custom-properties": "^1.1.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/postcss-load-config": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
+ "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
+ "dependencies": {
+ "lilconfig": "^2.0.5",
+ "yaml": "^1.10.2"
+ },
+ "engines": {
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ "peerDependencies": {
+ "postcss": ">=8.0.9",
+ "ts-node": ">=9.0.0"
+ },
+ "peerDependenciesMeta": {
+ "postcss": {
+ "optional": true
+ },
+ "ts-node": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/postcss-loader": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz",
+ "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==",
+ "dependencies": {
+ "cosmiconfig": "^7.0.0",
+ "klona": "^2.0.5",
+ "semver": "^7.3.5"
+ },
+ "engines": {
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "postcss": "^7.0.0 || ^8.0.1",
+ "webpack": "^5.0.0"
+ }
+ },
+ "node_modules/postcss-logical": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz",
+ "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==",
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/postcss-media-minmax": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz",
+ "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==",
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/postcss-merge-longhand": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.6.tgz",
+ "integrity": "sha512-6C/UGF/3T5OE2CEbOuX7iNO63dnvqhGZeUnKkDeifebY0XqkkvrctYSZurpNE902LDf2yKwwPFgotnfSoPhQiw==",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0",
+ "stylehacks": "^5.1.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-merge-rules": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.2.tgz",
+ "integrity": "sha512-zKMUlnw+zYCWoPN6yhPjtcEdlJaMUZ0WyVcxTAmw3lkkN/NDMRkOkiuctQEoWAOvH7twaxUUdvBWl0d4+hifRQ==",
+ "dependencies": {
+ "browserslist": "^4.16.6",
+ "caniuse-api": "^3.0.0",
+ "cssnano-utils": "^3.1.0",
+ "postcss-selector-parser": "^6.0.5"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-minify-font-values": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz",
+ "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-minify-gradients": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz",
+ "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==",
+ "dependencies": {
+ "colord": "^2.9.1",
+ "cssnano-utils": "^3.1.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-minify-params": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.3.tgz",
+ "integrity": "sha512-bkzpWcjykkqIujNL+EVEPOlLYi/eZ050oImVtHU7b4lFS82jPnsCb44gvC6pxaNt38Els3jWYDHTjHKf0koTgg==",
+ "dependencies": {
+ "browserslist": "^4.16.6",
+ "cssnano-utils": "^3.1.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-minify-selectors": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz",
+ "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==",
+ "dependencies": {
+ "postcss-selector-parser": "^6.0.5"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-modules-extract-imports": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
+ "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
+ "engines": {
+ "node": "^10 || ^12 || >= 14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/postcss-modules-local-by-default": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz",
+ "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==",
+ "dependencies": {
+ "icss-utils": "^5.0.0",
+ "postcss-selector-parser": "^6.0.2",
+ "postcss-value-parser": "^4.1.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >= 14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/postcss-modules-scope": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz",
+ "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==",
+ "dependencies": {
+ "postcss-selector-parser": "^6.0.4"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >= 14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/postcss-modules-values": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
+ "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==",
+ "dependencies": {
+ "icss-utils": "^5.0.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >= 14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/postcss-nested": {
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz",
+ "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==",
+ "dependencies": {
+ "postcss-selector-parser": "^6.0.6"
+ },
+ "engines": {
+ "node": ">=12.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.14"
+ }
+ },
+ "node_modules/postcss-nesting": {
+ "version": "10.1.10",
+ "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.10.tgz",
+ "integrity": "sha512-lqd7LXCq0gWc0wKXtoKDru5wEUNjm3OryLVNRZ8OnW8km6fSNUuFrjEhU3nklxXE2jvd4qrox566acgh+xQt8w==",
+ "dependencies": {
+ "@csstools/selector-specificity": "^2.0.0",
+ "postcss-selector-parser": "^6.0.10"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/postcss-normalize": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz",
+ "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==",
+ "dependencies": {
+ "@csstools/normalize.css": "*",
+ "postcss-browser-comments": "^4",
+ "sanitize.css": "*"
+ },
+ "engines": {
+ "node": ">= 12"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4",
+ "postcss": ">= 8"
+ }
+ },
+ "node_modules/postcss-normalize-charset": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz",
+ "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==",
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-normalize-display-values": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz",
+ "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-normalize-positions": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz",
+ "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-normalize-repeat-style": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz",
+ "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-normalize-string": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz",
+ "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-normalize-timing-functions": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz",
+ "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-normalize-unicode": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz",
+ "integrity": "sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==",
+ "dependencies": {
+ "browserslist": "^4.16.6",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-normalize-url": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz",
+ "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==",
+ "dependencies": {
+ "normalize-url": "^6.0.1",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-normalize-whitespace": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz",
+ "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-opacity-percentage": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz",
+ "integrity": "sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w==",
+ "funding": [
+ {
+ "type": "kofi",
+ "url": "https://ko-fi.com/mrcgrtz"
+ },
+ {
+ "type": "liberapay",
+ "url": "https://liberapay.com/mrcgrtz"
+ }
+ ],
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ }
+ },
+ "node_modules/postcss-ordered-values": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz",
+ "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==",
+ "dependencies": {
+ "cssnano-utils": "^3.1.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-overflow-shorthand": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz",
+ "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/postcss-page-break": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz",
+ "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==",
+ "peerDependencies": {
+ "postcss": "^8"
+ }
+ },
+ "node_modules/postcss-place": {
+ "version": "7.0.5",
+ "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz",
+ "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/postcss-preset-env": {
+ "version": "7.7.2",
+ "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.7.2.tgz",
+ "integrity": "sha512-1q0ih7EDsZmCb/FMDRvosna7Gsbdx8CvYO5hYT120hcp2ZAuOHpSzibujZ4JpIUcAC02PG6b+eftxqjTFh5BNA==",
+ "dependencies": {
+ "@csstools/postcss-cascade-layers": "^1.0.4",
+ "@csstools/postcss-color-function": "^1.1.0",
+ "@csstools/postcss-font-format-keywords": "^1.0.0",
+ "@csstools/postcss-hwb-function": "^1.0.1",
+ "@csstools/postcss-ic-unit": "^1.0.0",
+ "@csstools/postcss-is-pseudo-class": "^2.0.6",
+ "@csstools/postcss-normalize-display-values": "^1.0.0",
+ "@csstools/postcss-oklab-function": "^1.1.0",
+ "@csstools/postcss-progressive-custom-properties": "^1.3.0",
+ "@csstools/postcss-stepped-value-functions": "^1.0.0",
+ "@csstools/postcss-trigonometric-functions": "^1.0.1",
+ "@csstools/postcss-unset-value": "^1.0.1",
+ "autoprefixer": "^10.4.7",
+ "browserslist": "^4.21.0",
+ "css-blank-pseudo": "^3.0.3",
+ "css-has-pseudo": "^3.0.4",
+ "css-prefers-color-scheme": "^6.0.3",
+ "cssdb": "^6.6.3",
+ "postcss-attribute-case-insensitive": "^5.0.1",
+ "postcss-clamp": "^4.1.0",
+ "postcss-color-functional-notation": "^4.2.3",
+ "postcss-color-hex-alpha": "^8.0.4",
+ "postcss-color-rebeccapurple": "^7.1.0",
+ "postcss-custom-media": "^8.0.2",
+ "postcss-custom-properties": "^12.1.8",
+ "postcss-custom-selectors": "^6.0.3",
+ "postcss-dir-pseudo-class": "^6.0.4",
+ "postcss-double-position-gradients": "^3.1.1",
+ "postcss-env-function": "^4.0.6",
+ "postcss-focus-visible": "^6.0.4",
+ "postcss-focus-within": "^5.0.4",
+ "postcss-font-variant": "^5.0.0",
+ "postcss-gap-properties": "^3.0.3",
+ "postcss-image-set-function": "^4.0.6",
+ "postcss-initial": "^4.0.1",
+ "postcss-lab-function": "^4.2.0",
+ "postcss-logical": "^5.0.4",
+ "postcss-media-minmax": "^5.0.0",
+ "postcss-nesting": "^10.1.9",
+ "postcss-opacity-percentage": "^1.1.2",
+ "postcss-overflow-shorthand": "^3.0.3",
+ "postcss-page-break": "^3.0.4",
+ "postcss-place": "^7.0.4",
+ "postcss-pseudo-class-any-link": "^7.1.5",
+ "postcss-replace-overflow-wrap": "^4.0.0",
+ "postcss-selector-not": "^6.0.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/postcss-pseudo-class-any-link": {
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz",
+ "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==",
+ "dependencies": {
+ "postcss-selector-parser": "^6.0.10"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/postcss-reduce-initial": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz",
+ "integrity": "sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==",
+ "dependencies": {
+ "browserslist": "^4.16.6",
+ "caniuse-api": "^3.0.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-reduce-transforms": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz",
+ "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-replace-overflow-wrap": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz",
+ "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==",
+ "peerDependencies": {
+ "postcss": "^8.0.3"
+ }
+ },
+ "node_modules/postcss-selector-not": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz",
+ "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==",
+ "dependencies": {
+ "postcss-selector-parser": "^6.0.10"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/postcss-selector-parser": {
+ "version": "6.0.10",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
+ "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-svgo": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz",
+ "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0",
+ "svgo": "^2.7.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-svgo/node_modules/commander": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
+ "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/postcss-svgo/node_modules/css-tree": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
+ "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
+ "dependencies": {
+ "mdn-data": "2.0.14",
+ "source-map": "^0.6.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/postcss-svgo/node_modules/mdn-data": {
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
+ "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow=="
+ },
+ "node_modules/postcss-svgo/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/postcss-svgo/node_modules/svgo": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz",
+ "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==",
+ "dependencies": {
+ "@trysound/sax": "0.2.0",
+ "commander": "^7.2.0",
+ "css-select": "^4.1.3",
+ "css-tree": "^1.1.3",
+ "csso": "^4.2.0",
+ "picocolors": "^1.0.0",
+ "stable": "^0.1.8"
+ },
+ "bin": {
+ "svgo": "bin/svgo"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/postcss-unique-selectors": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz",
+ "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==",
+ "dependencies": {
+ "postcss-selector-parser": "^6.0.5"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-value-parser": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
+ },
+ "node_modules/prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/pretty-bytes": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
+ "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==",
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/pretty-error": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz",
+ "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==",
+ "dependencies": {
+ "lodash": "^4.17.20",
+ "renderkid": "^3.0.0"
+ }
+ },
+ "node_modules/pretty-format": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
+ "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
+ "dependencies": {
+ "ansi-regex": "^5.0.1",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^17.0.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/pretty-format/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
+ "engines": {
+ "node": ">= 0.6.0"
+ }
+ },
+ "node_modules/process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
+ },
+ "node_modules/promise": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz",
+ "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==",
+ "dependencies": {
+ "asap": "~2.0.6"
+ }
+ },
+ "node_modules/prompts": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
+ "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==",
+ "dependencies": {
+ "kleur": "^3.0.3",
+ "sisteransi": "^1.0.5"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/prop-types": {
+ "version": "15.8.1",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
+ "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
+ "dependencies": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.13.1"
+ }
+ },
+ "node_modules/prop-types/node_modules/react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ },
+ "node_modules/proxy-addr": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
+ "dependencies": {
+ "forwarded": "0.2.0",
+ "ipaddr.js": "1.9.1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/proxy-addr/node_modules/ipaddr.js": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/psl": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
+ "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
+ },
+ "node_modules/punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/q": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+ "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==",
+ "engines": {
+ "node": ">=0.6.0",
+ "teleport": ">=0.2.0"
+ }
+ },
+ "node_modules/qs": {
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+ "dependencies": {
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/quick-lru": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
+ "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/raf": {
+ "version": "3.4.1",
+ "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz",
+ "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==",
+ "dependencies": {
+ "performance-now": "^2.1.0"
+ }
+ },
+ "node_modules/randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "dependencies": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "node_modules/range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/raw-body": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
+ "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/raw-body/node_modules/bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/raw-body/node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/react": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
+ "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/react-app-polyfill": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz",
+ "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==",
+ "dependencies": {
+ "core-js": "^3.19.2",
+ "object-assign": "^4.1.1",
+ "promise": "^8.1.0",
+ "raf": "^3.4.1",
+ "regenerator-runtime": "^0.13.9",
+ "whatwg-fetch": "^3.6.2"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/react-clientside-effect": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.6.tgz",
+ "integrity": "sha512-XGGGRQAKY+q25Lz9a/4EPqom7WRjz3z9R2k4jhVKA/puQFH/5Nt27vFZYql4m4NVNdUvX8PS3O7r/Zzm7cjUlg==",
+ "dependencies": {
+ "@babel/runtime": "^7.12.13"
+ },
+ "peerDependencies": {
+ "react": "^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/react-dev-utils": {
+ "version": "12.0.1",
+ "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz",
+ "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==",
+ "dependencies": {
+ "@babel/code-frame": "^7.16.0",
+ "address": "^1.1.2",
+ "browserslist": "^4.18.1",
+ "chalk": "^4.1.2",
+ "cross-spawn": "^7.0.3",
+ "detect-port-alt": "^1.1.6",
+ "escape-string-regexp": "^4.0.0",
+ "filesize": "^8.0.6",
+ "find-up": "^5.0.0",
+ "fork-ts-checker-webpack-plugin": "^6.5.0",
+ "global-modules": "^2.0.0",
+ "globby": "^11.0.4",
+ "gzip-size": "^6.0.0",
+ "immer": "^9.0.7",
+ "is-root": "^2.1.0",
+ "loader-utils": "^3.2.0",
+ "open": "^8.4.0",
+ "pkg-up": "^3.1.0",
+ "prompts": "^2.4.2",
+ "react-error-overlay": "^6.0.11",
+ "recursive-readdir": "^2.2.2",
+ "shell-quote": "^1.7.3",
+ "strip-ansi": "^6.0.1",
+ "text-table": "^0.2.0"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/react-dev-utils/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/react-dev-utils/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/react-dev-utils/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/react-dev-utils/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/react-dev-utils/node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/react-dev-utils/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/react-dev-utils/node_modules/loader-utils": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz",
+ "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==",
+ "engines": {
+ "node": ">= 12.13.0"
+ }
+ },
+ "node_modules/react-dev-utils/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/react-dom": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
+ "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
+ "dependencies": {
+ "loose-envify": "^1.1.0",
+ "scheduler": "^0.23.0"
+ },
+ "peerDependencies": {
+ "react": "^18.2.0"
+ }
+ },
+ "node_modules/react-error-overlay": {
+ "version": "6.0.11",
+ "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz",
+ "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg=="
+ },
+ "node_modules/react-fast-compare": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz",
+ "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA=="
+ },
+ "node_modules/react-focus-lock": {
+ "version": "2.9.1",
+ "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.9.1.tgz",
+ "integrity": "sha512-pSWOQrUmiKLkffPO6BpMXN7SNKXMsuOakl652IBuALAu1esk+IcpJyM+ALcYzPTTFz1rD0R54aB9A4HuP5t1Wg==",
+ "dependencies": {
+ "@babel/runtime": "^7.0.0",
+ "focus-lock": "^0.11.2",
+ "prop-types": "^15.6.2",
+ "react-clientside-effect": "^1.2.6",
+ "use-callback-ref": "^1.3.0",
+ "use-sidecar": "^1.1.2"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/react-is": {
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
+ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
+ },
+ "node_modules/react-refresh": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz",
+ "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/react-remove-scroll": {
+ "version": "2.5.5",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz",
+ "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==",
+ "dependencies": {
+ "react-remove-scroll-bar": "^2.3.3",
+ "react-style-singleton": "^2.2.1",
+ "tslib": "^2.1.0",
+ "use-callback-ref": "^1.3.0",
+ "use-sidecar": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/react-remove-scroll-bar": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.3.tgz",
+ "integrity": "sha512-i9GMNWwpz8XpUpQ6QlevUtFjHGqnPG4Hxs+wlIJntu/xcsZVEpJcIV71K3ZkqNy2q3GfgvkD7y6t/Sv8ofYSbw==",
+ "dependencies": {
+ "react-style-singleton": "^2.2.1",
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/react-router": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.4.0.tgz",
+ "integrity": "sha512-B+5bEXFlgR1XUdHYR6P94g299SjrfCBMmEDJNcFbpAyRH1j1748yt9NdDhW3++nw1lk3zQJ6aOO66zUx3KlTZg==",
+ "dependencies": {
+ "@remix-run/router": "1.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "react": ">=16.8"
+ }
+ },
+ "node_modules/react-router-dom": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.4.0.tgz",
+ "integrity": "sha512-4Aw1xmXKeleYYQ3x0Lcl2undHR6yMjXZjd9DKZd53SGOYqirrUThyUb0wwAX5VZAyvSuzjNJmZlJ3rR9+/vzqg==",
+ "dependencies": {
+ "react-router": "6.4.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "react": ">=16.8",
+ "react-dom": ">=16.8"
+ }
+ },
+ "node_modules/react-scripts": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz",
+ "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==",
+ "dependencies": {
+ "@babel/core": "^7.16.0",
+ "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3",
+ "@svgr/webpack": "^5.5.0",
+ "babel-jest": "^27.4.2",
+ "babel-loader": "^8.2.3",
+ "babel-plugin-named-asset-import": "^0.3.8",
+ "babel-preset-react-app": "^10.0.1",
+ "bfj": "^7.0.2",
+ "browserslist": "^4.18.1",
+ "camelcase": "^6.2.1",
+ "case-sensitive-paths-webpack-plugin": "^2.4.0",
+ "css-loader": "^6.5.1",
+ "css-minimizer-webpack-plugin": "^3.2.0",
+ "dotenv": "^10.0.0",
+ "dotenv-expand": "^5.1.0",
+ "eslint": "^8.3.0",
+ "eslint-config-react-app": "^7.0.1",
+ "eslint-webpack-plugin": "^3.1.1",
+ "file-loader": "^6.2.0",
+ "fs-extra": "^10.0.0",
+ "html-webpack-plugin": "^5.5.0",
+ "identity-obj-proxy": "^3.0.0",
+ "jest": "^27.4.3",
+ "jest-resolve": "^27.4.2",
+ "jest-watch-typeahead": "^1.0.0",
+ "mini-css-extract-plugin": "^2.4.5",
+ "postcss": "^8.4.4",
+ "postcss-flexbugs-fixes": "^5.0.2",
+ "postcss-loader": "^6.2.1",
+ "postcss-normalize": "^10.0.1",
+ "postcss-preset-env": "^7.0.1",
+ "prompts": "^2.4.2",
+ "react-app-polyfill": "^3.0.0",
+ "react-dev-utils": "^12.0.1",
+ "react-refresh": "^0.11.0",
+ "resolve": "^1.20.0",
+ "resolve-url-loader": "^4.0.0",
+ "sass-loader": "^12.3.0",
+ "semver": "^7.3.5",
+ "source-map-loader": "^3.0.0",
+ "style-loader": "^3.3.1",
+ "tailwindcss": "^3.0.2",
+ "terser-webpack-plugin": "^5.2.5",
+ "webpack": "^5.64.4",
+ "webpack-dev-server": "^4.6.0",
+ "webpack-manifest-plugin": "^4.0.2",
+ "workbox-webpack-plugin": "^6.4.1"
+ },
+ "bin": {
+ "react-scripts": "bin/react-scripts.js"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "^2.3.2"
+ },
+ "peerDependencies": {
+ "react": ">= 16",
+ "typescript": "^3.2.1 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/react-scripts/node_modules/dotenv": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz",
+ "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/react-style-singleton": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz",
+ "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==",
+ "dependencies": {
+ "get-nonce": "^1.0.0",
+ "invariant": "^2.2.4",
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/react-transition-group": {
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz",
+ "integrity": "sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==",
+ "dependencies": {
+ "@babel/runtime": "^7.5.5",
+ "dom-helpers": "^5.0.1",
+ "loose-envify": "^1.4.0",
+ "prop-types": "^15.6.2"
+ },
+ "peerDependencies": {
+ "react": ">=16.6.0",
+ "react-dom": ">=16.6.0"
+ }
+ },
+ "node_modules/read-cache": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
+ "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
+ "dependencies": {
+ "pify": "^2.3.0"
+ }
+ },
+ "node_modules/readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/recursive-readdir": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz",
+ "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==",
+ "dependencies": {
+ "minimatch": "3.0.4"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/recursive-readdir/node_modules/minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/redent": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
+ "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
+ "dependencies": {
+ "indent-string": "^4.0.0",
+ "strip-indent": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/regenerate": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
+ "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A=="
+ },
+ "node_modules/regenerate-unicode-properties": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz",
+ "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==",
+ "dependencies": {
+ "regenerate": "^1.4.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/regenerator-runtime": {
+ "version": "0.13.9",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
+ "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
+ },
+ "node_modules/regenerator-transform": {
+ "version": "0.15.0",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz",
+ "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==",
+ "dependencies": {
+ "@babel/runtime": "^7.8.4"
+ }
+ },
+ "node_modules/regex-parser": {
+ "version": "2.2.11",
+ "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz",
+ "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q=="
+ },
+ "node_modules/regexp.prototype.flags": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz",
+ "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "functions-have-names": "^1.2.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/regexpp": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
+ "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ }
+ },
+ "node_modules/regexpu-core": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz",
+ "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==",
+ "dependencies": {
+ "regenerate": "^1.4.2",
+ "regenerate-unicode-properties": "^10.0.1",
+ "regjsgen": "^0.6.0",
+ "regjsparser": "^0.8.2",
+ "unicode-match-property-ecmascript": "^2.0.0",
+ "unicode-match-property-value-ecmascript": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/regjsgen": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz",
+ "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA=="
+ },
+ "node_modules/regjsparser": {
+ "version": "0.8.4",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz",
+ "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==",
+ "dependencies": {
+ "jsesc": "~0.5.0"
+ },
+ "bin": {
+ "regjsparser": "bin/parser"
+ }
+ },
+ "node_modules/regjsparser/node_modules/jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ }
+ },
+ "node_modules/relateurl": {
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
+ "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/renderkid": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz",
+ "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==",
+ "dependencies": {
+ "css-select": "^4.1.3",
+ "dom-converter": "^0.2.0",
+ "htmlparser2": "^6.1.0",
+ "lodash": "^4.17.21",
+ "strip-ansi": "^6.0.1"
+ }
+ },
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/requires-port": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ=="
+ },
+ "node_modules/resolve": {
+ "version": "1.22.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
+ "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
+ "dependencies": {
+ "is-core-module": "^2.9.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/resolve-cwd": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
+ "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
+ "dependencies": {
+ "resolve-from": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/resolve-url-loader": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz",
+ "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==",
+ "dependencies": {
+ "adjust-sourcemap-loader": "^4.0.0",
+ "convert-source-map": "^1.7.0",
+ "loader-utils": "^2.0.0",
+ "postcss": "^7.0.35",
+ "source-map": "0.6.1"
+ },
+ "engines": {
+ "node": ">=8.9"
+ },
+ "peerDependencies": {
+ "rework": "1.0.1",
+ "rework-visit": "1.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rework": {
+ "optional": true
+ },
+ "rework-visit": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/resolve-url-loader/node_modules/picocolors": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
+ "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA=="
+ },
+ "node_modules/resolve-url-loader/node_modules/postcss": {
+ "version": "7.0.39",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
+ "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
+ "dependencies": {
+ "picocolors": "^0.2.1",
+ "source-map": "^0.6.1"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ }
+ },
+ "node_modules/resolve-url-loader/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/resolve.exports": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz",
+ "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/retry": {
+ "version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
+ "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/rollup": {
+ "version": "2.77.0",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.77.0.tgz",
+ "integrity": "sha512-vL8xjY4yOQEw79DvyXLijhnhh+R/O9zpF/LEgkCebZFtb6ELeN9H3/2T0r8+mp+fFTBHZ5qGpOpW2ela2zRt3g==",
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/rollup-plugin-terser": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz",
+ "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==",
+ "dependencies": {
+ "@babel/code-frame": "^7.10.4",
+ "jest-worker": "^26.2.1",
+ "serialize-javascript": "^4.0.0",
+ "terser": "^5.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^2.0.0"
+ }
+ },
+ "node_modules/rollup-plugin-terser/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/rollup-plugin-terser/node_modules/jest-worker": {
+ "version": "26.6.2",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz",
+ "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==",
+ "dependencies": {
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^7.0.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ }
+ },
+ "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
+ "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
+ "dependencies": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "node_modules/rollup-plugin-terser/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "node_modules/sanitize.css": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz",
+ "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA=="
+ },
+ "node_modules/sass-loader": {
+ "version": "12.6.0",
+ "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz",
+ "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==",
+ "dependencies": {
+ "klona": "^2.0.4",
+ "neo-async": "^2.6.2"
+ },
+ "engines": {
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "fibers": ">= 3.1.0",
+ "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0",
+ "sass": "^1.3.0",
+ "sass-embedded": "*",
+ "webpack": "^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "fibers": {
+ "optional": true
+ },
+ "node-sass": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "sass-embedded": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/sax": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
+ },
+ "node_modules/saxes": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
+ "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
+ "dependencies": {
+ "xmlchars": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/scheduler": {
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
+ "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ }
+ },
+ "node_modules/schema-utils": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
+ "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "dependencies": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "node_modules/select-hose": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
+ "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg=="
+ },
+ "node_modules/selfsigned": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz",
+ "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==",
+ "dependencies": {
+ "node-forge": "^1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/send": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
+ "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
+ "dependencies": {
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/send/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/send/node_modules/debug/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/send/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ },
+ "node_modules/serialize-javascript": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
+ "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
+ "dependencies": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "node_modules/serve-index": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
+ "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==",
+ "dependencies": {
+ "accepts": "~1.3.4",
+ "batch": "0.6.1",
+ "debug": "2.6.9",
+ "escape-html": "~1.0.3",
+ "http-errors": "~1.6.2",
+ "mime-types": "~2.1.17",
+ "parseurl": "~1.3.2"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/serve-index/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/serve-index/node_modules/depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/serve-index/node_modules/http-errors": {
+ "version": "1.6.3",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
+ "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==",
+ "dependencies": {
+ "depd": "~1.1.2",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.1.0",
+ "statuses": ">= 1.4.0 < 2"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/serve-index/node_modules/inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw=="
+ },
+ "node_modules/serve-index/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/serve-index/node_modules/setprototypeof": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
+ "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
+ },
+ "node_modules/serve-index/node_modules/statuses": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+ "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/serve-static": {
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
+ "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
+ "dependencies": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.18.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/setprototypeof": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shell-quote": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz",
+ "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw=="
+ },
+ "node_modules/side-channel": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
+ },
+ "node_modules/sisteransi": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
+ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="
+ },
+ "node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/socket.io-client": {
+ "version": "4.5.1",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.1.tgz",
+ "integrity": "sha512-e6nLVgiRYatS+AHXnOnGi4ocOpubvOUCGhyWw8v+/FxW8saHkinG6Dfhi9TU0Kt/8mwJIAASxvw6eujQmjdZVA==",
+ "dependencies": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.2",
+ "engine.io-client": "~6.2.1",
+ "socket.io-parser": "~4.2.0"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/socket.io-parser": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz",
+ "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==",
+ "dependencies": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.1"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/sockjs": {
+ "version": "0.3.24",
+ "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
+ "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==",
+ "dependencies": {
+ "faye-websocket": "^0.11.3",
+ "uuid": "^8.3.2",
+ "websocket-driver": "^0.7.4"
+ }
+ },
+ "node_modules/source-list-map": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
+ "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw=="
+ },
+ "node_modules/source-map": {
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+ "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
+ "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-loader": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.1.tgz",
+ "integrity": "sha512-Vp1UsfyPvgujKQzi4pyDiTOnE3E4H+yHvkVRN3c/9PJmQS4CQJExvcDvaX/D+RV+xQben9HJ56jMJS3CgUeWyA==",
+ "dependencies": {
+ "abab": "^2.0.5",
+ "iconv-lite": "^0.6.3",
+ "source-map-js": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.0.0"
+ }
+ },
+ "node_modules/source-map-resolve": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz",
+ "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==",
+ "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated",
+ "dependencies": {
+ "atob": "^2.1.2",
+ "decode-uri-component": "^0.2.0"
+ }
+ },
+ "node_modules/source-map-support": {
+ "version": "0.5.21",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
+ "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "node_modules/source-map-support/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sourcemap-codec": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
+ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
+ },
+ "node_modules/spdy": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz",
+ "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==",
+ "dependencies": {
+ "debug": "^4.1.0",
+ "handle-thing": "^2.0.0",
+ "http-deceiver": "^1.2.7",
+ "select-hose": "^2.0.0",
+ "spdy-transport": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/spdy-transport": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
+ "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
+ "dependencies": {
+ "debug": "^4.1.0",
+ "detect-node": "^2.0.4",
+ "hpack.js": "^2.1.6",
+ "obuf": "^1.1.2",
+ "readable-stream": "^3.0.6",
+ "wbuf": "^1.7.3"
+ }
+ },
+ "node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="
+ },
+ "node_modules/stable": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
+ "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
+ "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility"
+ },
+ "node_modules/stack-utils": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz",
+ "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==",
+ "dependencies": {
+ "escape-string-regexp": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/stack-utils/node_modules/escape-string-regexp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
+ "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/stackframe": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz",
+ "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw=="
+ },
+ "node_modules/statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "dependencies": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "node_modules/string_decoder/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/string-length": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
+ "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==",
+ "dependencies": {
+ "char-regex": "^1.0.2",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/string-natural-compare": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz",
+ "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw=="
+ },
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string-width/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "node_modules/string.prototype.matchall": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz",
+ "integrity": "sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.19.1",
+ "get-intrinsic": "^1.1.1",
+ "has-symbols": "^1.0.3",
+ "internal-slot": "^1.0.3",
+ "regexp.prototype.flags": "^1.4.1",
+ "side-channel": "^1.0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.trimend": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz",
+ "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.4",
+ "es-abstract": "^1.19.5"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.trimstart": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz",
+ "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.4",
+ "es-abstract": "^1.19.5"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/stringify-object": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz",
+ "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==",
+ "dependencies": {
+ "get-own-enumerable-property-symbols": "^3.0.0",
+ "is-obj": "^1.0.1",
+ "is-regexp": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-bom": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
+ "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz",
+ "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/strip-indent": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
+ "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
+ "dependencies": {
+ "min-indent": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/style-loader": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz",
+ "integrity": "sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==",
+ "engines": {
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.0.0"
+ }
+ },
+ "node_modules/style-mod": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.0.0.tgz",
+ "integrity": "sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw=="
+ },
+ "node_modules/style-value-types": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/style-value-types/-/style-value-types-5.1.2.tgz",
+ "integrity": "sha512-Vs9fNreYF9j6W2VvuDTP7kepALi7sk0xtk2Tu8Yxi9UoajJdEVpNpCov0HsLTqXvNGKX+Uv09pkozVITi1jf3Q==",
+ "dependencies": {
+ "hey-listen": "^1.0.8",
+ "tslib": "2.4.0"
+ }
+ },
+ "node_modules/stylehacks": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz",
+ "integrity": "sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==",
+ "dependencies": {
+ "browserslist": "^4.16.6",
+ "postcss-selector-parser": "^6.0.4"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/stylis": {
+ "version": "4.0.13",
+ "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.0.13.tgz",
+ "integrity": "sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag=="
+ },
+ "node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/supports-hyperlinks": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz",
+ "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==",
+ "dependencies": {
+ "has-flag": "^4.0.0",
+ "supports-color": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-hyperlinks/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-hyperlinks/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/svg-parser": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz",
+ "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ=="
+ },
+ "node_modules/svgo": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz",
+ "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==",
+ "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.",
+ "dependencies": {
+ "chalk": "^2.4.1",
+ "coa": "^2.0.2",
+ "css-select": "^2.0.0",
+ "css-select-base-adapter": "^0.1.1",
+ "css-tree": "1.0.0-alpha.37",
+ "csso": "^4.0.2",
+ "js-yaml": "^3.13.1",
+ "mkdirp": "~0.5.1",
+ "object.values": "^1.1.0",
+ "sax": "~1.2.4",
+ "stable": "^0.1.8",
+ "unquote": "~1.1.1",
+ "util.promisify": "~1.0.0"
+ },
+ "bin": {
+ "svgo": "bin/svgo"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/svgo/node_modules/css-select": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz",
+ "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==",
+ "dependencies": {
+ "boolbase": "^1.0.0",
+ "css-what": "^3.2.1",
+ "domutils": "^1.7.0",
+ "nth-check": "^1.0.2"
+ }
+ },
+ "node_modules/svgo/node_modules/css-what": {
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz",
+ "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==",
+ "engines": {
+ "node": ">= 6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
+ }
+ },
+ "node_modules/svgo/node_modules/dom-serializer": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
+ "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
+ "dependencies": {
+ "domelementtype": "^2.0.1",
+ "entities": "^2.0.0"
+ }
+ },
+ "node_modules/svgo/node_modules/domutils": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
+ "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
+ "dependencies": {
+ "dom-serializer": "0",
+ "domelementtype": "1"
+ }
+ },
+ "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
+ "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w=="
+ },
+ "node_modules/svgo/node_modules/nth-check": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
+ "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
+ "dependencies": {
+ "boolbase": "~1.0.0"
+ }
+ },
+ "node_modules/symbol-tree": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
+ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="
+ },
+ "node_modules/tailwindcss": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.6.tgz",
+ "integrity": "sha512-7skAOY56erZAFQssT1xkpk+kWt2NrO45kORlxFPXUt3CiGsVPhH1smuH5XoDH6sGPXLyBv+zgCKA2HWBsgCytg==",
+ "dependencies": {
+ "arg": "^5.0.2",
+ "chokidar": "^3.5.3",
+ "color-name": "^1.1.4",
+ "detective": "^5.2.1",
+ "didyoumean": "^1.2.2",
+ "dlv": "^1.1.3",
+ "fast-glob": "^3.2.11",
+ "glob-parent": "^6.0.2",
+ "is-glob": "^4.0.3",
+ "lilconfig": "^2.0.5",
+ "normalize-path": "^3.0.0",
+ "object-hash": "^3.0.0",
+ "picocolors": "^1.0.0",
+ "postcss": "^8.4.14",
+ "postcss-import": "^14.1.0",
+ "postcss-js": "^4.0.0",
+ "postcss-load-config": "^3.1.4",
+ "postcss-nested": "5.0.6",
+ "postcss-selector-parser": "^6.0.10",
+ "postcss-value-parser": "^4.2.0",
+ "quick-lru": "^5.1.1",
+ "resolve": "^1.22.1"
+ },
+ "bin": {
+ "tailwind": "lib/cli.js",
+ "tailwindcss": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=12.13.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.0.9"
+ }
+ },
+ "node_modules/tailwindcss/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/tapable": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/temp-dir": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz",
+ "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/tempy": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz",
+ "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==",
+ "dependencies": {
+ "is-stream": "^2.0.0",
+ "temp-dir": "^2.0.0",
+ "type-fest": "^0.16.0",
+ "unique-string": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/tempy/node_modules/type-fest": {
+ "version": "0.16.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz",
+ "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/terminal-link": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
+ "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==",
+ "dependencies": {
+ "ansi-escapes": "^4.2.1",
+ "supports-hyperlinks": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/terser": {
+ "version": "5.14.2",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz",
+ "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==",
+ "dependencies": {
+ "@jridgewell/source-map": "^0.3.2",
+ "acorn": "^8.5.0",
+ "commander": "^2.20.0",
+ "source-map-support": "~0.5.20"
+ },
+ "bin": {
+ "terser": "bin/terser"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/terser-webpack-plugin": {
+ "version": "5.3.3",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz",
+ "integrity": "sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ==",
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.7",
+ "jest-worker": "^27.4.5",
+ "schema-utils": "^3.1.1",
+ "serialize-javascript": "^6.0.0",
+ "terser": "^5.7.2"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.1.0"
+ },
+ "peerDependenciesMeta": {
+ "@swc/core": {
+ "optional": true
+ },
+ "esbuild": {
+ "optional": true
+ },
+ "uglify-js": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/terser/node_modules/commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
+ },
+ "node_modules/test-exclude": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
+ "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
+ "dependencies": {
+ "@istanbuljs/schema": "^0.1.2",
+ "glob": "^7.1.4",
+ "minimatch": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw=="
+ },
+ "node_modules/throat": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz",
+ "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w=="
+ },
+ "node_modules/thunky": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
+ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA=="
+ },
+ "node_modules/tiny-invariant": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz",
+ "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw=="
+ },
+ "node_modules/tiny-warning": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
+ "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
+ },
+ "node_modules/tmpl": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
+ "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw=="
+ },
+ "node_modules/to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/toggle-selection": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
+ "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ=="
+ },
+ "node_modules/toidentifier": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/tough-cookie": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz",
+ "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==",
+ "dependencies": {
+ "psl": "^1.1.33",
+ "punycode": "^2.1.1",
+ "universalify": "^0.1.2"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/tough-cookie/node_modules/universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
+ "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
+ "dependencies": {
+ "punycode": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/tryer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz",
+ "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA=="
+ },
+ "node_modules/tsconfig-paths": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz",
+ "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==",
+ "dependencies": {
+ "@types/json5": "^0.0.29",
+ "json5": "^1.0.1",
+ "minimist": "^1.2.6",
+ "strip-bom": "^3.0.0"
+ }
+ },
+ "node_modules/tsconfig-paths/node_modules/json5": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "dependencies": {
+ "minimist": "^1.2.0"
+ },
+ "bin": {
+ "json5": "lib/cli.js"
+ }
+ },
+ "node_modules/tsconfig-paths/node_modules/strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
+ },
+ "node_modules/tsutils": {
+ "version": "3.21.0",
+ "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
+ "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+ "dependencies": {
+ "tslib": "^1.8.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ },
+ "peerDependencies": {
+ "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+ }
+ },
+ "node_modules/tsutils/node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+ },
+ "node_modules/type-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dependencies": {
+ "prelude-ls": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/type-detect": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/type-fest": {
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
+ "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "dependencies": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/typedarray-to-buffer": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
+ "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
+ "dependencies": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "4.8.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.3.tgz",
+ "integrity": "sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==",
+ "peer": true,
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=4.2.0"
+ }
+ },
+ "node_modules/unbox-primitive": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
+ "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-bigints": "^1.0.2",
+ "has-symbols": "^1.0.3",
+ "which-boxed-primitive": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/unicode-canonical-property-names-ecmascript": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
+ "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/unicode-match-property-ecmascript": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
+ "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
+ "dependencies": {
+ "unicode-canonical-property-names-ecmascript": "^2.0.0",
+ "unicode-property-aliases-ecmascript": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/unicode-match-property-value-ecmascript": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz",
+ "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/unicode-property-aliases-ecmascript": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz",
+ "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/unique-string": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
+ "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
+ "dependencies": {
+ "crypto-random-string": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/universal-cookie": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/universal-cookie/-/universal-cookie-4.0.4.tgz",
+ "integrity": "sha512-lbRVHoOMtItjWbM7TwDLdl8wug7izB0tq3/YVKhT/ahB4VDvWMyvnADfnJI8y6fSvsjh51Ix7lTGC6Tn4rMPhw==",
+ "dependencies": {
+ "@types/cookie": "^0.3.3",
+ "cookie": "^0.4.0"
+ }
+ },
+ "node_modules/universal-cookie/node_modules/cookie": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
+ "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/unquote": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
+ "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg=="
+ },
+ "node_modules/upath": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
+ "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
+ "engines": {
+ "node": ">=4",
+ "yarn": "*"
+ }
+ },
+ "node_modules/update-browserslist-db": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz",
+ "integrity": "sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ }
+ ],
+ "dependencies": {
+ "escalade": "^3.1.1",
+ "picocolors": "^1.0.0"
+ },
+ "bin": {
+ "browserslist-lint": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
+ "node_modules/uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/use-callback-ref": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz",
+ "integrity": "sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==",
+ "dependencies": {
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/use-sidecar": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz",
+ "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==",
+ "dependencies": {
+ "detect-node-es": "^1.1.0",
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/use-sync-external-store": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
+ "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/util": {
+ "version": "0.10.4",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
+ "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
+ "dependencies": {
+ "inherits": "2.0.3"
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+ },
+ "node_modules/util.promisify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz",
+ "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==",
+ "dependencies": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.2",
+ "has-symbols": "^1.0.1",
+ "object.getownpropertydescriptors": "^2.1.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/util/node_modules/inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw=="
+ },
+ "node_modules/utila": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz",
+ "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA=="
+ },
+ "node_modules/utils-merge": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/v8-compile-cache": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
+ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA=="
+ },
+ "node_modules/v8-to-istanbul": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz",
+ "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==",
+ "dependencies": {
+ "@types/istanbul-lib-coverage": "^2.0.1",
+ "convert-source-map": "^1.6.0",
+ "source-map": "^0.7.3"
+ },
+ "engines": {
+ "node": ">=10.12.0"
+ }
+ },
+ "node_modules/vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/w3c-hr-time": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
+ "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
+ "dependencies": {
+ "browser-process-hrtime": "^1.0.0"
+ }
+ },
+ "node_modules/w3c-keyname": {
+ "version": "2.2.6",
+ "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.6.tgz",
+ "integrity": "sha512-f+fciywl1SJEniZHD6H+kUO8gOnwIr7f4ijKA6+ZvJFjeGi1r4PDLl53Ayud9O/rk64RqgoQine0feoeOU0kXg=="
+ },
+ "node_modules/w3c-xmlserializer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
+ "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
+ "dependencies": {
+ "xml-name-validator": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/walker": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz",
+ "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==",
+ "dependencies": {
+ "makeerror": "1.0.12"
+ }
+ },
+ "node_modules/watchpack": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
+ "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
+ "dependencies": {
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.1.2"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/wbuf": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
+ "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
+ "dependencies": {
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
+ "node_modules/web-vitals": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz",
+ "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg=="
+ },
+ "node_modules/webidl-conversions": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
+ "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
+ "engines": {
+ "node": ">=10.4"
+ }
+ },
+ "node_modules/webpack": {
+ "version": "5.73.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz",
+ "integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==",
+ "dependencies": {
+ "@types/eslint-scope": "^3.7.3",
+ "@types/estree": "^0.0.51",
+ "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/wasm-edit": "1.11.1",
+ "@webassemblyjs/wasm-parser": "1.11.1",
+ "acorn": "^8.4.1",
+ "acorn-import-assertions": "^1.7.6",
+ "browserslist": "^4.14.5",
+ "chrome-trace-event": "^1.0.2",
+ "enhanced-resolve": "^5.9.3",
+ "es-module-lexer": "^0.9.0",
+ "eslint-scope": "5.1.1",
+ "events": "^3.2.0",
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.2.9",
+ "json-parse-even-better-errors": "^2.3.1",
+ "loader-runner": "^4.2.0",
+ "mime-types": "^2.1.27",
+ "neo-async": "^2.6.2",
+ "schema-utils": "^3.1.0",
+ "tapable": "^2.1.1",
+ "terser-webpack-plugin": "^5.1.3",
+ "watchpack": "^2.3.1",
+ "webpack-sources": "^3.2.3"
+ },
+ "bin": {
+ "webpack": "bin/webpack.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependenciesMeta": {
+ "webpack-cli": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/webpack-dev-middleware": {
+ "version": "5.3.3",
+ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz",
+ "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==",
+ "dependencies": {
+ "colorette": "^2.0.10",
+ "memfs": "^3.4.3",
+ "mime-types": "^2.1.31",
+ "range-parser": "^1.2.1",
+ "schema-utils": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^4.0.0 || ^5.0.0"
+ }
+ },
+ "node_modules/webpack-dev-middleware/node_modules/ajv": {
+ "version": "8.11.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
+ "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+ "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.3"
+ },
+ "peerDependencies": {
+ "ajv": "^8.8.2"
+ }
+ },
+ "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
+ },
+ "node_modules/webpack-dev-middleware/node_modules/schema-utils": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
+ "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
+ "dependencies": {
+ "@types/json-schema": "^7.0.9",
+ "ajv": "^8.8.0",
+ "ajv-formats": "^2.1.1",
+ "ajv-keywords": "^5.0.0"
+ },
+ "engines": {
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "node_modules/webpack-dev-server": {
+ "version": "4.9.3",
+ "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz",
+ "integrity": "sha512-3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw==",
+ "dependencies": {
+ "@types/bonjour": "^3.5.9",
+ "@types/connect-history-api-fallback": "^1.3.5",
+ "@types/express": "^4.17.13",
+ "@types/serve-index": "^1.9.1",
+ "@types/serve-static": "^1.13.10",
+ "@types/sockjs": "^0.3.33",
+ "@types/ws": "^8.5.1",
+ "ansi-html-community": "^0.0.8",
+ "bonjour-service": "^1.0.11",
+ "chokidar": "^3.5.3",
+ "colorette": "^2.0.10",
+ "compression": "^1.7.4",
+ "connect-history-api-fallback": "^2.0.0",
+ "default-gateway": "^6.0.3",
+ "express": "^4.17.3",
+ "graceful-fs": "^4.2.6",
+ "html-entities": "^2.3.2",
+ "http-proxy-middleware": "^2.0.3",
+ "ipaddr.js": "^2.0.1",
+ "open": "^8.0.9",
+ "p-retry": "^4.5.0",
+ "rimraf": "^3.0.2",
+ "schema-utils": "^4.0.0",
+ "selfsigned": "^2.0.1",
+ "serve-index": "^1.9.1",
+ "sockjs": "^0.3.24",
+ "spdy": "^4.0.2",
+ "webpack-dev-middleware": "^5.3.1",
+ "ws": "^8.4.2"
+ },
+ "bin": {
+ "webpack-dev-server": "bin/webpack-dev-server.js"
+ },
+ "engines": {
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^4.37.0 || ^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "webpack-cli": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/ajv": {
+ "version": "8.11.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
+ "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/ajv-keywords": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+ "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.3"
+ },
+ "peerDependencies": {
+ "ajv": "^8.8.2"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
+ },
+ "node_modules/webpack-dev-server/node_modules/schema-utils": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
+ "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
+ "dependencies": {
+ "@types/json-schema": "^7.0.9",
+ "ajv": "^8.8.0",
+ "ajv-formats": "^2.1.1",
+ "ajv-keywords": "^5.0.0"
+ },
+ "engines": {
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/ws": {
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz",
+ "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==",
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/webpack-manifest-plugin": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz",
+ "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==",
+ "dependencies": {
+ "tapable": "^2.0.0",
+ "webpack-sources": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=12.22.0"
+ },
+ "peerDependencies": {
+ "webpack": "^4.44.2 || ^5.47.0"
+ }
+ },
+ "node_modules/webpack-manifest-plugin/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/webpack-manifest-plugin/node_modules/webpack-sources": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz",
+ "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==",
+ "dependencies": {
+ "source-list-map": "^2.0.1",
+ "source-map": "^0.6.1"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/webpack-sources": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
+ "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/webpack/node_modules/@types/estree": {
+ "version": "0.0.51",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
+ "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ=="
+ },
+ "node_modules/webpack/node_modules/eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/webpack/node_modules/estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/websocket-driver": {
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
+ "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==",
+ "dependencies": {
+ "http-parser-js": ">=0.5.1",
+ "safe-buffer": ">=5.1.0",
+ "websocket-extensions": ">=0.1.1"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/websocket-extensions": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz",
+ "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/whatwg-encoding": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
+ "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
+ "dependencies": {
+ "iconv-lite": "0.4.24"
+ }
+ },
+ "node_modules/whatwg-encoding/node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/whatwg-fetch": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz",
+ "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA=="
+ },
+ "node_modules/whatwg-mimetype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
+ "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g=="
+ },
+ "node_modules/whatwg-url": {
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
+ "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
+ "dependencies": {
+ "lodash": "^4.7.0",
+ "tr46": "^2.1.0",
+ "webidl-conversions": "^6.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/which-boxed-primitive": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
+ "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
+ "dependencies": {
+ "is-bigint": "^1.0.1",
+ "is-boolean-object": "^1.1.0",
+ "is-number-object": "^1.0.4",
+ "is-string": "^1.0.5",
+ "is-symbol": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/workbox-background-sync": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.5.3.tgz",
+ "integrity": "sha512-0DD/V05FAcek6tWv9XYj2w5T/plxhDSpclIcAGjA/b7t/6PdaRkQ7ZgtAX6Q/L7kV7wZ8uYRJUoH11VjNipMZw==",
+ "dependencies": {
+ "idb": "^6.1.4",
+ "workbox-core": "6.5.3"
+ }
+ },
+ "node_modules/workbox-broadcast-update": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.5.3.tgz",
+ "integrity": "sha512-4AwCIA5DiDrYhlN+Miv/fp5T3/whNmSL+KqhTwRBTZIL6pvTgE4lVuRzAt1JltmqyMcQ3SEfCdfxczuI4kwFQg==",
+ "dependencies": {
+ "workbox-core": "6.5.3"
+ }
+ },
+ "node_modules/workbox-build": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.5.3.tgz",
+ "integrity": "sha512-8JNHHS7u13nhwIYCDea9MNXBNPHXCs5KDZPKI/ZNTr3f4sMGoD7hgFGecbyjX1gw4z6e9bMpMsOEJNyH5htA/w==",
+ "dependencies": {
+ "@apideck/better-ajv-errors": "^0.3.1",
+ "@babel/core": "^7.11.1",
+ "@babel/preset-env": "^7.11.0",
+ "@babel/runtime": "^7.11.2",
+ "@rollup/plugin-babel": "^5.2.0",
+ "@rollup/plugin-node-resolve": "^11.2.1",
+ "@rollup/plugin-replace": "^2.4.1",
+ "@surma/rollup-plugin-off-main-thread": "^2.2.3",
+ "ajv": "^8.6.0",
+ "common-tags": "^1.8.0",
+ "fast-json-stable-stringify": "^2.1.0",
+ "fs-extra": "^9.0.1",
+ "glob": "^7.1.6",
+ "lodash": "^4.17.20",
+ "pretty-bytes": "^5.3.0",
+ "rollup": "^2.43.1",
+ "rollup-plugin-terser": "^7.0.0",
+ "source-map": "^0.8.0-beta.0",
+ "stringify-object": "^3.3.0",
+ "strip-comments": "^2.0.1",
+ "tempy": "^0.6.0",
+ "upath": "^1.2.0",
+ "workbox-background-sync": "6.5.3",
+ "workbox-broadcast-update": "6.5.3",
+ "workbox-cacheable-response": "6.5.3",
+ "workbox-core": "6.5.3",
+ "workbox-expiration": "6.5.3",
+ "workbox-google-analytics": "6.5.3",
+ "workbox-navigation-preload": "6.5.3",
+ "workbox-precaching": "6.5.3",
+ "workbox-range-requests": "6.5.3",
+ "workbox-recipes": "6.5.3",
+ "workbox-routing": "6.5.3",
+ "workbox-strategies": "6.5.3",
+ "workbox-streams": "6.5.3",
+ "workbox-sw": "6.5.3",
+ "workbox-window": "6.5.3"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz",
+ "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==",
+ "dependencies": {
+ "json-schema": "^0.4.0",
+ "jsonpointer": "^5.0.0",
+ "leven": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "ajv": ">=8"
+ }
+ },
+ "node_modules/workbox-build/node_modules/ajv": {
+ "version": "8.11.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
+ "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/workbox-build/node_modules/fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "dependencies": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/workbox-build/node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
+ },
+ "node_modules/workbox-build/node_modules/source-map": {
+ "version": "0.8.0-beta.0",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz",
+ "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==",
+ "dependencies": {
+ "whatwg-url": "^7.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/workbox-build/node_modules/tr46": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
+ "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==",
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/workbox-build/node_modules/webidl-conversions": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
+ "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg=="
+ },
+ "node_modules/workbox-build/node_modules/whatwg-url": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
+ "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
+ "dependencies": {
+ "lodash.sortby": "^4.7.0",
+ "tr46": "^1.0.1",
+ "webidl-conversions": "^4.0.2"
+ }
+ },
+ "node_modules/workbox-cacheable-response": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.5.3.tgz",
+ "integrity": "sha512-6JE/Zm05hNasHzzAGKDkqqgYtZZL2H06ic2GxuRLStA4S/rHUfm2mnLFFXuHAaGR1XuuYyVCEey1M6H3PdZ7SQ==",
+ "dependencies": {
+ "workbox-core": "6.5.3"
+ }
+ },
+ "node_modules/workbox-core": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.5.3.tgz",
+ "integrity": "sha512-Bb9ey5n/M9x+l3fBTlLpHt9ASTzgSGj6vxni7pY72ilB/Pb3XtN+cZ9yueboVhD5+9cNQrC9n/E1fSrqWsUz7Q=="
+ },
+ "node_modules/workbox-expiration": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.5.3.tgz",
+ "integrity": "sha512-jzYopYR1zD04ZMdlbn/R2Ik6ixiXbi15c9iX5H8CTi6RPDz7uhvMLZPKEndZTpfgmUk8mdmT9Vx/AhbuCl5Sqw==",
+ "dependencies": {
+ "idb": "^6.1.4",
+ "workbox-core": "6.5.3"
+ }
+ },
+ "node_modules/workbox-google-analytics": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.5.3.tgz",
+ "integrity": "sha512-3GLCHotz5umoRSb4aNQeTbILETcrTVEozSfLhHSBaegHs1PnqCmN0zbIy2TjTpph2AGXiNwDrWGF0AN+UgDNTw==",
+ "dependencies": {
+ "workbox-background-sync": "6.5.3",
+ "workbox-core": "6.5.3",
+ "workbox-routing": "6.5.3",
+ "workbox-strategies": "6.5.3"
+ }
+ },
+ "node_modules/workbox-navigation-preload": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.5.3.tgz",
+ "integrity": "sha512-bK1gDFTc5iu6lH3UQ07QVo+0ovErhRNGvJJO/1ngknT0UQ702nmOUhoN9qE5mhuQSrnK+cqu7O7xeaJ+Rd9Tmg==",
+ "dependencies": {
+ "workbox-core": "6.5.3"
+ }
+ },
+ "node_modules/workbox-precaching": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.5.3.tgz",
+ "integrity": "sha512-sjNfgNLSsRX5zcc63H/ar/hCf+T19fRtTqvWh795gdpghWb5xsfEkecXEvZ8biEi1QD7X/ljtHphdaPvXDygMQ==",
+ "dependencies": {
+ "workbox-core": "6.5.3",
+ "workbox-routing": "6.5.3",
+ "workbox-strategies": "6.5.3"
+ }
+ },
+ "node_modules/workbox-range-requests": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.5.3.tgz",
+ "integrity": "sha512-pGCP80Bpn/0Q0MQsfETSfmtXsQcu3M2QCJwSFuJ6cDp8s2XmbUXkzbuQhCUzKR86ZH2Vex/VUjb2UaZBGamijA==",
+ "dependencies": {
+ "workbox-core": "6.5.3"
+ }
+ },
+ "node_modules/workbox-recipes": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.5.3.tgz",
+ "integrity": "sha512-IcgiKYmbGiDvvf3PMSEtmwqxwfQ5zwI7OZPio3GWu4PfehA8jI8JHI3KZj+PCfRiUPZhjQHJ3v1HbNs+SiSkig==",
+ "dependencies": {
+ "workbox-cacheable-response": "6.5.3",
+ "workbox-core": "6.5.3",
+ "workbox-expiration": "6.5.3",
+ "workbox-precaching": "6.5.3",
+ "workbox-routing": "6.5.3",
+ "workbox-strategies": "6.5.3"
+ }
+ },
+ "node_modules/workbox-routing": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.5.3.tgz",
+ "integrity": "sha512-DFjxcuRAJjjt4T34RbMm3MCn+xnd36UT/2RfPRfa8VWJGItGJIn7tG+GwVTdHmvE54i/QmVTJepyAGWtoLPTmg==",
+ "dependencies": {
+ "workbox-core": "6.5.3"
+ }
+ },
+ "node_modules/workbox-strategies": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.5.3.tgz",
+ "integrity": "sha512-MgmGRrDVXs7rtSCcetZgkSZyMpRGw8HqL2aguszOc3nUmzGZsT238z/NN9ZouCxSzDu3PQ3ZSKmovAacaIhu1w==",
+ "dependencies": {
+ "workbox-core": "6.5.3"
+ }
+ },
+ "node_modules/workbox-streams": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.5.3.tgz",
+ "integrity": "sha512-vN4Qi8o+b7zj1FDVNZ+PlmAcy1sBoV7SC956uhqYvZ9Sg1fViSbOpydULOssVJ4tOyKRifH/eoi6h99d+sJ33w==",
+ "dependencies": {
+ "workbox-core": "6.5.3",
+ "workbox-routing": "6.5.3"
+ }
+ },
+ "node_modules/workbox-sw": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.5.3.tgz",
+ "integrity": "sha512-BQBzm092w+NqdIEF2yhl32dERt9j9MDGUTa2Eaa+o3YKL4Qqw55W9yQC6f44FdAHdAJrJvp0t+HVrfh8AiGj8A=="
+ },
+ "node_modules/workbox-webpack-plugin": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.3.tgz",
+ "integrity": "sha512-Es8Xr02Gi6Kc3zaUwR691ZLy61hz3vhhs5GztcklQ7kl5k2qAusPh0s6LF3wEtlpfs9ZDErnmy5SErwoll7jBA==",
+ "dependencies": {
+ "fast-json-stable-stringify": "^2.1.0",
+ "pretty-bytes": "^5.4.1",
+ "upath": "^1.2.0",
+ "webpack-sources": "^1.4.3",
+ "workbox-build": "6.5.3"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "webpack": "^4.4.0 || ^5.9.0"
+ }
+ },
+ "node_modules/workbox-webpack-plugin/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/workbox-webpack-plugin/node_modules/webpack-sources": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
+ "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
+ "dependencies": {
+ "source-list-map": "^2.0.0",
+ "source-map": "~0.6.1"
+ }
+ },
+ "node_modules/workbox-window": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.5.3.tgz",
+ "integrity": "sha512-GnJbx1kcKXDtoJBVZs/P7ddP0Yt52NNy4nocjBpYPiRhMqTpJCNrSL+fGHZ/i/oP6p/vhE8II0sA6AZGKGnssw==",
+ "dependencies": {
+ "@types/trusted-types": "^2.0.2",
+ "workbox-core": "6.5.3"
+ }
+ },
+ "node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ },
+ "node_modules/write-file-atomic": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
+ "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
+ "dependencies": {
+ "imurmurhash": "^0.1.4",
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
+ }
+ },
+ "node_modules/ws": {
+ "version": "7.5.9",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
+ "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
+ "engines": {
+ "node": ">=8.3.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/xml-name-validator": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
+ "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw=="
+ },
+ "node_modules/xmlchars": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
+ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="
+ },
+ "node_modules/xmlhttprequest-ssl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
+ "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/xtend": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
+ "engines": {
+ "node": ">=0.4"
+ }
+ },
+ "node_modules/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ },
+ "node_modules/yaml": {
+ "version": "1.10.2",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
+ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/yargs": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+ "dependencies": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.0",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^20.2.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "20.2.9",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
+ "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/zustand": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.1.2.tgz",
+ "integrity": "sha512-gcRaKchcxFPbImrBb/BKgujOhHhik9YhVpIeP87ETT7uokEe2Szu7KkuZ9ghjtD+/KKkcrRNktR2AiLXPIbKIQ==",
+ "dependencies": {
+ "use-sync-external-store": "1.2.0"
+ },
+ "engines": {
+ "node": ">=12.7.0"
+ },
+ "peerDependencies": {
+ "immer": ">=9.0",
+ "react": ">=16.8"
+ },
+ "peerDependenciesMeta": {
+ "immer": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ }
+ }
+ }
+ },
"dependencies": {
"@ampproject/remapping": {
"version": "2.2.0",
@@ -1159,98 +20719,981 @@
}
}
},
- "@babel/preset-modules": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz",
- "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==",
+ "@babel/preset-modules": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz",
+ "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
+ "@babel/plugin-transform-dotall-regex": "^7.4.4",
+ "@babel/types": "^7.4.4",
+ "esutils": "^2.0.2"
+ }
+ },
+ "@babel/preset-react": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz",
+ "integrity": "sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/helper-validator-option": "^7.18.6",
+ "@babel/plugin-transform-react-display-name": "^7.18.6",
+ "@babel/plugin-transform-react-jsx": "^7.18.6",
+ "@babel/plugin-transform-react-jsx-development": "^7.18.6",
+ "@babel/plugin-transform-react-pure-annotations": "^7.18.6"
+ }
+ },
+ "@babel/preset-typescript": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz",
+ "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/helper-validator-option": "^7.18.6",
+ "@babel/plugin-transform-typescript": "^7.18.6"
+ }
+ },
+ "@babel/runtime": {
+ "version": "7.19.0",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz",
+ "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==",
+ "requires": {
+ "regenerator-runtime": "^0.13.4"
+ }
+ },
+ "@babel/runtime-corejs3": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.18.6.tgz",
+ "integrity": "sha512-cOu5wH2JFBgMjje+a+fz2JNIWU4GzYpl05oSob3UDvBEh6EuIn+TXFHMmBbhSb+k/4HMzgKCQfEEDArAWNF9Cw==",
+ "requires": {
+ "core-js-pure": "^3.20.2",
+ "regenerator-runtime": "^0.13.4"
+ }
+ },
+ "@babel/template": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz",
+ "integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==",
+ "requires": {
+ "@babel/code-frame": "^7.18.6",
+ "@babel/parser": "^7.18.6",
+ "@babel/types": "^7.18.6"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.18.8",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.8.tgz",
+ "integrity": "sha512-UNg/AcSySJYR/+mIcJQDCv00T+AqRO7j/ZEJLzpaYtgM48rMg5MnkJgyNqkzo88+p4tfRvZJCEiwwfG6h4jkRg==",
+ "requires": {
+ "@babel/code-frame": "^7.18.6",
+ "@babel/generator": "^7.18.7",
+ "@babel/helper-environment-visitor": "^7.18.6",
+ "@babel/helper-function-name": "^7.18.6",
+ "@babel/helper-hoist-variables": "^7.18.6",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "@babel/parser": "^7.18.8",
+ "@babel/types": "^7.18.8",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0"
+ }
+ },
+ "@babel/types": {
+ "version": "7.18.8",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.8.tgz",
+ "integrity": "sha512-qwpdsmraq0aJ3osLJRApsc2ouSJCdnMeZwB0DhbtHAtRpZNZCdlbRnHIgcRKzdE1g0iOGg644fzjOBcdOz9cPw==",
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.18.6",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "@bcoe/v8-coverage": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
+ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw=="
+ },
+ "@chakra-ui/accordion": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/accordion/-/accordion-2.1.1.tgz",
+ "integrity": "sha512-5f4QBl/0EgU/9EVvzlj8ZU7SWwG6nUHCE9moGBCbgiIOVBEySxZ5Robsk6+T7sXmzQ41db04GcUE9NRKdalgIA==",
+ "requires": {
+ "@chakra-ui/descendant": "3.0.10",
+ "@chakra-ui/icon": "3.0.11",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-use-controllable-state": "2.0.5",
+ "@chakra-ui/react-use-merge-refs": "2.0.4",
+ "@chakra-ui/transition": "2.0.10"
+ }
+ },
+ "@chakra-ui/alert": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/alert/-/alert-2.0.11.tgz",
+ "integrity": "sha512-n40KHU3j1H6EbIdgptjEad92V7Fpv7YD++ZBjy2g1h4w9ay9nw4kGHib3gaIkBupLf52CfLqySEc8w0taoIlXQ==",
+ "requires": {
+ "@chakra-ui/icon": "3.0.11",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/spinner": "2.0.10"
+ }
+ },
+ "@chakra-ui/anatomy": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/anatomy/-/anatomy-2.0.7.tgz",
+ "integrity": "sha512-vzcB2gcsGCxhrKbldQQV6LnBPys4eSSsH2UA2mLsT+J3WlXw0aodZw0eE/nH7yLxe4zaQ4Gnc0KjkFW4EWNKSg=="
+ },
+ "@chakra-ui/avatar": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/avatar/-/avatar-2.1.1.tgz",
+ "integrity": "sha512-lTZPUq4Pefxgv3ndyJMxIHgFrXwdz2VZFCLF/aKcuGaUlB7TBYaCurQ7TNbME8j8VkJWNX+vKiVHPYvxsrITwQ==",
+ "requires": {
+ "@chakra-ui/image": "2.0.11",
+ "@chakra-ui/react-children-utils": "2.0.2",
+ "@chakra-ui/react-context": "2.0.4"
+ }
+ },
+ "@chakra-ui/breadcrumb": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/breadcrumb/-/breadcrumb-2.0.10.tgz",
+ "integrity": "sha512-roKFA7nheq18eWNAdrHV6w8A9vZMSQTEEsbL6eU0lhUkolW9RlDjBl1bZvE7icFkNFXlJ33n8+0QAezLI+mMrQ==",
+ "requires": {
+ "@chakra-ui/react-children-utils": "2.0.2",
+ "@chakra-ui/react-context": "2.0.4"
+ }
+ },
+ "@chakra-ui/breakpoint-utils": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/breakpoint-utils/-/breakpoint-utils-2.0.4.tgz",
+ "integrity": "sha512-SUUEYnA/FCIKYDHMuEXcnBMwet+6RAAjQ+CqGD1hlwKPTfh7EK9fS8FoVAJa9KpRKAc/AawzPkgwvorzPj8NSg=="
+ },
+ "@chakra-ui/button": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/button/-/button-2.0.11.tgz",
+ "integrity": "sha512-J6iMRITqxTxa0JexHUY9c7BXUrTZtSkl3jZ2hxiFybB4MQL8J2wZ24O846B6M+WTYqy7XVuHRuVURnH4czWesw==",
+ "requires": {
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-use-merge-refs": "2.0.4",
+ "@chakra-ui/spinner": "2.0.10"
+ }
+ },
+ "@chakra-ui/checkbox": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/checkbox/-/checkbox-2.2.1.tgz",
+ "integrity": "sha512-soTeXEI+4UZSA4B4rRLpdh3cIW/gdhY6k0eXF4ZWExPb+dJ5Giv497S96vS4IGE7SJ7Ugw9kaWS+do2lSiPJew==",
+ "requires": {
+ "@chakra-ui/form-control": "2.0.11",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-types": "2.0.3",
+ "@chakra-ui/react-use-callback-ref": "2.0.4",
+ "@chakra-ui/react-use-controllable-state": "2.0.5",
+ "@chakra-ui/react-use-merge-refs": "2.0.4",
+ "@chakra-ui/react-use-safe-layout-effect": "2.0.2",
+ "@chakra-ui/react-use-update-effect": "2.0.4",
+ "@chakra-ui/visually-hidden": "2.0.11",
+ "@zag-js/focus-visible": "0.1.0"
+ }
+ },
+ "@chakra-ui/clickable": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/clickable/-/clickable-2.0.10.tgz",
+ "integrity": "sha512-G6JdR6yAMlXpfjOJ70W2FL7aUwNuomiMFtkneeTpk7Q42bJ5iGHfYlbZEx5nJd8iB+UluXVM4xlhMv2MyytjGw==",
+ "requires": {
+ "@chakra-ui/react-use-merge-refs": "2.0.4"
+ }
+ },
+ "@chakra-ui/close-button": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/close-button/-/close-button-2.0.11.tgz",
+ "integrity": "sha512-9WF/nwwK9BldS89WQ5PtXK2nFS4r8QOgKls2BOwXfE+rGmOUZtOsu8ne/drXRjgkiBRETR6CxdyUjm7EPzXllw==",
+ "requires": {
+ "@chakra-ui/icon": "3.0.11"
+ }
+ },
+ "@chakra-ui/color-mode": {
+ "version": "2.1.9",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/color-mode/-/color-mode-2.1.9.tgz",
+ "integrity": "sha512-0kx0I+AQon8oS23/X+qMtnhsv/1BUulyJvU56p3Uh8CRaBfgJ7Ly9CerShoUL+5kadu6hN1M9oty4cugaCwv2w==",
+ "requires": {
+ "@chakra-ui/react-use-safe-layout-effect": "2.0.2"
+ }
+ },
+ "@chakra-ui/control-box": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/control-box/-/control-box-2.0.10.tgz",
+ "integrity": "sha512-sHmZanFLEv4IDATl19ZTxq8Bi8PtjfvnsN6xF4k7JGSYUnk1YXUf1coyW7WKdcsczOASrMikfsLc3iEVAzx4Ng==",
+ "requires": {}
+ },
+ "@chakra-ui/counter": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/counter/-/counter-2.0.10.tgz",
+ "integrity": "sha512-MZK8UKUZp4nFMd+GlV/cq0NIARS7UdlubTuCx+wockw9j2JI5OHzsyK0XiWuJiq5psegSTzpbtT99QfAUm3Yiw==",
+ "requires": {
+ "@chakra-ui/number-utils": "2.0.4",
+ "@chakra-ui/react-use-callback-ref": "2.0.4"
+ }
+ },
+ "@chakra-ui/css-reset": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/css-reset/-/css-reset-2.0.8.tgz",
+ "integrity": "sha512-VuDD1rk1pFc+dItk4yUcstyoC9D2B35hatHDBtlPMqTczFAzpbgVJJYgEHANatXGfulM5SdckmYEIJ3Tac1Rtg==",
+ "requires": {}
+ },
+ "@chakra-ui/descendant": {
+ "version": "3.0.10",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.10.tgz",
+ "integrity": "sha512-MHH0Qdm0fGllGP2xgx4WOycmrpctyyEdGw6zxcfs2VqZNlrwmjG3Yb9eVY+Q7UmEv5rwAq6qRn7BhQxgSPn3Cg==",
+ "requires": {
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-use-merge-refs": "2.0.4"
+ }
+ },
+ "@chakra-ui/dom-utils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/dom-utils/-/dom-utils-2.0.3.tgz",
+ "integrity": "sha512-aeGlRmTxcv0cvW44DyeZHru1i68ZDQsXpfX2dnG1I1yBlT6GlVx1xYjCULis9mjhgvd2O3NfcYPRTkjNWTDUbA=="
+ },
+ "@chakra-ui/editable": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/editable/-/editable-2.0.12.tgz",
+ "integrity": "sha512-37bDqm+j2JTN2XR443KRK9MmHHIQuS6fN+2TRuFgjfG8TomxxCJnhJ3GIfQSKh5Yjtnt4sXDmL4L0tyDpNrrrw==",
+ "requires": {
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-types": "2.0.3",
+ "@chakra-ui/react-use-callback-ref": "2.0.4",
+ "@chakra-ui/react-use-controllable-state": "2.0.5",
+ "@chakra-ui/react-use-focus-on-pointer-down": "2.0.3",
+ "@chakra-ui/react-use-merge-refs": "2.0.4",
+ "@chakra-ui/react-use-safe-layout-effect": "2.0.2",
+ "@chakra-ui/react-use-update-effect": "2.0.4",
+ "@chakra-ui/shared-utils": "2.0.2"
+ }
+ },
+ "@chakra-ui/event-utils": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/event-utils/-/event-utils-2.0.5.tgz",
+ "integrity": "sha512-VXoOAIsM0PFKDlhm+EZxkWlUXd5UFTb/LTux3y3A+S9G5fDxLRvpiLWByPUgTFTCDFcgTCF+YnQtdWJB4DLyxg=="
+ },
+ "@chakra-ui/focus-lock": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/focus-lock/-/focus-lock-2.0.12.tgz",
+ "integrity": "sha512-NvIP59A11ZNbxXZ3qwxSiQ5npjABkpSbTIjK0uZ9bZm5LMfepRnuuA19VsVlq31/BYV9nHFAy6xzIuG+Qf9xMA==",
+ "requires": {
+ "@chakra-ui/dom-utils": "2.0.3",
+ "react-focus-lock": "^2.9.1"
+ }
+ },
+ "@chakra-ui/form-control": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/form-control/-/form-control-2.0.11.tgz",
+ "integrity": "sha512-MVhIe0xY4Zn06IXRXFmS9tCa93snppK1SdUQb1P99Ipo424RrL5ykzLnJ8CAkQrhoVP3sxF7z3eOSzk8/iRfow==",
+ "requires": {
+ "@chakra-ui/icon": "3.0.11",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-types": "2.0.3",
+ "@chakra-ui/react-use-merge-refs": "2.0.4"
+ }
+ },
+ "@chakra-ui/hooks": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/hooks/-/hooks-2.0.11.tgz",
+ "integrity": "sha512-mYN4u9lbjDjEr/VucrVcLGg/sIO6gA9ZprcT3n9CBGSWt3xih7fCOJmE+yRcCNbL7335AMrv7a/M5Q30aRArcA==",
+ "requires": {
+ "@chakra-ui/react-utils": "2.0.8",
+ "@chakra-ui/utils": "2.0.11",
+ "compute-scroll-into-view": "1.0.14",
+ "copy-to-clipboard": "3.3.1"
+ }
+ },
+ "@chakra-ui/icon": {
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/icon/-/icon-3.0.11.tgz",
+ "integrity": "sha512-RG4jf/XmBdaxOYI5J5QstEtTCPoVlmrQ/XiWhvN0LTgAnmZIqVwFl3Uw+satArdStHAs0GmJZg/E/soFTWuFmw==",
+ "requires": {
+ "@chakra-ui/shared-utils": "2.0.2"
+ }
+ },
+ "@chakra-ui/image": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/image/-/image-2.0.11.tgz",
+ "integrity": "sha512-S6NqAprPcbHnck/J+2wg06r9SSol62v5A01O8Kke2PnAyjalMcS+6P59lDRO7wvPqsdxq4PPbSTZP6Dww2CvcA==",
+ "requires": {
+ "@chakra-ui/react-use-safe-layout-effect": "2.0.2"
+ }
+ },
+ "@chakra-ui/input": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/input/-/input-2.0.11.tgz",
+ "integrity": "sha512-kaV0VCz6/yzoCKQnh/tMUVgh+Rp6EnM+WzJ37SVX1gDvErON2bmmVLU45BiRoWUcd50wOhDlpsNVUWP0sLlCDA==",
+ "requires": {
+ "@chakra-ui/form-control": "2.0.11",
+ "@chakra-ui/object-utils": "2.0.4",
+ "@chakra-ui/react-children-utils": "2.0.2",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/shared-utils": "2.0.2"
+ }
+ },
+ "@chakra-ui/layout": {
+ "version": "2.1.8",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/layout/-/layout-2.1.8.tgz",
+ "integrity": "sha512-pcNUNgMh+e4wepNOlCg5iDrxGg4VFBpqZPmSHoP4TyPN2ddEnDRLoMLaREMoX7gEVyTsqEFOFg+wa3JZK32H4A==",
+ "requires": {
+ "@chakra-ui/breakpoint-utils": "2.0.4",
+ "@chakra-ui/icon": "3.0.11",
+ "@chakra-ui/object-utils": "2.0.4",
+ "@chakra-ui/react-children-utils": "2.0.2",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/shared-utils": "2.0.2"
+ }
+ },
+ "@chakra-ui/lazy-utils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/lazy-utils/-/lazy-utils-2.0.2.tgz",
+ "integrity": "sha512-MTxutBJZvqNNqrrS0722cI7qrnGu0yUQpIebmTxYwI+F3cOnPEKf5Ni+hrA8hKcw4XJhSY4npAPPYu1zJbOV4w=="
+ },
+ "@chakra-ui/live-region": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/live-region/-/live-region-2.0.10.tgz",
+ "integrity": "sha512-eQ2ZIreR/plzi/KGszDYTi1TvIyGEBcPiWP52BQOS7xwpzb1vsoR1FgFAIELxAGJvKnMUs+9qVogfyRBX8PdOg==",
+ "requires": {}
+ },
+ "@chakra-ui/media-query": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/media-query/-/media-query-3.2.7.tgz",
+ "integrity": "sha512-hbgm6JCe0kYU3PAhxASYYDopFQI26cW9kZnbp+5tRL1fykkVWNMPwoGC8FEZPur9JjXp7aoL6H4Jk7nrxY/XWw==",
+ "requires": {
+ "@chakra-ui/breakpoint-utils": "2.0.4",
+ "@chakra-ui/react-env": "2.0.10"
+ }
+ },
+ "@chakra-ui/menu": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/menu/-/menu-2.1.1.tgz",
+ "integrity": "sha512-9fpCyV3vufLV5Rvv/oYC3LyCIkNqh0bEdYFVOLiqCZ6mt6NLFxL2jgE25nROYfDXQuBkY0qPC9IopYU198G4nw==",
+ "requires": {
+ "@chakra-ui/clickable": "2.0.10",
+ "@chakra-ui/descendant": "3.0.10",
+ "@chakra-ui/lazy-utils": "2.0.2",
+ "@chakra-ui/popper": "3.0.8",
+ "@chakra-ui/react-children-utils": "2.0.2",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-use-animation-state": "2.0.5",
+ "@chakra-ui/react-use-controllable-state": "2.0.5",
+ "@chakra-ui/react-use-disclosure": "2.0.5",
+ "@chakra-ui/react-use-focus-effect": "2.0.5",
+ "@chakra-ui/react-use-merge-refs": "2.0.4",
+ "@chakra-ui/react-use-outside-click": "2.0.4",
+ "@chakra-ui/react-use-update-effect": "2.0.4",
+ "@chakra-ui/transition": "2.0.10"
+ }
+ },
+ "@chakra-ui/modal": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/modal/-/modal-2.2.1.tgz",
+ "integrity": "sha512-+zfiUG/yZqUQ0wY7syoZg01cpBf54lbKUe7+ANEx558UQGbsI4bbcHSkY9l5lsprQ8teInvhjb6BekeCA0e7TA==",
+ "requires": {
+ "@chakra-ui/close-button": "2.0.11",
+ "@chakra-ui/focus-lock": "2.0.12",
+ "@chakra-ui/portal": "2.0.10",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-types": "2.0.3",
+ "@chakra-ui/react-use-merge-refs": "2.0.4",
+ "@chakra-ui/transition": "2.0.10",
+ "aria-hidden": "^1.1.1",
+ "react-remove-scroll": "^2.5.4"
+ }
+ },
+ "@chakra-ui/number-input": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/number-input/-/number-input-2.0.12.tgz",
+ "integrity": "sha512-3owLjl01sCYpTd3xbq//fJo9QJ0Q3PVYSx9JeOzlXnnTW8ws+yHPrqQzPe7G+tO4yOYynWuUT+NJ9oyCeAJIxA==",
+ "requires": {
+ "@chakra-ui/counter": "2.0.10",
+ "@chakra-ui/form-control": "2.0.11",
+ "@chakra-ui/icon": "3.0.11",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-types": "2.0.3",
+ "@chakra-ui/react-use-callback-ref": "2.0.4",
+ "@chakra-ui/react-use-event-listener": "2.0.4",
+ "@chakra-ui/react-use-interval": "2.0.2",
+ "@chakra-ui/react-use-merge-refs": "2.0.4",
+ "@chakra-ui/react-use-safe-layout-effect": "2.0.2",
+ "@chakra-ui/react-use-update-effect": "2.0.4"
+ }
+ },
+ "@chakra-ui/number-utils": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/number-utils/-/number-utils-2.0.4.tgz",
+ "integrity": "sha512-MdYd29GboBoKaXY9jhbY0Wl+0NxG1t/fa32ZSIbU6VrfMsZuAMl4NEJsz7Xvhy50fummLdKn5J6HFS7o5iyIgw=="
+ },
+ "@chakra-ui/object-utils": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/object-utils/-/object-utils-2.0.4.tgz",
+ "integrity": "sha512-sY98L4v2wcjpwRX8GCXqT+WzpL0i5FHVxT1Okxw0360T2tGnZt7toAwpMfIOR3dzkemP9LfXMCyBmWR5Hi2zpQ=="
+ },
+ "@chakra-ui/pin-input": {
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/pin-input/-/pin-input-2.0.14.tgz",
+ "integrity": "sha512-gFNlTUjU1xIuOErR/d/HrNNh1mS0erjNJSt5C6RU/My4lShzgCczmwnil7TuEx3k7lPqHKLEf/CGeCxBSUjaGA==",
+ "requires": {
+ "@chakra-ui/descendant": "3.0.10",
+ "@chakra-ui/react-children-utils": "2.0.2",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-use-controllable-state": "2.0.5",
+ "@chakra-ui/react-use-merge-refs": "2.0.4"
+ }
+ },
+ "@chakra-ui/popover": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/popover/-/popover-2.1.1.tgz",
+ "integrity": "sha512-j09NsesfT+eaYITkITYJXDlRcPoOeQUM80neJZKOBgul2iHkVsEoii8dwS5Ip5ONeu4ane1b6zEOlYvYj2SrkA==",
+ "requires": {
+ "@chakra-ui/close-button": "2.0.11",
+ "@chakra-ui/lazy-utils": "2.0.2",
+ "@chakra-ui/popper": "3.0.8",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-types": "2.0.3",
+ "@chakra-ui/react-use-animation-state": "2.0.5",
+ "@chakra-ui/react-use-disclosure": "2.0.5",
+ "@chakra-ui/react-use-focus-effect": "2.0.5",
+ "@chakra-ui/react-use-focus-on-pointer-down": "2.0.3",
+ "@chakra-ui/react-use-merge-refs": "2.0.4"
+ }
+ },
+ "@chakra-ui/popper": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/popper/-/popper-3.0.8.tgz",
+ "integrity": "sha512-246eUwuCRsLpTPxn5T8D8T9/6ODqmmz6pRRJAjGnLlUB0gNHgjisBn0UDBic5Gbxcg0sqKvxOMY3uurbW5lXTA==",
+ "requires": {
+ "@chakra-ui/react-types": "2.0.3",
+ "@chakra-ui/react-use-merge-refs": "2.0.4",
+ "@popperjs/core": "^2.9.3"
+ }
+ },
+ "@chakra-ui/portal": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/portal/-/portal-2.0.10.tgz",
+ "integrity": "sha512-VRYvVAggIuqIZ3IQ6XZ1b5ujjjOUgPk9PPdc9jssUngZa7RG+5NXNhgoM8a5TsXv6aPEolBOlDNWuxzRQ4RSSg==",
+ "requires": {
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-use-safe-layout-effect": "2.0.2"
+ }
+ },
+ "@chakra-ui/progress": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/progress/-/progress-2.0.11.tgz",
+ "integrity": "sha512-2OwxGxI6W757QpDB6b++B4b2+t0oBgaQdHnd4/y35n3+mOFj++Wg7XpW4/iDHn+x3LkM+X3NIgdBWQFlmGx+6w==",
+ "requires": {
+ "@chakra-ui/react-context": "2.0.4"
+ }
+ },
+ "@chakra-ui/provider": {
+ "version": "2.0.19",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/provider/-/provider-2.0.19.tgz",
+ "integrity": "sha512-V+p0OePre0OgYmNxLbfiPWWbzaJ/EM2sfaRtD7E6ZA4TjUl2m4pWdC6OPMOiklu7EALfSgVk9X6Jh5pc+moH1g==",
+ "requires": {
+ "@chakra-ui/css-reset": "2.0.8",
+ "@chakra-ui/portal": "2.0.10",
+ "@chakra-ui/react-env": "2.0.10",
+ "@chakra-ui/system": "2.2.12",
+ "@chakra-ui/utils": "2.0.11"
+ }
+ },
+ "@chakra-ui/radio": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/radio/-/radio-2.0.12.tgz",
+ "integrity": "sha512-871hqAGQaufxyUzPP3aautPBIRZQmpi3fw5XPZ6SbY62dV61M4sjcttd46HfCf5SrAonoOADFQLMGQafznjhaA==",
+ "requires": {
+ "@chakra-ui/form-control": "2.0.11",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-types": "2.0.3",
+ "@chakra-ui/react-use-merge-refs": "2.0.4",
+ "@zag-js/focus-visible": "0.1.0"
+ }
+ },
+ "@chakra-ui/react": {
+ "version": "2.3.5",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react/-/react-2.3.5.tgz",
+ "integrity": "sha512-bQDRV23M3IvF0+AorTvqJmG/4T6KKQIb+1XGA2RyxonoSHVt89HbN3qnygHJw06Sdgpclxdbr/1qZ4o8+SMbpA==",
+ "requires": {
+ "@chakra-ui/accordion": "2.1.1",
+ "@chakra-ui/alert": "2.0.11",
+ "@chakra-ui/avatar": "2.1.1",
+ "@chakra-ui/breadcrumb": "2.0.10",
+ "@chakra-ui/button": "2.0.11",
+ "@chakra-ui/checkbox": "2.2.1",
+ "@chakra-ui/close-button": "2.0.11",
+ "@chakra-ui/control-box": "2.0.10",
+ "@chakra-ui/counter": "2.0.10",
+ "@chakra-ui/css-reset": "2.0.8",
+ "@chakra-ui/editable": "2.0.12",
+ "@chakra-ui/form-control": "2.0.11",
+ "@chakra-ui/hooks": "2.0.11",
+ "@chakra-ui/icon": "3.0.11",
+ "@chakra-ui/image": "2.0.11",
+ "@chakra-ui/input": "2.0.11",
+ "@chakra-ui/layout": "2.1.8",
+ "@chakra-ui/live-region": "2.0.10",
+ "@chakra-ui/media-query": "3.2.7",
+ "@chakra-ui/menu": "2.1.1",
+ "@chakra-ui/modal": "2.2.1",
+ "@chakra-ui/number-input": "2.0.12",
+ "@chakra-ui/pin-input": "2.0.14",
+ "@chakra-ui/popover": "2.1.1",
+ "@chakra-ui/popper": "3.0.8",
+ "@chakra-ui/portal": "2.0.10",
+ "@chakra-ui/progress": "2.0.11",
+ "@chakra-ui/provider": "2.0.19",
+ "@chakra-ui/radio": "2.0.12",
+ "@chakra-ui/react-env": "2.0.10",
+ "@chakra-ui/select": "2.0.12",
+ "@chakra-ui/skeleton": "2.0.17",
+ "@chakra-ui/slider": "2.0.12",
+ "@chakra-ui/spinner": "2.0.10",
+ "@chakra-ui/stat": "2.0.11",
+ "@chakra-ui/styled-system": "2.3.4",
+ "@chakra-ui/switch": "2.0.13",
+ "@chakra-ui/system": "2.2.12",
+ "@chakra-ui/table": "2.0.11",
+ "@chakra-ui/tabs": "2.1.3",
+ "@chakra-ui/tag": "2.0.11",
+ "@chakra-ui/textarea": "2.0.12",
+ "@chakra-ui/theme": "2.1.13",
+ "@chakra-ui/toast": "3.0.13",
+ "@chakra-ui/tooltip": "2.2.0",
+ "@chakra-ui/transition": "2.0.10",
+ "@chakra-ui/utils": "2.0.11",
+ "@chakra-ui/visually-hidden": "2.0.11"
+ }
+ },
+ "@chakra-ui/react-children-utils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-children-utils/-/react-children-utils-2.0.2.tgz",
+ "integrity": "sha512-mRTGAZ3DBXB3hgVwS2DVJe3Nlc0qGvMN0PAo4tD/3fj2op2IwspLcYPAWC5D/rI2xj2JlwE6szAtbvxdAfLCNw=="
+ },
+ "@chakra-ui/react-context": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-context/-/react-context-2.0.4.tgz",
+ "integrity": "sha512-eBITFkf7fLSiMZrSdhweK4fYr41WUNMEeIEOP2dCWolE7WgKxNYaYleC+iRGY0GeXkFM2KYywUtixjJe29NuVA==",
+ "requires": {}
+ },
+ "@chakra-ui/react-env": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-env/-/react-env-2.0.10.tgz",
+ "integrity": "sha512-3Yab5EbFcCGYzEsoijy4eA3354Z/JoXyk9chYIuW7Uwd+K6g/R8C0mUSAHeTmfp6Fix9kzDgerO5MWNM87b8cA==",
+ "requires": {}
+ },
+ "@chakra-ui/react-types": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-types/-/react-types-2.0.3.tgz",
+ "integrity": "sha512-1mJYOQldFTALE0Wr3j6tk/MYvgQIp6CKkJulNzZrI8QN+ox/bJOh8OVP4vhwqvfigdLTui0g0k8M9h+j2ub/Mw==",
+ "requires": {}
+ },
+ "@chakra-ui/react-use-animation-state": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-animation-state/-/react-use-animation-state-2.0.5.tgz",
+ "integrity": "sha512-8gZIqZpMS5yTGlC+IqYoSrV13joiAYoeI0YR2t68WuDagcZ459OrjE57+gF04NLxfdV7eUgwqnpuv7IOLbJX/A==",
+ "requires": {
+ "@chakra-ui/dom-utils": "2.0.3",
+ "@chakra-ui/react-use-event-listener": "2.0.4"
+ }
+ },
+ "@chakra-ui/react-use-callback-ref": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-callback-ref/-/react-use-callback-ref-2.0.4.tgz",
+ "integrity": "sha512-he7EQfwMA4mwiDDKvX7cHIJaboCqf7UD3KYHGUcIjsF4dSc2Y8X5Ze4w+hmVZoJWIe4DWUzb3ili2SUm8eTgPg==",
+ "requires": {}
+ },
+ "@chakra-ui/react-use-controllable-state": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-controllable-state/-/react-use-controllable-state-2.0.5.tgz",
+ "integrity": "sha512-JrZZpMX24CUyfDuyqDczw9Z9IMvjH8ujETHK0Zu4M0SIsX/q4EqOwwngUFL03I2gx/O38HfSdeX8hMu4zbTAGA==",
+ "requires": {
+ "@chakra-ui/react-use-callback-ref": "2.0.4"
+ }
+ },
+ "@chakra-ui/react-use-disclosure": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-disclosure/-/react-use-disclosure-2.0.5.tgz",
+ "integrity": "sha512-kPLB9oxImASRhAbKfvfc03/lbAJbsXndEVRzd+nvvL+QZm2RRfnel3k6OIkWvGFOXXYOPE2+slLe8ZPwbTGg9g==",
+ "requires": {
+ "@chakra-ui/react-use-callback-ref": "2.0.4"
+ }
+ },
+ "@chakra-ui/react-use-event-listener": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-event-listener/-/react-use-event-listener-2.0.4.tgz",
+ "integrity": "sha512-VqmalfKWMO8D21XuZO19WUtcP5xhbHXKzkggApTChZUN02UC5TC4pe0pYbDygoeUuNBhY+9lJKHeS08vYsljRg==",
+ "requires": {
+ "@chakra-ui/react-use-callback-ref": "2.0.4"
+ }
+ },
+ "@chakra-ui/react-use-focus-effect": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-effect/-/react-use-focus-effect-2.0.5.tgz",
+ "integrity": "sha512-sbe1QnsXXfjukM+laxbKnT0UnMpHe/7kTzEPG/BYM6/ZDUUmrC1Nz+8l+3H/52iWIaruikDBdif/Xd37Yvu3Kg==",
+ "requires": {
+ "@chakra-ui/dom-utils": "2.0.3",
+ "@chakra-ui/react-use-event-listener": "2.0.4",
+ "@chakra-ui/react-use-update-effect": "2.0.4"
+ }
+ },
+ "@chakra-ui/react-use-focus-on-pointer-down": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-on-pointer-down/-/react-use-focus-on-pointer-down-2.0.3.tgz",
+ "integrity": "sha512-8cKmpv26JnblexNaekWxEDI7M+MZnJcp1PJUz6lByjfQ1m4YjFr1cdbdhG4moaqzzYs7vTmO/qL8KVq8ZLUwyQ==",
+ "requires": {
+ "@chakra-ui/react-use-event-listener": "2.0.4"
+ }
+ },
+ "@chakra-ui/react-use-interval": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-interval/-/react-use-interval-2.0.2.tgz",
+ "integrity": "sha512-5U1c0pEB5n0Yri0E4RdFXWx2RVBZBBhD8Uu49dM33jkIguCbIPmZ+YgVry5DDzCHyz4RgDg4yZKOPK0PI8lEUg==",
+ "requires": {
+ "@chakra-ui/react-use-callback-ref": "2.0.4"
+ }
+ },
+ "@chakra-ui/react-use-latest-ref": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-latest-ref/-/react-use-latest-ref-2.0.2.tgz",
+ "integrity": "sha512-Ra/NMV+DSQ3n0AdKsyIqdgnFzls5UntabtIRfDXLrqmJ4tI0a1tDdop2qop0Ue87AcqD9P1KtQue4KPx7wCElw==",
+ "requires": {}
+ },
+ "@chakra-ui/react-use-merge-refs": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-merge-refs/-/react-use-merge-refs-2.0.4.tgz",
+ "integrity": "sha512-aoWvtE5tDQNaLCiNUI6WV+MA2zVcCLR5mHSCISmowlTXyXOqOU5Fo9ZoUftzrmgCJpDu5x1jfUOivxuHUueb0g==",
+ "requires": {}
+ },
+ "@chakra-ui/react-use-outside-click": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-outside-click/-/react-use-outside-click-2.0.4.tgz",
+ "integrity": "sha512-uerJKS8dqg2kHs1xozA5vcCqW0UInuwrfCPb+rDWBTpu7aEqxABMw9W3e4gfOABrAjhKz2I0a/bu2i8zbVwdLw==",
+ "requires": {
+ "@chakra-ui/react-use-callback-ref": "2.0.4"
+ }
+ },
+ "@chakra-ui/react-use-pan-event": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-pan-event/-/react-use-pan-event-2.0.5.tgz",
+ "integrity": "sha512-nhE3b85++EEmBD2v6m46TLoA4LehSCZ349P8kvEjw/RC0K6XDOZndaBucIeAlnpEENSSUpczFfMSOLxSHdu0oA==",
+ "requires": {
+ "@chakra-ui/event-utils": "2.0.5",
+ "@chakra-ui/react-use-latest-ref": "2.0.2",
+ "framesync": "5.3.0"
+ }
+ },
+ "@chakra-ui/react-use-previous": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-previous/-/react-use-previous-2.0.2.tgz",
+ "integrity": "sha512-ap/teLRPKopaHYD80fnf0TR/NpTWHJO5VdKg6sPyF1y5ediYLAzPT1G2OqMCj4QfJsYDctioT142URDYe0Nn7w==",
+ "requires": {}
+ },
+ "@chakra-ui/react-use-safe-layout-effect": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-safe-layout-effect/-/react-use-safe-layout-effect-2.0.2.tgz",
+ "integrity": "sha512-gl5HDq9RVeDJiT8udtpx12KRV8JPLJHDIUX8f/yZcKpXow0C7FFGg5Yy5I9397NQog5ZjKMuOg+AUq9TLJxsyQ==",
+ "requires": {}
+ },
+ "@chakra-ui/react-use-size": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-size/-/react-use-size-2.0.4.tgz",
+ "integrity": "sha512-W6rgTLuoSC4ovZtqYco8cG+yBadH3bhlg92T5lgpKDakSDr0mXcZdbGx6g0AOkgxXm0V1jWNGO1743wudtF7ew==",
+ "requires": {
+ "@zag-js/element-size": "0.1.0"
+ }
+ },
+ "@chakra-ui/react-use-timeout": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-timeout/-/react-use-timeout-2.0.2.tgz",
+ "integrity": "sha512-n6zb3OmxtDmRMxYkDgILqKh15aDOa8jNLHBlqHzmlL6mEGNKmMFPW9j/KvpAqSgKjUTDRnnXcpneprTMKy/yrw==",
+ "requires": {
+ "@chakra-ui/react-use-callback-ref": "2.0.4"
+ }
+ },
+ "@chakra-ui/react-use-update-effect": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-update-effect/-/react-use-update-effect-2.0.4.tgz",
+ "integrity": "sha512-F/I9LVnGAQyvww+x7tQb47wCwjhMYjpxtM1dTg1U3oCEXY0yF1Ts3NJLUAlsr3nAW6epJIwWx61niC7KWpam1w==",
+ "requires": {}
+ },
+ "@chakra-ui/react-utils": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/react-utils/-/react-utils-2.0.8.tgz",
+ "integrity": "sha512-OSHHBKZlJWTi2NZcPnBx1PyZvLQY+n5RPBtcri7/89EDdAwz2NdEhp2Dz1yQRctOSCF1kB/rnCYDP1U0oRk9RQ==",
+ "requires": {
+ "@chakra-ui/utils": "2.0.11"
+ }
+ },
+ "@chakra-ui/select": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/select/-/select-2.0.12.tgz",
+ "integrity": "sha512-NCDMb0w48GYCHmazVSQ7/ysEpbnri+Up6n+v7yytf6g43TPRkikvK5CsVgLnAEj0lIdCJhWXTcZer5wG5KOEgA==",
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
- "@babel/plugin-transform-dotall-regex": "^7.4.4",
- "@babel/types": "^7.4.4",
- "esutils": "^2.0.2"
+ "@chakra-ui/form-control": "2.0.11"
}
},
- "@babel/preset-react": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz",
- "integrity": "sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==",
+ "@chakra-ui/shared-utils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/shared-utils/-/shared-utils-2.0.2.tgz",
+ "integrity": "sha512-wC58Fh6wCnFFQyiebVZ0NI7PFW9+Vch0QE6qN7iR+bLseOzQY9miYuzPJ1kMYiFd6QTOmPJkI39M3wHqrPYiOg=="
+ },
+ "@chakra-ui/skeleton": {
+ "version": "2.0.17",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/skeleton/-/skeleton-2.0.17.tgz",
+ "integrity": "sha512-dL7viXEKDEzmAJGbHMj+QbGl9PAd0VWztEcWcz5wOGfmAcJllA0lVh6NmG/yqLb6iXPCX4Y1Y0Yurm459TEYWg==",
"requires": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/helper-validator-option": "^7.18.6",
- "@babel/plugin-transform-react-display-name": "^7.18.6",
- "@babel/plugin-transform-react-jsx": "^7.18.6",
- "@babel/plugin-transform-react-jsx-development": "^7.18.6",
- "@babel/plugin-transform-react-pure-annotations": "^7.18.6"
+ "@chakra-ui/media-query": "3.2.7",
+ "@chakra-ui/react-use-previous": "2.0.2"
}
},
- "@babel/preset-typescript": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz",
- "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==",
+ "@chakra-ui/slider": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/slider/-/slider-2.0.12.tgz",
+ "integrity": "sha512-Cna04J7e4+F3tJNb7tRNfPP+koicbDsKJBp+f1NpR32JbRzIfrf2Vdr4hfD5/uOfC4RGxnVInNZzZLGBelLtLw==",
"requires": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/helper-validator-option": "^7.18.6",
- "@babel/plugin-transform-typescript": "^7.18.6"
+ "@chakra-ui/number-utils": "2.0.4",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-types": "2.0.3",
+ "@chakra-ui/react-use-callback-ref": "2.0.4",
+ "@chakra-ui/react-use-controllable-state": "2.0.5",
+ "@chakra-ui/react-use-latest-ref": "2.0.2",
+ "@chakra-ui/react-use-merge-refs": "2.0.4",
+ "@chakra-ui/react-use-pan-event": "2.0.5",
+ "@chakra-ui/react-use-size": "2.0.4",
+ "@chakra-ui/react-use-update-effect": "2.0.4"
}
},
- "@babel/runtime": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz",
- "integrity": "sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==",
+ "@chakra-ui/spinner": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/spinner/-/spinner-2.0.10.tgz",
+ "integrity": "sha512-SwId1xPaaFAaEYrR9eHkQHAuB66CbxwjWaQonEjeEUSh9ecxkd5WbXlsQSyf2hVRIqXJg0m3HIYblcKUsQt9Rw==",
+ "requires": {}
+ },
+ "@chakra-ui/stat": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/stat/-/stat-2.0.11.tgz",
+ "integrity": "sha512-ZPFK2fKufDSHD8bp/KhO3jLgW/b3PzdG4zV+7iTO7OYjxm5pkBfBAeMqfXGx4cl51rtWUKzsY0HV4vLLjcSjHw==",
"requires": {
- "regenerator-runtime": "^0.13.4"
+ "@chakra-ui/icon": "3.0.11",
+ "@chakra-ui/react-context": "2.0.4"
}
},
- "@babel/runtime-corejs3": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.18.6.tgz",
- "integrity": "sha512-cOu5wH2JFBgMjje+a+fz2JNIWU4GzYpl05oSob3UDvBEh6EuIn+TXFHMmBbhSb+k/4HMzgKCQfEEDArAWNF9Cw==",
+ "@chakra-ui/styled-system": {
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/styled-system/-/styled-system-2.3.4.tgz",
+ "integrity": "sha512-Lozbedu+GBj4EbHB/eGv475SFDLApsIEN9gNKiZJBJAE1HIhHn3Seh1iZQSrHC/Beq+D5cQq3Z+yPn3bXtFU7w==",
"requires": {
- "core-js-pure": "^3.20.2",
- "regenerator-runtime": "^0.13.4"
+ "csstype": "^3.0.11",
+ "lodash.mergewith": "4.6.2"
}
},
- "@babel/template": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz",
- "integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==",
+ "@chakra-ui/switch": {
+ "version": "2.0.13",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/switch/-/switch-2.0.13.tgz",
+ "integrity": "sha512-Ikj0L+SLLs/SnfGCiUChaldLIr/aizA1Q9D5+X6LtxpBnixFK/+fNXU+3juPDi9G1IFuNz2IAG51souO7C4nSQ==",
"requires": {
- "@babel/code-frame": "^7.18.6",
- "@babel/parser": "^7.18.6",
- "@babel/types": "^7.18.6"
+ "@chakra-ui/checkbox": "2.2.1"
}
},
- "@babel/traverse": {
- "version": "7.18.8",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.8.tgz",
- "integrity": "sha512-UNg/AcSySJYR/+mIcJQDCv00T+AqRO7j/ZEJLzpaYtgM48rMg5MnkJgyNqkzo88+p4tfRvZJCEiwwfG6h4jkRg==",
+ "@chakra-ui/system": {
+ "version": "2.2.12",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/system/-/system-2.2.12.tgz",
+ "integrity": "sha512-I7hFQswp8tG6ogjEMFs5TsCItdCYuNxpLAULgUrLdOlsQeNnHNQhlL4zpIfD+VzguhsNy5lisbegAMKjdghTYg==",
"requires": {
- "@babel/code-frame": "^7.18.6",
- "@babel/generator": "^7.18.7",
- "@babel/helper-environment-visitor": "^7.18.6",
- "@babel/helper-function-name": "^7.18.6",
- "@babel/helper-hoist-variables": "^7.18.6",
- "@babel/helper-split-export-declaration": "^7.18.6",
- "@babel/parser": "^7.18.8",
- "@babel/types": "^7.18.8",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
+ "@chakra-ui/color-mode": "2.1.9",
+ "@chakra-ui/react-utils": "2.0.8",
+ "@chakra-ui/styled-system": "2.3.4",
+ "@chakra-ui/utils": "2.0.11",
+ "react-fast-compare": "3.2.0"
}
},
- "@babel/types": {
- "version": "7.18.8",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.8.tgz",
- "integrity": "sha512-qwpdsmraq0aJ3osLJRApsc2ouSJCdnMeZwB0DhbtHAtRpZNZCdlbRnHIgcRKzdE1g0iOGg644fzjOBcdOz9cPw==",
+ "@chakra-ui/table": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/table/-/table-2.0.11.tgz",
+ "integrity": "sha512-zQTiqPKEgjdeO/PG0FByn0fH4sPF7dLJF+YszrIzDc6wvpD96iY6MYLeV+CSelbH1g0/uibcJ10PSaFStfGUZg==",
"requires": {
- "@babel/helper-validator-identifier": "^7.18.6",
- "to-fast-properties": "^2.0.0"
+ "@chakra-ui/react-context": "2.0.4"
}
},
- "@bcoe/v8-coverage": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
- "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw=="
+ "@chakra-ui/tabs": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/tabs/-/tabs-2.1.3.tgz",
+ "integrity": "sha512-9gUcj49LMt5QQnfJHR/ctr9VPttJ97CtQWuH2Irjb3RXkq1TRrz6wjythPImNQUv1/DYyXp2jsUhoEQc4Oz14Q==",
+ "requires": {
+ "@chakra-ui/clickable": "2.0.10",
+ "@chakra-ui/descendant": "3.0.10",
+ "@chakra-ui/lazy-utils": "2.0.2",
+ "@chakra-ui/react-children-utils": "2.0.2",
+ "@chakra-ui/react-context": "2.0.4",
+ "@chakra-ui/react-use-controllable-state": "2.0.5",
+ "@chakra-ui/react-use-merge-refs": "2.0.4",
+ "@chakra-ui/react-use-safe-layout-effect": "2.0.2"
+ }
+ },
+ "@chakra-ui/tag": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/tag/-/tag-2.0.11.tgz",
+ "integrity": "sha512-iJJcX+4hl+6Se/8eCRzG+xxDwZfiYgc4Ly/8s93M0uW2GLb+ybbfSE2DjeKSyk3mQVeGzuxGkBfDHH2c2v26ew==",
+ "requires": {
+ "@chakra-ui/icon": "3.0.11",
+ "@chakra-ui/react-context": "2.0.4"
+ }
+ },
+ "@chakra-ui/textarea": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/textarea/-/textarea-2.0.12.tgz",
+ "integrity": "sha512-msR9YMynRXwZIqR6DgjQ2MogA/cW1syBx/R0v3es+9Zx8zlbuKdoLhYqajHteCup8dUzTeIH2Vs2vAwgq4wu5A==",
+ "requires": {
+ "@chakra-ui/form-control": "2.0.11"
+ }
+ },
+ "@chakra-ui/theme": {
+ "version": "2.1.13",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/theme/-/theme-2.1.13.tgz",
+ "integrity": "sha512-qbrrvn9JstyLFV2qyhwgnhwzVs4zSJ4PcS3ScL8kafXJazTRU6onbCcjEZ5mVCw6z8uEz3jcE8Y5KIhVzaB+Xw==",
+ "requires": {
+ "@chakra-ui/anatomy": "2.0.7",
+ "@chakra-ui/theme-tools": "2.0.12"
+ }
+ },
+ "@chakra-ui/theme-tools": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/theme-tools/-/theme-tools-2.0.12.tgz",
+ "integrity": "sha512-mnMlKSmXkCjHUJsKWmJbgBTGF2vnLaMLv1ihkBn5eQcCubMQrBLTiMAEFl5pZdzuHItU6QdnLGA10smcXbNl0g==",
+ "requires": {
+ "@chakra-ui/anatomy": "2.0.7",
+ "@ctrl/tinycolor": "^3.4.0"
+ }
+ },
+ "@chakra-ui/toast": {
+ "version": "3.0.13",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/toast/-/toast-3.0.13.tgz",
+ "integrity": "sha512-5GADso5l5Tv1PAL1iocEneLs6U7I8HHMHSMvWdPFSmmJJh0XCH3fboh0C9LiFNIcnEGJmn+A5yGc4vjedA0h2A==",
+ "requires": {
+ "@chakra-ui/alert": "2.0.11",
+ "@chakra-ui/close-button": "2.0.11",
+ "@chakra-ui/portal": "2.0.10",
+ "@chakra-ui/react-use-timeout": "2.0.2",
+ "@chakra-ui/react-use-update-effect": "2.0.4",
+ "@chakra-ui/styled-system": "2.3.4",
+ "@chakra-ui/theme": "2.1.13"
+ }
+ },
+ "@chakra-ui/tooltip": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/tooltip/-/tooltip-2.2.0.tgz",
+ "integrity": "sha512-oB97aQJBW+U3rRIt1ct7NaDRMnbW16JQ5ZBCl3BzN1VJWO3djiNuscpjVdZSceb+FdGSFo+GoDozp1ZwqdfFeQ==",
+ "requires": {
+ "@chakra-ui/popper": "3.0.8",
+ "@chakra-ui/portal": "2.0.10",
+ "@chakra-ui/react-types": "2.0.3",
+ "@chakra-ui/react-use-disclosure": "2.0.5",
+ "@chakra-ui/react-use-event-listener": "2.0.4",
+ "@chakra-ui/react-use-merge-refs": "2.0.4"
+ }
+ },
+ "@chakra-ui/transition": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/transition/-/transition-2.0.10.tgz",
+ "integrity": "sha512-Tkkne8pIIY7f95TKt2aH+IAuQqzHmEt+ICPqvg74QbmIpKE5ptX0cd+P3swBANw4ACnJcCc2vWIaKmVBQ9clLw==",
+ "requires": {}
+ },
+ "@chakra-ui/utils": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/utils/-/utils-2.0.11.tgz",
+ "integrity": "sha512-4ZQdK6tbOuTrUCsAQBHWo7tw5/Q6pBV93ZbVpats61cSWMFGv32AIQw9/hA4un2zDeSWN9ZMVLNjAY2Dq/KQOA==",
+ "requires": {
+ "@types/lodash.mergewith": "4.6.6",
+ "css-box-model": "1.2.1",
+ "framesync": "5.3.0",
+ "lodash.mergewith": "4.6.2"
+ }
+ },
+ "@chakra-ui/visually-hidden": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@chakra-ui/visually-hidden/-/visually-hidden-2.0.11.tgz",
+ "integrity": "sha512-e+5amYvnsmEQdiWH4XMyvrtGTdwz//+48vwj5CsNWWcselzkwqodmciy5rIrT71/SCQDOtmgnL7ZWAUOffxfsQ==",
+ "requires": {}
+ },
+ "@codemirror/autocomplete": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.3.0.tgz",
+ "integrity": "sha512-4jEvh3AjJZTDKazd10J6ZsCIqaYxDMCeua5ouQxY8hlFIml+nr7le0SgBhT3SIytFBmdzPK3AUhXGuW3T79nVg==",
+ "requires": {
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0",
+ "@lezer/common": "^1.0.0"
+ }
+ },
+ "@codemirror/commands": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.1.1.tgz",
+ "integrity": "sha512-ibDohwkk7vyu3VsnZNlQhwk0OETBtlkYV+6AHfn5Zgq0sxa+yGVX+apwtC3M4wh6AH7yU5si/NysoECs5EGS3Q==",
+ "requires": {
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0",
+ "@lezer/common": "^1.0.0"
+ }
+ },
+ "@codemirror/language": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.2.1.tgz",
+ "integrity": "sha512-MC3svxuvIj0MRpFlGHxLS6vPyIdbTr2KKPEW46kCoCXw2ktb4NTkpkPBI/lSP/FoNXLCBJ0mrnUi1OoZxtpW1Q==",
+ "requires": {
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0",
+ "@lezer/common": "^1.0.0",
+ "@lezer/highlight": "^1.0.0",
+ "@lezer/lr": "^1.0.0",
+ "style-mod": "^4.0.0"
+ }
+ },
+ "@codemirror/lint": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.0.0.tgz",
+ "integrity": "sha512-nUUXcJW1Xp54kNs+a1ToPLK8MadO0rMTnJB8Zk4Z8gBdrN0kqV7uvUraU/T2yqg+grDNR38Vmy/MrhQN/RgwiA==",
+ "requires": {
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0",
+ "crelt": "^1.0.5"
+ }
+ },
+ "@codemirror/search": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.2.1.tgz",
+ "integrity": "sha512-Q1JgUSBjQZRPIddlXzad/AVDigdhriLxQNFyP0gfrDTq6LDHNhr95U/tW3bpVssGenkaLzujtu/7XoK4kyvL3g==",
+ "requires": {
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0",
+ "crelt": "^1.0.5"
+ }
+ },
+ "@codemirror/state": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.1.2.tgz",
+ "integrity": "sha512-Mxff85Hp5va+zuj+H748KbubXjrinX/k28lj43H14T2D0+4kuvEFIEIO7hCEcvBT8ubZyIelt9yGOjj2MWOEQA=="
+ },
+ "@codemirror/theme-one-dark": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/theme-one-dark/-/theme-one-dark-6.1.0.tgz",
+ "integrity": "sha512-AiTHtFRu8+vWT9wWUWDM+cog6ZwgivJogB1Tm/g40NIpLwph7AnmxrSzWfvJN5fBVufsuwBxecQCNmdcR5D7Aw==",
+ "requires": {
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0",
+ "@lezer/highlight": "^1.0.0"
+ }
+ },
+ "@codemirror/view": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.3.1.tgz",
+ "integrity": "sha512-NKPBphoV9W2Q6tKXk+ge4q5EhMOOC0rpwdGS80/slNSfsVqkN4gwXIEqSprXJFlf9aUKZU7WhPvqRBMNH+hJkQ==",
+ "requires": {
+ "@codemirror/state": "^6.0.0",
+ "style-mod": "^4.0.0",
+ "w3c-keyname": "^2.2.4"
+ }
},
"@csstools/normalize.css": {
"version": "12.0.0",
@@ -1353,25 +21796,32 @@
"@csstools/postcss-unset-value": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz",
- "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g=="
+ "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==",
+ "requires": {}
},
"@csstools/selector-specificity": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz",
- "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg=="
+ "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==",
+ "requires": {}
+ },
+ "@ctrl/tinycolor": {
+ "version": "3.4.1",
+ "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.4.1.tgz",
+ "integrity": "sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw=="
},
"@emotion/babel-plugin": {
- "version": "11.9.2",
- "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.9.2.tgz",
- "integrity": "sha512-Pr/7HGH6H6yKgnVFNEj2MVlreu3ADqftqjqwUvDy/OJzKFgxKeTQ+eeUf20FOTuHVkDON2iNa25rAXVYtWJCjw==",
+ "version": "11.10.2",
+ "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.2.tgz",
+ "integrity": "sha512-xNQ57njWTFVfPAc3cjfuaPdsgLp5QOSuRsj9MA6ndEhH/AzuZM86qIQzt6rq+aGBwj3n5/TkLmU5lhAfdRmogA==",
"requires": {
- "@babel/helper-module-imports": "^7.12.13",
- "@babel/plugin-syntax-jsx": "^7.12.13",
- "@babel/runtime": "^7.13.10",
- "@emotion/hash": "^0.8.0",
- "@emotion/memoize": "^0.7.5",
- "@emotion/serialize": "^1.0.2",
- "babel-plugin-macros": "^2.6.1",
+ "@babel/helper-module-imports": "^7.16.7",
+ "@babel/plugin-syntax-jsx": "^7.17.12",
+ "@babel/runtime": "^7.18.3",
+ "@emotion/hash": "^0.9.0",
+ "@emotion/memoize": "^0.8.0",
+ "@emotion/serialize": "^1.1.0",
+ "babel-plugin-macros": "^3.1.0",
"convert-source-map": "^1.5.0",
"escape-string-regexp": "^4.0.0",
"find-root": "^1.1.0",
@@ -1379,27 +21829,10 @@
"stylis": "4.0.13"
},
"dependencies": {
- "babel-plugin-macros": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz",
- "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "cosmiconfig": "^6.0.0",
- "resolve": "^1.12.0"
- }
- },
- "cosmiconfig": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
- "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
- "requires": {
- "@types/parse-json": "^4.0.0",
- "import-fresh": "^3.1.0",
- "parse-json": "^5.0.0",
- "path-type": "^4.0.0",
- "yaml": "^1.7.2"
- }
+ "@emotion/memoize": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz",
+ "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA=="
},
"escape-string-regexp": {
"version": "4.0.0",
@@ -1414,21 +21847,28 @@
}
},
"@emotion/cache": {
- "version": "11.9.3",
- "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.9.3.tgz",
- "integrity": "sha512-0dgkI/JKlCXa+lEXviaMtGBL0ynpx4osh7rjOXE71q9bIF8G+XhJgvi+wDu0B0IdCVx37BffiwXlN9I3UuzFvg==",
- "requires": {
- "@emotion/memoize": "^0.7.4",
- "@emotion/sheet": "^1.1.1",
- "@emotion/utils": "^1.0.0",
- "@emotion/weak-memoize": "^0.2.5",
+ "version": "11.10.3",
+ "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.3.tgz",
+ "integrity": "sha512-Psmp/7ovAa8appWh3g51goxu/z3iVms7JXOreq136D8Bbn6dYraPnmL6mdM8GThEx9vwSn92Fz+mGSjBzN8UPQ==",
+ "requires": {
+ "@emotion/memoize": "^0.8.0",
+ "@emotion/sheet": "^1.2.0",
+ "@emotion/utils": "^1.2.0",
+ "@emotion/weak-memoize": "^0.3.0",
"stylis": "4.0.13"
+ },
+ "dependencies": {
+ "@emotion/memoize": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz",
+ "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA=="
+ }
}
},
"@emotion/hash": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz",
- "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow=="
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz",
+ "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ=="
},
"@emotion/is-prop-valid": {
"version": "1.1.3",
@@ -1444,62 +21884,92 @@
"integrity": "sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ=="
},
"@emotion/react": {
- "version": "11.9.3",
- "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.9.3.tgz",
- "integrity": "sha512-g9Q1GcTOlzOEjqwuLF/Zd9LC+4FljjPjDfxSM7KmEakm+hsHXk+bYZ2q+/hTJzr0OUNkujo72pXLQvXj6H+GJQ==",
+ "version": "11.10.4",
+ "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.4.tgz",
+ "integrity": "sha512-j0AkMpr6BL8gldJZ6XQsQ8DnS9TxEQu1R+OGmDZiWjBAJtCcbt0tS3I/YffoqHXxH6MjgI7KdMbYKw3MEiU9eA==",
"requires": {
- "@babel/runtime": "^7.13.10",
- "@emotion/babel-plugin": "^11.7.1",
- "@emotion/cache": "^11.9.3",
- "@emotion/serialize": "^1.0.4",
- "@emotion/utils": "^1.1.0",
- "@emotion/weak-memoize": "^0.2.5",
+ "@babel/runtime": "^7.18.3",
+ "@emotion/babel-plugin": "^11.10.0",
+ "@emotion/cache": "^11.10.0",
+ "@emotion/serialize": "^1.1.0",
+ "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0",
+ "@emotion/utils": "^1.2.0",
+ "@emotion/weak-memoize": "^0.3.0",
"hoist-non-react-statics": "^3.3.1"
}
},
"@emotion/serialize": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.0.4.tgz",
- "integrity": "sha512-1JHamSpH8PIfFwAMryO2bNka+y8+KA5yga5Ocf2d7ZEiJjb7xlLW7aknBGZqJLajuLOvJ+72vN+IBSwPlXD1Pg==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.0.tgz",
+ "integrity": "sha512-F1ZZZW51T/fx+wKbVlwsfchr5q97iW8brAnXmsskz4d0hVB4O3M/SiA3SaeH06x02lSNzkkQv+n3AX3kCXKSFA==",
"requires": {
- "@emotion/hash": "^0.8.0",
- "@emotion/memoize": "^0.7.4",
- "@emotion/unitless": "^0.7.5",
- "@emotion/utils": "^1.0.0",
+ "@emotion/hash": "^0.9.0",
+ "@emotion/memoize": "^0.8.0",
+ "@emotion/unitless": "^0.8.0",
+ "@emotion/utils": "^1.2.0",
"csstype": "^3.0.2"
+ },
+ "dependencies": {
+ "@emotion/memoize": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz",
+ "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA=="
+ }
}
},
"@emotion/sheet": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.1.1.tgz",
- "integrity": "sha512-J3YPccVRMiTZxYAY0IOq3kd+hUP8idY8Kz6B/Cyo+JuXq52Ek+zbPbSQUrVQp95aJ+lsAW7DPL1P2Z+U1jGkKA=="
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.0.tgz",
+ "integrity": "sha512-OiTkRgpxescko+M51tZsMq7Puu/KP55wMT8BgpcXVG2hqXc0Vo0mfymJ/Uj24Hp0i083ji/o0aLddh08UEjq8w=="
},
"@emotion/styled": {
- "version": "11.9.3",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.9.3.tgz",
- "integrity": "sha512-o3sBNwbtoVz9v7WB1/Y/AmXl69YHmei2mrVnK7JgyBJ//Rst5yqPZCecEJlMlJrFeWHp+ki/54uN265V2pEcXA==",
+ "version": "11.10.4",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.10.4.tgz",
+ "integrity": "sha512-pRl4R8Ez3UXvOPfc2bzIoV8u9P97UedgHS4FPX594ntwEuAMA114wlaHvOK24HB48uqfXiGlYIZYCxVJ1R1ttQ==",
"requires": {
- "@babel/runtime": "^7.13.10",
- "@emotion/babel-plugin": "^11.7.1",
- "@emotion/is-prop-valid": "^1.1.3",
- "@emotion/serialize": "^1.0.4",
- "@emotion/utils": "^1.1.0"
+ "@babel/runtime": "^7.18.3",
+ "@emotion/babel-plugin": "^11.10.0",
+ "@emotion/is-prop-valid": "^1.2.0",
+ "@emotion/serialize": "^1.1.0",
+ "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0",
+ "@emotion/utils": "^1.2.0"
+ },
+ "dependencies": {
+ "@emotion/is-prop-valid": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz",
+ "integrity": "sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==",
+ "requires": {
+ "@emotion/memoize": "^0.8.0"
+ }
+ },
+ "@emotion/memoize": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz",
+ "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA=="
+ }
}
},
"@emotion/unitless": {
- "version": "0.7.5",
- "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz",
- "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg=="
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz",
+ "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw=="
+ },
+ "@emotion/use-insertion-effect-with-fallbacks": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz",
+ "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==",
+ "requires": {}
},
"@emotion/utils": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.1.0.tgz",
- "integrity": "sha512-iRLa/Y4Rs5H/f2nimczYmS5kFJEbpiVvgN3XVfZ022IYhuNA1IRSHEizcof88LtCTXtl9S2Cxt32KgaXEu72JQ=="
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz",
+ "integrity": "sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw=="
},
"@emotion/weak-memoize": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz",
- "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA=="
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz",
+ "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg=="
},
"@eslint/eslintrc": {
"version": "1.3.0",
@@ -1545,6 +22015,48 @@
}
}
},
+ "@fortawesome/fontawesome-common-types": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.2.0.tgz",
+ "integrity": "sha512-rBevIsj2nclStJ7AxTdfsa3ovHb1H+qApwrxcTVo+NNdeJiB9V75hsKfrkG5AwNcRUNxrPPiScGYCNmLMoh8pg=="
+ },
+ "@fortawesome/fontawesome-free": {
+ "version": "5.15.4",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.4.tgz",
+ "integrity": "sha512-eYm8vijH/hpzr/6/1CJ/V/Eb1xQFW2nnUKArb3z+yUWv7HTwj6M7SP957oMjfZjAHU6qpoNc2wQvIxBLWYa/Jg=="
+ },
+ "@fortawesome/fontawesome-svg-core": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.2.0.tgz",
+ "integrity": "sha512-Cf2mAAeMWFMzpLC7Y9H1I4o3wEU+XovVJhTiNG8ZNgSQj53yl7OCJaS80K4YjrABWZzbAHVaoHE1dVJ27AAYXw==",
+ "requires": {
+ "@fortawesome/fontawesome-common-types": "6.2.0"
+ }
+ },
+ "@fortawesome/free-regular-svg-icons": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.2.0.tgz",
+ "integrity": "sha512-M1dG+PAmkYMTL9BSUHFXY5oaHwBYfHCPhbJ8qj8JELsc9XCrUJ6eEHWip4q0tE+h9C0DVyFkwIM9t7QYyCpprQ==",
+ "requires": {
+ "@fortawesome/fontawesome-common-types": "6.2.0"
+ }
+ },
+ "@fortawesome/free-solid-svg-icons": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.2.0.tgz",
+ "integrity": "sha512-UjCILHIQ4I8cN46EiQn0CZL/h8AwCGgR//1c4R96Q5viSRwuKVo0NdQEc4bm+69ZwC0dUvjbDqAHF1RR5FA3XA==",
+ "requires": {
+ "@fortawesome/fontawesome-common-types": "6.2.0"
+ }
+ },
+ "@fortawesome/react-fontawesome": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.0.tgz",
+ "integrity": "sha512-uHg75Rb/XORTtVt7OS9WoK8uM276Ufi7gCzshVWkUJbHhh3svsUUeqXerrM96Wm7fRiDzfKRwSoahhMIkGAYHw==",
+ "requires": {
+ "prop-types": "^15.8.1"
+ }
+ },
"@humanwhocodes/config-array": {
"version": "0.10.4",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz",
@@ -2092,25 +22604,193 @@
}
}
},
- "@jridgewell/sourcemap-codec": {
- "version": "1.4.14",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
- "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
+ "@jridgewell/sourcemap-codec": {
+ "version": "1.4.14",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
+ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
+ },
+ "@jridgewell/trace-mapping": {
+ "version": "0.3.14",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz",
+ "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==",
+ "requires": {
+ "@jridgewell/resolve-uri": "^3.0.3",
+ "@jridgewell/sourcemap-codec": "^1.4.10"
+ }
+ },
+ "@leichtgewicht/ip-codec": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz",
+ "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A=="
+ },
+ "@lezer/common": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.0.1.tgz",
+ "integrity": "sha512-8TR5++Q/F//tpDsLd5zkrvEX5xxeemafEaek7mUp7Y+bI8cKQXdSqhzTOBaOogETcMOVr0pT3BBPXp13477ciw=="
+ },
+ "@lezer/highlight": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.1.1.tgz",
+ "integrity": "sha512-duv9D23O9ghEDnnUDmxu+L8pJy4nYo4AbCOHIudUhscrLSazqeJeK1V50EU6ZufWF1zv0KJwu/frFRyZWXxHBQ==",
+ "requires": {
+ "@lezer/common": "^1.0.0"
+ }
+ },
+ "@lezer/lr": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.2.3.tgz",
+ "integrity": "sha512-qpB7rBzH8f6Mzjv2AVZRahcm+2Cf7nbIH++uXbvVOL1yIRvVWQ3HAM/saeBLCyz/togB7LGo76qdJYL1uKQlqA==",
+ "requires": {
+ "@lezer/common": "^1.0.0"
+ }
+ },
+ "@material-ui/core": {
+ "version": "4.12.4",
+ "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.12.4.tgz",
+ "integrity": "sha512-tr7xekNlM9LjA6pagJmL8QCgZXaubWUwkJnoYcMKd4gw/t4XiyvnTkjdGrUVicyB2BsdaAv1tvow45bPM4sSwQ==",
+ "requires": {
+ "@babel/runtime": "^7.4.4",
+ "@material-ui/styles": "^4.11.5",
+ "@material-ui/system": "^4.12.2",
+ "@material-ui/types": "5.1.0",
+ "@material-ui/utils": "^4.11.3",
+ "@types/react-transition-group": "^4.2.0",
+ "clsx": "^1.0.4",
+ "hoist-non-react-statics": "^3.3.2",
+ "popper.js": "1.16.1-lts",
+ "prop-types": "^15.7.2",
+ "react-is": "^16.8.0 || ^17.0.0",
+ "react-transition-group": "^4.4.0"
+ },
+ "dependencies": {
+ "@emotion/hash": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz",
+ "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow=="
+ },
+ "@material-ui/styles": {
+ "version": "4.11.5",
+ "resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.11.5.tgz",
+ "integrity": "sha512-o/41ot5JJiUsIETME9wVLAJrmIWL3j0R0Bj2kCOLbSfqEkKf0fmaPt+5vtblUh5eXr2S+J/8J3DaCb10+CzPGA==",
+ "requires": {
+ "@babel/runtime": "^7.4.4",
+ "@emotion/hash": "^0.8.0",
+ "@material-ui/types": "5.1.0",
+ "@material-ui/utils": "^4.11.3",
+ "clsx": "^1.0.4",
+ "csstype": "^2.5.2",
+ "hoist-non-react-statics": "^3.3.2",
+ "jss": "^10.5.1",
+ "jss-plugin-camel-case": "^10.5.1",
+ "jss-plugin-default-unit": "^10.5.1",
+ "jss-plugin-global": "^10.5.1",
+ "jss-plugin-nested": "^10.5.1",
+ "jss-plugin-props-sort": "^10.5.1",
+ "jss-plugin-rule-value-function": "^10.5.1",
+ "jss-plugin-vendor-prefixer": "^10.5.1",
+ "prop-types": "^15.7.2"
+ }
+ },
+ "@material-ui/system": {
+ "version": "4.12.2",
+ "resolved": "https://registry.npmjs.org/@material-ui/system/-/system-4.12.2.tgz",
+ "integrity": "sha512-6CSKu2MtmiJgcCGf6nBQpM8fLkuB9F55EKfbdTC80NND5wpTmKzwdhLYLH3zL4cLlK0gVaaltW7/wMuyTnN0Lw==",
+ "requires": {
+ "@babel/runtime": "^7.4.4",
+ "@material-ui/utils": "^4.11.3",
+ "csstype": "^2.5.2",
+ "prop-types": "^15.7.2"
+ }
+ },
+ "@material-ui/utils": {
+ "version": "4.11.3",
+ "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-4.11.3.tgz",
+ "integrity": "sha512-ZuQPV4rBK/V1j2dIkSSEcH5uT6AaHuKWFfotADHsC0wVL1NLd2WkFCm4ZZbX33iO4ydl6V0GPngKm8HZQ2oujg==",
+ "requires": {
+ "@babel/runtime": "^7.4.4",
+ "prop-types": "^15.7.2",
+ "react-is": "^16.8.0 || ^17.0.0"
+ }
+ },
+ "csstype": {
+ "version": "2.6.21",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz",
+ "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
+ }
+ }
+ },
+ "@material-ui/icons": {
+ "version": "4.11.3",
+ "resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-4.11.3.tgz",
+ "integrity": "sha512-IKHlyx6LDh8n19vzwH5RtHIOHl9Tu90aAAxcbWME6kp4dmvODM3UvOHJeMIDzUbd4muuJKHmlNoBN+mDY4XkBA==",
+ "requires": {
+ "@babel/runtime": "^7.4.4"
+ }
+ },
+ "@material-ui/types": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@material-ui/types/-/types-5.1.0.tgz",
+ "integrity": "sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A==",
+ "requires": {}
+ },
+ "@motionone/animation": {
+ "version": "10.14.0",
+ "resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.14.0.tgz",
+ "integrity": "sha512-h+1sdyBP8vbxEBW5gPFDnj+m2DCqdlAuf2g6Iafb1lcMnqjsRXWlPw1AXgvUMXmreyhqmPbJqoNfIKdytampRQ==",
+ "requires": {
+ "@motionone/easing": "^10.14.0",
+ "@motionone/types": "^10.14.0",
+ "@motionone/utils": "^10.14.0",
+ "tslib": "^2.3.1"
+ }
+ },
+ "@motionone/dom": {
+ "version": "10.13.1",
+ "resolved": "https://registry.npmjs.org/@motionone/dom/-/dom-10.13.1.tgz",
+ "integrity": "sha512-zjfX+AGMIt/fIqd/SL1Lj93S6AiJsEA3oc5M9VkUr+Gz+juRmYN1vfvZd6MvEkSqEjwPQgcjN7rGZHrDB9APfQ==",
+ "requires": {
+ "@motionone/animation": "^10.13.1",
+ "@motionone/generators": "^10.13.1",
+ "@motionone/types": "^10.13.0",
+ "@motionone/utils": "^10.13.1",
+ "hey-listen": "^1.0.8",
+ "tslib": "^2.3.1"
+ }
+ },
+ "@motionone/easing": {
+ "version": "10.14.0",
+ "resolved": "https://registry.npmjs.org/@motionone/easing/-/easing-10.14.0.tgz",
+ "integrity": "sha512-2vUBdH9uWTlRbuErhcsMmt1jvMTTqvGmn9fHq8FleFDXBlHFs5jZzHJT9iw+4kR1h6a4SZQuCf72b9ji92qNYA==",
+ "requires": {
+ "@motionone/utils": "^10.14.0",
+ "tslib": "^2.3.1"
+ }
+ },
+ "@motionone/generators": {
+ "version": "10.14.0",
+ "resolved": "https://registry.npmjs.org/@motionone/generators/-/generators-10.14.0.tgz",
+ "integrity": "sha512-6kRHezoFfIjFN7pPpaxmkdZXD36tQNcyJe3nwVqwJ+ZfC0e3rFmszR8kp9DEVFs9QL/akWjuGPSLBI1tvz+Vjg==",
+ "requires": {
+ "@motionone/types": "^10.14.0",
+ "@motionone/utils": "^10.14.0",
+ "tslib": "^2.3.1"
+ }
+ },
+ "@motionone/types": {
+ "version": "10.14.0",
+ "resolved": "https://registry.npmjs.org/@motionone/types/-/types-10.14.0.tgz",
+ "integrity": "sha512-3bNWyYBHtVd27KncnJLhksMFQ5o2MSdk1cA/IZqsHtA9DnRM1SYgN01CTcJ8Iw8pCXF5Ocp34tyAjY7WRpOJJQ=="
},
- "@jridgewell/trace-mapping": {
- "version": "0.3.14",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz",
- "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==",
+ "@motionone/utils": {
+ "version": "10.14.0",
+ "resolved": "https://registry.npmjs.org/@motionone/utils/-/utils-10.14.0.tgz",
+ "integrity": "sha512-sLWBLPzRqkxmOTRzSaD3LFQXCPHvDzyHJ1a3VP9PRzBxyVd2pv51/gMOsdAcxQ9n+MIeGJnxzXBYplUHKj4jkw==",
"requires": {
- "@jridgewell/resolve-uri": "^3.0.3",
- "@jridgewell/sourcemap-codec": "^1.4.10"
+ "@motionone/types": "^10.14.0",
+ "hey-listen": "^1.0.8",
+ "tslib": "^2.3.1"
}
},
- "@leichtgewicht/ip-codec": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz",
- "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A=="
- },
"@mui/base": {
"version": "5.0.0-alpha.90",
"resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.90.tgz",
@@ -2133,6 +22813,14 @@
}
}
},
+ "@mui/icons-material": {
+ "version": "5.10.6",
+ "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.10.6.tgz",
+ "integrity": "sha512-QwxdRmLA46S94B0hExPDx0td+A2unF+33bQ6Cs+lNpJKVsm1YeHwNdYXYcnpWeHeQQ07055OXl7IB2GKDd0MfA==",
+ "requires": {
+ "@babel/runtime": "^7.19.0"
+ }
+ },
"@mui/material": {
"version": "5.9.1",
"resolved": "https://registry.npmjs.org/@mui/material/-/material-5.9.1.tgz",
@@ -2197,7 +22885,8 @@
"@mui/types": {
"version": "7.1.4",
"resolved": "https://registry.npmjs.org/@mui/types/-/types-7.1.4.tgz",
- "integrity": "sha512-uveM3byMbthO+6tXZ1n2zm0W3uJCQYtwt/v5zV5I77v2v18u0ITkb8xwhsDD2i3V2Kye7SaNR6FFJ6lMuY/WqQ=="
+ "integrity": "sha512-uveM3byMbthO+6tXZ1n2zm0W3uJCQYtwt/v5zV5I77v2v18u0ITkb8xwhsDD2i3V2Kye7SaNR6FFJ6lMuY/WqQ==",
+ "requires": {}
},
"@mui/utils": {
"version": "5.9.1",
@@ -2262,6 +22951,11 @@
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz",
"integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw=="
},
+ "@remix-run/router": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.0.0.tgz",
+ "integrity": "sha512-SCR1cxRSMNKjaVYptCzBApPDqGwa3FGdjVHc+rOToocNPHQdIYLZBfv/3f+KvYuXDkUGVIW9IAzmPNZDRL1I4A=="
+ },
"@rollup/plugin-babel": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz",
@@ -2696,6 +23390,11 @@
"@types/node": "*"
}
},
+ "@types/cookie": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.3.3.tgz",
+ "integrity": "sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow=="
+ },
"@types/eslint": {
"version": "8.4.5",
"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.5.tgz",
@@ -2901,6 +23600,19 @@
"resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ=="
},
+ "@types/lodash": {
+ "version": "4.14.186",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.186.tgz",
+ "integrity": "sha512-eHcVlLXP0c2FlMPm56ITode2AgLMSa6aJ05JTTbYbI+7EMkCEE5qk2E41d5g2lCVTqRe0GnnRFurmlCsDODrPw=="
+ },
+ "@types/lodash.mergewith": {
+ "version": "4.6.6",
+ "resolved": "https://registry.npmjs.org/@types/lodash.mergewith/-/lodash.mergewith-4.6.6.tgz",
+ "integrity": "sha512-RY/8IaVENjG19rxTZu9Nukqh0W2UrYgmBj5sdns4hWRZaV8PqR7wIKHFKzvOTjo4zVRV7sVI+yFhAJql12Kfqg==",
+ "requires": {
+ "@types/lodash": "*"
+ }
+ },
"@types/mime": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
@@ -2942,9 +23654,9 @@
"integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw=="
},
"@types/react": {
- "version": "18.0.15",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.15.tgz",
- "integrity": "sha512-iz3BtLuIYH1uWdsv6wXYdhozhqj20oD4/Hk2DNXIn1kFsmp9x8d9QB6FnPhfkbhd2PgEONt9Q1x/ebkwjfFLow==",
+ "version": "17.0.52",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.52.tgz",
+ "integrity": "sha512-vwk8QqVODi0VaZZpDXQCmEmiOuyjEFPY7Ttaw5vjM112LOq37yz1CDJGrRJwA1fYEq4Iitd5rnjd1yWAc/bT+A==",
"requires": {
"@types/prop-types": "*",
"@types/scheduler": "*",
@@ -3168,6 +23880,49 @@
"eslint-visitor-keys": "^3.3.0"
}
},
+ "@uiw/codemirror-extensions-basic-setup": {
+ "version": "4.12.4",
+ "resolved": "https://registry.npmjs.org/@uiw/codemirror-extensions-basic-setup/-/codemirror-extensions-basic-setup-4.12.4.tgz",
+ "integrity": "sha512-owSCcRBtS2wYjxgBFkuIjfjWJHsR8AxgsQtqPpHB/6U0zCLuzKS/OM5ZRS2T3rdOizg0hCPztVvmshWeKjF+qw==",
+ "requires": {
+ "@codemirror/autocomplete": "^6.0.0",
+ "@codemirror/commands": "^6.0.0",
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/lint": "^6.0.0",
+ "@codemirror/search": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0"
+ }
+ },
+ "@uiw/react-codemirror": {
+ "version": "4.12.4",
+ "resolved": "https://registry.npmjs.org/@uiw/react-codemirror/-/react-codemirror-4.12.4.tgz",
+ "integrity": "sha512-92TAvN2z5snPjPtJDLmbqrqsXXYFYlBnWraXZuDc1XGaw80tB26ZkdEW79CD2QM4Y9LhFIt+sauwlmiAVDs/5A==",
+ "requires": {
+ "@babel/runtime": "^7.18.6",
+ "@codemirror/commands": "^6.1.0",
+ "@codemirror/state": "^6.1.1",
+ "@codemirror/theme-one-dark": "^6.0.0",
+ "@uiw/codemirror-extensions-basic-setup": "4.12.4",
+ "codemirror": "^6.0.0"
+ },
+ "dependencies": {
+ "codemirror": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-6.0.1.tgz",
+ "integrity": "sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==",
+ "requires": {
+ "@codemirror/autocomplete": "^6.0.0",
+ "@codemirror/commands": "^6.0.0",
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/lint": "^6.0.0",
+ "@codemirror/search": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0"
+ }
+ }
+ }
+ },
"@webassemblyjs/ast": {
"version": "1.11.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
@@ -3309,6 +24064,16 @@
"resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
"integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ=="
},
+ "@zag-js/element-size": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@zag-js/element-size/-/element-size-0.1.0.tgz",
+ "integrity": "sha512-QF8wp0+V8++z+FHXiIw93+zudtubYszOtYbNgK39fg3pi+nCZtuSm4L1jC5QZMatNZ83MfOzyNCfgUubapagJQ=="
+ },
+ "@zag-js/focus-visible": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@zag-js/focus-visible/-/focus-visible-0.1.0.tgz",
+ "integrity": "sha512-PeaBcTmdZWcFf7n1aM+oiOdZc+sy14qi0emPIeUuGMTjbP0xLGrZu43kdpHnWSXy7/r4Ubp/vlg50MCV8+9Isg=="
+ },
"abab": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
@@ -3347,12 +24112,14 @@
"acorn-import-assertions": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
- "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw=="
+ "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
+ "requires": {}
},
"acorn-jsx": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
- "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+ "requires": {}
},
"acorn-node": {
"version": "1.8.2",
@@ -3438,7 +24205,8 @@
"ajv-keywords": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
- "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ=="
+ "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
+ "requires": {}
},
"ansi-escapes": {
"version": "4.3.2",
@@ -3488,6 +24256,14 @@
"sprintf-js": "~1.0.2"
}
},
+ "aria-hidden": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.1.tgz",
+ "integrity": "sha512-PN344VAf9j1EAi+jyVHOJ8XidQdPVssGco39eNcsGdM4wcsILtxrKLkbuiMfLWYROK1FjRQasMWCBttrhjnr6A==",
+ "requires": {
+ "tslib": "^2.0.0"
+ }
+ },
"aria-query": {
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz",
@@ -3754,7 +24530,8 @@
"babel-plugin-named-asset-import": {
"version": "0.3.8",
"resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz",
- "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q=="
+ "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==",
+ "requires": {}
},
"babel-plugin-polyfill-corejs2": {
"version": "0.3.1",
@@ -4160,6 +24937,11 @@
"q": "^1.1.2"
}
},
+ "codemirror": {
+ "version": "5.65.9",
+ "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.9.tgz",
+ "integrity": "sha512-19Jox5sAKpusTDgqgKB5dawPpQcY+ipQK7xoEI+MVucEF9qqFaXpeqY1KaoyGBso/wHQoDa4HMMxMjdsS3Zzzw=="
+ },
"collect-v8-coverage": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz",
@@ -4253,6 +25035,11 @@
}
}
},
+ "compute-scroll-into-view": {
+ "version": "1.0.14",
+ "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.14.tgz",
+ "integrity": "sha512-mKDjINe3tc6hGelUMNDzuhorIUZ7kS7BwyY0r2wQd2HOH2tRuJykiC06iSEX8y1TuhNzvz4GcJnK16mM2J1NMQ=="
+ },
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -4306,6 +25093,14 @@
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
"integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
},
+ "copy-to-clipboard": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz",
+ "integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==",
+ "requires": {
+ "toggle-selection": "^1.0.6"
+ }
+ },
"core-js": {
"version": "3.23.4",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.23.4.tgz",
@@ -4349,6 +25144,11 @@
"yaml": "^1.10.0"
}
},
+ "crelt": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.5.tgz",
+ "integrity": "sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA=="
+ },
"cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
@@ -4389,10 +25189,19 @@
"postcss-selector-parser": "^6.0.9"
}
},
+ "css-box-model": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/css-box-model/-/css-box-model-1.2.1.tgz",
+ "integrity": "sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw==",
+ "requires": {
+ "tiny-invariant": "^1.0.6"
+ }
+ },
"css-declaration-sorter": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.0.tgz",
- "integrity": "sha512-OGT677UGHJTAVMRhPO+HJ4oKln3wkBTwtDFH0ojbqm+MJm6xuDMHp2nkhh/ThaBqq20IbraBQSWKfSLNHQO9Og=="
+ "integrity": "sha512-OGT677UGHJTAVMRhPO+HJ4oKln3wkBTwtDFH0ojbqm+MJm6xuDMHp2nkhh/ThaBqq20IbraBQSWKfSLNHQO9Og==",
+ "requires": {}
},
"css-has-pseudo": {
"version": "3.0.4",
@@ -4475,7 +25284,8 @@
"css-prefers-color-scheme": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz",
- "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA=="
+ "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==",
+ "requires": {}
},
"css-select": {
"version": "4.3.0",
@@ -4510,6 +25320,15 @@
}
}
},
+ "css-vendor": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz",
+ "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==",
+ "requires": {
+ "@babel/runtime": "^7.8.3",
+ "is-in-browser": "^1.0.2"
+ }
+ },
"css-what": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
@@ -4579,7 +25398,8 @@
"cssnano-utils": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz",
- "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA=="
+ "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==",
+ "requires": {}
},
"csso": {
"version": "4.2.0",
@@ -4735,6 +25555,11 @@
"resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
"integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g=="
},
+ "detect-node-es": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz",
+ "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ=="
+ },
"detect-port-alt": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz",
@@ -4892,16 +25717,34 @@
"tslib": "^2.0.3"
}
},
- "dotenv": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz",
- "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q=="
+ "dotenv-defaults": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz",
+ "integrity": "sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg==",
+ "requires": {
+ "dotenv": "^8.2.0"
+ },
+ "dependencies": {
+ "dotenv": {
+ "version": "8.6.0",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz",
+ "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g=="
+ }
+ }
},
"dotenv-expand": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz",
"integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA=="
},
+ "dotenv-webpack": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-8.0.1.tgz",
+ "integrity": "sha512-CdrgfhZOnx4uB18SgaoP9XHRN2v48BbjuXQsZY5ixs5A8579NxQkmMxRtI7aTwSiSQcM2ao12Fdu+L3ZS3bG4w==",
+ "requires": {
+ "dotenv-defaults": "^2.0.2"
+ }
+ },
"duplexer": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
@@ -4960,7 +25803,8 @@
"ws": {
"version": "8.2.3",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
- "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA=="
+ "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
+ "requires": {}
}
}
},
@@ -5487,7 +26331,8 @@
"eslint-plugin-react-hooks": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz",
- "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g=="
+ "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==",
+ "requires": {}
},
"eslint-plugin-testing-library": {
"version": "5.5.1",
@@ -5761,6 +26606,15 @@
}
}
},
+ "fa-icons": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/fa-icons/-/fa-icons-0.2.0.tgz",
+ "integrity": "sha512-HxGOWM8gpYiilRnsOykLNyt65aC+pmJ2ulxGaWvDRsLWU9DzvN8zNoz6EIlRKJ7ytvvqpOORhxIYRndaKn36nA==",
+ "requires": {
+ "@fortawesome/fontawesome-free": "^5.12.1",
+ "lit-element": "^2.2.1"
+ }
+ },
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -5945,6 +26799,14 @@
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.6.tgz",
"integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ=="
},
+ "focus-lock": {
+ "version": "0.11.3",
+ "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-0.11.3.tgz",
+ "integrity": "sha512-4n0pYcPTa/uI7Q66BZna61nRT7lDhnuJ9PJr6wiDjx4uStg491ks41y7uOG+s0umaaa+hulNKSldU9aTg9/yVg==",
+ "requires": {
+ "tslib": "^2.0.3"
+ }
+ },
"follow-redirects": {
"version": "1.15.1",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz",
@@ -6073,6 +26935,53 @@
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
"integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA=="
},
+ "framer-motion": {
+ "version": "7.5.3",
+ "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-7.5.3.tgz",
+ "integrity": "sha512-VvANga9Z7bYtKMAsM/je81FwJDHfThOYywN04xVQ4OGdMVY09Bowx/q7nZd6XtytLuv6byc6GT1mYwag+SQ/nw==",
+ "requires": {
+ "@emotion/is-prop-valid": "^0.8.2",
+ "@motionone/dom": "10.13.1",
+ "framesync": "6.1.2",
+ "hey-listen": "^1.0.8",
+ "popmotion": "11.0.5",
+ "style-value-types": "5.1.2",
+ "tslib": "2.4.0"
+ },
+ "dependencies": {
+ "@emotion/is-prop-valid": {
+ "version": "0.8.8",
+ "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz",
+ "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==",
+ "optional": true,
+ "requires": {
+ "@emotion/memoize": "0.7.4"
+ }
+ },
+ "@emotion/memoize": {
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz",
+ "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==",
+ "optional": true
+ },
+ "framesync": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.1.2.tgz",
+ "integrity": "sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g==",
+ "requires": {
+ "tslib": "2.4.0"
+ }
+ }
+ }
+ },
+ "framesync": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/framesync/-/framesync-5.3.0.tgz",
+ "integrity": "sha512-oc5m68HDO/tuK2blj7ZcdEBRx3p1PjrgHazL8GYEpvULhrtGIFbQArN6cQS2QhW8mitffaB+VYzMjDqBxxQeoA==",
+ "requires": {
+ "tslib": "^2.1.0"
+ }
+ },
"fresh": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
@@ -6150,6 +27059,11 @@
"has-symbols": "^1.0.3"
}
},
+ "get-nonce": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz",
+ "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q=="
+ },
"get-own-enumerable-property-symbols": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz",
@@ -6318,13 +27232,10 @@
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
},
- "history": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
- "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
- "requires": {
- "@babel/runtime": "^7.7.6"
- }
+ "hey-listen": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz",
+ "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q=="
},
"hoist-non-react-statics": {
"version": "3.3.2",
@@ -6504,6 +27415,11 @@
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
"integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw=="
},
+ "hyphenate-style-name": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz",
+ "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ=="
+ },
"iconv-lite": {
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
@@ -6515,7 +27431,8 @@
"icss-utils": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
- "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA=="
+ "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
+ "requires": {}
},
"idb": {
"version": "6.1.5",
@@ -6604,6 +27521,14 @@
"side-channel": "^1.0.4"
}
},
+ "invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ },
"ipaddr.js": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz",
@@ -6688,6 +27613,11 @@
"is-extglob": "^2.1.1"
}
},
+ "is-in-browser": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz",
+ "integrity": "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g=="
+ },
"is-module": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
@@ -7547,7 +28477,8 @@
"jest-pnp-resolver": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz",
- "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w=="
+ "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==",
+ "requires": {}
},
"jest-regex-util": {
"version": "27.5.1",
@@ -8306,6 +29237,11 @@
}
}
},
+ "js-base64": {
+ "version": "3.7.2",
+ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.2.tgz",
+ "integrity": "sha512-NnRs6dsyqUXejqk/yv2aiXlAvOs56sLkX6nUdeaNezI5LFFLlsZjOThmwnrcwh5ZZRwZlCMnVAY3CvhIhoVEKQ=="
+ },
"js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -8398,6 +29334,84 @@
"resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz",
"integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ=="
},
+ "jss": {
+ "version": "10.9.2",
+ "resolved": "https://registry.npmjs.org/jss/-/jss-10.9.2.tgz",
+ "integrity": "sha512-b8G6rWpYLR4teTUbGd4I4EsnWjg7MN0Q5bSsjKhVkJVjhQDy2KzkbD2AW3TuT0RYZVmZZHKIrXDn6kjU14qkUg==",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "csstype": "^3.0.2",
+ "is-in-browser": "^1.1.3",
+ "tiny-warning": "^1.0.2"
+ }
+ },
+ "jss-plugin-camel-case": {
+ "version": "10.9.2",
+ "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.9.2.tgz",
+ "integrity": "sha512-wgBPlL3WS0WDJ1lPJcgjux/SHnDuu7opmgQKSraKs4z8dCCyYMx9IDPFKBXQ8Q5dVYij1FFV0WdxyhuOOAXuTg==",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "hyphenate-style-name": "^1.0.3",
+ "jss": "10.9.2"
+ }
+ },
+ "jss-plugin-default-unit": {
+ "version": "10.9.2",
+ "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.9.2.tgz",
+ "integrity": "sha512-pYg0QX3bBEFtTnmeSI3l7ad1vtHU42YEEpgW7pmIh+9pkWNWb5dwS/4onSfAaI0kq+dOZHzz4dWe+8vWnanoSg==",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "jss": "10.9.2"
+ }
+ },
+ "jss-plugin-global": {
+ "version": "10.9.2",
+ "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.9.2.tgz",
+ "integrity": "sha512-GcX0aE8Ef6AtlasVrafg1DItlL/tWHoC4cGir4r3gegbWwF5ZOBYhx04gurPvWHC8F873aEGqge7C17xpwmp2g==",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "jss": "10.9.2"
+ }
+ },
+ "jss-plugin-nested": {
+ "version": "10.9.2",
+ "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.9.2.tgz",
+ "integrity": "sha512-VgiOWIC6bvgDaAL97XCxGD0BxOKM0K0zeB/ECyNaVF6FqvdGB9KBBWRdy2STYAss4VVA7i5TbxFZN+WSX1kfQA==",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "jss": "10.9.2",
+ "tiny-warning": "^1.0.2"
+ }
+ },
+ "jss-plugin-props-sort": {
+ "version": "10.9.2",
+ "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.9.2.tgz",
+ "integrity": "sha512-AP1AyUTbi2szylgr+O0OB7gkIxEGzySLITZ2GpsaoX72YMCGI2jYAc+WUhPfvUnZYiauF4zTnN4V4TGuvFjJlw==",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "jss": "10.9.2"
+ }
+ },
+ "jss-plugin-rule-value-function": {
+ "version": "10.9.2",
+ "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.9.2.tgz",
+ "integrity": "sha512-vf5ms8zvLFMub6swbNxvzsurHfUZ5Shy5aJB2gIpY6WNA3uLinEcxYyraQXItRHi5ivXGqYciFDRM2ZoVoRZ4Q==",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "jss": "10.9.2",
+ "tiny-warning": "^1.0.2"
+ }
+ },
+ "jss-plugin-vendor-prefixer": {
+ "version": "10.9.2",
+ "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.9.2.tgz",
+ "integrity": "sha512-SxcEoH+Rttf9fEv6KkiPzLdXRmI6waOTcMkbbEFgdZLDYNIP9UKNHFy6thhbRKqv0XMQZdrEsbDyV464zE/dUA==",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "css-vendor": "^2.0.8",
+ "jss": "10.9.2"
+ }
+ },
"jsx-ast-utils": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.2.tgz",
@@ -8459,6 +29473,19 @@
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
"integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
},
+ "lit-element": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-2.5.1.tgz",
+ "integrity": "sha512-ogu7PiJTA33bEK0xGu1dmaX5vhcRjBXCFexPja0e7P7jqLhTpNKYRPmE+GmiCaRVAbiQKGkUgkh/i6+bh++dPQ==",
+ "requires": {
+ "lit-html": "^1.1.1"
+ }
+ },
+ "lit-html": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-1.4.1.tgz",
+ "integrity": "sha512-B9btcSgPYb1q4oSOb/PrOT6Z/H+r6xuNzfH4lFli/AWhYwdtrgQkQWBbIc6mdnf6E2IL3gDXdkkqNktpU0OZQA=="
+ },
"loader-runner": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
@@ -8502,6 +29529,11 @@
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
},
+ "lodash.mergewith": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz",
+ "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ=="
+ },
"lodash.sortby": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
@@ -9027,6 +30059,15 @@
"tslib": "^2.0.3"
}
},
+ "path": {
+ "version": "0.12.7",
+ "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz",
+ "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==",
+ "requires": {
+ "process": "^0.11.1",
+ "util": "^0.10.3"
+ }
+ },
"path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -9173,6 +30214,32 @@
}
}
},
+ "popmotion": {
+ "version": "11.0.5",
+ "resolved": "https://registry.npmjs.org/popmotion/-/popmotion-11.0.5.tgz",
+ "integrity": "sha512-la8gPM1WYeFznb/JqF4GiTkRRPZsfaj2+kCxqQgr2MJylMmIKUwBfWW8Wa5fml/8gmtlD5yI01MP1QCZPWmppA==",
+ "requires": {
+ "framesync": "6.1.2",
+ "hey-listen": "^1.0.8",
+ "style-value-types": "5.1.2",
+ "tslib": "2.4.0"
+ },
+ "dependencies": {
+ "framesync": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.1.2.tgz",
+ "integrity": "sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g==",
+ "requires": {
+ "tslib": "2.4.0"
+ }
+ }
+ }
+ },
+ "popper.js": {
+ "version": "1.16.1-lts",
+ "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1-lts.tgz",
+ "integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA=="
+ },
"postcss": {
"version": "8.4.14",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
@@ -9194,7 +30261,8 @@
"postcss-browser-comments": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz",
- "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg=="
+ "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==",
+ "requires": {}
},
"postcss-calc": {
"version": "8.2.4",
@@ -9292,22 +30360,26 @@
"postcss-discard-comments": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz",
- "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ=="
+ "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==",
+ "requires": {}
},
"postcss-discard-duplicates": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz",
- "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw=="
+ "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==",
+ "requires": {}
},
"postcss-discard-empty": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz",
- "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A=="
+ "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==",
+ "requires": {}
},
"postcss-discard-overridden": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz",
- "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw=="
+ "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==",
+ "requires": {}
},
"postcss-double-position-gradients": {
"version": "3.1.2",
@@ -9329,7 +30401,8 @@
"postcss-flexbugs-fixes": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz",
- "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ=="
+ "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==",
+ "requires": {}
},
"postcss-focus-visible": {
"version": "6.0.4",
@@ -9350,12 +30423,14 @@
"postcss-font-variant": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz",
- "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA=="
+ "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==",
+ "requires": {}
},
"postcss-gap-properties": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz",
- "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg=="
+ "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==",
+ "requires": {}
},
"postcss-image-set-function": {
"version": "4.0.7",
@@ -9378,7 +30453,8 @@
"postcss-initial": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz",
- "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ=="
+ "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==",
+ "requires": {}
},
"postcss-js": {
"version": "4.0.0",
@@ -9419,12 +30495,14 @@
"postcss-logical": {
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz",
- "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g=="
+ "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==",
+ "requires": {}
},
"postcss-media-minmax": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz",
- "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ=="
+ "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==",
+ "requires": {}
},
"postcss-merge-longhand": {
"version": "5.1.6",
@@ -9485,7 +30563,8 @@
"postcss-modules-extract-imports": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
- "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw=="
+ "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
+ "requires": {}
},
"postcss-modules-local-by-default": {
"version": "4.0.0",
@@ -9543,7 +30622,8 @@
"postcss-normalize-charset": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz",
- "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg=="
+ "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==",
+ "requires": {}
},
"postcss-normalize-display-values": {
"version": "5.1.0",
@@ -9636,7 +30716,8 @@
"postcss-page-break": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz",
- "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ=="
+ "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==",
+ "requires": {}
},
"postcss-place": {
"version": "7.0.5",
@@ -9728,7 +30809,8 @@
"postcss-replace-overflow-wrap": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz",
- "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw=="
+ "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==",
+ "requires": {}
},
"postcss-selector-not": {
"version": "6.0.1",
@@ -9845,6 +30927,11 @@
}
}
},
+ "process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A=="
+ },
"process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
@@ -10001,6 +31088,14 @@
"whatwg-fetch": "^3.6.2"
}
},
+ "react-clientside-effect": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.6.tgz",
+ "integrity": "sha512-XGGGRQAKY+q25Lz9a/4EPqom7WRjz3z9R2k4jhVKA/puQFH/5Nt27vFZYql4m4NVNdUvX8PS3O7r/Zzm7cjUlg==",
+ "requires": {
+ "@babel/runtime": "^7.12.13"
+ }
+ },
"react-dev-utils": {
"version": "12.0.1",
"resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz",
@@ -10101,6 +31196,24 @@
"resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz",
"integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg=="
},
+ "react-fast-compare": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz",
+ "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA=="
+ },
+ "react-focus-lock": {
+ "version": "2.9.1",
+ "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.9.1.tgz",
+ "integrity": "sha512-pSWOQrUmiKLkffPO6BpMXN7SNKXMsuOakl652IBuALAu1esk+IcpJyM+ALcYzPTTFz1rD0R54aB9A4HuP5t1Wg==",
+ "requires": {
+ "@babel/runtime": "^7.0.0",
+ "focus-lock": "^0.11.2",
+ "prop-types": "^15.6.2",
+ "react-clientside-effect": "^1.2.6",
+ "use-callback-ref": "^1.3.0",
+ "use-sidecar": "^1.1.2"
+ }
+ },
"react-is": {
"version": "17.0.2",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
@@ -10111,21 +31224,41 @@
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz",
"integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A=="
},
+ "react-remove-scroll": {
+ "version": "2.5.5",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz",
+ "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==",
+ "requires": {
+ "react-remove-scroll-bar": "^2.3.3",
+ "react-style-singleton": "^2.2.1",
+ "tslib": "^2.1.0",
+ "use-callback-ref": "^1.3.0",
+ "use-sidecar": "^1.1.2"
+ }
+ },
+ "react-remove-scroll-bar": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.3.tgz",
+ "integrity": "sha512-i9GMNWwpz8XpUpQ6QlevUtFjHGqnPG4Hxs+wlIJntu/xcsZVEpJcIV71K3ZkqNy2q3GfgvkD7y6t/Sv8ofYSbw==",
+ "requires": {
+ "react-style-singleton": "^2.2.1",
+ "tslib": "^2.0.0"
+ }
+ },
"react-router": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.3.0.tgz",
- "integrity": "sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==",
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.4.0.tgz",
+ "integrity": "sha512-B+5bEXFlgR1XUdHYR6P94g299SjrfCBMmEDJNcFbpAyRH1j1748yt9NdDhW3++nw1lk3zQJ6aOO66zUx3KlTZg==",
"requires": {
- "history": "^5.2.0"
+ "@remix-run/router": "1.0.0"
}
},
"react-router-dom": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.3.0.tgz",
- "integrity": "sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==",
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.4.0.tgz",
+ "integrity": "sha512-4Aw1xmXKeleYYQ3x0Lcl2undHR6yMjXZjd9DKZd53SGOYqirrUThyUb0wwAX5VZAyvSuzjNJmZlJ3rR9+/vzqg==",
"requires": {
- "history": "^5.2.0",
- "react-router": "6.3.0"
+ "react-router": "6.4.0"
}
},
"react-scripts": {
@@ -10181,6 +31314,23 @@
"webpack-dev-server": "^4.6.0",
"webpack-manifest-plugin": "^4.0.2",
"workbox-webpack-plugin": "^6.4.1"
+ },
+ "dependencies": {
+ "dotenv": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz",
+ "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q=="
+ }
+ }
+ },
+ "react-style-singleton": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz",
+ "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==",
+ "requires": {
+ "get-nonce": "^1.0.0",
+ "invariant": "^2.2.4",
+ "tslib": "^2.0.0"
}
},
"react-transition-group": {
@@ -10887,6 +32037,21 @@
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="
},
+ "string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "requires": {
+ "safe-buffer": "~5.2.0"
+ },
+ "dependencies": {
+ "safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
+ }
+ }
+ },
"string-length": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
@@ -10953,21 +32118,6 @@
"es-abstract": "^1.19.5"
}
},
- "string_decoder": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
- "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
- "requires": {
- "safe-buffer": "~5.2.0"
- },
- "dependencies": {
- "safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
- }
- }
- },
"stringify-object": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz",
@@ -11017,7 +32167,22 @@
"style-loader": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz",
- "integrity": "sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ=="
+ "integrity": "sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==",
+ "requires": {}
+ },
+ "style-mod": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.0.0.tgz",
+ "integrity": "sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw=="
+ },
+ "style-value-types": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/style-value-types/-/style-value-types-5.1.2.tgz",
+ "integrity": "sha512-Vs9fNreYF9j6W2VvuDTP7kepALi7sk0xtk2Tu8Yxi9UoajJdEVpNpCov0HsLTqXvNGKX+Uv09pkozVITi1jf3Q==",
+ "requires": {
+ "hey-listen": "^1.0.8",
+ "tslib": "2.4.0"
+ }
},
"stylehacks": {
"version": "5.1.0",
@@ -11279,6 +32444,16 @@
"resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
"integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA=="
},
+ "tiny-invariant": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz",
+ "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw=="
+ },
+ "tiny-warning": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
+ "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
+ },
"tmpl": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
@@ -11297,6 +32472,11 @@
"is-number": "^7.0.0"
}
},
+ "toggle-selection": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
+ "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ=="
+ },
"toidentifier": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
@@ -11413,6 +32593,12 @@
"is-typedarray": "^1.0.0"
}
},
+ "typescript": {
+ "version": "4.8.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.3.tgz",
+ "integrity": "sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==",
+ "peer": true
+ },
"unbox-primitive": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
@@ -11456,6 +32642,22 @@
"crypto-random-string": "^2.0.0"
}
},
+ "universal-cookie": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/universal-cookie/-/universal-cookie-4.0.4.tgz",
+ "integrity": "sha512-lbRVHoOMtItjWbM7TwDLdl8wug7izB0tq3/YVKhT/ahB4VDvWMyvnADfnJI8y6fSvsjh51Ix7lTGC6Tn4rMPhw==",
+ "requires": {
+ "@types/cookie": "^0.3.3",
+ "cookie": "^0.4.0"
+ },
+ "dependencies": {
+ "cookie": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
+ "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA=="
+ }
+ }
+ },
"universalify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
@@ -11493,6 +32695,44 @@
"punycode": "^2.1.0"
}
},
+ "use-callback-ref": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz",
+ "integrity": "sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==",
+ "requires": {
+ "tslib": "^2.0.0"
+ }
+ },
+ "use-sidecar": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz",
+ "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==",
+ "requires": {
+ "detect-node-es": "^1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "use-sync-external-store": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
+ "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
+ "requires": {}
+ },
+ "util": {
+ "version": "0.10.4",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
+ "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
+ "requires": {
+ "inherits": "2.0.3"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw=="
+ }
+ }
+ },
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -11552,6 +32792,11 @@
"browser-process-hrtime": "^1.0.0"
}
},
+ "w3c-keyname": {
+ "version": "2.2.6",
+ "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.6.tgz",
+ "integrity": "sha512-f+fciywl1SJEniZHD6H+kUO8gOnwIr7f4ijKA6+ZvJFjeGi1r4PDLl53Ayud9O/rk64RqgoQine0feoeOU0kXg=="
+ },
"w3c-xmlserializer": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
@@ -11770,7 +33015,8 @@
"ws": {
"version": "8.8.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz",
- "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA=="
+ "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==",
+ "requires": {}
}
}
},
@@ -12204,7 +33450,8 @@
"ws": {
"version": "7.5.9",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
- "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q=="
+ "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
+ "requires": {}
},
"xml-name-validator": {
"version": "3.0.0",
@@ -12264,6 +33511,14 @@
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
"integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="
+ },
+ "zustand": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.1.2.tgz",
+ "integrity": "sha512-gcRaKchcxFPbImrBb/BKgujOhHhik9YhVpIeP87ETT7uokEe2Szu7KkuZ9ghjtD+/KKkcrRNktR2AiLXPIbKIQ==",
+ "requires": {
+ "use-sync-external-store": "1.2.0"
+ }
}
}
}
diff --git a/frontend/package.json b/frontend/package.json
index e9e7b06..0f189ba 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -3,19 +3,36 @@
"version": "0.1.0",
"private": true,
"dependencies": {
- "@emotion/react": "^11.9.3",
+ "@chakra-ui/react": "^2.3.5",
+ "@emotion/react": "^11.10.4",
"@emotion/styled": "^11.9.3",
+ "@fortawesome/fontawesome-svg-core": "^6.2.0",
+ "@fortawesome/free-regular-svg-icons": "^6.2.0",
+ "@fortawesome/free-solid-svg-icons": "^6.2.0",
+ "@fortawesome/react-fontawesome": "^0.2.0",
+ "@material-ui/core": "^4.12.4",
+ "@material-ui/icons": "^4.11.3",
+ "@mui/icons-material": "^5.10.6",
"@mui/material": "^5.9.1",
"@testing-library/jest-dom": "^5.16.4",
"@testing-library/react": "^13.3.0",
"@testing-library/user-event": "^13.5.0",
+ "@uiw/react-codemirror": "^4.12.4",
"axios": "^0.27.2",
+ "codemirror": "^5.63.0",
+ "dotenv-webpack": "^8.0.1",
+ "fa-icons": "^0.2.0",
+ "framer-motion": "^7.5.3",
+ "js-base64": "^3.7.2",
+ "path": "^0.12.7",
"react": "^18.2.0",
"react-dom": "^18.2.0",
- "react-router-dom": "^6.3.0",
+ "react-router-dom": "^6.4.0",
"react-scripts": "5.0.1",
"socket.io-client": "^4.5.1",
- "web-vitals": "^2.1.4"
+ "universal-cookie": "^4.0.4",
+ "web-vitals": "^2.1.4",
+ "zustand": "^4.1.2"
},
"scripts": {
"start": "react-scripts start",
diff --git a/frontend/src/App.css b/frontend/src/App.css
new file mode 100644
index 0000000..93e2052
--- /dev/null
+++ b/frontend/src/App.css
@@ -0,0 +1,3 @@
+.App {
+
+}
\ No newline at end of file
diff --git a/frontend/src/App.js b/frontend/src/App.js
index 6b1a67c..e54bd98 100644
--- a/frontend/src/App.js
+++ b/frontend/src/App.js
@@ -1,15 +1,73 @@
-import {BrowserRouter as Router, Routes, Route, Navigate} from "react-router-dom";
-import SignupPage from './components/SignupPage';
-import {Box} from "@mui/material";
+import {
+ BrowserRouter as Router,
+ Routes,
+ Route,
+ Navigate,
+} from "react-router-dom";
+import SignupPage from "./components/SignupPage";
+import LoginPage from "./components/LoginPage";
+import DifficultyPage from "./components/DifficultyPage";
+import FindingMatchPage from "./components/FindingMatchPage";
+import RoomPage from "./components/RoomPage";
+import ProtectedRoute from "./components/ProtectedRoute";
+import HomePage from "./components/HomePage";
+import ChatPage from "./components/ChatPage";
+import Profile from "./components/Profile";
+import UpdatePass from "./components/UpdatePass";
+import About from "./components/About";
+import { Box } from "@mui/material";
+import Navbar from "./components/Navbar";
+import EndPage from "./components/EndPage";
+import './App.css';
function App() {
return (
-
+
+
- }>
- }/>
+ }
+ >
+ } />
+ } />
+
+
+
+ }
+ />
+ {/*
+
+
+ }
+ /> */}
+ } />
+ {/* } /> */}
+ } />
+ } />
+ }
+ />
+ }
+ />
+ } />
diff --git a/frontend/src/components/About.js b/frontend/src/components/About.js
new file mode 100644
index 0000000..3592515
--- /dev/null
+++ b/frontend/src/components/About.js
@@ -0,0 +1,9 @@
+function About() {
+ return (
+ <>
+ About Us Page under construciton
+ >
+ );
+}
+
+export default About;
\ No newline at end of file
diff --git a/frontend/src/components/ChatPage.js b/frontend/src/components/ChatPage.js
new file mode 100644
index 0000000..86b5505
--- /dev/null
+++ b/frontend/src/components/ChatPage.js
@@ -0,0 +1,199 @@
+import {
+ Box,
+ Paper,
+ TextField,
+ Button
+} from "@mui/material";
+import Grid2 from '@mui/material/Unstable_Grid2';
+import { styled } from '@mui/material/styles';
+import SendIcon from '@mui/icons-material/Send';
+import {useEffect, useState, useRef} from "react";
+import io from 'socket.io-client';
+
+
+const MessageButton = styled(Button)`
+ padding: 5px;
+ width: 100%;
+ height: 100%;
+ border: 1px solid rgb(196,196,196);
+ min-width: 100%;
+
+`;
+
+const MessageField = styled(TextField)`
+ width: 100%;
+`;
+
+const MessageBar = styled(Box)`
+ margin: 5px 0px 5px 0px;
+ padding: 0px;
+`;
+
+const MessageRight = styled(Box)`
+ margin: 5px 10px;
+ margin-left: 40%;
+ padding: 0.8em;
+ background: lightblue;
+ min-width: 11%
+ max-width: 60%;
+ position: relative;
+ float: right;
+ border-radius: 4px;
+`;
+
+const MessageLeft = styled(Box)`
+ margin: 5px 10px;
+ margin-right: 40%;
+ padding: 15px;
+ background: lightgrey;
+ min-width: 11%
+ max-width: 60%;
+ position: relative;
+ float: left;
+ border-radius: 4px;
+`;
+
+const ChatBox = styled(Paper)`
+ height: calc(100% - 60px);
+ // margin-left: 10px;
+ // margin-right: 10px;
+ padding: 5px;
+ width: calc(100% - 10px);
+ overflow-y: scroll;
+ //border: 1px solid rgb(160, 169, 191);
+`;
+
+const ChatWindow = styled(Paper)`
+ height: 290px;
+ width: calc(100% - 10px);
+ padding: 5px;
+`;
+
+function ChatPage(username, roomId) {
+ const [messages, setMessage] = useState([]);
+ const [chat, setChat] = useState('');
+
+ const socket = io('http://' + process.env.REACT_APP_CHAT_SERVER_IP + ':' + process.env.REACT_APP_CHAT_SERVER_PORT);
+ const body = useRef();
+
+ function postMessage(event) {
+ event.preventDefault()
+ if (chat && chat.match(/^ *$/) === null) {
+ socket.emit("sendMessage", { roomId: roomId, message: chat, username: username})
+ setChat('');
+ }
+ }
+
+ useEffect(() => {
+ socket.on("connect", () => {
+ socket.emit("joinRoom", {roomId: roomId});
+ });
+ socket.on("newMessage", (data) => {
+ setMessage((state) => [
+ ...state,
+ {
+ username: data.username,
+ message: data.message,
+ },
+ ]);
+ });
+ socket.on("updateChatLog", (data) => {
+ setMessage(data);
+ });
+ return () => {
+ socket.off('connect');
+ socket.off('newMessage');
+ socket.off('updateChatLog');
+ }
+ }, [username, roomId]);
+
+ useEffect(() => {
+ if (body.current) {
+ body.current.scrollTo({
+ left: 0,
+ top: body.current.scrollHeight,
+ behavior: 'smooth'
+ })
+ }
+ },
+ [messages])
+
+
+ return (
+
+
+ <>
+ {messages.map((msg, i) => {
+ if (msg.username === username) {
+ return
+ {msg.message}
+
+ } else {
+ return
+ {msg.message}
+
+ }
+ })}
+ >
+
+
+
+
+
+ )
+}
+
+export default ChatPage;
diff --git a/frontend/src/components/CodeEditor.css b/frontend/src/components/CodeEditor.css
new file mode 100644
index 0000000..1f0e0fc
--- /dev/null
+++ b/frontend/src/components/CodeEditor.css
@@ -0,0 +1,3 @@
+#code-editor {
+ border: solid #ddd 1px;
+}
\ No newline at end of file
diff --git a/frontend/src/components/CodeEditor.js b/frontend/src/components/CodeEditor.js
new file mode 100644
index 0000000..fda5e22
--- /dev/null
+++ b/frontend/src/components/CodeEditor.js
@@ -0,0 +1,125 @@
+import { Box, Typography } from "@mui/material";
+import InputLabel from "@mui/material/InputLabel";
+import MenuItem from "@mui/material/MenuItem";
+import FormControl from "@mui/material/FormControl";
+import Select from "@mui/material/Select";
+import React, { useEffect, useState } from "react";
+import "codemirror/lib/codemirror.css";
+import "codemirror/mode/javascript/javascript";
+import "codemirror/mode/python/python";
+import "codemirror/mode/go/go";
+import "codemirror/mode/dockerfile/dockerfile";
+import "codemirror/mode/rust/rust";
+import CodeMirror from "codemirror";
+import io from "socket.io-client";
+import Cookies from "universal-cookie";
+import { Text } from "@chakra-ui/react";
+import "./CodeEditor.css";
+
+const CodeEditor = (params) => {
+ console.log(params);
+ const [users, setUsers] = useState([]);
+ const cookies = new Cookies();
+ const modeCookie = cookies.get("mode")
+ const [mode, setMode] = useState(
+ modeCookie === undefined ? "javascript" : modeCookie
+ );
+
+ const handleChange = (event) => {
+ setMode(event.target.value);
+ cookies.set("mode", event.target.value);
+ window.location.reload(false);
+ };
+
+ useEffect(() => {
+ var editor = CodeMirror.fromTextArea(
+ document.getElementById("code-editor"),
+ {
+ lineNumbers: true,
+ mode: mode,
+ matchBrackets: true,
+ }
+ );
+
+ const socket = io(
+ "http://" +
+ process.env.REACT_APP_COLLAB_SERVER_IP +
+ ":" +
+ process.env.REACT_APP_COLLAB_SERVER_PORT,
+ {
+ transports: ["websocket"],
+ }
+ );
+
+ socket.on("codeChange", (code) => {
+ console.log("codeChange triggered", code);
+ editor.setValue(code);
+ });
+
+ socket.on("connect_error", (err) => {
+ console.log(
+ `Client-side socket connection error due to ${err.message}`
+ );
+ });
+
+ socket.on("connect", () => {
+ console.log(
+ `socketid is ${socket.id},roomID is ${
+ params.roomId
+ } and userID is ${
+ params.username
+ } annd its type is ${typeof params.username}`
+ );
+ socket.emit("roomConnect", {
+ roomId: params.roomId,
+ username: params.username,
+ });
+ });
+
+ socket.on("disconnect", () => {
+ console.log("Client side disconnected");
+ });
+
+ socket.on("roomConnect", (room) => {
+ console.log(`roomConnect user triggered`);
+ editor.setValue(room.code);
+ setUsers(room.users);
+ });
+
+ editor.on("change", (instance, changes) => {
+ const { origin } = changes;
+ if (origin !== "setValue") {
+ socket.emit("codeChange", instance.getValue());
+ }
+ });
+ }, [mode]);
+
+ return (
+
+ {/*
+ How many people are connected: {users.length}
+ */}
+
+
+ Mode
+
+
+
+
+
+ );
+};
+
+export default CodeEditor;
diff --git a/frontend/src/components/DataStore.js b/frontend/src/components/DataStore.js
new file mode 100644
index 0000000..825cc5f
--- /dev/null
+++ b/frontend/src/components/DataStore.js
@@ -0,0 +1,8 @@
+import create from "zustand";
+
+export const useStore = create((set) => ({
+ username: null,
+ roomId: null,
+ setUsername: (username) => set(() => ({ username })),
+ setRoomId: (roomId) => set(() => ({ roomId: roomId })),
+}));
diff --git a/frontend/src/components/DifficultyPage.js b/frontend/src/components/DifficultyPage.js
new file mode 100644
index 0000000..fb510de
--- /dev/null
+++ b/frontend/src/components/DifficultyPage.js
@@ -0,0 +1,202 @@
+import {
+ Box,
+ Button,
+ ToggleButton,
+ ToggleButtonGroup,
+ Typography,
+ Card,
+ CardActions,
+ CardContent
+} from "@mui/material";
+import './ToggleButtonCard.css'
+import { ThemeProvider, createTheme } from '@mui/material/styles';
+import { toggleButtonCardTheme } from "./Themes";
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+import { faStar as faSolidStar } from "@fortawesome/free-solid-svg-icons";
+import { faStar as faRegStar } from "@fortawesome/free-regular-svg-icons";
+import {useState} from "react";
+import {useNavigate} from "react-router-dom";
+import io from 'socket.io-client';
+
+const socket = io('http://' + process.env.REACT_APP_MATCH_SERVER_IP + ':' + process.env.REACT_APP_MATCH_SERVER_PORT);
+
+const ToggleButtonCardSX = {
+ "&:hover": {
+ backgroundColor: 'hsla(213, 100%, 50%, 0.3)' //color of normal button when hovered
+ },
+ "&.Mui-selected": {
+ backgroundColor: 'hsla(213, 90%, 50%, 0.4)' //color of selected button
+ },
+ "&.Mui-selected:hover": {
+ // color of selected button when hovered
+ backgroundColor: 'hsla(213, 100%, 50%, 0.4)'
+ },
+ backgroundColor: 'hsla(213, 80%, 50%, 0.2)' //default color
+}
+
+
+const ToggleButtonCardGroupSX = {
+ "&.MuiToggleButtonGroup-root .MuiToggleButtonGroup-grouped:not(:last-of-type)": {
+ borderTopRightRadius: '4px',
+ borderBottomRightRadius: '4px'
+ },
+ "&.MuiToggleButtonGroup-root .MuiToggleButtonGroup-grouped:not(:first-of-type)": {
+ borderTopLeftRadius: '4px',
+ borderBottomLeftRadius: '4px',
+ borderLeft: '1px solid rgba(0, 0, 0, 0.12)',
+ },
+ minHeight: 225
+}
+
+const FindMatchButtonSX = {
+ "&.MuiToggleButtonGroup-root .MuiToggleButtonGroup-grouped:not(:last-of-type)": {
+ borderTopRightRadius: '4px',
+ borderBottomRightRadius: '4px'
+ },
+ "&.MuiToggleButtonGroup-root .MuiToggleButtonGroup-grouped:not(:first-of-type)": {
+ borderTopLeftRadius: '4px',
+ borderBottomLeftRadius: '4px',
+ borderLeft: '1px solid rgba(0, 0, 0, 0.12)',
+ },
+ "&:hover": {
+ //color of button when hovered
+ backgroundColor: 'hsla(213, 100%, 50%, 0.3)',
+ color: '#1976d2'
+ },
+ //default color
+ backgroundColor: 'hsla(213, 80%, 50%, 0.2)',
+ color: "rgba(0, 0, 0, 0.54)",
+ fontSize: 50,
+ minWidth: 705,
+ minHeight: 200,
+ boxShadow: "0px 2px 1px -1px rgb(0 0 0 / 20%), 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%)",
+ border: "1px solid rgba(0, 0, 0, 0.12)",
+}
+
+function DifficultyPage() {
+
+ const [difficulty, setDifficulty] = useState(['Easy'])
+ const navigate = useNavigate()
+
+ const handleDifficulty = (
+ event,
+ newDifficulty
+ ) => {
+ setDifficulty([newDifficulty])
+ console.log(newDifficulty)
+ //setDifficulty(newDifficulty) //uncomment for single selection difficulty
+
+ }
+
+ const handleFindMatch = () => {
+ if (difficulty.length === 0) {
+ console.log('Error! At least 1 difficulty level must be selected')
+ return
+ }
+ console.log(difficulty[0])
+ let randomUsername = (Math.random() + 1).toString(36).substring(7)//stub username
+ navigate(`/findmatch`, {
+ state: {
+ username: randomUsername,
+ difficulty: difficulty,
+ }
+ })
+ }
+
+ return (
+
+
+ Choose your difficulty!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ )
+}
+
+export default DifficultyPage;
diff --git a/frontend/src/components/EndPage.js b/frontend/src/components/EndPage.js
new file mode 100644
index 0000000..1be5e0b
--- /dev/null
+++ b/frontend/src/components/EndPage.js
@@ -0,0 +1,9 @@
+function EndPage() {
+ return (
+ <>
+ Hope to see you again!
+ >
+ );
+}
+
+export default EndPage;
\ No newline at end of file
diff --git a/frontend/src/components/FindingMatchPage.js b/frontend/src/components/FindingMatchPage.js
new file mode 100644
index 0000000..8abaf7a
--- /dev/null
+++ b/frontend/src/components/FindingMatchPage.js
@@ -0,0 +1,301 @@
+import {
+ Box,
+ Button,
+ ToggleButton,
+ ToggleButtonGroup,
+ Typography,
+ CircularProgress,
+ Card,
+ CardActions,
+ CardContent
+} from "@mui/material";
+import {useEffect, useState} from "react";
+import {useLocation, useNavigate} from "react-router-dom";
+import io from 'socket.io-client';
+
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+import { faStar as faSolidStar } from "@fortawesome/free-solid-svg-icons";
+import { faStar as faRegStar } from "@fortawesome/free-regular-svg-icons";
+
+const socket = io('http://' + process.env.REACT_APP_MATCH_SERVER_IP + ':' + process.env.REACT_APP_MATCH_SERVER_PORT);
+
+
+const ToggleButtonCardSX = {
+ "&:hover": {
+ backgroundColor: 'hsla(213, 100%, 50%, 0.3)' //color of normal button when hovered
+ },
+ "&.Mui-selected": {
+ backgroundColor: 'hsla(213, 90%, 50%, 0.4)' //color of selected button
+ },
+ "&.Mui-selected:hover": {
+ // color of selected button when hovered
+ backgroundColor: 'hsla(213, 100%, 50%, 0.4)'
+ },
+ backgroundColor: 'hsla(213, 80%, 50%, 0.2)' //default color
+}
+
+
+const ToggleButtonCardGroupSX = {
+ "&.MuiToggleButtonGroup-root .MuiToggleButtonGroup-grouped:not(:last-of-type)": {
+ borderTopRightRadius: '4px',
+ borderBottomRightRadius: '4px'
+ },
+ "&.MuiToggleButtonGroup-root .MuiToggleButtonGroup-grouped:not(:first-of-type)": {
+ borderTopLeftRadius: '4px',
+ borderBottomLeftRadius: '4px',
+ borderLeft: '1px solid rgba(0, 0, 0, 0.12)',
+ },
+ minHeight: 225
+}
+
+const FindMatchButtonSX = {
+ "&.MuiToggleButtonGroup-root .MuiToggleButtonGroup-grouped:not(:last-of-type)": {
+ borderTopRightRadius: '4px',
+ borderBottomRightRadius: '4px'
+ },
+ "&.MuiToggleButtonGroup-root .MuiToggleButtonGroup-grouped:not(:first-of-type)": {
+ borderTopLeftRadius: '4px',
+ borderBottomLeftRadius: '4px',
+ borderLeft: '1px solid rgba(0, 0, 0, 0.12)',
+ },
+ "&:hover": {
+ //color of button when hovered
+ backgroundColor: 'hsla(213, 100%, 50%, 0.3)',
+ color: '#1976d2'
+ },
+ //default color
+ backgroundColor: 'hsla(213, 80%, 50%, 0.2)',
+ color: "rgba(0, 0, 0, 0.54)",
+ fontSize: 50,
+ minWidth: 705,
+ minHeight: 200,
+ boxShadow: "0px 2px 1px -1px rgb(0 0 0 / 20%), 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%)",
+ border: "1px solid rgba(0, 0, 0, 0.12)",
+}
+
+function FindingMatchPage() {
+ const [difficulty, setDifficulty] = useState(['Easy'])
+ const navigate = useNavigate()
+
+ const handleDifficulty = (
+ event,
+ newDifficulty
+ ) => {
+ setDifficulty([newDifficulty]) //uncomment for single selection difficulty
+ //setDifficulty(newDifficulty)
+
+ }
+
+
+ const TIME_LIMIT = 30*1000
+ const [findMatchFailed, setFindMatchFailed] = useState(false)
+ const [percentageTimeLeft, setPercentageTimeLeft] = useState(100)
+ const [timeLeft, setTimeLeft] = useState(TIME_LIMIT/1000)
+ const [isFindingMatch, setIsFindingMatch] = useState(false)
+
+ const location = useLocation()
+
+ // TODO:
+ // 1. Console log time left every second
+ // 2. Create countdown timer based on time left state. Button to trigger
+ // 2a. Add handler to route to this page from DifficultyPage onClick FindMatch
+
+ // 3. Connect page to Socket.io
+ // 4. Emit find match event to server
+ // 5. Change timer trigger to after emit find match
+
+ const handleMatchFound = (roomId, question) => {
+ navigate(`/room/${roomId}`, {state: {question: question}})
+ }
+
+ useEffect(() => {
+ console.log("mounting has occurred")
+
+ if (!findMatchFailed) {
+ handleTimer()
+ socket.emit('matchInit', {username: location.state.username, difficulty: location.state.difficulty[0]})
+ }
+
+ socket.on('matchSuccess', (roomId, question) => {
+ if (!roomId) roomId = -1
+ console.log(roomId);
+ console.log("roomId");
+ console.log(question);
+ console.log("question");
+ console.log(`Match found. Room ID is ${roomId}`)
+ handleMatchFound(roomId, question)
+ })
+
+ socket.on('matchFailure', (message) => {
+ console.log('Unable to find match.')
+ console.log(message)
+ setIsFindingMatch(false) // re-enable find match button
+ setFindMatchFailed(true)
+ })
+
+ return () => {
+ socket.off('connection');
+ socket.off('matchSuccess');
+ socket.off('matchFailure');
+ };
+ }, []);
+
+ const handleFindMatch = () => {
+ if (difficulty.length === 0) {
+ console.log('Error! At least 1 difficulty level must be selected')
+ return
+ }
+ handleTimer()
+ console.log(difficulty[0])
+ socket.emit('matchInit', {username: location.state.username, difficulty: difficulty[0]})
+ }
+
+
+ const handleTimer = () => {
+ setIsFindingMatch(true)
+ const startTime = Date.now()
+ const updateTimer = () => {
+
+ const currTime = Date.now()
+
+ const timePassed = currTime-startTime
+
+ const remainingTime = TIME_LIMIT - timePassed;
+
+ if (remainingTime < 0) {
+ setPercentageTimeLeft(0) // prevent wonky -ve values
+ setTimeLeft(0)
+ console.log('30s has passed in client')
+ setIsFindingMatch(false)
+ } else {
+ setTimeLeft(Math.round(remainingTime/1000))
+ setPercentageTimeLeft(Math.round(remainingTime/TIME_LIMIT*100))
+ setTimeout(updateTimer, 100)
+ }
+ }
+
+ //setTimeout every 0.5s, update time left by subtracting
+ setTimeout(updateTimer, 100)
+ }
+
+ return (
+ <>
+ {!isFindingMatch &&
+
+
+ {!findMatchFailed ? 'Select a difficulty level' : 'Unable to find match. Try again?'}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ }
+ {isFindingMatch &&
+
+
+ Finding a match...
+
+ {isFindingMatch &&
+ {timeLeft+'s'}
+ }
+ {isFindingMatch && }
+
+ }
+ >
+ )
+}
+
+export default FindingMatchPage;
diff --git a/frontend/src/components/HomePage.js b/frontend/src/components/HomePage.js
new file mode 100644
index 0000000..96f7e38
--- /dev/null
+++ b/frontend/src/components/HomePage.js
@@ -0,0 +1,15 @@
+import {
+ Box,
+ Typography
+} from "@mui/material";
+
+function HomePage() {
+
+ return (
+
+ Welcome to PeerPrep
+
+ )
+}
+
+export default HomePage;
diff --git a/frontend/src/components/LoginPage.js b/frontend/src/components/LoginPage.js
new file mode 100644
index 0000000..4611bab
--- /dev/null
+++ b/frontend/src/components/LoginPage.js
@@ -0,0 +1,194 @@
+import {
+ Box,
+ Button,
+ Dialog,
+ DialogActions,
+ DialogContent,
+ DialogContentText,
+ DialogTitle,
+ TextField,
+ Grid,
+ Typography,
+} from "@mui/material";
+import { useState } from "react";
+import { makeStyles } from "@material-ui/core/styles";
+import Paper from "@material-ui/core/Paper";
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+import { faLaptopCode } from "@fortawesome/free-solid-svg-icons";
+import CssBaseline from "@material-ui/core/CssBaseline";
+import axios from "axios";
+import { URL_USER_SVC } from "../configs";
+import {
+ STATUS_CODE_SUCCESS,
+ STATUS_CODE_WRONG_CREDENTIALS,
+} from "../constants";
+
+import { Link, useNavigate } from "react-router-dom";
+import Cookies from "universal-cookie";
+function LoginPage() {
+ const [username, setUsername] = useState("");
+ const [password, setPassword] = useState("");
+ const [isDialogOpen, setIsDialogOpen] = useState(false);
+ const [dialogTitle, setDialogTitle] = useState("");
+ const [dialogMsg, setDialogMsg] = useState("");
+ const cookies = new Cookies();
+ const [isLoginSuccess, setisLoginSuccess] = useState(false);
+ const navigate = useNavigate();
+
+ const handleLogin = async () => {
+ setisLoginSuccess(false);
+ const res = await axios
+ .post(URL_USER_SVC + "/login", { username, password })
+ .catch((err) => {
+ if (err.response.status === STATUS_CODE_WRONG_CREDENTIALS) {
+ setErrorDialog("Wrong credentials provided");
+ } else {
+ setErrorDialog("Please try again later");
+ }
+ });
+ if (res && res.status === STATUS_CODE_SUCCESS) {
+ setSuccessDialog("Login Success");
+ cookies.set("token", res.data.token);
+ cookies.set("username", username);
+ setisLoginSuccess(true);
+ navigate("/difficulty");
+ }
+ };
+
+ const closeDialog = () => setIsDialogOpen(false);
+
+ const setSuccessDialog = (msg) => {
+ setIsDialogOpen(true);
+ setDialogTitle("Success");
+ setDialogMsg(msg);
+ };
+
+ const setErrorDialog = (msg) => {
+ setIsDialogOpen(true);
+ setDialogTitle("Error");
+ setDialogMsg(msg);
+ };
+
+ const useStyles = makeStyles((theme) => ({
+ root: {
+ height: "100vh",
+ },
+ image: {
+ backgroundImage:
+ "url(https://images.unsplash.com/photo-1618005198919-d3d4b5a92ead?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1074&q=80)",
+ backgroundRepeat: "no-repeat",
+ backgroundSize: "cover",
+ backgroundPosition: "center",
+ },
+ paper: {
+ margin: theme.spacing(8, 4),
+ display: "flex",
+ flexDirection: "column",
+ alignItems: "center",
+ },
+ avatar: {
+ margin: theme.spacing(1),
+ backgroundColor: theme.palette.secondary.main,
+ },
+ form: {
+ width: "100%",
+ marginTop: theme.spacing(1),
+ },
+ submit: {
+ margin: theme.spacing(3, 0, 2),
+ },
+ }));
+
+ const classes = useStyles();
+
+ return (
+ <>
+
+
+
+
+
+
+
+ Sign in
+
+
+
+
+
+
+ >
+ );
+}
+
+export default LoginPage;
diff --git a/frontend/src/components/Navbar.css b/frontend/src/components/Navbar.css
new file mode 100644
index 0000000..e7505f9
--- /dev/null
+++ b/frontend/src/components/Navbar.css
@@ -0,0 +1,4 @@
+.navBar {
+ background: var(--navbar-background);
+ height: var(--nav-size)
+}
\ No newline at end of file
diff --git a/frontend/src/components/Navbar.js b/frontend/src/components/Navbar.js
new file mode 100644
index 0000000..8665b04
--- /dev/null
+++ b/frontend/src/components/Navbar.js
@@ -0,0 +1,189 @@
+import React, { useState, useEffect } from "react";
+import { Link, useLocation, useNavigate } from "react-router-dom";
+import {
+ AppBar,
+ Box,
+ IconButton,
+ Tooltip,
+ Avatar,
+ Tab,
+ Tabs,
+ Toolbar,
+ Typography,
+ Menu,
+ MenuItem,
+} from "@mui/material";
+import axios from "axios";
+import "./Navbar.css";
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+import { faLaptopCode } from "@fortawesome/free-solid-svg-icons";
+import Cookies from "universal-cookie";
+import { URL_USER_SVC } from "../configs";
+import {
+ STATUS_CODE_INTERNAL_SERVER_ERROR,
+ STATUS_CODE_SUCCESS,
+} from "../constants";
+function Navbar() {
+ const [value, setValue] = useState();
+ const location = useLocation();
+ const [anchorElUser, setAnchorElUser] = React.useState(null);
+ const handleOpenUserMenu = (event) => {
+ setAnchorElUser(event.currentTarget);
+ };
+ const settings = [
+ // { text: "Profile", href: "/profile" },
+ { text: "Change Password", href: "/passChange" },
+ ];
+ const [isActive, setIsActive] = useState(false);
+ const [isDialogOpen, setIsDialogOpen] = useState(false);
+ const [dialogTitle, setDialogTitle] = useState("");
+ const [dialogMsg, setDialogMsg] = useState("");
+ const cookies = new Cookies();
+ const navigate = useNavigate();
+ const handleCloseUserMenu = () => {
+ setAnchorElUser(null);
+ };
+ const setErrorDialog = (msg) => {
+ setIsDialogOpen(true);
+ setDialogTitle("Error");
+ setDialogMsg(msg);
+ };
+ const handleLogout = async () => {
+ const res = await axios
+ .post(URL_USER_SVC + "/logout", {})
+ .catch((err) => {
+ if (err.response.status === STATUS_CODE_INTERNAL_SERVER_ERROR) {
+ cookies.remove("token");
+ cookies.remove("username");
+ navigate("/login");
+ } else {
+ setErrorDialog("Please try again later");
+ }
+ });
+ if (res && res.status === STATUS_CODE_SUCCESS) {
+ cookies.remove("token");
+ cookies.remove("username");
+ navigate("/login");
+ }
+ };
+ useEffect(() => {
+ let path = location.pathname;
+ if (path.includes("login") || path.includes("signup")) {
+ setIsActive(false);
+ } else {
+ setIsActive(true);
+ }
+ }, [location.pathname]);
+
+ axios.interceptors.request.use(
+ (config) => {
+ config.headers.authorization = `Bearer ${cookies.get("token")}`;
+ return config;
+ },
+ (error) => {
+ return Promise.reject(error);
+ }
+ );
+
+ return (
+
+
+ {isActive && (
+
+
+
+ Peerprep
+ {
+ <>
+ setValue(value)}
+ >
+ {/* {isActive && }
+ */}
+ {isActive && (
+
+ )}
+
+ {isActive && (
+
+
+
+
+
+
+
+
+ )}
+ >
+ }
+
+
+ )}
+
+ );
+}
+
+export default Navbar;
diff --git a/frontend/src/components/Profile.js b/frontend/src/components/Profile.js
new file mode 100644
index 0000000..804a548
--- /dev/null
+++ b/frontend/src/components/Profile.js
@@ -0,0 +1,11 @@
+function Profile() {
+ return (
+ <>
+ Username:
+ Questions solved:
+ Sessions participated:
+ >
+ );
+}
+
+export default Profile;
\ No newline at end of file
diff --git a/frontend/src/components/ProtectedRoute.js b/frontend/src/components/ProtectedRoute.js
new file mode 100644
index 0000000..0266f7f
--- /dev/null
+++ b/frontend/src/components/ProtectedRoute.js
@@ -0,0 +1,13 @@
+import { Navigate } from "react-router-dom";
+import Cookies from "universal-cookie";
+const ProtectedRoute = ({ children }) => {
+ const cookies = new Cookies();
+ const token = cookies.get("token");
+
+ if (!token) {
+ return ;
+ }
+ return children;
+};
+
+export default ProtectedRoute;
diff --git a/frontend/src/components/RoomPage.css b/frontend/src/components/RoomPage.css
new file mode 100644
index 0000000..4649a88
--- /dev/null
+++ b/frontend/src/components/RoomPage.css
@@ -0,0 +1,10 @@
+ pre {
+ /* Browser specific (not valid) styles to make preformatted text wrap */
+ white-space: pre-wrap; /* css-3 */
+ white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
+ white-space: -pre-wrap; /* Opera 4-6 */
+ white-space: -o-pre-wrap; /* Opera 7 */
+ word-wrap: break-word; /* Internet Explorer 5.5+ */
+
+ font-size: 1.1em;
+}
\ No newline at end of file
diff --git a/frontend/src/components/RoomPage.js b/frontend/src/components/RoomPage.js
new file mode 100644
index 0000000..e87bc08
--- /dev/null
+++ b/frontend/src/components/RoomPage.js
@@ -0,0 +1,151 @@
+import {
+ Box,
+ Button,
+ Container,
+ Card,
+ CardContent,
+ Typography
+} from "@mui/material";
+import './RoomPage.css'
+import Grid2 from '@mui/material/Unstable_Grid2';
+import { styled } from '@mui/material/styles';
+import {useNavigate, useParams, useLocation} from "react-router-dom";
+import ChatPage from "./ChatPage";
+import { Base64 } from 'js-base64';
+import CodeEditor from "./CodeEditor";
+import Cookies from "universal-cookie";
+
+const TitleCard = styled(Card)`
+ background-color: white;
+// display: inline-block;
+`;
+
+function RoomPage() {
+ const params = useParams();
+ const navigate = useNavigate();
+ const {state} = useLocation();
+ const { question } = state;
+ const questionData = question.data[0]
+ const roomId = params.id
+ const handleNavigateHome = () => {
+ navigate("/homepage");
+ };
+ const cookies = new Cookies();
+ const username = cookies.get("username");
+ const questionBase64String = questionData.questionDesc
+ const questionHtmlStr = Base64.decode(questionBase64String)
+
+ //Alternative way to make html Node
+ // make a new parser
+ const parser = new DOMParser();
+
+ // convert html string into DOM
+ const questionHtml = parser.parseFromString(questionHtmlStr, "text/html").body;
+ console.log(questionHtml.childNodes)
+ return (
+
+
+
+
+
+
+ {questionData.title}
+
+
+ <>
+
+
+
+ >
+
+
+
+
+
+
+ Code Editor
+
+
+
+
+
+
+
+ Chat
+
+ {ChatPage(username, roomId)}
+
+
+
+
+ {/*
+
+
+
+ */}
+ {/*
+ {ChatPage(username, roomId)}
+ */}
+
+ {/* Backup
+
+
+ {questionData.title}
+ <>
+
+
+
+ >
+
+
+
+
+
+
+ Code Editor
+
+
+
+
+
+
+ Chat
+
+
+
+
+
+
+
+
+
+ {ChatPage(username, roomId)}
+ */}
+
+ {/* {questionData.questionDesc} */}
+
+ );
+}
+
+export default RoomPage;
diff --git a/frontend/src/components/SignupPage.js b/frontend/src/components/SignupPage.js
index f1713a3..c18435c 100644
--- a/frontend/src/components/SignupPage.js
+++ b/frontend/src/components/SignupPage.js
@@ -1,3 +1,8 @@
+import { useState } from "react";
+import axios from "axios";
+import { URL_USER_SVC } from "../configs";
+import { STATUS_CODE_CONFLICT, STATUS_CODE_CREATED } from "../constants";
+import { Link } from "react-router-dom";
import {
Box,
Button,
@@ -6,93 +11,224 @@ import {
DialogContent,
DialogContentText,
DialogTitle,
+ Container,
TextField,
- Typography
+ Grid,
+ Typography,
+ Tooltip,
} from "@mui/material";
-import {useState} from "react";
-import axios from "axios";
-import {URL_USER_SVC} from "../configs";
-import {STATUS_CODE_CONFLICT, STATUS_CODE_CREATED} from "../constants";
-import {Link} from "react-router-dom";
+import { makeStyles } from "@material-ui/core/styles";
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+import InputAdornment from "@mui/material/InputAdornment";
+import QuestionMark from "@mui/icons-material/QuestionMark";
+import { faLaptopCode, faInfo } from "@fortawesome/free-solid-svg-icons";
+import CssBaseline from "@material-ui/core/CssBaseline";
function SignupPage() {
- const [username, setUsername] = useState("")
- const [password, setPassword] = useState("")
- const [isDialogOpen, setIsDialogOpen] = useState(false)
- const [dialogTitle, setDialogTitle] = useState("")
- const [dialogMsg, setDialogMsg] = useState("")
- const [isSignupSuccess, setIsSignupSuccess] = useState(false)
+ const [username, setUsername] = useState("");
+ const [password, setPassword] = useState("");
+ const [confirmedPassword, setconfirmedPassword] = useState("");
+ const [isDialogOpen, setIsDialogOpen] = useState(false);
+ const [dialogTitle, setDialogTitle] = useState("");
+ const [dialogMsg, setDialogMsg] = useState("");
+ const [isSignupSuccess, setIsSignupSuccess] = useState(false);
const handleSignup = async () => {
- setIsSignupSuccess(false)
- const res = await axios.post(URL_USER_SVC, { username, password })
- .catch((err) => {
- if (err.response.status === STATUS_CODE_CONFLICT) {
- setErrorDialog('This username already exists')
- } else {
- setErrorDialog('Please try again later')
- }
- })
- if (res && res.status === STATUS_CODE_CREATED) {
- setSuccessDialog('Account successfully created')
- setIsSignupSuccess(true)
+ setIsSignupSuccess(false);
+ if (confirmedPassword !== password) {
+ setErrorDialog("The typed passwords do not match");
+ } else if (!validatePassword(password)) {
+ setErrorDialog(
+ "The password does not meet basic requirements\n1.Minimum of 8 characters\n2.Contains at least one uppercase and lowercase character\n3.Contains special character"
+ );
+ } else {
+ const res = await axios
+ .post(URL_USER_SVC, { username, password })
+ .catch((err) => {
+ if (err.response.status === STATUS_CODE_CONFLICT) {
+ setErrorDialog("This username already exists");
+ } else {
+ setErrorDialog("Please try again later");
+ }
+ });
+ if (res && res.status === STATUS_CODE_CREATED) {
+ setSuccessDialog("Account successfully created");
+ setIsSignupSuccess(true);
+ }
}
- }
+ };
- const closeDialog = () => setIsDialogOpen(false)
+ const closeDialog = () => setIsDialogOpen(false);
const setSuccessDialog = (msg) => {
- setIsDialogOpen(true)
- setDialogTitle('Success')
- setDialogMsg(msg)
- }
+ setIsDialogOpen(true);
+ setDialogTitle("Success");
+ setDialogMsg(msg);
+ };
+
+ const validatePassword = (pass) => {
+ var re = /^(?=.*\d)(?=.*[!@#$%^&*])(?=.*[a-z])(?=.*[A-Z]).{8,}$/;
+ return re.test(pass);
+ };
const setErrorDialog = (msg) => {
- setIsDialogOpen(true)
- setDialogTitle('Error')
- setDialogMsg(msg)
- }
+ setIsDialogOpen(true);
+ setDialogTitle("Error");
+ setDialogMsg(msg);
+ };
+ const useStyles = makeStyles((theme) => ({
+ "@global": {
+ body: {
+ backgroundColor: theme.palette.common.white,
+ },
+ },
+ paper: {
+ marginTop: theme.spacing(8),
+ display: "flex",
+ flexDirection: "column",
+ alignItems: "center",
+ },
+ avatar: {
+ margin: theme.spacing(1),
+ backgroundColor: theme.palette.secondary.main,
+ },
+ form: {
+ width: "100%",
+ marginTop: theme.spacing(3),
+ },
+ submit: {
+ margin: theme.spacing(3, 0, 2),
+ },
+ }));
- return (
-
- Sign Up
- setUsername(e.target.value)}
- sx={{marginBottom: "1rem"}}
- autoFocus
- />
- setPassword(e.target.value)}
- sx={{marginBottom: "2rem"}}
- />
-
-
-
+ const classes = useStyles();
-
- )
+ >
+ );
}
export default SignupPage;
diff --git a/frontend/src/components/Themes.js b/frontend/src/components/Themes.js
new file mode 100644
index 0000000..c612de9
--- /dev/null
+++ b/frontend/src/components/Themes.js
@@ -0,0 +1,19 @@
+import { ThemeProvider, createTheme } from '@mui/material/styles';
+
+export const toggleButtonCardTheme = createTheme({
+ palette: {
+ background: {
+ paper: '#fff',
+ },
+ standard: {
+ normal: '0073FF'
+ },
+ text: {
+ primary: '#173A5E',
+ secondary: '#46505A',
+ },
+ button: {
+ active: '#001E3C',
+ }
+ },
+ });
\ No newline at end of file
diff --git a/frontend/src/components/ToggleButtonCard.css b/frontend/src/components/ToggleButtonCard.css
new file mode 100644
index 0000000..15c7c2d
--- /dev/null
+++ b/frontend/src/components/ToggleButtonCard.css
@@ -0,0 +1,28 @@
+.MuiToggleButton-root.toggleButtonCard {
+ min-width: 225px;
+ box-shadow: 0px 2px 1px -1px rgb(0 0 0 / 20%)
+ , 0px 1px 1px 0px rgb(0 0 0 / 14%)
+ , 0px 1px 3px 0px rgb(0 0 0 / 12%);
+ margin-left: 15px;
+ margin-right: 15px;
+ border-radius: 4px;
+}
+/*
+.MuiToggleButton-root.Mui-selected {
+ background-color: hsla(213, 100%, 50%, 0.2);
+}
+
+.MuiToggleButton-root.toggleButtonCard:hover {
+ box-shadow: 0px 2px 1px -1px rgb(0 0 0 / 20%)
+ , 0px 1px 1px 0px rgb(0 0 0 / 14%)
+ , 0px 1px 3px 0px rgb(0 0 0 / 12%);
+ background-color: hsla(213, 100%, 45%, 0.3);
+}
+*/
+/* .MuiToggleButtonGroup-root .MuiToggleButtonGroup-grouped:not(:last-of-type).toggleButtonCard {
+ border-radius: 4px;
+}
+
+.MuiToggleButtonGroup-root .MuiToggleButtonGroup-grouped:not(:first-of-type).toggleButtonCard {
+ border-radius: 4px;
+} */
\ No newline at end of file
diff --git a/frontend/src/components/UpdatePass.js b/frontend/src/components/UpdatePass.js
new file mode 100644
index 0000000..3c6e4af
--- /dev/null
+++ b/frontend/src/components/UpdatePass.js
@@ -0,0 +1,235 @@
+import {
+ Box,
+ Button,
+ Dialog,
+ DialogActions,
+ DialogContent,
+ DialogContentText,
+ DialogTitle,
+ Container,
+ TextField,
+ Grid,
+ Typography,
+} from "@mui/material";
+import { useState } from "react";
+import axios from "axios";
+import { URL_USER_SVC } from "../configs";
+import {
+ STATUS_CODE_SUCCESS,
+ STATUS_CODE_WRONG_CREDENTIALS,
+} from "../constants";
+import { Link } from "react-router-dom";
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+import { faLaptopCode } from "@fortawesome/free-solid-svg-icons";
+import { makeStyles } from "@material-ui/core/styles";
+import CssBaseline from "@material-ui/core/CssBaseline";
+import Cookies from "universal-cookie";
+
+function UpdatePass() {
+ const [username, setUsername] = useState("");
+ const [password, setPassword] = useState("");
+ const [newPassword, setNewPassword] = useState("");
+ const [confirmedNewPassword, setConfirmedNewPassword] = useState("");
+
+ const [isDialogOpen, setIsDialogOpen] = useState(false);
+ const [dialogTitle, setDialogTitle] = useState("");
+ const [dialogMsg, setDialogMsg] = useState("");
+ const cookies = new Cookies();
+ const usernameCookie = cookies.get("username");
+ const [isLoginSuccess, setisLoginSuccess] = useState(false);
+
+ axios.interceptors.request.use(
+ (config) => {
+ config.headers.authorization = `Bearer ${cookies.get("token")}`;
+ return config;
+ },
+ (error) => {
+ return Promise.reject(error);
+ }
+ );
+
+ const validatePassword = (pass) => {
+ var re = /^(?=.*\d)(?=.*[!@#$%^&*])(?=.*[a-z])(?=.*[A-Z]).{8,}$/;
+ return re.test(pass);
+ };
+
+ const handlePasswordChange = async () => {
+ setisLoginSuccess(false);
+ if (newPassword !== confirmedNewPassword) {
+ setErrorDialog("The typed passwords do not match");
+ } else if (!validatePassword(newPassword)) {
+ setErrorDialog(
+ "The passwords do not meet basic requirements\n1.Minimum of 8 characters\n2.Contains at least one Uppercase and lowercase character\n3.Contains special character"
+ );
+ } else {
+ const res = await axios
+ .post(URL_USER_SVC + "/updatePassword", {
+ username: usernameCookie,
+ password,
+ newPassword,
+ })
+ .catch((err) => {
+ if (err.response.status === STATUS_CODE_WRONG_CREDENTIALS) {
+ setErrorDialog("Wrong credentials provided");
+ } else {
+ setErrorDialog("Please try again later");
+ }
+ });
+ if (res && res.status === STATUS_CODE_SUCCESS) {
+ setSuccessDialog("Update Password Success");
+ setisLoginSuccess(true);
+ }
+ }
+ };
+
+ const closeDialog = () => setIsDialogOpen(false);
+
+ const setSuccessDialog = (msg) => {
+ setIsDialogOpen(true);
+ setDialogTitle("Success");
+ setDialogMsg(msg);
+ };
+
+ const setErrorDialog = (msg) => {
+ setIsDialogOpen(true);
+ setDialogTitle("Error");
+ setDialogMsg(msg);
+ };
+
+ const useStyles = makeStyles((theme) => ({
+ "@global": {
+ body: {
+ backgroundColor: theme.palette.common.white,
+ },
+ },
+ paper: {
+ marginTop: theme.spacing(8),
+ display: "flex",
+ flexDirection: "column",
+ alignItems: "center",
+ },
+ avatar: {
+ margin: theme.spacing(1),
+ backgroundColor: theme.palette.secondary.main,
+ },
+ form: {
+ width: "100%",
+ marginTop: theme.spacing(3),
+ },
+ submit: {
+ margin: theme.spacing(3, 0, 2),
+ },
+ }));
+
+ const classes = useStyles();
+
+ return (
+ <>
+
+
+
+
+
+ Change Password
+
+
+
+
+
+
+ {dialogTitle}
+
+ {dialogMsg}
+
+
+ {isLoginSuccess ? (
+
+ ) : (
+
+ )}
+
+
+ >
+ );
+}
+
+export default UpdatePass;
diff --git a/frontend/src/configs.js b/frontend/src/configs.js
index 95e4356..fb8e82e 100644
--- a/frontend/src/configs.js
+++ b/frontend/src/configs.js
@@ -1,4 +1,4 @@
-const URI_USER_SVC = process.env.URI_USER_SVC || 'http://localhost:8000'
+const URI_USER_SVC = process.env.URI_USER_SVC || 'http://' + process.env.REACT_APP_USER_SERVER_IP + ':' + process.env.REACT_APP_USER_SERVER_PORT
const PREFIX_USER_SVC = '/api/user'
diff --git a/frontend/src/constants.js b/frontend/src/constants.js
index 3c776f8..ff44fb4 100644
--- a/frontend/src/constants.js
+++ b/frontend/src/constants.js
@@ -1,2 +1,6 @@
-export const STATUS_CODE_CREATED = 201
-export const STATUS_CODE_CONFLICT = 409
+export const STATUS_CODE_CREATED = 201;
+export const STATUS_CODE_SUCCESS = 200;
+export const STATUS_CODE_CONFLICT = 409;
+export const STATUS_CODE_WRONG_CREDENTIALS = 401;
+export const STATUS_CODE_NOT_AUTHORISED = 401;
+export const STATUS_CODE_INTERNAL_SERVER_ERROR = 500;
diff --git a/frontend/src/index.css b/frontend/src/index.css
index bd5bd6d..c90a213 100644
--- a/frontend/src/index.css
+++ b/frontend/src/index.css
@@ -1,13 +1,44 @@
+:root {
+ --font-family: "Manrope", sans-serif;
+
+ --gradient-text: linear-gradient(89.97deg, #ae67fa 1.84%, #f49867 102.67%);
+ --gradient-bar: linear-gradient(103.22deg, #ae67fa -13.86%, #f49867 99.55%);
+ --bg: #040c18;
+ --navbar-background: #3240a8;
+ --bg-accent: #484a4d;
+ --nav-size: 60px;
+ --border: 1px solid #474a4d;
+ --border-radius: 8px;
+ --speed: 500ms;
+ --color-footer: #031b34;
+ --color-blog: #042c54;
+ --color-text: #81afdd;
+ --color-subtext: #ff8a71;
+
+ background-color: hsl(216, 60%, 95%);
+}
+
+ul {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+}
+
+a {
+ color: var(--color-text);
+ text-decoration: none;
+}
+
body {
- margin: 0;
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
- 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
- sans-serif;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
+ margin: 0;
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto",
+ "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans",
+ "Helvetica Neue", sans-serif;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
}
code {
- font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
- monospace;
+ font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
+ monospace;
}
diff --git a/frontend/src/styles/message.js b/frontend/src/styles/message.js
new file mode 100644
index 0000000..2d39f32
--- /dev/null
+++ b/frontend/src/styles/message.js
@@ -0,0 +1,25 @@
+import React from "react";
+import {makeStyles} from "@mui/material";;
+
+const useStyles = makeStyles({
+ formWrapper : {
+ width: "98%"
+ },
+ messageField: {
+ width: "90%"
+ }
+});
+/*
+export const messageBar = () => {
+ const classes = useStyles();
+ return (
+ <>
+
+ >
+ )
+
+}
+*/
\ No newline at end of file
diff --git a/matching-service/.dockerignore b/matching-service/.dockerignore
new file mode 100644
index 0000000..edd83c0
--- /dev/null
+++ b/matching-service/.dockerignore
@@ -0,0 +1,4 @@
+node_modules
+npm-debug.log
+Dockerfile
+.dockerignore
\ No newline at end of file
diff --git a/matching-service/Dockerfile b/matching-service/Dockerfile
new file mode 100644
index 0000000..fde7adf
--- /dev/null
+++ b/matching-service/Dockerfile
@@ -0,0 +1,18 @@
+
+FROM node:latest
+
+RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app
+
+WORKDIR /home/node/app
+
+COPY --chown=node:node package*.json ./
+
+USER node
+
+RUN npm install
+
+COPY --chown=node:node . .
+
+EXPOSE 8001
+
+CMD [ "node", "index.js" ]
diff --git a/matching-service/Tests/test.js b/matching-service/Tests/test.js
new file mode 100644
index 0000000..55d9246
--- /dev/null
+++ b/matching-service/Tests/test.js
@@ -0,0 +1,56 @@
+import "dotenv/config";
+import axios from 'axios'
+import chai from "chai";
+import { assert, expect } from "chai";
+import { io as Server } from "../index.js";
+import { io as Client } from "socket.io-client";
+import sinon from 'sinon';
+
+describe("Matching Service tests", () => {
+ let socket1;
+ let socket2;
+ let clock;
+
+
+ describe('Matching Service Controller 2 clients test', function() {
+ before(function(done) {
+ // Setup
+ socket1 = Client.connect('http://localhost:8001', { forceNew: false });
+
+ socket1.on('connect', function() {
+ socket2 = Client.connect('http://localhost:8001', { forceNew: false, multiplex: true });
+
+ socket2.on('connect', function() {
+ done();
+ });
+
+ });
+ });
+
+ after(function(done) {
+ if(socket1.connected) {
+ socket1.disconnect();
+ }
+ if(socket2.connected) {
+ socket2.disconnect();
+ }
+ done();
+ });
+
+ it('Valid matchInit test', function(done) {
+
+ socket1.emit("matchInit", {username: "user1", difficulty: "Easy"})
+ socket2.emit("matchInit", {username: "user2", difficulty: "Easy"})
+ var stub = sinon.stub(axios, "get")
+ stub.resolves({data: "fake data"})
+
+ socket1.on("matchSuccess", function(roomId1, question1) {
+ socket2.on("matchSuccess", function(roomId2, question2) {
+ assert(roomId1 == roomId2 && question1.data == question2.data);
+ done();
+ });
+ });
+
+ });
+ });
+});
\ No newline at end of file
diff --git a/matching-service/controller/match-controller.js b/matching-service/controller/match-controller.js
new file mode 100644
index 0000000..57ae0c9
--- /dev/null
+++ b/matching-service/controller/match-controller.js
@@ -0,0 +1,19 @@
+import { ormInitiateMatch, ormMatchUser, ormMatchTimeout, ormDisconnectUser } from '../model/match-orm.js'
+
+export const matchController = function (socket) {
+ console.log("connected" + socket.id);
+
+ socket.on("matchInit", async (data) => {
+ console.log(data);
+ if (await ormMatchUser(socket, data.difficulty)) {
+ ormInitiateMatch(socket.id, data);
+ setTimeout(function () {
+ ormMatchTimeout(socket);
+ }, 30000)
+ }
+ });
+
+ socket.on("disconnect", async () => {
+ ormDisconnectUser(socket);
+ });
+}
\ No newline at end of file
diff --git a/matching-service/index.js b/matching-service/index.js
index 3f9aff5..08a7960 100644
--- a/matching-service/index.js
+++ b/matching-service/index.js
@@ -1,6 +1,8 @@
import express from 'express';
import cors from 'cors';
import { createServer } from 'http';
+import { Server } from "socket.io";
+import { matchController } from './controller/match-controller.js'
const app = express();
app.use(express.urlencoded({ extended: true }))
@@ -8,10 +10,22 @@ app.use(express.json())
app.use(cors()) // config cors so that front-end can use
app.options('*', cors())
+const router = express.Router()
+
app.get('/', (req, res) => {
res.send('Hello World from matching-service');
});
const httpServer = createServer(app)
+export const io = new Server(httpServer, {
+ /* options */
+ cors: {
+ origin: "http://localhost:3000",
+ methods: ["GET", "POST"]
+ }
+});
+
+io.on("connection", matchController);
+
httpServer.listen(8001);
diff --git a/matching-service/model/match-init.js b/matching-service/model/match-init.js
new file mode 100644
index 0000000..4f14a6b
--- /dev/null
+++ b/matching-service/model/match-init.js
@@ -0,0 +1,19 @@
+import { DataTypes } from 'sequelize';
+
+export const initiateMatch = (sequelize) => {
+ const model = sequelize.define('matchInit', {
+ sessionId: {
+ type: DataTypes.STRING,
+ allowNull: false
+ },
+ username: {
+ type: DataTypes.STRING,
+ allowNull: false
+ },
+ difficulty: {
+ type: DataTypes.STRING,
+ allowNull: false
+ }
+ });
+ return model;
+}
diff --git a/matching-service/model/match-orm.js b/matching-service/model/match-orm.js
new file mode 100644
index 0000000..f45cedb
--- /dev/null
+++ b/matching-service/model/match-orm.js
@@ -0,0 +1,107 @@
+import axios from 'axios'
+import { io } from '../index.js'
+import { sequelize } from './repository.js'
+import { initiateMatch } from './match-init.js'
+import { initiateRoom } from './room-init.js'
+import "dotenv/config";
+import { v4 } from "uuid";
+
+export async function ormInitiateMatch(id, data) {
+ try {
+ const matchInit = initiateMatch(sequelize);
+ matchInit.create({ sessionId: id, username: data.username, difficulty: data.difficulty });
+ const users = await matchInit.findAll();
+ return true;
+ } catch (err) {
+ console.log('ERROR: Could not create new user');
+ console.log(err);
+ return { err };
+ }
+}
+
+export async function ormMatchTimeout(socket) {
+ const matchInit = initiateMatch(sequelize);
+ matchInit.destroy({
+ where: {
+ sessionId: socket.id
+ }
+ }).then(numberRows => {
+ if (numberRows == 1) {
+ socket.emit('matchFailure', {message: 'failed to find match'});
+ }
+ })
+}
+
+export async function ormMatchUser(socket, difficulty) {
+ const matchInit = initiateMatch(sequelize);
+ const users = await matchInit.findAll({
+ limit: 1,
+ where: {
+ difficulty: difficulty
+ },
+ order: [['createdAt', 'ASC']]
+ });
+ if (users.length != 0) {
+ matchInit.destroy({
+ where: {
+ sessionId: users[0].sessionId,
+ difficulty: users[0].difficulty,
+ createdAt: users[0].createdAt
+ }
+ })
+
+ //Generate unqiue roomId
+ const room = initiateRoom(sequelize)
+ //Set smaller socket id as sessionId1
+ let sessionId1, sessionId2
+ if (users[0].sessionId < socket.id) {
+ sessionId1 = users[0].sessionId
+ sessionId2 = socket.id
+ } else {
+ sessionId1 = socket.id
+ sessionId2 = users[0].sessionId
+ }
+
+ const createdRoom = await room.create({sessionId1: sessionId1, sessionId2: sessionId2})
+
+ const roomId = v4();
+
+ //Fetch Random question
+ let question = null
+ await axios.get('http://' + process.env.QN_SERVER_IP + ':' + process.env.QN_SERVER_PORT + '/api/randomquestion', {
+ params: {
+ difficulty: difficulty
+ }
+ })
+ .then(function (response) {
+ console.log(response.data);
+ question = response.data
+ })
+ .catch(function (error) {
+ console.log(error);
+ })
+ .finally(function () {
+ // always executed
+ });
+
+ // Make both sockets join room
+ io.of('/').sockets.get(users[0].sessionId).join(roomId);
+ io.of('/').sockets.get(socket.id).join(roomId);
+
+ //Emit data to clients in the room
+ io.to(roomId).emit('matchSuccess', roomId, question);
+
+ return false;
+ } else {
+ return true;
+ }
+}
+
+export async function ormDisconnectUser(socket) {
+ const matchInit = initiateMatch(sequelize);
+ matchInit.destroy({
+ where: {
+ sessionId: socket.id
+ }
+ })
+}
diff --git a/matching-service/model/repository.js b/matching-service/model/repository.js
new file mode 100644
index 0000000..1650176
--- /dev/null
+++ b/matching-service/model/repository.js
@@ -0,0 +1,10 @@
+import Sequelize from 'sequelize';
+import { initiateMatch } from './match-init.js'
+import { initiateRoom } from './room-init.js';
+
+export const sequelize = new Sequelize('sqlite::memory:');
+
+initiateMatch(sequelize);
+initiateRoom(sequelize);
+
+sequelize.sync().then(console.log('Database synced'));
\ No newline at end of file
diff --git a/matching-service/model/room-init.js b/matching-service/model/room-init.js
new file mode 100644
index 0000000..c277d4a
--- /dev/null
+++ b/matching-service/model/room-init.js
@@ -0,0 +1,20 @@
+import { DataTypes } from 'sequelize';
+
+export const initiateRoom = (sequelize) => {
+ const model = sequelize.define('roomInit', {
+ sessionId1: {
+ type: DataTypes.STRING,
+ allowNull: false
+ },
+ sessionId2: {
+ type: DataTypes.STRING,
+ allowNull: false
+ },
+ roomId: {
+ type: DataTypes.INTEGER,
+ autoIncrement: true,
+ primaryKey: true
+ }
+ });
+ return model;
+}
diff --git a/matching-service/package-lock.json b/matching-service/package-lock.json
index 1d09c89..39cafc8 100644
--- a/matching-service/package-lock.json
+++ b/matching-service/package-lock.json
@@ -1,8 +1,3447 @@
{
"name": "matching-service",
"version": "1.0.0",
- "lockfileVersion": 1,
+ "lockfileVersion": 2,
"requires": true,
+ "packages": {
+ "": {
+ "name": "matching-service",
+ "version": "1.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "axios": "^1.1.2",
+ "chai": "^4.3.7",
+ "dotenv": "^16.0.3",
+ "express": "^4.18.1",
+ "mocha": "^10.1.0",
+ "sequelize": "^6.21.3",
+ "sinon": "^14.0.2",
+ "socket.io": "^4.5.1",
+ "socket.io-client": "^4.5.3",
+ "sqlite3": "^5.0.10",
+ "uuid": "^8.3.2"
+ },
+ "devDependencies": {
+ "nodemon": "^2.0.19"
+ }
+ },
+ "node_modules/@gar/promisify": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
+ "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
+ "optional": true
+ },
+ "node_modules/@mapbox/node-pre-gyp": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.9.tgz",
+ "integrity": "sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==",
+ "dependencies": {
+ "detect-libc": "^2.0.0",
+ "https-proxy-agent": "^5.0.0",
+ "make-dir": "^3.1.0",
+ "node-fetch": "^2.6.7",
+ "nopt": "^5.0.0",
+ "npmlog": "^5.0.1",
+ "rimraf": "^3.0.2",
+ "semver": "^7.3.5",
+ "tar": "^6.1.11"
+ },
+ "bin": {
+ "node-pre-gyp": "bin/node-pre-gyp"
+ }
+ },
+ "node_modules/@mapbox/node-pre-gyp/node_modules/nopt": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
+ "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
+ "dependencies": {
+ "abbrev": "1"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@mapbox/node-pre-gyp/node_modules/semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@npmcli/fs": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz",
+ "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
+ "optional": true,
+ "dependencies": {
+ "@gar/promisify": "^1.0.1",
+ "semver": "^7.3.5"
+ }
+ },
+ "node_modules/@npmcli/fs/node_modules/semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "optional": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@npmcli/move-file": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
+ "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
+ "optional": true,
+ "dependencies": {
+ "mkdirp": "^1.0.4",
+ "rimraf": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@sinonjs/commons": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz",
+ "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==",
+ "dependencies": {
+ "type-detect": "4.0.8"
+ }
+ },
+ "node_modules/@sinonjs/fake-timers": {
+ "version": "9.1.2",
+ "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz",
+ "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==",
+ "dependencies": {
+ "@sinonjs/commons": "^1.7.0"
+ }
+ },
+ "node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.5.tgz",
+ "integrity": "sha512-rTpCA0wG1wUxglBSFdMMY0oTrKYvgf4fNgv/sXbfCVAdf+FnPBdKJR/7XbpTCwbCrvCbdPYnlWaUUYz4V2fPDA==",
+ "dependencies": {
+ "type-detect": "4.0.8"
+ }
+ },
+ "node_modules/@sinonjs/samsam": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-7.0.1.tgz",
+ "integrity": "sha512-zsAk2Jkiq89mhZovB2LLOdTCxJF4hqqTToGP0ASWlhp4I1hqOjcfmZGafXntCN7MDC6yySH0mFHrYtHceOeLmw==",
+ "dependencies": {
+ "@sinonjs/commons": "^2.0.0",
+ "lodash.get": "^4.4.2",
+ "type-detect": "^4.0.8"
+ }
+ },
+ "node_modules/@sinonjs/text-encoding": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz",
+ "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ=="
+ },
+ "node_modules/@socket.io/component-emitter": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
+ "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
+ },
+ "node_modules/@tootallnate/once": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
+ "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
+ "optional": true,
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/@types/component-emitter": {
+ "version": "1.2.11",
+ "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz",
+ "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ=="
+ },
+ "node_modules/@types/cookie": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
+ "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q=="
+ },
+ "node_modules/@types/cors": {
+ "version": "2.8.12",
+ "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
+ "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw=="
+ },
+ "node_modules/@types/debug": {
+ "version": "4.1.7",
+ "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz",
+ "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==",
+ "dependencies": {
+ "@types/ms": "*"
+ }
+ },
+ "node_modules/@types/ms": {
+ "version": "0.7.31",
+ "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz",
+ "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA=="
+ },
+ "node_modules/@types/node": {
+ "version": "18.0.5",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.5.tgz",
+ "integrity": "sha512-En7tneq+j0qAiVwysBD79y86MT3ModuoIJbe7JXp+sb5UAjInSShmK3nXXMioBzfF7rXC12hv12d4IyCVwN4dA=="
+ },
+ "node_modules/@types/validator": {
+ "version": "13.7.5",
+ "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.7.5.tgz",
+ "integrity": "sha512-9rQHeAqz6Jw3gDhttkmWetoriW5FPbxylv/6h6mXtaj2NKRcOvOmvfcswVdLVpbuy10NrO486K3lCoLgoIhiIA=="
+ },
+ "node_modules/abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+ },
+ "node_modules/accepts": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+ "dependencies": {
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "dependencies": {
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
+ "node_modules/agent-base/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/agent-base/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/agentkeepalive": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz",
+ "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==",
+ "optional": true,
+ "dependencies": {
+ "debug": "^4.1.0",
+ "depd": "^1.1.2",
+ "humanize-ms": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 8.0.0"
+ }
+ },
+ "node_modules/agentkeepalive/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "optional": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/agentkeepalive/node_modules/depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
+ "optional": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/agentkeepalive/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "optional": true
+ },
+ "node_modules/aggregate-error": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
+ "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
+ "optional": true,
+ "dependencies": {
+ "clean-stack": "^2.0.0",
+ "indent-string": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-colors": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+ "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/aproba": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
+ "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="
+ },
+ "node_modules/are-we-there-yet": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
+ "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
+ "dependencies": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^3.6.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
+ },
+ "node_modules/array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
+ },
+ "node_modules/assertion-error": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
+ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+ },
+ "node_modules/axios": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.1.2.tgz",
+ "integrity": "sha512-bznQyETwElsXl2RK7HLLwb5GPpOLlycxHCtrpDR/4RqqBzjARaOTo3jz4IgtntWUYee7Ne4S8UHd92VCuzPaWA==",
+ "dependencies": {
+ "follow-redirects": "^1.15.0",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ },
+ "node_modules/base64id": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
+ "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
+ "engines": {
+ "node": "^4.5.0 || >= 5.9"
+ }
+ },
+ "node_modules/binary-extensions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/body-parser": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
+ "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "content-type": "~1.0.4",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "on-finished": "2.4.1",
+ "qs": "6.10.3",
+ "raw-body": "2.5.1",
+ "type-is": "~1.6.18",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/body-parser/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/body-parser/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dependencies": {
+ "fill-range": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browser-stdout": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
+ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw=="
+ },
+ "node_modules/bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/cacache": {
+ "version": "15.3.0",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
+ "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
+ "optional": true,
+ "dependencies": {
+ "@npmcli/fs": "^1.0.0",
+ "@npmcli/move-file": "^1.0.1",
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "glob": "^7.1.4",
+ "infer-owner": "^1.0.4",
+ "lru-cache": "^6.0.0",
+ "minipass": "^3.1.1",
+ "minipass-collect": "^1.0.2",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.2",
+ "mkdirp": "^1.0.3",
+ "p-map": "^4.0.0",
+ "promise-inflight": "^1.0.1",
+ "rimraf": "^3.0.2",
+ "ssri": "^8.0.1",
+ "tar": "^6.0.2",
+ "unique-filename": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/call-bind": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/camelcase": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/chai": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz",
+ "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==",
+ "dependencies": {
+ "assertion-error": "^1.1.0",
+ "check-error": "^1.0.2",
+ "deep-eql": "^4.1.2",
+ "get-func-name": "^2.0.0",
+ "loupe": "^2.3.1",
+ "pathval": "^1.1.1",
+ "type-detect": "^4.0.5"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/chalk/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/chalk/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/check-error": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
+ "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/chokidar": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ ],
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/chownr": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/clean-stack": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
+ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
+ "optional": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/cliui": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/color-support": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
+ "bin": {
+ "color-support": "bin.js"
+ }
+ },
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/component-emitter": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
+ },
+ "node_modules/console-control-strings": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ=="
+ },
+ "node_modules/content-disposition": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
+ "dependencies": {
+ "safe-buffer": "5.2.1"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/content-type": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cookie": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
+ "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cookie-signature": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
+ },
+ "node_modules/cors": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
+ "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
+ "dependencies": {
+ "object-assign": "^4",
+ "vary": "^1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/decamelize": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
+ "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/deep-eql": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.2.tgz",
+ "integrity": "sha512-gT18+YW4CcW/DBNTwAmqTtkJh7f9qqScu2qFVlx7kCoeY9tlBu9cUcr7+I+Z/noG8INehS3xQgLpTtd/QUTn4w==",
+ "dependencies": {
+ "type-detect": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ=="
+ },
+ "node_modules/depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/destroy": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/detect-libc": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
+ "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/diff": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz",
+ "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==",
+ "engines": {
+ "node": ">=0.3.1"
+ }
+ },
+ "node_modules/dotenv": {
+ "version": "16.0.3",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
+ "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/dottie": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.2.tgz",
+ "integrity": "sha512-fmrwR04lsniq/uSr8yikThDTrM7epXHBAAjH9TbeH3rEA8tdCO7mRzB9hdmdGyJCxF8KERo9CITcm3kGuoyMhg=="
+ },
+ "node_modules/ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
+ },
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "node_modules/encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/encoding": {
+ "version": "0.1.13",
+ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
+ "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
+ "optional": true,
+ "dependencies": {
+ "iconv-lite": "^0.6.2"
+ }
+ },
+ "node_modules/encoding/node_modules/iconv-lite": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "optional": true,
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/engine.io": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz",
+ "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==",
+ "dependencies": {
+ "@types/cookie": "^0.4.1",
+ "@types/cors": "^2.8.12",
+ "@types/node": ">=10.0.0",
+ "accepts": "~1.3.4",
+ "base64id": "2.0.0",
+ "cookie": "~0.4.1",
+ "cors": "~2.8.5",
+ "debug": "~4.3.1",
+ "engine.io-parser": "~5.0.3",
+ "ws": "~8.2.3"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/engine.io-client": {
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.3.tgz",
+ "integrity": "sha512-aXPtgF1JS3RuuKcpSrBtimSjYvrbhKW9froICH4s0F3XQWLxsKNxqzG39nnvQZQnva4CMvUK63T7shevxRyYHw==",
+ "dependencies": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.1",
+ "engine.io-parser": "~5.0.3",
+ "ws": "~8.2.3",
+ "xmlhttprequest-ssl": "~2.0.0"
+ }
+ },
+ "node_modules/engine.io-client/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/engine.io-client/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/engine.io-parser": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
+ "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==",
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/engine.io/node_modules/cookie": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
+ "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/engine.io/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/engine.io/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/env-paths": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
+ "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
+ "optional": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/err-code": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
+ "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
+ "optional": true
+ },
+ "node_modules/escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/express": {
+ "version": "4.18.1",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz",
+ "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==",
+ "dependencies": {
+ "accepts": "~1.3.8",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.20.0",
+ "content-disposition": "0.5.4",
+ "content-type": "~1.0.4",
+ "cookie": "0.5.0",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "1.2.0",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.7",
+ "qs": "6.10.3",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.2.1",
+ "send": "0.18.0",
+ "serve-static": "1.15.0",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "node_modules/express/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/express/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/finalhandler": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
+ "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
+ "dependencies": {
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "statuses": "2.0.1",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/finalhandler/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/finalhandler/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/flat": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
+ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
+ "bin": {
+ "flat": "cli.js"
+ }
+ },
+ "node_modules/follow-redirects": {
+ "version": "1.15.2",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
+ "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/forwarded": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fs-minipass": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ },
+ "node_modules/gauge": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
+ "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
+ "dependencies": {
+ "aproba": "^1.0.3 || ^2.0.0",
+ "color-support": "^1.1.2",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.1",
+ "object-assign": "^4.1.1",
+ "signal-exit": "^3.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "wide-align": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "node_modules/get-func-name": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
+ "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz",
+ "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==",
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.10",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
+ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
+ "optional": true
+ },
+ "node_modules/has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dependencies": {
+ "function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ=="
+ },
+ "node_modules/he": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
+ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
+ "bin": {
+ "he": "bin/he"
+ }
+ },
+ "node_modules/http-cache-semantics": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
+ "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
+ "optional": true
+ },
+ "node_modules/http-errors": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+ "dependencies": {
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/http-proxy-agent": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
+ "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
+ "optional": true,
+ "dependencies": {
+ "@tootallnate/once": "1",
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/http-proxy-agent/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "optional": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/http-proxy-agent/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "optional": true
+ },
+ "node_modules/https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "dependencies": {
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/https-proxy-agent/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/https-proxy-agent/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/humanize-ms": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
+ "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
+ "optional": true,
+ "dependencies": {
+ "ms": "^2.0.0"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ignore-by-default": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
+ "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==",
+ "dev": true
+ },
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ "optional": true,
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "node_modules/indent-string": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+ "optional": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/infer-owner": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
+ "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
+ "optional": true
+ },
+ "node_modules/inflection": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.13.2.tgz",
+ "integrity": "sha512-cmZlljCRTBFouT8UzMzrGcVEvkv6D/wBdcdKG7J1QH5cXjtU75Dm+P27v9EKu/Y43UYyCJd1WC4zLebRrC8NBw==",
+ "engines": [
+ "node >= 0.4.0"
+ ]
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "node_modules/ip": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz",
+ "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==",
+ "optional": true
+ },
+ "node_modules/ipaddr.js": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-lambda": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
+ "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==",
+ "optional": true
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-plain-obj": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+ "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-unicode-supported": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
+ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ=="
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "optional": true
+ },
+ "node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/just-extend": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz",
+ "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg=="
+ },
+ "node_modules/locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+ },
+ "node_modules/lodash.get": {
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
+ "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ=="
+ },
+ "node_modules/log-symbols": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+ "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+ "dependencies": {
+ "chalk": "^4.1.0",
+ "is-unicode-supported": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/loupe": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz",
+ "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==",
+ "dependencies": {
+ "get-func-name": "^2.0.0"
+ }
+ },
+ "node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dependencies": {
+ "semver": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/make-dir/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/make-fetch-happen": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
+ "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==",
+ "optional": true,
+ "dependencies": {
+ "agentkeepalive": "^4.1.3",
+ "cacache": "^15.2.0",
+ "http-cache-semantics": "^4.1.0",
+ "http-proxy-agent": "^4.0.1",
+ "https-proxy-agent": "^5.0.0",
+ "is-lambda": "^1.0.1",
+ "lru-cache": "^6.0.0",
+ "minipass": "^3.1.3",
+ "minipass-collect": "^1.0.2",
+ "minipass-fetch": "^1.3.2",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.4",
+ "negotiator": "^0.6.2",
+ "promise-retry": "^2.0.1",
+ "socks-proxy-agent": "^6.0.0",
+ "ssri": "^8.0.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/merge-descriptors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+ "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
+ },
+ "node_modules/methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/minipass": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz",
+ "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/minipass-collect": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
+ "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
+ "optional": true,
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/minipass-fetch": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz",
+ "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==",
+ "optional": true,
+ "dependencies": {
+ "minipass": "^3.1.0",
+ "minipass-sized": "^1.0.3",
+ "minizlib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "optionalDependencies": {
+ "encoding": "^0.1.12"
+ }
+ },
+ "node_modules/minipass-flush": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
+ "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
+ "optional": true,
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/minipass-pipeline": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
+ "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
+ "optional": true,
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/minipass-sized": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
+ "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
+ "optional": true,
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/minizlib": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
+ "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
+ "dependencies": {
+ "minipass": "^3.0.0",
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/mocha": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.1.0.tgz",
+ "integrity": "sha512-vUF7IYxEoN7XhQpFLxQAEMtE4W91acW4B6En9l97MwE9stL1A9gusXfoHZCLVHDUJ/7V5+lbCM6yMqzo5vNymg==",
+ "dependencies": {
+ "ansi-colors": "4.1.1",
+ "browser-stdout": "1.3.1",
+ "chokidar": "3.5.3",
+ "debug": "4.3.4",
+ "diff": "5.0.0",
+ "escape-string-regexp": "4.0.0",
+ "find-up": "5.0.0",
+ "glob": "7.2.0",
+ "he": "1.2.0",
+ "js-yaml": "4.1.0",
+ "log-symbols": "4.1.0",
+ "minimatch": "5.0.1",
+ "ms": "2.1.3",
+ "nanoid": "3.3.3",
+ "serialize-javascript": "6.0.0",
+ "strip-json-comments": "3.1.1",
+ "supports-color": "8.1.1",
+ "workerpool": "6.2.1",
+ "yargs": "16.2.0",
+ "yargs-parser": "20.2.4",
+ "yargs-unparser": "2.0.0"
+ },
+ "bin": {
+ "_mocha": "bin/_mocha",
+ "mocha": "bin/mocha.js"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mochajs"
+ }
+ },
+ "node_modules/mocha/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/mocha/node_modules/debug/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/mocha/node_modules/diff": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
+ "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
+ "engines": {
+ "node": ">=0.3.1"
+ }
+ },
+ "node_modules/mocha/node_modules/glob": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+ "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/mocha/node_modules/glob/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/mocha/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/mocha/node_modules/minimatch": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
+ "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/mocha/node_modules/minimatch/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/mocha/node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/moment": {
+ "version": "2.29.4",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
+ "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/moment-timezone": {
+ "version": "0.5.34",
+ "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.34.tgz",
+ "integrity": "sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==",
+ "dependencies": {
+ "moment": ">= 2.9.0"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
+ "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/negotiator": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/nise": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.2.tgz",
+ "integrity": "sha512-+gQjFi8v+tkfCuSCxfURHLhRhniE/+IaYbIphxAN2JRR9SHKhY8hgXpaXiYfHdw+gcGe4buxgbprBQFab9FkhA==",
+ "dependencies": {
+ "@sinonjs/commons": "^2.0.0",
+ "@sinonjs/fake-timers": "^7.0.4",
+ "@sinonjs/text-encoding": "^0.7.1",
+ "just-extend": "^4.0.2",
+ "path-to-regexp": "^1.7.0"
+ }
+ },
+ "node_modules/nise/node_modules/@sinonjs/fake-timers": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz",
+ "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==",
+ "dependencies": {
+ "@sinonjs/commons": "^1.7.0"
+ }
+ },
+ "node_modules/nise/node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.5.tgz",
+ "integrity": "sha512-rTpCA0wG1wUxglBSFdMMY0oTrKYvgf4fNgv/sXbfCVAdf+FnPBdKJR/7XbpTCwbCrvCbdPYnlWaUUYz4V2fPDA==",
+ "dependencies": {
+ "type-detect": "4.0.8"
+ }
+ },
+ "node_modules/nise/node_modules/path-to-regexp": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz",
+ "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==",
+ "dependencies": {
+ "isarray": "0.0.1"
+ }
+ },
+ "node_modules/node-addon-api": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz",
+ "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ=="
+ },
+ "node_modules/node-fetch": {
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/node-fetch/node_modules/tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
+ },
+ "node_modules/node-fetch/node_modules/webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
+ },
+ "node_modules/node-fetch/node_modules/whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+ "dependencies": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
+ "node_modules/node-gyp": {
+ "version": "8.4.1",
+ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz",
+ "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==",
+ "optional": true,
+ "dependencies": {
+ "env-paths": "^2.2.0",
+ "glob": "^7.1.4",
+ "graceful-fs": "^4.2.6",
+ "make-fetch-happen": "^9.1.0",
+ "nopt": "^5.0.0",
+ "npmlog": "^6.0.0",
+ "rimraf": "^3.0.2",
+ "semver": "^7.3.5",
+ "tar": "^6.1.2",
+ "which": "^2.0.2"
+ },
+ "bin": {
+ "node-gyp": "bin/node-gyp.js"
+ },
+ "engines": {
+ "node": ">= 10.12.0"
+ }
+ },
+ "node_modules/node-gyp/node_modules/are-we-there-yet": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz",
+ "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==",
+ "optional": true,
+ "dependencies": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^3.6.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/node-gyp/node_modules/gauge": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
+ "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
+ "optional": true,
+ "dependencies": {
+ "aproba": "^1.0.3 || ^2.0.0",
+ "color-support": "^1.1.3",
+ "console-control-strings": "^1.1.0",
+ "has-unicode": "^2.0.1",
+ "signal-exit": "^3.0.7",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "wide-align": "^1.1.5"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/node-gyp/node_modules/nopt": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
+ "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
+ "optional": true,
+ "dependencies": {
+ "abbrev": "1"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/node-gyp/node_modules/npmlog": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
+ "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
+ "optional": true,
+ "dependencies": {
+ "are-we-there-yet": "^3.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^4.0.3",
+ "set-blocking": "^2.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/node-gyp/node_modules/semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "optional": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/nodemon": {
+ "version": "2.0.19",
+ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.19.tgz",
+ "integrity": "sha512-4pv1f2bMDj0Eeg/MhGqxrtveeQ5/G/UVe9iO6uTZzjnRluSA4PVWf8CW99LUPwGB3eNIA7zUFoP77YuI7hOc0A==",
+ "dev": true,
+ "hasInstallScript": true,
+ "dependencies": {
+ "chokidar": "^3.5.2",
+ "debug": "^3.2.7",
+ "ignore-by-default": "^1.0.1",
+ "minimatch": "^3.0.4",
+ "pstree.remy": "^1.1.8",
+ "semver": "^5.7.1",
+ "simple-update-notifier": "^1.0.7",
+ "supports-color": "^5.5.0",
+ "touch": "^3.1.0",
+ "undefsafe": "^2.0.5"
+ },
+ "bin": {
+ "nodemon": "bin/nodemon.js"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/nodemon"
+ }
+ },
+ "node_modules/nopt": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
+ "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==",
+ "dev": true,
+ "dependencies": {
+ "abbrev": "1"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/npmlog": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
+ "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
+ "dependencies": {
+ "are-we-there-yet": "^2.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^3.0.0",
+ "set-blocking": "^2.0.0"
+ }
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-inspect": {
+ "version": "1.12.2",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
+ "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-map": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
+ "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
+ "optional": true,
+ "dependencies": {
+ "aggregate-error": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-to-regexp": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+ "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
+ },
+ "node_modules/pathval": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
+ "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/pg-connection-string": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz",
+ "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ=="
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/promise-inflight": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
+ "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==",
+ "optional": true
+ },
+ "node_modules/promise-retry": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
+ "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
+ "optional": true,
+ "dependencies": {
+ "err-code": "^2.0.2",
+ "retry": "^0.12.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/proxy-addr": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
+ "dependencies": {
+ "forwarded": "0.2.0",
+ "ipaddr.js": "1.9.1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/proxy-from-env": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
+ },
+ "node_modules/pstree.remy": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
+ "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==",
+ "dev": true
+ },
+ "node_modules/qs": {
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+ "dependencies": {
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "dependencies": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "node_modules/range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/raw-body": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
+ "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/retry": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
+ "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==",
+ "optional": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/retry-as-promised": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-5.0.0.tgz",
+ "integrity": "sha512-6S+5LvtTl2ggBumk04hBo/4Uf6fRJUwIgunGZ7CYEBCeufGFW1Pu6ucUf/UskHeWOIsUcLOGLFXPig5tR5V1nA=="
+ },
+ "node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "node_modules/semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/send": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
+ "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
+ "dependencies": {
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/send/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/send/node_modules/debug/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/sequelize": {
+ "version": "6.21.3",
+ "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.21.3.tgz",
+ "integrity": "sha512-cJPrTTVCofUxaaNKoIETiXCYh2xJ+OFq5jMHJQqftp34M4kNoLpTfUMPSwYtRUeTcSh1/5HodfJXIBi7troIFA==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/sequelize"
+ }
+ ],
+ "dependencies": {
+ "@types/debug": "^4.1.7",
+ "@types/validator": "^13.7.1",
+ "debug": "^4.3.3",
+ "dottie": "^2.0.2",
+ "inflection": "^1.13.2",
+ "lodash": "^4.17.21",
+ "moment": "^2.29.1",
+ "moment-timezone": "^0.5.34",
+ "pg-connection-string": "^2.5.0",
+ "retry-as-promised": "^5.0.0",
+ "semver": "^7.3.5",
+ "sequelize-pool": "^7.1.0",
+ "toposort-class": "^1.0.1",
+ "uuid": "^8.3.2",
+ "validator": "^13.7.0",
+ "wkx": "^0.5.0"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "ibm_db": {
+ "optional": true
+ },
+ "mariadb": {
+ "optional": true
+ },
+ "mysql2": {
+ "optional": true
+ },
+ "pg": {
+ "optional": true
+ },
+ "pg-hstore": {
+ "optional": true
+ },
+ "snowflake-sdk": {
+ "optional": true
+ },
+ "sqlite3": {
+ "optional": true
+ },
+ "tedious": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/sequelize-pool": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/sequelize-pool/-/sequelize-pool-7.1.0.tgz",
+ "integrity": "sha512-G9c0qlIWQSK29pR/5U2JF5dDQeqqHRragoyahj/Nx4KOOQ3CPPfzxnfqFPCSB7x5UgjOgnZ61nSxz+fjDpRlJg==",
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/sequelize/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/sequelize/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/sequelize/node_modules/semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/serialize-javascript": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
+ "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
+ "dependencies": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "node_modules/serve-static": {
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
+ "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
+ "dependencies": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.18.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
+ },
+ "node_modules/setprototypeof": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
+ },
+ "node_modules/side-channel": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
+ },
+ "node_modules/simple-update-notifier": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz",
+ "integrity": "sha512-BBKgR84BJQJm6WjWFMHgLVuo61FBDSj1z/xSFUIozqO6wO7ii0JxCqlIud7Enr/+LhlbNI0whErq96P2qHNWew==",
+ "dev": true,
+ "dependencies": {
+ "semver": "~7.0.0"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/simple-update-notifier/node_modules/semver": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
+ "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/sinon": {
+ "version": "14.0.2",
+ "resolved": "https://registry.npmjs.org/sinon/-/sinon-14.0.2.tgz",
+ "integrity": "sha512-PDpV0ZI3ZCS3pEqx0vpNp6kzPhHrLx72wA0G+ZLaaJjLIYeE0n8INlgaohKuGy7hP0as5tbUd23QWu5U233t+w==",
+ "dependencies": {
+ "@sinonjs/commons": "^2.0.0",
+ "@sinonjs/fake-timers": "^9.1.2",
+ "@sinonjs/samsam": "^7.0.1",
+ "diff": "^5.0.0",
+ "nise": "^5.1.2",
+ "supports-color": "^7.2.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/sinon"
+ }
+ },
+ "node_modules/sinon/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/sinon/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/smart-buffer": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
+ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
+ "optional": true,
+ "engines": {
+ "node": ">= 6.0.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "node_modules/socket.io": {
+ "version": "4.5.1",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.1.tgz",
+ "integrity": "sha512-0y9pnIso5a9i+lJmsCdtmTTgJFFSvNQKDnPQRz28mGNnxbmqYg2QPtJTLFxhymFZhAIn50eHAKzJeiNaKr+yUQ==",
+ "dependencies": {
+ "accepts": "~1.3.4",
+ "base64id": "~2.0.0",
+ "debug": "~4.3.2",
+ "engine.io": "~6.2.0",
+ "socket.io-adapter": "~2.4.0",
+ "socket.io-parser": "~4.0.4"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/socket.io-adapter": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
+ "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg=="
+ },
+ "node_modules/socket.io-client": {
+ "version": "4.5.3",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.3.tgz",
+ "integrity": "sha512-I/hqDYpQ6JKwtJOf5ikM+Qz+YujZPMEl6qBLhxiP0nX+TfXKhW4KZZG8lamrD6Y5ngjmYHreESVasVCgi5Kl3A==",
+ "dependencies": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.2",
+ "engine.io-client": "~6.2.3",
+ "socket.io-parser": "~4.2.0"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/socket.io-client/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/socket.io-client/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/socket.io-client/node_modules/socket.io-parser": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz",
+ "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==",
+ "dependencies": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.1"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/socket.io-parser": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.5.tgz",
+ "integrity": "sha512-sNjbT9dX63nqUFIOv95tTVm6elyIU4RvB1m8dOeZt+IgWwcWklFDOdmGcfo3zSiRsnR/3pJkjY5lfoGqEe4Eig==",
+ "dependencies": {
+ "@types/component-emitter": "^1.2.10",
+ "component-emitter": "~1.3.0",
+ "debug": "~4.3.1"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/socket.io-parser/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/socket.io-parser/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/socket.io/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/socket.io/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/socks": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz",
+ "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==",
+ "optional": true,
+ "dependencies": {
+ "ip": "^1.1.5",
+ "smart-buffer": "^4.2.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "node_modules/socks-proxy-agent": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz",
+ "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==",
+ "optional": true,
+ "dependencies": {
+ "agent-base": "^6.0.2",
+ "debug": "^4.3.3",
+ "socks": "^2.6.2"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/socks-proxy-agent/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "optional": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/socks-proxy-agent/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "optional": true
+ },
+ "node_modules/sqlite3": {
+ "version": "5.0.11",
+ "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.11.tgz",
+ "integrity": "sha512-4akFOr7u9lJEeAWLJxmwiV43DJcGV7w3ab7SjQFAFaTVyknY3rZjvXTKIVtWqUoY4xwhjwoHKYs2HDW2SoHVsA==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@mapbox/node-pre-gyp": "^1.0.0",
+ "node-addon-api": "^4.2.0",
+ "tar": "^6.1.11"
+ },
+ "optionalDependencies": {
+ "node-gyp": "8.x"
+ },
+ "peerDependencies": {
+ "node-gyp": "8.x"
+ },
+ "peerDependenciesMeta": {
+ "node-gyp": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/ssri": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
+ "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
+ "optional": true,
+ "dependencies": {
+ "minipass": "^3.1.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "dependencies": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/tar": {
+ "version": "6.1.11",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
+ "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
+ "dependencies": {
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^3.0.0",
+ "minizlib": "^2.1.1",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/toidentifier": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/toposort-class": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/toposort-class/-/toposort-class-1.0.1.tgz",
+ "integrity": "sha512-OsLcGGbYF3rMjPUf8oKktyvCiUxSbqMMS39m33MAjLTC1DVIH6x3WSt63/M77ihI09+Sdfk1AXvfhCEeUmC7mg=="
+ },
+ "node_modules/touch": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
+ "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==",
+ "dev": true,
+ "dependencies": {
+ "nopt": "~1.0.10"
+ },
+ "bin": {
+ "nodetouch": "bin/nodetouch.js"
+ }
+ },
+ "node_modules/type-detect": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "dependencies": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/undefsafe": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
+ "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==",
+ "dev": true
+ },
+ "node_modules/unique-filename": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
+ "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
+ "optional": true,
+ "dependencies": {
+ "unique-slug": "^2.0.0"
+ }
+ },
+ "node_modules/unique-slug": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
+ "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
+ "optional": true,
+ "dependencies": {
+ "imurmurhash": "^0.1.4"
+ }
+ },
+ "node_modules/unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+ },
+ "node_modules/utils-merge": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/validator": {
+ "version": "13.7.0",
+ "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz",
+ "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "optional": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/wide-align": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
+ "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
+ "dependencies": {
+ "string-width": "^1.0.2 || 2 || 3 || 4"
+ }
+ },
+ "node_modules/wkx": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/wkx/-/wkx-0.5.0.tgz",
+ "integrity": "sha512-Xng/d4Ichh8uN4l0FToV/258EjMGU9MGcA0HV2d9B/ZpZB3lqQm7nkOdZdm5GhKtLLhAE7PiVQwN4eN+2YJJUg==",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/workerpool": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz",
+ "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw=="
+ },
+ "node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ },
+ "node_modules/ws": {
+ "version": "8.2.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
+ "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/xmlhttprequest-ssl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
+ "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ },
+ "node_modules/yargs": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+ "dependencies": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.0",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^20.2.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "20.2.4",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
+ "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yargs-unparser": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+ "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+ "dependencies": {
+ "camelcase": "^6.0.0",
+ "decamelize": "^4.0.0",
+ "flat": "^5.0.2",
+ "is-plain-obj": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ }
+ },
"dependencies": {
"@gar/promisify": {
"version": "1.1.3",
@@ -75,6 +3514,52 @@
"rimraf": "^3.0.2"
}
},
+ "@sinonjs/commons": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz",
+ "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==",
+ "requires": {
+ "type-detect": "4.0.8"
+ }
+ },
+ "@sinonjs/fake-timers": {
+ "version": "9.1.2",
+ "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz",
+ "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==",
+ "requires": {
+ "@sinonjs/commons": "^1.7.0"
+ },
+ "dependencies": {
+ "@sinonjs/commons": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.5.tgz",
+ "integrity": "sha512-rTpCA0wG1wUxglBSFdMMY0oTrKYvgf4fNgv/sXbfCVAdf+FnPBdKJR/7XbpTCwbCrvCbdPYnlWaUUYz4V2fPDA==",
+ "requires": {
+ "type-detect": "4.0.8"
+ }
+ }
+ }
+ },
+ "@sinonjs/samsam": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-7.0.1.tgz",
+ "integrity": "sha512-zsAk2Jkiq89mhZovB2LLOdTCxJF4hqqTToGP0ASWlhp4I1hqOjcfmZGafXntCN7MDC6yySH0mFHrYtHceOeLmw==",
+ "requires": {
+ "@sinonjs/commons": "^2.0.0",
+ "lodash.get": "^4.4.2",
+ "type-detect": "^4.0.8"
+ }
+ },
+ "@sinonjs/text-encoding": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz",
+ "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ=="
+ },
+ "@socket.io/component-emitter": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
+ "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
+ },
"@tootallnate/once": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
@@ -200,16 +3685,28 @@
"indent-string": "^4.0.0"
}
},
+ "ansi-colors": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+ "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA=="
+ },
"ansi-regex": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
},
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
"anymatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
"integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
- "dev": true,
"requires": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
@@ -229,11 +3726,36 @@
"readable-stream": "^3.6.0"
}
},
+ "argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
+ },
"array-flatten": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
"integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
},
+ "assertion-error": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
+ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw=="
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+ },
+ "axios": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.1.2.tgz",
+ "integrity": "sha512-bznQyETwElsXl2RK7HLLwb5GPpOLlycxHCtrpDR/4RqqBzjARaOTo3jz4IgtntWUYee7Ne4S8UHd92VCuzPaWA==",
+ "requires": {
+ "follow-redirects": "^1.15.0",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
+ }
+ },
"balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
@@ -247,8 +3769,7 @@
"binary-extensions": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
- "dev": true
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
},
"body-parser": {
"version": "1.20.0",
@@ -297,11 +3818,15 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
"requires": {
"fill-range": "^7.0.1"
}
},
+ "browser-stdout": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
+ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw=="
+ },
"bytes": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
@@ -342,11 +3867,58 @@
"get-intrinsic": "^1.0.2"
}
},
+ "camelcase": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA=="
+ },
+ "chai": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz",
+ "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==",
+ "requires": {
+ "assertion-error": "^1.1.0",
+ "check-error": "^1.0.2",
+ "deep-eql": "^4.1.2",
+ "get-func-name": "^2.0.0",
+ "loupe": "^2.3.1",
+ "pathval": "^1.1.1",
+ "type-detect": "^4.0.5"
+ }
+ },
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "dependencies": {
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "check-error": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
+ "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA=="
+ },
"chokidar": {
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
- "dev": true,
"requires": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
@@ -369,11 +3941,42 @@
"integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
"optional": true
},
+ "cliui": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+ "requires": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
"color-support": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
"integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg=="
},
+ "combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
"component-emitter": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
@@ -430,6 +4033,24 @@
"ms": "^2.1.1"
}
},
+ "decamelize": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
+ "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ=="
+ },
+ "deep-eql": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.2.tgz",
+ "integrity": "sha512-gT18+YW4CcW/DBNTwAmqTtkJh7f9qqScu2qFVlx7kCoeY9tlBu9cUcr7+I+Z/noG8INehS3xQgLpTtd/QUTn4w==",
+ "requires": {
+ "type-detect": "^4.0.0"
+ }
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
+ },
"delegates": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
@@ -450,6 +4071,16 @@
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
"integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w=="
},
+ "diff": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz",
+ "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw=="
+ },
+ "dotenv": {
+ "version": "16.0.3",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
+ "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ=="
+ },
"dottie": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.2.tgz",
@@ -527,6 +4158,33 @@
}
}
},
+ "engine.io-client": {
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.3.tgz",
+ "integrity": "sha512-aXPtgF1JS3RuuKcpSrBtimSjYvrbhKW9froICH4s0F3XQWLxsKNxqzG39nnvQZQnva4CMvUK63T7shevxRyYHw==",
+ "requires": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.1",
+ "engine.io-parser": "~5.0.3",
+ "ws": "~8.2.3",
+ "xmlhttprequest-ssl": "~2.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
"engine.io-parser": {
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
@@ -544,11 +4202,21 @@
"integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
"optional": true
},
+ "escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
+ },
"escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
},
+ "escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="
+ },
"etag": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
@@ -611,7 +4279,6 @@
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
"requires": {
"to-regex-range": "^5.0.1"
}
@@ -645,6 +4312,35 @@
}
}
},
+ "find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "requires": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "flat": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
+ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ=="
+ },
+ "follow-redirects": {
+ "version": "1.15.2",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
+ "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA=="
+ },
+ "form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ }
+ },
"forwarded": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@@ -672,7 +4368,6 @@
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "dev": true,
"optional": true
},
"function-bind": {
@@ -696,6 +4391,16 @@
"wide-align": "^1.1.2"
}
},
+ "get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
+ },
+ "get-func-name": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
+ "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig=="
+ },
"get-intrinsic": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz",
@@ -723,7 +4428,6 @@
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
"requires": {
"is-glob": "^4.0.1"
}
@@ -758,6 +4462,11 @@
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
"integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ=="
},
+ "he": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
+ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
+ },
"http-cache-semantics": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
@@ -903,7 +4612,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
"requires": {
"binary-extensions": "^2.0.0"
}
@@ -911,8 +4619,7 @@
"is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
},
"is-fullwidth-code-point": {
"version": "3.0.0",
@@ -923,7 +4630,6 @@
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
"requires": {
"is-extglob": "^2.1.1"
}
@@ -937,8 +4643,22 @@
"is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
+ },
+ "is-plain-obj": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+ "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA=="
+ },
+ "is-unicode-supported": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
+ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw=="
+ },
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ=="
},
"isexe": {
"version": "2.0.0",
@@ -946,11 +4666,54 @@
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
"optional": true
},
+ "js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "requires": {
+ "argparse": "^2.0.1"
+ }
+ },
+ "just-extend": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz",
+ "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg=="
+ },
+ "locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "requires": {
+ "p-locate": "^5.0.0"
+ }
+ },
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
+ "lodash.get": {
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
+ "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ=="
+ },
+ "log-symbols": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+ "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+ "requires": {
+ "chalk": "^4.1.0",
+ "is-unicode-supported": "^0.1.0"
+ }
+ },
+ "loupe": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz",
+ "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==",
+ "requires": {
+ "get-func-name": "^2.0.0"
+ }
+ },
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -1109,6 +4872,110 @@
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
},
+ "mocha": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.1.0.tgz",
+ "integrity": "sha512-vUF7IYxEoN7XhQpFLxQAEMtE4W91acW4B6En9l97MwE9stL1A9gusXfoHZCLVHDUJ/7V5+lbCM6yMqzo5vNymg==",
+ "requires": {
+ "ansi-colors": "4.1.1",
+ "browser-stdout": "1.3.1",
+ "chokidar": "3.5.3",
+ "debug": "4.3.4",
+ "diff": "5.0.0",
+ "escape-string-regexp": "4.0.0",
+ "find-up": "5.0.0",
+ "glob": "7.2.0",
+ "he": "1.2.0",
+ "js-yaml": "4.1.0",
+ "log-symbols": "4.1.0",
+ "minimatch": "5.0.1",
+ "ms": "2.1.3",
+ "nanoid": "3.3.3",
+ "serialize-javascript": "6.0.0",
+ "strip-json-comments": "3.1.1",
+ "supports-color": "8.1.1",
+ "workerpool": "6.2.1",
+ "yargs": "16.2.0",
+ "yargs-parser": "20.2.4",
+ "yargs-unparser": "2.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "requires": {
+ "ms": "2.1.2"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
+ "diff": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
+ "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w=="
+ },
+ "glob": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+ "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "dependencies": {
+ "minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ }
+ }
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
+ },
+ "minimatch": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
+ "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ }
+ }
+ },
+ "supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
"moment": {
"version": "2.29.4",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
@@ -1127,11 +4994,56 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
},
+ "nanoid": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
+ "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w=="
+ },
"negotiator": {
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
"integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="
},
+ "nise": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.2.tgz",
+ "integrity": "sha512-+gQjFi8v+tkfCuSCxfURHLhRhniE/+IaYbIphxAN2JRR9SHKhY8hgXpaXiYfHdw+gcGe4buxgbprBQFab9FkhA==",
+ "requires": {
+ "@sinonjs/commons": "^2.0.0",
+ "@sinonjs/fake-timers": "^7.0.4",
+ "@sinonjs/text-encoding": "^0.7.1",
+ "just-extend": "^4.0.2",
+ "path-to-regexp": "^1.7.0"
+ },
+ "dependencies": {
+ "@sinonjs/fake-timers": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz",
+ "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==",
+ "requires": {
+ "@sinonjs/commons": "^1.7.0"
+ },
+ "dependencies": {
+ "@sinonjs/commons": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.5.tgz",
+ "integrity": "sha512-rTpCA0wG1wUxglBSFdMMY0oTrKYvgf4fNgv/sXbfCVAdf+FnPBdKJR/7XbpTCwbCrvCbdPYnlWaUUYz4V2fPDA==",
+ "requires": {
+ "type-detect": "4.0.8"
+ }
+ }
+ }
+ },
+ "path-to-regexp": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz",
+ "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==",
+ "requires": {
+ "isarray": "0.0.1"
+ }
+ }
+ }
+ },
"node-addon-api": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz",
@@ -1272,8 +5184,7 @@
"normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
},
"npmlog": {
"version": "5.0.1",
@@ -1312,6 +5223,22 @@
"wrappy": "1"
}
},
+ "p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "requires": {
+ "yocto-queue": "^0.1.0"
+ }
+ },
+ "p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "requires": {
+ "p-limit": "^3.0.2"
+ }
+ },
"p-map": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
@@ -1326,6 +5253,11 @@
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
"integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
},
+ "path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
+ },
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
@@ -1336,6 +5268,11 @@
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
"integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
},
+ "pathval": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
+ "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ=="
+ },
"pg-connection-string": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz",
@@ -1344,8 +5281,7 @@
"picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
},
"promise-inflight": {
"version": "1.0.1",
@@ -1372,6 +5308,11 @@
"ipaddr.js": "1.9.1"
}
},
+ "proxy-from-env": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
+ },
"pstree.remy": {
"version": "1.1.8",
"resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
@@ -1386,6 +5327,14 @@
"side-channel": "^1.0.4"
}
},
+ "randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "requires": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
"range-parser": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
@@ -1416,11 +5365,15 @@
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "dev": true,
"requires": {
"picomatch": "^2.2.1"
}
},
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="
+ },
"retry": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
@@ -1544,6 +5497,14 @@
"resolved": "https://registry.npmjs.org/sequelize-pool/-/sequelize-pool-7.1.0.tgz",
"integrity": "sha512-G9c0qlIWQSK29pR/5U2JF5dDQeqqHRragoyahj/Nx4KOOQ3CPPfzxnfqFPCSB7x5UgjOgnZ61nSxz+fjDpRlJg=="
},
+ "serialize-javascript": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
+ "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
+ "requires": {
+ "randombytes": "^2.1.0"
+ }
+ },
"serve-static": {
"version": "1.15.0",
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
@@ -1597,6 +5558,34 @@
}
}
},
+ "sinon": {
+ "version": "14.0.2",
+ "resolved": "https://registry.npmjs.org/sinon/-/sinon-14.0.2.tgz",
+ "integrity": "sha512-PDpV0ZI3ZCS3pEqx0vpNp6kzPhHrLx72wA0G+ZLaaJjLIYeE0n8INlgaohKuGy7hP0as5tbUd23QWu5U233t+w==",
+ "requires": {
+ "@sinonjs/commons": "^2.0.0",
+ "@sinonjs/fake-timers": "^9.1.2",
+ "@sinonjs/samsam": "^7.0.1",
+ "diff": "^5.0.0",
+ "nise": "^5.1.2",
+ "supports-color": "^7.2.0"
+ },
+ "dependencies": {
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
"smart-buffer": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
@@ -1636,6 +5625,41 @@
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
"integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg=="
},
+ "socket.io-client": {
+ "version": "4.5.3",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.3.tgz",
+ "integrity": "sha512-I/hqDYpQ6JKwtJOf5ikM+Qz+YujZPMEl6qBLhxiP0nX+TfXKhW4KZZG8lamrD6Y5ngjmYHreESVasVCgi5Kl3A==",
+ "requires": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.2",
+ "engine.io-client": "~6.2.3",
+ "socket.io-parser": "~4.2.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "socket.io-parser": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz",
+ "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==",
+ "requires": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.1"
+ }
+ }
+ }
+ },
"socket.io-parser": {
"version": "4.0.5",
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.5.tgz",
@@ -1724,6 +5748,14 @@
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="
},
+ "string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "requires": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
"string-width": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
@@ -1734,14 +5766,6 @@
"strip-ansi": "^6.0.1"
}
},
- "string_decoder": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
- "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
- "requires": {
- "safe-buffer": "~5.2.0"
- }
- },
"strip-ansi": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
@@ -1750,6 +5774,11 @@
"ansi-regex": "^5.0.1"
}
},
+ "strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="
+ },
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@@ -1776,7 +5805,6 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
"requires": {
"is-number": "^7.0.0"
}
@@ -1800,6 +5828,11 @@
"nopt": "~1.0.10"
}
},
+ "type-detect": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g=="
+ },
"type-is": {
"version": "1.6.18",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
@@ -1888,6 +5921,21 @@
"@types/node": "*"
}
},
+ "workerpool": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz",
+ "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw=="
+ },
+ "wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
@@ -1896,12 +5944,58 @@
"ws": {
"version": "8.2.3",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
- "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA=="
+ "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
+ "requires": {}
+ },
+ "xmlhttprequest-ssl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
+ "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A=="
+ },
+ "y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="
},
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ },
+ "yargs": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+ "requires": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.0",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^20.2.2"
+ }
+ },
+ "yargs-parser": {
+ "version": "20.2.4",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
+ "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA=="
+ },
+ "yargs-unparser": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+ "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+ "requires": {
+ "camelcase": "^6.0.0",
+ "decamelize": "^4.0.0",
+ "flat": "^5.0.2",
+ "is-plain-obj": "^2.1.0"
+ }
+ },
+ "yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="
}
}
}
diff --git a/matching-service/package.json b/matching-service/package.json
index dd6d4f3..7fdfdf8 100644
--- a/matching-service/package.json
+++ b/matching-service/package.json
@@ -7,7 +7,7 @@
"scripts": {
"dev": "nodemon index.js",
"start": "node index.js",
- "test": "echo \"Error: no test specified\" && exit 1"
+ "test": "mocha ./Tests --exit"
},
"keywords": [],
"author": "",
@@ -16,9 +16,15 @@
"nodemon": "^2.0.19"
},
"dependencies": {
+ "axios": "^1.1.2",
+ "chai": "^4.3.7",
+ "dotenv": "^16.0.3",
"express": "^4.18.1",
+ "mocha": "^10.1.0",
"sequelize": "^6.21.3",
+ "sinon": "^14.0.2",
"socket.io": "^4.5.1",
+ "socket.io-client": "^4.5.3",
"sqlite3": "^5.0.10",
"uuid": "^8.3.2"
}
diff --git a/question-seed/Dockerfile b/question-seed/Dockerfile
new file mode 100644
index 0000000..c0bc7f5
--- /dev/null
+++ b/question-seed/Dockerfile
@@ -0,0 +1,4 @@
+FROM mongo
+
+COPY question.json /question.json
+CMD mongoimport --host questionmongo:27019 --db test --collection questions --type json --file /question.json --jsonArray
\ No newline at end of file
diff --git a/question-seed/question.json b/question-seed/question.json
new file mode 100644
index 0000000..4126308
--- /dev/null
+++ b/question-seed/question.json
@@ -0,0 +1,3024 @@
+[
+ {
+ "title": "2451. Odd String Difference",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gYXJyYXkgb2YgZXF1YWwtbGVuZ3RoIHN0cmluZ3MgPGNvZGU+d29yZHM8L2NvZGU+LiBBc3N1bWUgdGhhdCB0aGUgbGVuZ3RoIG9mIGVhY2ggc3RyaW5nIGlzIDxjb2RlPm48L2NvZGU+LjwvcD4KPHA+RWFjaCBzdHJpbmcgPGNvZGU+d29yZHNbaV08L2NvZGU+IGNhbiBiZSBjb252ZXJ0ZWQgaW50byBhIDxzdHJvbmc+ZGlmZmVyZW5jZSBpbnRlZ2VyIGFycmF5PC9zdHJvbmc+IDxjb2RlPmRpZmZlcmVuY2VbaV08L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT5uIC0gMTwvY29kZT4gd2hlcmUgPGNvZGU+ZGlmZmVyZW5jZVtpXVtqXSA9IHdvcmRzW2ldW2orMV0gLSB3b3Jkc1tpXVtqXTwvY29kZT4gd2hlcmUgPGNvZGU+MCAmbHQ7PSBqICZsdDs9IG4gLSAyPC9jb2RlPi4gTm90ZSB0aGF0IHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdHdvIGxldHRlcnMgaXMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGVpciA8c3Ryb25nPnBvc2l0aW9uczwvc3Ryb25nPiBpbiB0aGUgYWxwaGFiZXQgaS5lLsKgdGhlIHBvc2l0aW9uIG9mIDxjb2RlPidhJzwvY29kZT4gaXMgPGNvZGU+MDwvY29kZT4sIDxjb2RlPidiJzwvY29kZT4gaXMgPGNvZGU+MTwvY29kZT4sIGFuZCA8Y29kZT4neic8L2NvZGU+IGlzIDxjb2RlPjI1PC9jb2RlPi48L3A+Cjx1bD4KPGxpPkZvciBleGFtcGxlLCBmb3IgdGhlIHN0cmluZyA8Y29kZT4iYWNiIjwvY29kZT4sIHRoZSBkaWZmZXJlbmNlIGludGVnZXIgYXJyYXkgaXMgPGNvZGU+WzIgLSAwLCAxIC0gMl0gPSBbMiwgLTFdPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5BbGwgdGhlIHN0cmluZ3MgaW4gd29yZHMgaGF2ZSB0aGUgc2FtZSBkaWZmZXJlbmNlIGludGVnZXIgYXJyYXksIDxzdHJvbmc+ZXhjZXB0IG9uZTwvc3Ryb25nPi4gWW91IHNob3VsZCBmaW5kIHRoYXQgc3RyaW5nLjwvcD4KPHA+UmV0dXJuPGVtPiB0aGUgc3RyaW5nIGluIDwvZW0+PGNvZGU+d29yZHM8L2NvZGU+PGVtPiB0aGF0IGhhcyBkaWZmZXJlbnQgPHN0cm9uZz5kaWZmZXJlbmNlIGludGVnZXIgYXJyYXk8L3N0cm9uZz4uPC9lbT48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHdvcmRzID0gWyJhZGMiLCJ3enkiLCJhYmMiXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gImFiYyIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCi0gVGhlIGRpZmZlcmVuY2UgaW50ZWdlciBhcnJheSBvZiAiYWRjIiBpcyBbMyAtIDAsIDIgLSAzXSA9IFszLCAtMV0uCi0gVGhlIGRpZmZlcmVuY2UgaW50ZWdlciBhcnJheSBvZiAid3p5IiBpcyBbMjUgLSAyMiwgMjQgLSAyNV09IFszLCAtMV0uCi0gVGhlIGRpZmZlcmVuY2UgaW50ZWdlciBhcnJheSBvZiAiYWJjIiBpcyBbMSAtIDAsIDIgLSAxXSA9IFsxLCAxXS4gClRoZSBvZGQgYXJyYXkgb3V0IGlzIFsxLCAxXSwgc28gd2UgcmV0dXJuIHRoZSBjb3JyZXNwb25kaW5nIHN0cmluZywgImFiYyIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHdvcmRzID0gWyJhYWEiLCJib2IiLCJjY2MiLCJkZGQiXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gImJvYiIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gQWxsIHRoZSBpbnRlZ2VyIGFycmF5cyBhcmUgWzAsIDBdIGV4Y2VwdCBmb3IgImJvYiIsIHdoaWNoIGNvcnJlc3BvbmRzIHRvIFsxMywgLTEzXS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MyAmbHQ7PSB3b3Jkcy5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5uID09IHdvcmRzW2ldLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MiAmbHQ7PSBuICZsdDs9IDIwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT53b3Jkc1tpXTwvY29kZT4gY29uc2lzdHMgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycy48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Hash Table",
+ "Math",
+ "String"
+ ]
+ },
+ {
+ "title": "2455. Average Value of Even Numbers That Are Divisible by Three",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGludGVnZXIgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4gb2YgPHN0cm9uZz5wb3NpdGl2ZTwvc3Ryb25nPiBpbnRlZ2VycywgcmV0dXJuIDxlbT50aGUgYXZlcmFnZSB2YWx1ZSBvZiBhbGwgZXZlbiBpbnRlZ2VycyB0aGF0IGFyZSBkaXZpc2libGUgYnk8L2VtPiA8Y29kZT4zPC9jb2RlPjxpPi48L2k+PC9wPgo8cD5Ob3RlIHRoYXQgdGhlIDxzdHJvbmc+YXZlcmFnZTwvc3Ryb25nPiBvZiA8Y29kZT5uPC9jb2RlPiBlbGVtZW50cyBpcyB0aGUgPHN0cm9uZz5zdW08L3N0cm9uZz4gb2YgdGhlIDxjb2RlPm48L2NvZGU+IGVsZW1lbnRzIGRpdmlkZWQgYnkgPGNvZGU+bjwvY29kZT4gYW5kIDxzdHJvbmc+cm91bmRlZCBkb3duPC9zdHJvbmc+IHRvIHRoZSBuZWFyZXN0IGludGVnZXIuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMyw2LDEwLDEyLDE1XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gOQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiA2IGFuZCAxMiBhcmUgZXZlbiBudW1iZXJzIHRoYXQgYXJlIGRpdmlzaWJsZSBieSAzLiAoNiArIDEyKSAvIDIgPSA5Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMiw0LDcsMTBdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGlzIG5vIHNpbmdsZSBudW1iZXIgdGhhdCBzYXRpc2ZpZXMgdGhlIHJlcXVpcmVtZW50LCBzbyByZXR1cm4gMC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0gJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Math"
+ ]
+ },
+ {
+ "title": "2446. Determine if Two Events Have Conflict",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIGFycmF5cyBvZiBzdHJpbmdzIHRoYXQgcmVwcmVzZW50IHR3byBpbmNsdXNpdmUgZXZlbnRzIHRoYXQgaGFwcGVuZWQgPHN0cm9uZz5vbiB0aGUgc2FtZSBkYXk8L3N0cm9uZz4sIDxjb2RlPmV2ZW50MTwvY29kZT4gYW5kIDxjb2RlPmV2ZW50MjwvY29kZT4sIHdoZXJlOjwvcD4KPHVsPgo8bGk+PGNvZGU+ZXZlbnQxID0gW3N0YXJ0VGltZTxzdWI+MTwvc3ViPiwgZW5kVGltZTxzdWI+MTwvc3ViPl08L2NvZGU+IGFuZDwvbGk+CjxsaT48Y29kZT5ldmVudDIgPSBbc3RhcnRUaW1lPHN1Yj4yPC9zdWI+LCBlbmRUaW1lPHN1Yj4yPC9zdWI+XTwvY29kZT4uPC9saT4KPC91bD4KPHA+RXZlbnQgdGltZXMgYXJlIHZhbGlkIDI0IGhvdXJzIGZvcm1hdCBpbiB0aGUgZm9ybSBvZiA8Y29kZT5ISDpNTTwvY29kZT4uPC9wPgo8cD5BIDxzdHJvbmc+Y29uZmxpY3Q8L3N0cm9uZz4gaGFwcGVucyB3aGVuIHR3byBldmVudHMgaGF2ZSBzb21lIG5vbi1lbXB0eSBpbnRlcnNlY3Rpb24gKGkuZS4sIHNvbWUgbW9tZW50IGlzIGNvbW1vbiB0byBib3RoIGV2ZW50cykuPC9wPgo8cD5SZXR1cm4gPGNvZGU+dHJ1ZTwvY29kZT48ZW0+IGlmIHRoZXJlIGlzIGEgY29uZmxpY3QgYmV0d2VlbiB0d28gZXZlbnRzLiBPdGhlcndpc2UsIHJldHVybiA8L2VtPjxjb2RlPmZhbHNlPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGV2ZW50MSA9IFsiMDE6MTUiLCIwMjowMCJdLCBldmVudDIgPSBbIjAyOjAwIiwiMDM6MDAiXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gdHJ1ZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgdHdvIGV2ZW50cyBpbnRlcnNlY3QgYXQgdGltZSAyOjAwLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBldmVudDEgPSBbIjAxOjAwIiwiMDI6MDAiXSwgZXZlbnQyID0gWyIwMToyMCIsIjAzOjAwIl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IHRydWUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHR3byBldmVudHMgaW50ZXJzZWN0IHN0YXJ0aW5nIGZyb20gMDE6MjAgdG8gMDI6MDAuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGV2ZW50MSA9IFsiMTA6MDAiLCIxMTowMCJdLCBldmVudDIgPSBbIjE0OjAwIiwiMTU6MDAiXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gZmFsc2UKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHR3byBldmVudHMgZG8gbm90IGludGVyc2VjdC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+ZXZuZXQxLmxlbmd0aCA9PSBldmVudDIubGVuZ3RoID09IDIuPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5ldmVudDFbaV0ubGVuZ3RoID09IGV2ZW50MltpXS5sZW5ndGggPT0gNTwvY29kZT48L2xpPgo8bGk+PGNvZGU+c3RhcnRUaW1lPHN1Yj4xPC9zdWI+ICZsdDs9IGVuZFRpbWU8c3ViPjE8L3N1Yj48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnN0YXJ0VGltZTxzdWI+Mjwvc3ViPiAmbHQ7PSBlbmRUaW1lPHN1Yj4yPC9zdWI+PC9jb2RlPjwvbGk+CjxsaT5BbGwgdGhlIGV2ZW50IHRpbWVzIGZvbGxvdyB0aGUgPGNvZGU+SEg6TU08L2NvZGU+IGZvcm1hdC48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "String"
+ ]
+ },
+ {
+ "title": "2423. Remove Letter To Equalize Frequency",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBzdHJpbmcgPGNvZGU+d29yZDwvY29kZT4sIGNvbnNpc3Rpbmcgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycy4gWW91IG5lZWQgdG8gc2VsZWN0IDxzdHJvbmc+b25lPC9zdHJvbmc+IGluZGV4IGFuZCA8c3Ryb25nPnJlbW92ZTwvc3Ryb25nPiB0aGUgbGV0dGVyIGF0IHRoYXQgaW5kZXggZnJvbSA8Y29kZT53b3JkPC9jb2RlPiBzbyB0aGF0IHRoZSA8c3Ryb25nPmZyZXF1ZW5jeTwvc3Ryb25nPiBvZiBldmVyeSBsZXR0ZXIgcHJlc2VudCBpbiA8Y29kZT53b3JkPC9jb2RlPiBpcyBlcXVhbC48L3A+CjxwPlJldHVybjxlbT4gPC9lbT48Y29kZT50cnVlPC9jb2RlPjxlbT4gaWYgaXQgaXMgcG9zc2libGUgdG8gcmVtb3ZlIG9uZSBsZXR0ZXIgc28gdGhhdCB0aGUgZnJlcXVlbmN5IG9mIGFsbCBsZXR0ZXJzIGluIDwvZW0+PGNvZGU+d29yZDwvY29kZT48ZW0+IGFyZSBlcXVhbCwgYW5kIDwvZW0+PGNvZGU+ZmFsc2U8L2NvZGU+PGVtPiBvdGhlcndpc2U8L2VtPi48L3A+CjxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPlRoZSA8Yj5mcmVxdWVuY3k8L2I+IG9mIGEgbGV0dGVyIDxjb2RlPng8L2NvZGU+IGlzIHRoZSBudW1iZXIgb2YgdGltZXMgaXQgb2NjdXJzIGluIHRoZSBzdHJpbmcuPC9saT4KPGxpPllvdSA8c3Ryb25nPm11c3Q8L3N0cm9uZz4gcmVtb3ZlIGV4YWN0bHkgb25lIGxldHRlciBhbmQgY2Fubm90IGNob3NlIHRvIGRvIG5vdGhpbmcuPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZCA9ICJhYmNjIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gdHJ1ZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBTZWxlY3QgaW5kZXggMyBhbmQgZGVsZXRlIGl0OiB3b3JkIGJlY29tZXMgImFiYyIgYW5kIGVhY2ggY2hhcmFjdGVyIGhhcyBhIGZyZXF1ZW5jeSBvZiAxLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB3b3JkID0gImFhenoiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBmYWxzZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSBtdXN0IGRlbGV0ZSBhIGNoYXJhY3Rlciwgc28gZWl0aGVyIHRoZSBmcmVxdWVuY3kgb2YgImEiIGlzIDEgYW5kIHRoZSBmcmVxdWVuY3kgb2YgInoiIGlzIDIsIG9yIHZpY2UgdmVyc2EuIEl0IGlzIGltcG9zc2libGUgdG8gbWFrZSBhbGwgcHJlc2VudCBsZXR0ZXJzIGhhdmUgZXF1YWwgZnJlcXVlbmN5Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4yICZsdDs9IHdvcmQubGVuZ3RoICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+d29yZDwvY29kZT4gY29uc2lzdHMgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycyBvbmx5LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Hash Table",
+ "String",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2437. Number of Valid Clock Times",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgb2YgbGVuZ3RoIDxjb2RlPjU8L2NvZGU+IGNhbGxlZCA8Y29kZT50aW1lPC9jb2RlPiwgcmVwcmVzZW50aW5nIHRoZSBjdXJyZW50IHRpbWUgb24gYSBkaWdpdGFsIGNsb2NrIGluIHRoZSBmb3JtYXQgPGNvZGU+ImhoOm1tIjwvY29kZT4uIFRoZSA8c3Ryb25nPmVhcmxpZXN0PC9zdHJvbmc+IHBvc3NpYmxlIHRpbWUgaXMgPGNvZGU+IjAwOjAwIjwvY29kZT4gYW5kIHRoZSA8c3Ryb25nPmxhdGVzdDwvc3Ryb25nPiBwb3NzaWJsZSB0aW1lIGlzIDxjb2RlPiIyMzo1OSI8L2NvZGU+LjwvcD4KPHA+SW4gdGhlIHN0cmluZyA8Y29kZT50aW1lPC9jb2RlPiwgdGhlIGRpZ2l0cyByZXByZXNlbnRlZCBieSB0aGUgPGNvZGU+PzwvY29kZT7CoHN5bWJvbCBhcmUgPHN0cm9uZz51bmtub3duPC9zdHJvbmc+LCBhbmQgbXVzdCBiZSA8c3Ryb25nPnJlcGxhY2VkPC9zdHJvbmc+IHdpdGggYSBkaWdpdCBmcm9tIDxjb2RlPjA8L2NvZGU+IHRvIDxjb2RlPjk8L2NvZGU+LjwvcD4KPHA+UmV0dXJuPGVtPiBhbiBpbnRlZ2VyIDwvZW0+PGNvZGU+YW5zd2VyPC9jb2RlPjxlbT4sIHRoZSBudW1iZXIgb2YgdmFsaWQgY2xvY2sgdGltZXMgdGhhdCBjYW4gYmUgY3JlYXRlZCBieSByZXBsYWNpbmcgZXZlcnkgPC9lbT48Y29kZT4/PC9jb2RlPjxlbT7CoHdpdGggYSBkaWdpdCBmcm9tIDwvZW0+PGNvZGU+MDwvY29kZT48ZW0+IHRvIDwvZW0+PGNvZGU+OTwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB0aW1lID0gIj81OjAwIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSBjYW4gcmVwbGFjZSB0aGUgPyB3aXRoIGVpdGhlciBhIDAgb3IgMSwgcHJvZHVjaW5nICIwNTowMCIgb3IgIjE1OjAwIi4gTm90ZSB0aGF0IHdlIGNhbm5vdCByZXBsYWNlIGl0IHdpdGggYSAyLCBzaW5jZSB0aGUgdGltZSAiMjU6MDAiIGlzIGludmFsaWQuIEluIHRvdGFsLCB3ZSBoYXZlIHR3byBjaG9pY2VzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB0aW1lID0gIjA/OjA/Igo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEVhY2ggPyBjYW4gYmUgcmVwbGFjZWQgYnkgYW55IGRpZ2l0IGZyb20gMCB0byA5LCBzbyB3ZSBoYXZlIDEwMCB0b3RhbCBjaG9pY2VzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB0aW1lID0gIj8/Oj8/Igo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTQ0MAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGVyZSBhcmUgMjQgcG9zc2libGUgY2hvaWNlcyBmb3IgdGhlIGhvdXJzLCBhbmQgNjAgcG9zc2libGUgY2hvaWNlcyBmb3IgdGhlIG1pbnV0ZXMuIEluIHRvdGFsLCB3ZSBoYXZlIDI0ICogNjAgPSAxNDQwIGNob2ljZXMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPnRpbWU8L2NvZGU+IGlzIGEgdmFsaWQgc3RyaW5nIG9mIGxlbmd0aCA8Y29kZT41PC9jb2RlPiBpbiB0aGUgZm9ybWF0IDxjb2RlPiJoaDptbSI8L2NvZGU+LjwvbGk+CjxsaT48Y29kZT4iMDAiICZsdDs9IGhoICZsdDs9ICIyMyI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPiIwMCIgJmx0Oz0gbW0gJmx0Oz0gIjU5IjwvY29kZT48L2xpPgo8bGk+U29tZSBvZiB0aGUgZGlnaXRzIG1pZ2h0IGJlIHJlcGxhY2VkIHdpdGggPGNvZGU+Jz8nPC9jb2RlPiBhbmQgbmVlZCB0byBiZSByZXBsYWNlZCB3aXRoIGRpZ2l0cyBmcm9tIDxjb2RlPjA8L2NvZGU+IHRvIDxjb2RlPjk8L2NvZGU+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "String",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2441. Largest Positive Integer That Exists With Its Negative",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGludGVnZXIgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4gdGhhdCA8c3Ryb25nPmRvZXMgbm90IGNvbnRhaW48L3N0cm9uZz4gYW55IHplcm9zLCBmaW5kIDxzdHJvbmc+dGhlIGxhcmdlc3QgcG9zaXRpdmU8L3N0cm9uZz4gaW50ZWdlciA8Y29kZT5rPC9jb2RlPiBzdWNoIHRoYXQgPGNvZGU+LWs8L2NvZGU+IGFsc28gZXhpc3RzIGluIHRoZSBhcnJheS48L3A+CjxwPlJldHVybiA8ZW0+dGhlIHBvc2l0aXZlIGludGVnZXIgPC9lbT48Y29kZT5rPC9jb2RlPi4gSWYgdGhlcmUgaXMgbm8gc3VjaCBpbnRlZ2VyLCByZXR1cm4gPGNvZGU+LTE8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFstMSwyLC0zLDNdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IDMgaXMgdGhlIG9ubHkgdmFsaWQgayB3ZSBjYW4gZmluZCBpbiB0aGUgYXJyYXkuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbLTEsMTAsNiw3LC03LDFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA3CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEJvdGggMSBhbmQgNyBoYXZlIHRoZWlyIGNvcnJlc3BvbmRpbmcgbmVnYXRpdmUgdmFsdWVzIGluIHRoZSBhcnJheS4gNyBoYXMgYSBsYXJnZXIgdmFsdWUuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbLTEwLDgsNiw3LC0yLC0zXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gLTEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgaXMgbm8gYSBzaW5nbGUgdmFsaWQgaywgd2UgcmV0dXJuIC0xLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPi0xMDAwICZsdDs9IG51bXNbaV0gJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+bnVtc1tpXSAhPSAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table"
+ ]
+ },
+ {
+ "title": "2432. The Employee That Worked on the Longest Task",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGFyZSA8Y29kZT5uPC9jb2RlPiBlbXBsb3llZXMsIGVhY2ggd2l0aCBhIHVuaXF1ZSBpZCBmcm9tIDxjb2RlPjA8L2NvZGU+IHRvIDxjb2RlPm4gLSAxPC9jb2RlPi48L3A+CjxwPllvdSBhcmUgZ2l2ZW4gYSAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPmxvZ3M8L2NvZGU+IHdoZXJlIDxjb2RlPmxvZ3NbaV0gPSBbaWQ8c3ViPmk8L3N1Yj4sIGxlYXZlVGltZTxzdWI+aTwvc3ViPl08L2NvZGU+IHdoZXJlOjwvcD4KPHVsPgo8bGk+PGNvZGU+aWQ8c3ViPmk8L3N1Yj48L2NvZGU+IGlzIHRoZSBpZCBvZiB0aGUgZW1wbG95ZWUgdGhhdCB3b3JrZWQgb24gdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiB0YXNrLCBhbmQ8L2xpPgo8bGk+PGNvZGU+bGVhdmVUaW1lPHN1Yj5pPC9zdWI+PC9jb2RlPiBpcyB0aGUgdGltZSBhdCB3aGljaCB0aGUgZW1wbG95ZWUgZmluaXNoZWQgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiB0YXNrLiBBbGwgdGhlIHZhbHVlcyA8Y29kZT5sZWF2ZVRpbWU8c3ViPmk8L3N1Yj48L2NvZGU+IGFyZSA8c3Ryb25nPnVuaXF1ZTwvc3Ryb25nPi48L2xpPgo8L3VsPgo8cD5Ob3RlIHRoYXQgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiB0YXNrIHN0YXJ0cyB0aGUgbW9tZW50IHJpZ2h0IGFmdGVyIHRoZSA8Y29kZT4oaSAtIDEpPHN1cD50aDwvc3VwPjwvY29kZT4gdGFzayBlbmRzLCBhbmQgdGhlIDxjb2RlPjA8c3VwPnRoPC9zdXA+PC9jb2RlPiB0YXNrIHN0YXJ0cyBhdCB0aW1lIDxjb2RlPjA8L2NvZGU+LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgaWQgb2YgdGhlIGVtcGxveWVlIHRoYXQgd29ya2VkIHRoZSB0YXNrIHdpdGggdGhlIGxvbmdlc3QgdGltZS48L2VtPiBJZiB0aGVyZSBpcyBhIHRpZSBiZXR3ZWVuIHR3byBvciBtb3JlIGVtcGxveWVlcywgcmV0dXJuPGVtPiB0aGUgPHN0cm9uZz5zbWFsbGVzdDwvc3Ryb25nPiBpZCBhbW9uZyB0aGVtPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gMTAsIGxvZ3MgPSBbWzAsM10sWzIsNV0sWzAsOV0sWzEsMTVdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKVGFzayAwIHN0YXJ0ZWQgYXQgMCBhbmQgZW5kZWQgYXQgMyB3aXRoIDMgdW5pdHMgb2YgdGltZXMuClRhc2sgMSBzdGFydGVkIGF0IDMgYW5kIGVuZGVkIGF0IDUgd2l0aCAyIHVuaXRzIG9mIHRpbWVzLgpUYXNrIDIgc3RhcnRlZCBhdCA1IGFuZCBlbmRlZCBhdCA5IHdpdGggNCB1bml0cyBvZiB0aW1lcy4KVGFzayAzIHN0YXJ0ZWQgYXQgOSBhbmQgZW5kZWQgYXQgMTUgd2l0aCA2IHVuaXRzIG9mIHRpbWVzLgpUaGUgdGFzayB3aXRoIHRoZSBsb25nZXN0IHRpbWUgaXMgdGFzayAzIGFuZCB0aGUgZW1wbG95ZWUgd2l0aCBpZCAxIGlzIHRoZSBvbmUgdGhhdCB3b3JrZWQgb24gaXQsIHNvIHdlIHJldHVybiAxLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gMjYsIGxvZ3MgPSBbWzEsMV0sWzMsN10sWzIsMTJdLFs3LDE3XV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gClRhc2sgMCBzdGFydGVkIGF0IDAgYW5kIGVuZGVkIGF0IDEgd2l0aCAxIHVuaXQgb2YgdGltZXMuClRhc2sgMSBzdGFydGVkIGF0IDEgYW5kIGVuZGVkIGF0IDcgd2l0aCA2IHVuaXRzIG9mIHRpbWVzLgpUYXNrIDIgc3RhcnRlZCBhdCA3IGFuZCBlbmRlZCBhdCAxMiB3aXRoIDUgdW5pdHMgb2YgdGltZXMuClRhc2sgMyBzdGFydGVkIGF0IDEyIGFuZCBlbmRlZCBhdCAxNyB3aXRoIDUgdW5pdHMgb2YgdGltZXMuClRoZSB0YXNrcyB3aXRoIHRoZSBsb25nZXN0IHRpbWUgaXMgdGFzayAxLiBUaGUgZW1wbG95ZWVzIHRoYXQgd29ya2VkIG9uIGl0IGlzIDMsIHNvIHdlIHJldHVybiAzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gMiwgbG9ncyA9IFtbMCwxMF0sWzEsMjBdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKVGFzayAwIHN0YXJ0ZWQgYXQgMCBhbmQgZW5kZWQgYXQgMTAgd2l0aCAxMCB1bml0cyBvZiB0aW1lcy4KVGFzayAxIHN0YXJ0ZWQgYXQgMTAgYW5kIGVuZGVkIGF0IDIwIHdpdGggMTAgdW5pdHMgb2YgdGltZXMuClRoZSB0YXNrcyB3aXRoIHRoZSBsb25nZXN0IHRpbWUgYXJlIHRhc2tzIDAgYW5kIDEuIFRoZSBlbXBsb3llZXMgdGhhdCB3b3JrZWQgb24gdGhlbSBhcmUgMCBhbmQgMSwgc28gd2UgcmV0dXJuIHRoZSBzbWFsbGVzdCBpZCAwLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4yICZsdDs9IG4gJmx0Oz0gNTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGxvZ3MubGVuZ3RoICZsdDs9IDUwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+bG9nc1tpXS5sZW5ndGggPT0gMjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBpZDxzdWI+aTwvc3ViPiAmbHQ7PSBuIC0gMTwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBsZWF2ZVRpbWU8c3ViPmk8L3N1Yj4gJmx0Oz0gNTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5pZDxzdWI+aTwvc3ViPiAhPSBpZDxzdWI+aSsxPC9zdWI+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5sZWF2ZVRpbWU8c3ViPmk8L3N1Yj48L2NvZGU+IGFyZSBzb3J0ZWQgaW4gYSBzdHJpY3RseSBpbmNyZWFzaW5nIG9yZGVyLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array"
+ ]
+ },
+ {
+ "title": "2427. Number of Common Factors",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIHR3byBwb3NpdGl2ZSBpbnRlZ2VycyA8Y29kZT5hPC9jb2RlPiBhbmQgPGNvZGU+YjwvY29kZT4sIHJldHVybiA8ZW0+dGhlIG51bWJlciBvZiA8c3Ryb25nPmNvbW1vbjwvc3Ryb25nPiBmYWN0b3JzIG9mIDwvZW0+PGNvZGU+YTwvY29kZT48ZW0+IGFuZCA8L2VtPjxjb2RlPmI8L2NvZGU+LjwvcD4KPHA+QW4gaW50ZWdlciA8Y29kZT54PC9jb2RlPiBpcyBhIDxzdHJvbmc+Y29tbW9uIGZhY3Rvcjwvc3Ryb25nPiBvZiA8Y29kZT5hPC9jb2RlPiBhbmQgPGNvZGU+YjwvY29kZT4gaWYgPGNvZGU+eDwvY29kZT4gZGl2aWRlcyBib3RoIDxjb2RlPmE8L2NvZGU+IGFuZCA8Y29kZT5iPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGEgPSAxMiwgYiA9IDYKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGNvbW1vbiBmYWN0b3JzIG9mIDEyIGFuZCA2IGFyZSAxLCAyLCAzLCA2Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBhID0gMjUsIGIgPSAzMAo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgY29tbW9uIGZhY3RvcnMgb2YgMjUgYW5kIDMwIGFyZSAxLCA1Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IGEsIGIgJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Math",
+ "Enumeration",
+ "Number Theory"
+ ]
+ },
+ {
+ "title": "2418. Sort the People",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gYXJyYXkgb2Ygc3RyaW5ncyA8Y29kZT5uYW1lczwvY29kZT4sIGFuZCBhbiBhcnJheSA8Y29kZT5oZWlnaHRzPC9jb2RlPiB0aGF0IGNvbnNpc3RzIG9mIDxzdHJvbmc+ZGlzdGluY3Q8L3N0cm9uZz4gcG9zaXRpdmUgaW50ZWdlcnMuIEJvdGggYXJyYXlzIGFyZSBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4uPC9wPgo8cD5Gb3IgZWFjaCBpbmRleCA8Y29kZT5pPC9jb2RlPiwgPGNvZGU+bmFtZXNbaV08L2NvZGU+IGFuZCA8Y29kZT5oZWlnaHRzW2ldPC9jb2RlPiBkZW5vdGUgdGhlIG5hbWUgYW5kIGhlaWdodCBvZiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHBlcnNvbi48L3A+CjxwPlJldHVybiA8Y29kZT5uYW1lczwvY29kZT48ZW0+IHNvcnRlZCBpbiA8c3Ryb25nPmRlc2NlbmRpbmc8L3N0cm9uZz4gb3JkZXIgYnkgdGhlIHBlb3BsZSdzIGhlaWdodHM8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG5hbWVzID0gWyJNYXJ5IiwiSm9obiIsIkVtbWEiXSwgaGVpZ2h0cyA9IFsxODAsMTY1LDE3MF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsiTWFyeSIsIkVtbWEiLCJKb2huIl0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gTWFyeSBpcyB0aGUgdGFsbGVzdCwgZm9sbG93ZWQgYnkgRW1tYSBhbmQgSm9obi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbmFtZXMgPSBbIkFsaWNlIiwiQm9iIiwiQm9iIl0sIGhlaWdodHMgPSBbMTU1LDE4NSwxNTBdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbIkJvYiIsIkFsaWNlIiwiQm9iIl0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGZpcnN0IEJvYiBpcyB0aGUgdGFsbGVzdCwgZm9sbG93ZWQgYnkgQWxpY2UgYW5kIHRoZSBzZWNvbmQgQm9iLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IG5hbWVzLmxlbmd0aCA9PSBoZWlnaHRzLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDEwPHN1cD4zPC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG5hbWVzW2ldLmxlbmd0aCAmbHQ7PSAyMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBoZWlnaHRzW2ldICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5uYW1lc1tpXTwvY29kZT4gY29uc2lzdHMgb2YgbG93ZXIgYW5kIHVwcGVyIGNhc2UgRW5nbGlzaCBsZXR0ZXJzLjwvbGk+CjxsaT5BbGwgdGhlIHZhbHVlcyBvZiA8Y29kZT5oZWlnaHRzPC9jb2RlPiBhcmUgZGlzdGluY3QuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "String",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2409. Count Days Spent Together",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkFsaWNlIGFuZCBCb2IgYXJlIHRyYXZlbGluZyB0byBSb21lIGZvciBzZXBhcmF0ZSBidXNpbmVzcyBtZWV0aW5ncy48L3A+CjxwPllvdSBhcmUgZ2l2ZW4gNCBzdHJpbmdzIDxjb2RlPmFycml2ZUFsaWNlPC9jb2RlPiwgPGNvZGU+bGVhdmVBbGljZTwvY29kZT4sIDxjb2RlPmFycml2ZUJvYjwvY29kZT4sIGFuZCA8Y29kZT5sZWF2ZUJvYjwvY29kZT4uIEFsaWNlIHdpbGwgYmUgaW4gdGhlIGNpdHkgZnJvbSB0aGUgZGF0ZXMgPGNvZGU+YXJyaXZlQWxpY2U8L2NvZGU+IHRvIDxjb2RlPmxlYXZlQWxpY2U8L2NvZGU+ICg8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPiksIHdoaWxlIEJvYiB3aWxsIGJlIGluIHRoZSBjaXR5IGZyb20gdGhlIGRhdGVzIDxjb2RlPmFycml2ZUJvYjwvY29kZT4gdG8gPGNvZGU+bGVhdmVCb2I8L2NvZGU+ICg8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPikuIEVhY2ggd2lsbCBiZSBhIDUtY2hhcmFjdGVyIHN0cmluZyBpbiB0aGUgZm9ybWF0IDxjb2RlPiJNTS1ERCI8L2NvZGU+LCBjb3JyZXNwb25kaW5nIHRvIHRoZSBtb250aCBhbmQgZGF5IG9mIHRoZSBkYXRlLjwvcD4KPHA+UmV0dXJuPGVtPiB0aGUgdG90YWwgbnVtYmVyIG9mIGRheXMgdGhhdCBBbGljZSBhbmQgQm9iIGFyZSBpbiBSb21lIHRvZ2V0aGVyLjwvZW0+PC9wPgo8cD5Zb3UgY2FuIGFzc3VtZSB0aGF0IGFsbCBkYXRlcyBvY2N1ciBpbiB0aGUgPHN0cm9uZz5zYW1lPC9zdHJvbmc+IGNhbGVuZGFyIHllYXIsIHdoaWNoIGlzIDxzdHJvbmc+bm90PC9zdHJvbmc+IGEgbGVhcCB5ZWFyLiBOb3RlIHRoYXQgdGhlIG51bWJlciBvZiBkYXlzIHBlciBtb250aCBjYW4gYmUgcmVwcmVzZW50ZWQgYXM6IDxjb2RlPlszMSwgMjgsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzEsIDMwLCAzMSwgMzAsIDMxXTwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBhcnJpdmVBbGljZSA9ICIwOC0xNSIsIGxlYXZlQWxpY2UgPSAiMDgtMTgiLCBhcnJpdmVCb2IgPSAiMDgtMTYiLCBsZWF2ZUJvYiA9ICIwOC0xOSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gQWxpY2Ugd2lsbCBiZSBpbiBSb21lIGZyb20gQXVndXN0IDE1IHRvIEF1Z3VzdCAxOC4gQm9iIHdpbGwgYmUgaW4gUm9tZSBmcm9tIEF1Z3VzdCAxNiB0byBBdWd1c3QgMTkuIFRoZXkgYXJlIGJvdGggaW4gUm9tZSB0b2dldGhlciBvbiBBdWd1c3QgMTZ0aCwgMTd0aCwgYW5kIDE4dGgsIHNvIHRoZSBhbnN3ZXIgaXMgMy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gYXJyaXZlQWxpY2UgPSAiMTAtMDEiLCBsZWF2ZUFsaWNlID0gIjEwLTMxIiwgYXJyaXZlQm9iID0gIjExLTAxIiwgbGVhdmVCb2IgPSAiMTItMzEiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGlzIG5vIGRheSB3aGVuIEFsaWNlIGFuZCBCb2IgYXJlIGluIFJvbWUgdG9nZXRoZXIsIHNvIHdlIHJldHVybiAwLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT5BbGwgZGF0ZXMgYXJlIHByb3ZpZGVkIGluIHRoZSBmb3JtYXQgPGNvZGU+Ik1NLUREIjwvY29kZT4uPC9saT4KPGxpPkFsaWNlIGFuZCBCb2IncyBhcnJpdmFsIGRhdGVzIGFyZSA8c3Ryb25nPmVhcmxpZXIgdGhhbiBvciBlcXVhbCB0bzwvc3Ryb25nPiB0aGVpciBsZWF2aW5nIGRhdGVzLjwvbGk+CjxsaT5UaGUgZ2l2ZW4gZGF0ZXMgYXJlIHZhbGlkIGRhdGVzIG9mIGEgPHN0cm9uZz5ub24tbGVhcDwvc3Ryb25nPiB5ZWFyLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Math",
+ "String"
+ ]
+ },
+ {
+ "title": "2413. Smallest Even Multiple",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PkdpdmVuIGEgPHN0cm9uZz5wb3NpdGl2ZTwvc3Ryb25nPiBpbnRlZ2VyIDxjb2RlPm48L2NvZGU+LCByZXR1cm4gPGVtPnRoZSBzbWFsbGVzdCBwb3NpdGl2ZSBpbnRlZ2VyIHRoYXQgaXMgYSBtdWx0aXBsZSBvZiA8c3Ryb25nPmJvdGg8L3N0cm9uZz4gPC9lbT48Y29kZT4yPC9jb2RlPjxlbT4gYW5kIDwvZW0+PGNvZGU+bjwvY29kZT4uCjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSA1CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgc21hbGxlc3QgbXVsdGlwbGUgb2YgYm90aCA1IGFuZCAyIGlzIDEwLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gNgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgc21hbGxlc3QgbXVsdGlwbGUgb2YgYm90aCA2IGFuZCAyIGlzIDYuIE5vdGUgdGhhdCBhIG51bWJlciBpcyBhIG11bHRpcGxlIG9mIGl0c2VsZi4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDE1MDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Math",
+ "Number Theory"
+ ]
+ },
+ {
+ "title": "2404. Most Frequent Even Element",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGludGVnZXIgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4sIHJldHVybiA8ZW0+dGhlIG1vc3QgZnJlcXVlbnQgZXZlbiBlbGVtZW50PC9lbT4uPC9wPgo8cD5JZiB0aGVyZSBpcyBhIHRpZSwgcmV0dXJuIHRoZSA8c3Ryb25nPnNtYWxsZXN0PC9zdHJvbmc+IG9uZS4gSWYgdGhlcmUgaXMgbm8gc3VjaCBlbGVtZW50LCByZXR1cm4gPGNvZGU+LTE8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFswLDEsMiwyLDQsNCwxXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgZXZlbiBlbGVtZW50cyBhcmUgMCwgMiwgYW5kIDQuIE9mIHRoZXNlLCAyIGFuZCA0IGFwcGVhciB0aGUgbW9zdC4KV2UgcmV0dXJuIHRoZSBzbWFsbGVzdCBvbmUsIHdoaWNoIGlzIDIuPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs0LDQsNCw5LDIsNF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gNCBpcyB0aGUgZXZlbiBlbGVtZW50IGFwcGVhcnMgdGhlIG1vc3QuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMjksNDcsMjEsNDEsMTMsMzcsMjUsN10KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IC0xCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGlzIG5vIGV2ZW4gZWxlbWVudC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAyMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IG51bXNbaV0gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2395. Find Subarrays With Equal Sum",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiwgZGV0ZXJtaW5lIHdoZXRoZXIgdGhlcmUgZXhpc3QgPHN0cm9uZz50d288L3N0cm9uZz4gc3ViYXJyYXlzIG9mIGxlbmd0aCA8Y29kZT4yPC9jb2RlPiB3aXRoIDxzdHJvbmc+ZXF1YWw8L3N0cm9uZz4gc3VtLiBOb3RlIHRoYXQgdGhlIHR3byBzdWJhcnJheXMgbXVzdCBiZWdpbiBhdCA8c3Ryb25nPmRpZmZlcmVudDwvc3Ryb25nPiBpbmRpY2VzLjwvcD4KPHA+UmV0dXJuIDxjb2RlPnRydWU8L2NvZGU+PGVtPiBpZiB0aGVzZSBzdWJhcnJheXMgZXhpc3QsIGFuZCA8L2VtPjxjb2RlPmZhbHNlPC9jb2RlPjxlbT4gb3RoZXJ3aXNlLjwvZW0+PC9wPgo8cD5BIDxiPnN1YmFycmF5PC9iPiBpcyBhIGNvbnRpZ3VvdXMgbm9uLWVtcHR5IHNlcXVlbmNlIG9mIGVsZW1lbnRzIHdpdGhpbiBhbiBhcnJheS48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNCwyLDRdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiB0cnVlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBzdWJhcnJheXMgd2l0aCBlbGVtZW50cyBbNCwyXSBhbmQgWzIsNF0gaGF2ZSB0aGUgc2FtZSBzdW0gb2YgNi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDIsMyw0LDVdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBmYWxzZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBObyB0d28gc3ViYXJyYXlzIG9mIHNpemUgMiBoYXZlIHRoZSBzYW1lIHN1bS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFswLDAsMF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IHRydWUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHN1YmFycmF5cyBbbnVtc1swXSxudW1zWzFdXSBhbmQgW251bXNbMV0sbnVtc1syXV0gaGF2ZSB0aGUgc2FtZSBzdW0gb2YgMC4gCk5vdGUgdGhhdCBldmVuIHRob3VnaCB0aGUgc3ViYXJyYXlzIGhhdmUgdGhlIHNhbWUgY29udGVudCwgdGhlIHR3byBzdWJhcnJheXMgYXJlIGNvbnNpZGVyZWQgZGlmZmVyZW50IGJlY2F1c2UgdGhleSBhcmUgaW4gZGlmZmVyZW50IHBvc2l0aW9ucyBpbiB0aGUgb3JpZ2luYWwgYXJyYXkuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjIgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+LTEwPHN1cD45PC9zdXA+ICZsdDs9IG51bXNbaV0gJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table"
+ ]
+ },
+ {
+ "title": "2399. Check Distances Between Same Letters",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBzdHJpbmcgPGNvZGU+czwvY29kZT4gY29uc2lzdGluZyBvZiBvbmx5IGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMsIHdoZXJlIGVhY2ggbGV0dGVyIGluIDxjb2RlPnM8L2NvZGU+IGFwcGVhcnMgPHN0cm9uZz5leGFjdGx5PC9zdHJvbmc+IDxzdHJvbmc+dHdpY2U8L3N0cm9uZz4uIFlvdSBhcmUgYWxzbyBnaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXkgPGNvZGU+ZGlzdGFuY2U8L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT4yNjwvY29kZT4uPC9wPgo8cD5FYWNoIGxldHRlciBpbiB0aGUgYWxwaGFiZXQgaXMgbnVtYmVyZWQgZnJvbSA8Y29kZT4wPC9jb2RlPiB0byA8Y29kZT4yNTwvY29kZT4gKGkuZS4gPGNvZGU+J2EnIC0mZ3Q7IDA8L2NvZGU+LCA8Y29kZT4nYicgLSZndDsgMTwvY29kZT4sIDxjb2RlPidjJyAtJmd0OyAyPC9jb2RlPiwgLi4uICwgPGNvZGU+J3onIC0mZ3Q7IDI1PC9jb2RlPikuPC9wPgo8cD5JbiBhIDxzdHJvbmc+d2VsbC1zcGFjZWQ8L3N0cm9uZz4gc3RyaW5nLCB0aGUgbnVtYmVyIG9mIGxldHRlcnMgYmV0d2VlbiB0aGUgdHdvIG9jY3VycmVuY2VzIG9mIHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gbGV0dGVyIGlzIDxjb2RlPmRpc3RhbmNlW2ldPC9jb2RlPi4gSWYgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBsZXR0ZXIgZG9lcyBub3QgYXBwZWFyIGluIDxjb2RlPnM8L2NvZGU+LCB0aGVuIDxjb2RlPmRpc3RhbmNlW2ldPC9jb2RlPiBjYW4gYmUgPHN0cm9uZz5pZ25vcmVkPC9zdHJvbmc+LjwvcD4KPHA+UmV0dXJuIDxjb2RlPnRydWU8L2NvZGU+PGVtPiBpZiA8L2VtPjxjb2RlPnM8L2NvZGU+PGVtPiBpcyBhIDxzdHJvbmc+d2VsbC1zcGFjZWQ8L3N0cm9uZz4gc3RyaW5nLCBvdGhlcndpc2UgcmV0dXJuIDwvZW0+PGNvZGU+ZmFsc2U8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJhYmFjY2IiLCBkaXN0YW5jZSA9IFsxLDMsMCw1LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiB0cnVlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ci0gJ2EnIGFwcGVhcnMgYXQgaW5kaWNlcyAwIGFuZCAyIHNvIGl0IHNhdGlzZmllcyBkaXN0YW5jZVswXSA9IDEuCi0gJ2InIGFwcGVhcnMgYXQgaW5kaWNlcyAxIGFuZCA1IHNvIGl0IHNhdGlzZmllcyBkaXN0YW5jZVsxXSA9IDMuCi0gJ2MnIGFwcGVhcnMgYXQgaW5kaWNlcyAzIGFuZCA0IHNvIGl0IHNhdGlzZmllcyBkaXN0YW5jZVsyXSA9IDAuCk5vdGUgdGhhdCBkaXN0YW5jZVszXSA9IDUsIGJ1dCBzaW5jZSAnZCcgZG9lcyBub3QgYXBwZWFyIGluIHMsIGl0IGNhbiBiZSBpZ25vcmVkLgpSZXR1cm4gdHJ1ZSBiZWNhdXNlIHMgaXMgYSB3ZWxsLXNwYWNlZCBzdHJpbmcuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiYWEiLCBkaXN0YW5jZSA9IFsxLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBmYWxzZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgotICdhJyBhcHBlYXJzIGF0IGluZGljZXMgMCBhbmQgMSBzbyB0aGVyZSBhcmUgemVybyBsZXR0ZXJzIGJldHdlZW4gdGhlbS4KQmVjYXVzZSBkaXN0YW5jZVswXSA9IDEsIHMgaXMgbm90IGEgd2VsbC1zcGFjZWQgc3RyaW5nLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4yICZsdDs9IHMubGVuZ3RoICZsdDs9IDUyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zPC9jb2RlPiBjb25zaXN0cyBvbmx5IG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPGxpPkVhY2ggbGV0dGVyIGFwcGVhcnMgaW4gPGNvZGU+czwvY29kZT4gZXhhY3RseSB0d2ljZS48L2xpPgo8bGk+PGNvZGU+ZGlzdGFuY2UubGVuZ3RoID09IDI2PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IGRpc3RhbmNlW2ldICZsdDs9IDUwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "String"
+ ]
+ },
+ {
+ "title": "2389. Longest Subsequence With Limited Sum",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4sIGFuZCBhbiBpbnRlZ2VyIGFycmF5IDxjb2RlPnF1ZXJpZXM8L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT5tPC9jb2RlPi48L3A+CjxwPlJldHVybiA8ZW0+YW4gYXJyYXkgPC9lbT48Y29kZT5hbnN3ZXI8L2NvZGU+PGVtPiBvZiBsZW5ndGggPC9lbT48Y29kZT5tPC9jb2RlPjxlbT4gd2hlcmUgPC9lbT48Y29kZT5hbnN3ZXJbaV08L2NvZGU+PGVtPiBpcyB0aGUgPHN0cm9uZz5tYXhpbXVtPC9zdHJvbmc+IHNpemUgb2YgYSA8c3Ryb25nPnN1YnNlcXVlbmNlPC9zdHJvbmc+IHRoYXQgeW91IGNhbiB0YWtlIGZyb20gPC9lbT48Y29kZT5udW1zPC9jb2RlPjxlbT4gc3VjaCB0aGF0IHRoZSA8c3Ryb25nPnN1bTwvc3Ryb25nPiBvZiBpdHMgZWxlbWVudHMgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDwvZW0+PGNvZGU+cXVlcmllc1tpXTwvY29kZT4uPC9wPgo8cD5BIDxzdHJvbmc+c3Vic2VxdWVuY2U8L3N0cm9uZz4gaXMgYW4gYXJyYXkgdGhhdCBjYW4gYmUgZGVyaXZlZCBmcm9tIGFub3RoZXIgYXJyYXkgYnkgZGVsZXRpbmcgc29tZSBvciBubyBlbGVtZW50cyB3aXRob3V0IGNoYW5naW5nIHRoZSBvcmRlciBvZiB0aGUgcmVtYWluaW5nIGVsZW1lbnRzLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs0LDUsMiwxXSwgcXVlcmllcyA9IFszLDEwLDIxXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzIsMyw0XQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSBhbnN3ZXIgdGhlIHF1ZXJpZXMgYXMgZm9sbG93czoKLSBUaGUgc3Vic2VxdWVuY2UgWzIsMV0gaGFzIGEgc3VtIGxlc3MgdGhhbiBvciBlcXVhbCB0byAzLiBJdCBjYW4gYmUgcHJvdmVuIHRoYXQgMiBpcyB0aGUgbWF4aW11bSBzaXplIG9mIHN1Y2ggYSBzdWJzZXF1ZW5jZSwgc28gYW5zd2VyWzBdID0gMi4KLSBUaGUgc3Vic2VxdWVuY2UgWzQsNSwxXSBoYXMgYSBzdW0gbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDEwLiBJdCBjYW4gYmUgcHJvdmVuIHRoYXQgMyBpcyB0aGUgbWF4aW11bSBzaXplIG9mIHN1Y2ggYSBzdWJzZXF1ZW5jZSwgc28gYW5zd2VyWzFdID0gMy4KLSBUaGUgc3Vic2VxdWVuY2UgWzQsNSwyLDFdIGhhcyBhIHN1bSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMjEuIEl0IGNhbiBiZSBwcm92ZW4gdGhhdCA0IGlzIHRoZSBtYXhpbXVtIHNpemUgb2Ygc3VjaCBhIHN1YnNlcXVlbmNlLCBzbyBhbnN3ZXJbMl0gPSA0Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzIsMyw0LDVdLCBxdWVyaWVzID0gWzFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMF0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGVtcHR5IHN1YnNlcXVlbmNlIGlzIHRoZSBvbmx5IHN1YnNlcXVlbmNlIHRoYXQgaGFzIGEgc3VtIGxlc3MgdGhhbiBvciBlcXVhbCB0byAxLCBzbyBhbnN3ZXJbMF0gPSAwLjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gbnVtcy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPm0gPT0gcXVlcmllcy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiwgbSAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0sIHF1ZXJpZXNbaV0gJmx0Oz0gMTA8c3VwPjY8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Greedy",
+ "Sorting",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2379. Minimum Recolors to Get K Consecutive Black Blocks",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBzdHJpbmcgPGNvZGU+YmxvY2tzPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4sIHdoZXJlIDxjb2RlPmJsb2Nrc1tpXTwvY29kZT4gaXMgZWl0aGVyIDxjb2RlPidXJzwvY29kZT4gb3IgPGNvZGU+J0InPC9jb2RlPiwgcmVwcmVzZW50aW5nIHRoZSBjb2xvciBvZiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGJsb2NrLiBUaGUgY2hhcmFjdGVycyA8Y29kZT4nVyc8L2NvZGU+IGFuZCA8Y29kZT4nQic8L2NvZGU+IGRlbm90ZSB0aGUgY29sb3JzIHdoaXRlIGFuZCBibGFjaywgcmVzcGVjdGl2ZWx5LjwvcD4KPHA+WW91IGFyZSBhbHNvIGdpdmVuIGFuIGludGVnZXIgPGNvZGU+azwvY29kZT4sIHdoaWNoIGlzIHRoZSBkZXNpcmVkIG51bWJlciBvZiA8c3Ryb25nPmNvbnNlY3V0aXZlPC9zdHJvbmc+IGJsYWNrIGJsb2Nrcy48L3A+CjxwPkluIG9uZSBvcGVyYXRpb24sIHlvdSBjYW4gPHN0cm9uZz5yZWNvbG9yPC9zdHJvbmc+IGEgd2hpdGUgYmxvY2sgc3VjaCB0aGF0IGl0IGJlY29tZXMgYSBibGFjayBibG9jay48L3A+CjxwPlJldHVybjxlbT4gdGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiBudW1iZXIgb2Ygb3BlcmF0aW9ucyBuZWVkZWQgc3VjaCB0aGF0IHRoZXJlIGlzIGF0IGxlYXN0IDxzdHJvbmc+b25lPC9zdHJvbmc+IG9jY3VycmVuY2Ugb2YgPC9lbT48Y29kZT5rPC9jb2RlPjxlbT4gY29uc2VjdXRpdmUgYmxhY2sgYmxvY2tzLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBibG9ja3MgPSAiV0JCV1dCQldCVyIsIGsgPSA3CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ck9uZSB3YXkgdG8gYWNoaWV2ZSA3IGNvbnNlY3V0aXZlIGJsYWNrIGJsb2NrcyBpcyB0byByZWNvbG9yIHRoZSAwdGgsIDNyZCwgYW5kIDR0aCBibG9ja3MKc28gdGhhdCBibG9ja3MgPSAiQkJCQkJCQldCVyIuIApJdCBjYW4gYmUgc2hvd24gdGhhdCB0aGVyZSBpcyBubyB3YXkgdG8gYWNoaWV2ZSA3IGNvbnNlY3V0aXZlIGJsYWNrIGJsb2NrcyBpbiBsZXNzIHRoYW4gMyBvcGVyYXRpb25zLgpUaGVyZWZvcmUsIHdlIHJldHVybiAzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBibG9ja3MgPSAiV0JXQkJCVyIsIGsgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ck5vIGNoYW5nZXMgbmVlZCB0byBiZSBtYWRlLCBzaW5jZSAyIGNvbnNlY3V0aXZlIGJsYWNrIGJsb2NrcyBhbHJlYWR5IGV4aXN0LgpUaGVyZWZvcmUsIHdlIHJldHVybiAwLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IGJsb2Nrcy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPmJsb2Nrc1tpXTwvY29kZT4gaXMgZWl0aGVyIDxjb2RlPidXJzwvY29kZT4gb3IgPGNvZGU+J0InPC9jb2RlPi48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBrICZsdDs9IG48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "String",
+ "Sliding Window"
+ ]
+ },
+ {
+ "title": "2383. Minimum Hours of Training to Win a Competition",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZW50ZXJpbmcgYSBjb21wZXRpdGlvbiwgYW5kIGFyZSBnaXZlbiB0d28gPHN0cm9uZz5wb3NpdGl2ZTwvc3Ryb25nPiBpbnRlZ2VycyA8Y29kZT5pbml0aWFsRW5lcmd5PC9jb2RlPiBhbmQgPGNvZGU+aW5pdGlhbEV4cGVyaWVuY2U8L2NvZGU+IGRlbm90aW5nIHlvdXIgaW5pdGlhbCBlbmVyZ3kgYW5kIGluaXRpYWwgZXhwZXJpZW5jZSByZXNwZWN0aXZlbHkuPC9wPgo8cD5Zb3UgYXJlIGFsc28gZ2l2ZW4gdHdvIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXlzIDxjb2RlPmVuZXJneTwvY29kZT4gYW5kIDxjb2RlPmV4cGVyaWVuY2U8L2NvZGU+LCBib3RoIG9mIGxlbmd0aCA8Y29kZT5uPC9jb2RlPi48L3A+CjxwPllvdSB3aWxsIGZhY2UgPGNvZGU+bjwvY29kZT4gb3Bwb25lbnRzIDxzdHJvbmc+aW4gb3JkZXI8L3N0cm9uZz4uIFRoZSBlbmVyZ3kgYW5kIGV4cGVyaWVuY2Ugb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBvcHBvbmVudCBpcyBkZW5vdGVkIGJ5IDxjb2RlPmVuZXJneVtpXTwvY29kZT4gYW5kIDxjb2RlPmV4cGVyaWVuY2VbaV08L2NvZGU+IHJlc3BlY3RpdmVseS4gV2hlbiB5b3UgZmFjZSBhbiBvcHBvbmVudCwgeW91IG5lZWQgdG8gaGF2ZSBib3RoIDxzdHJvbmc+c3RyaWN0bHk8L3N0cm9uZz4gZ3JlYXRlciBleHBlcmllbmNlIGFuZCBlbmVyZ3kgdG8gZGVmZWF0IHRoZW0gYW5kIG1vdmUgdG8gdGhlIG5leHQgb3Bwb25lbnQgaWYgYXZhaWxhYmxlLjwvcD4KPHA+RGVmZWF0aW5nIHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gb3Bwb25lbnQgPHN0cm9uZz5pbmNyZWFzZXM8L3N0cm9uZz4geW91ciBleHBlcmllbmNlIGJ5IDxjb2RlPmV4cGVyaWVuY2VbaV08L2NvZGU+LCBidXQgPHN0cm9uZz5kZWNyZWFzZXM8L3N0cm9uZz4geW91ciBlbmVyZ3kgYnkgPGNvZGU+ZW5lcmd5W2ldPC9jb2RlPi48L3A+CjxwPkJlZm9yZSBzdGFydGluZyB0aGUgY29tcGV0aXRpb24sIHlvdSBjYW4gdHJhaW4gZm9yIHNvbWUgbnVtYmVyIG9mIGhvdXJzLiBBZnRlciBlYWNoIGhvdXIgb2YgdHJhaW5pbmcsIHlvdSBjYW4gPHN0cm9uZz5laXRoZXI8L3N0cm9uZz4gY2hvb3NlIHRvIGluY3JlYXNlIHlvdXIgaW5pdGlhbCBleHBlcmllbmNlIGJ5IG9uZSwgb3IgaW5jcmVhc2UgeW91ciBpbml0aWFsIGVuZXJneSBieSBvbmUuPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1pbmltdW08L3N0cm9uZz4gbnVtYmVyIG9mIHRyYWluaW5nIGhvdXJzIHJlcXVpcmVkIHRvIGRlZmVhdCBhbGwgPC9lbT48Y29kZT5uPC9jb2RlPjxlbT4gb3Bwb25lbnRzPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBpbml0aWFsRW5lcmd5ID0gNSwgaW5pdGlhbEV4cGVyaWVuY2UgPSAzLCBlbmVyZ3kgPSBbMSw0LDMsMl0sIGV4cGVyaWVuY2UgPSBbMiw2LDMsMV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDgKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gWW91IGNhbiBpbmNyZWFzZSB5b3VyIGVuZXJneSB0byAxMSBhZnRlciA2IGhvdXJzIG9mIHRyYWluaW5nLCBhbmQgeW91ciBleHBlcmllbmNlIHRvIDUgYWZ0ZXIgMiBob3VycyBvZiB0cmFpbmluZy4KWW91IGZhY2UgdGhlIG9wcG9uZW50cyBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOgotIFlvdSBoYXZlIG1vcmUgZW5lcmd5IGFuZCBleHBlcmllbmNlIHRoYW4gdGhlIDA8c3VwPnRoPC9zdXA+IG9wcG9uZW50IHNvIHlvdSB3aW4uCiAgWW91ciBlbmVyZ3kgYmVjb21lcyAxMSAtIDEgPSAxMCwgYW5kIHlvdXIgZXhwZXJpZW5jZSBiZWNvbWVzIDUgKyAyID0gNy4KLSBZb3UgaGF2ZSBtb3JlIGVuZXJneSBhbmQgZXhwZXJpZW5jZSB0aGFuIHRoZSAxPHN1cD5zdDwvc3VwPiBvcHBvbmVudCBzbyB5b3Ugd2luLgogIFlvdXIgZW5lcmd5IGJlY29tZXMgMTAgLSA0ID0gNiwgYW5kIHlvdXIgZXhwZXJpZW5jZSBiZWNvbWVzIDcgKyA2ID0gMTMuCi0gWW91IGhhdmUgbW9yZSBlbmVyZ3kgYW5kIGV4cGVyaWVuY2UgdGhhbiB0aGUgMjxzdXA+bmQ8L3N1cD4gb3Bwb25lbnQgc28geW91IHdpbi4KICBZb3VyIGVuZXJneSBiZWNvbWVzIDYgLSAzID0gMywgYW5kIHlvdXIgZXhwZXJpZW5jZSBiZWNvbWVzIDEzICsgMyA9IDE2LgotIFlvdSBoYXZlIG1vcmUgZW5lcmd5IGFuZCBleHBlcmllbmNlIHRoYW4gdGhlIDM8c3VwPnJkPC9zdXA+IG9wcG9uZW50IHNvIHlvdSB3aW4uCiAgWW91ciBlbmVyZ3kgYmVjb21lcyAzIC0gMiA9IDEsIGFuZCB5b3VyIGV4cGVyaWVuY2UgYmVjb21lcyAxNiArIDEgPSAxNy4KWW91IGRpZCBhIHRvdGFsIG9mIDYgKyAyID0gOCBob3VycyBvZiB0cmFpbmluZyBiZWZvcmUgdGhlIGNvbXBldGl0aW9uLCBzbyB3ZSByZXR1cm4gOC4KSXQgY2FuIGJlIHByb3ZlbiB0aGF0IG5vIHNtYWxsZXIgYW5zd2VyIGV4aXN0cy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gaW5pdGlhbEVuZXJneSA9IDIsIGluaXRpYWxFeHBlcmllbmNlID0gNCwgZW5lcmd5ID0gWzFdLCBleHBlcmllbmNlID0gWzNdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFlvdSBkbyBub3QgbmVlZCBhbnkgYWRkaXRpb25hbCBlbmVyZ3kgb3IgZXhwZXJpZW5jZSB0byB3aW4gdGhlIGNvbXBldGl0aW9uLCBzbyB3ZSByZXR1cm4gMC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBlbmVyZ3kubGVuZ3RoID09IGV4cGVyaWVuY2UubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGluaXRpYWxFbmVyZ3ksIGluaXRpYWxFeHBlcmllbmNlLCBlbmVyZ3lbaV0sIGV4cGVyaWVuY2VbaV0gJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Greedy"
+ ]
+ },
+ {
+ "title": "2373. Largest Local Values in a Matrix",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gPGNvZGU+biB4IG48L2NvZGU+IGludGVnZXIgbWF0cml4IDxjb2RlPmdyaWQ8L2NvZGU+LjwvcD4KPHA+R2VuZXJhdGUgYW4gaW50ZWdlciBtYXRyaXggPGNvZGU+bWF4TG9jYWw8L2NvZGU+IG9mIHNpemUgPGNvZGU+KG4gLSAyKSB4IChuIC0gMik8L2NvZGU+IHN1Y2ggdGhhdDo8L3A+Cjx1bD4KPGxpPjxjb2RlPm1heExvY2FsW2ldW2pdPC9jb2RlPiBpcyBlcXVhbCB0byB0aGUgPHN0cm9uZz5sYXJnZXN0PC9zdHJvbmc+IHZhbHVlIG9mIHRoZSA8Y29kZT4zIHggMzwvY29kZT4gbWF0cml4IGluIDxjb2RlPmdyaWQ8L2NvZGU+IGNlbnRlcmVkIGFyb3VuZCByb3cgPGNvZGU+aSArIDE8L2NvZGU+IGFuZCBjb2x1bW4gPGNvZGU+aiArIDE8L2NvZGU+LjwvbGk+CjwvdWw+CjxwPkluIG90aGVyIHdvcmRzLCB3ZSB3YW50IHRvIGZpbmQgdGhlIGxhcmdlc3QgdmFsdWUgaW4gZXZlcnkgY29udGlndW91cyA8Y29kZT4zIHggMzwvY29kZT4gbWF0cml4IGluIDxjb2RlPmdyaWQ8L2NvZGU+LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgZ2VuZXJhdGVkIG1hdHJpeDwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wNi8yMS9leDEucG5nIiBzdHlsZT0id2lkdGg6IDM3MXB4OyBoZWlnaHQ6IDIxMHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGdyaWQgPSBbWzksOSw4LDFdLFs1LDYsMiw2XSxbOCwyLDYsNF0sWzYsMiwyLDJdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gW1s5LDldLFs4LDZdXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgZGlhZ3JhbSBhYm92ZSBzaG93cyB0aGUgb3JpZ2luYWwgbWF0cml4IGFuZCB0aGUgZ2VuZXJhdGVkIG1hdHJpeC4KTm90aWNlIHRoYXQgZWFjaCB2YWx1ZSBpbiB0aGUgZ2VuZXJhdGVkIG1hdHJpeCBjb3JyZXNwb25kcyB0byB0aGUgbGFyZ2VzdCB2YWx1ZSBvZiBhIGNvbnRpZ3VvdXMgMyB4IDMgbWF0cml4IGluIGdyaWQuPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wNy8wMi9leDJuZXcyLnBuZyIgc3R5bGU9IndpZHRoOiA0MzZweDsgaGVpZ2h0OiAyNDBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBncmlkID0gW1sxLDEsMSwxLDFdLFsxLDEsMSwxLDFdLFsxLDEsMiwxLDFdLFsxLDEsMSwxLDFdLFsxLDEsMSwxLDFdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gW1syLDIsMl0sWzIsMiwyXSxbMiwyLDJdXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBOb3RpY2UgdGhhdCB0aGUgMiBpcyBjb250YWluZWQgd2l0aGluIGV2ZXJ5IGNvbnRpZ3VvdXMgMyB4IDMgbWF0cml4IGluIGdyaWQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gZ3JpZC5sZW5ndGggPT0gZ3JpZFtpXS5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjMgJmx0Oz0gbiAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gZ3JpZFtpXVtqXSAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Matrix"
+ ]
+ },
+ {
+ "title": "2363. Merge Similar Items",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIDJEIGludGVnZXIgYXJyYXlzLCA8Y29kZT5pdGVtczE8L2NvZGU+IGFuZCA8Y29kZT5pdGVtczI8L2NvZGU+LCByZXByZXNlbnRpbmcgdHdvIHNldHMgb2YgaXRlbXMuIEVhY2ggYXJyYXkgPGNvZGU+aXRlbXM8L2NvZGU+IGhhcyB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6PC9wPgo8dWw+CjxsaT48Y29kZT5pdGVtc1tpXSA9IFt2YWx1ZTxzdWI+aTwvc3ViPiwgd2VpZ2h0PHN1Yj5pPC9zdWI+XTwvY29kZT4gd2hlcmUgPGNvZGU+dmFsdWU8c3ViPmk8L3N1Yj48L2NvZGU+IHJlcHJlc2VudHMgdGhlIDxzdHJvbmc+dmFsdWU8L3N0cm9uZz4gYW5kIDxjb2RlPndlaWdodDxzdWI+aTwvc3ViPjwvY29kZT4gcmVwcmVzZW50cyB0aGUgPHN0cm9uZz53ZWlnaHQgPC9zdHJvbmc+b2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBpdGVtLjwvbGk+CjxsaT5UaGUgdmFsdWUgb2YgZWFjaCBpdGVtIGluIDxjb2RlPml0ZW1zPC9jb2RlPiBpcyA8c3Ryb25nPnVuaXF1ZTwvc3Ryb25nPi48L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPmEgMkQgaW50ZWdlciBhcnJheTwvZW0+IDxjb2RlPnJldDwvY29kZT4gPGVtPndoZXJlPC9lbT4gPGNvZGU+cmV0W2ldID0gW3ZhbHVlPHN1Yj5pPC9zdWI+LCB3ZWlnaHQ8c3ViPmk8L3N1Yj5dPC9jb2RlPjxlbT4sPC9lbT4gPGVtPndpdGg8L2VtPiA8Y29kZT53ZWlnaHQ8c3ViPmk8L3N1Yj48L2NvZGU+IDxlbT5iZWluZyB0aGUgPHN0cm9uZz5zdW0gb2Ygd2VpZ2h0czwvc3Ryb25nPiBvZiBhbGwgaXRlbXMgd2l0aCB2YWx1ZTwvZW0+IDxjb2RlPnZhbHVlPHN1Yj5pPC9zdWI+PC9jb2RlPi48L3A+CjxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gPGNvZGU+cmV0PC9jb2RlPiBzaG91bGQgYmUgcmV0dXJuZWQgaW4gPHN0cm9uZz5hc2NlbmRpbmc8L3N0cm9uZz4gb3JkZXIgYnkgdmFsdWUuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBpdGVtczEgPSBbWzEsMV0sWzQsNV0sWzMsOF1dLCBpdGVtczIgPSBbWzMsMV0sWzEsNV1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbWzEsNl0sWzMsOV0sWzQsNV1dCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApUaGUgaXRlbSB3aXRoIHZhbHVlID0gMSBvY2N1cnMgaW4gaXRlbXMxIHdpdGggd2VpZ2h0ID0gMSBhbmQgaW4gaXRlbXMyIHdpdGggd2VpZ2h0ID0gNSwgdG90YWwgd2VpZ2h0ID0gMSArIDUgPSA2LgpUaGUgaXRlbSB3aXRoIHZhbHVlID0gMyBvY2N1cnMgaW4gaXRlbXMxIHdpdGggd2VpZ2h0ID0gOCBhbmQgaW4gaXRlbXMyIHdpdGggd2VpZ2h0ID0gMSwgdG90YWwgd2VpZ2h0ID0gOCArIDEgPSA5LgpUaGUgaXRlbSB3aXRoIHZhbHVlID0gNCBvY2N1cnMgaW4gaXRlbXMxIHdpdGggd2VpZ2h0ID0gNSwgdG90YWwgd2VpZ2h0ID0gNS4gIApUaGVyZWZvcmUsIHdlIHJldHVybiBbWzEsNl0sWzMsOV0sWzQsNV1dLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBpdGVtczEgPSBbWzEsMV0sWzMsMl0sWzIsM11dLCBpdGVtczIgPSBbWzIsMV0sWzMsMl0sWzEsM11dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbWzEsNF0sWzIsNF0sWzMsNF1dCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApUaGUgaXRlbSB3aXRoIHZhbHVlID0gMSBvY2N1cnMgaW4gaXRlbXMxIHdpdGggd2VpZ2h0ID0gMSBhbmQgaW4gaXRlbXMyIHdpdGggd2VpZ2h0ID0gMywgdG90YWwgd2VpZ2h0ID0gMSArIDMgPSA0LgpUaGUgaXRlbSB3aXRoIHZhbHVlID0gMiBvY2N1cnMgaW4gaXRlbXMxIHdpdGggd2VpZ2h0ID0gMyBhbmQgaW4gaXRlbXMyIHdpdGggd2VpZ2h0ID0gMSwgdG90YWwgd2VpZ2h0ID0gMyArIDEgPSA0LgpUaGUgaXRlbSB3aXRoIHZhbHVlID0gMyBvY2N1cnMgaW4gaXRlbXMxIHdpdGggd2VpZ2h0ID0gMiBhbmQgaW4gaXRlbXMyIHdpdGggd2VpZ2h0ID0gMiwgdG90YWwgd2VpZ2h0ID0gMiArIDIgPSA0LgpUaGVyZWZvcmUsIHdlIHJldHVybiBbWzEsNF0sWzIsNF0sWzMsNF1dLjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGl0ZW1zMSA9IFtbMSwzXSxbMiwyXV0sIGl0ZW1zMiA9IFtbNywxXSxbMiwyXSxbMSw0XV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFtbMSw3XSxbMiw0XSxbNywxXV0KPHN0cm9uZz5FeHBsYW5hdGlvbjoKPC9zdHJvbmc+VGhlIGl0ZW0gd2l0aCB2YWx1ZSA9IDEgb2NjdXJzIGluIGl0ZW1zMSB3aXRoIHdlaWdodCA9IDMgYW5kIGluIGl0ZW1zMiB3aXRoIHdlaWdodCA9IDQsIHRvdGFsIHdlaWdodCA9IDMgKyA0ID0gNy4gClRoZSBpdGVtIHdpdGggdmFsdWUgPSAyIG9jY3VycyBpbiBpdGVtczEgd2l0aCB3ZWlnaHQgPSAyIGFuZCBpbiBpdGVtczIgd2l0aCB3ZWlnaHQgPSAyLCB0b3RhbCB3ZWlnaHQgPSAyICsgMiA9IDQuIApUaGUgaXRlbSB3aXRoIHZhbHVlID0gNyBvY2N1cnMgaW4gaXRlbXMyIHdpdGggd2VpZ2h0ID0gMSwgdG90YWwgd2VpZ2h0ID0gMS4KVGhlcmVmb3JlLCB3ZSByZXR1cm4gW1sxLDddLFsyLDRdLFs3LDFdXS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBpdGVtczEubGVuZ3RoLCBpdGVtczIubGVuZ3RoICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPml0ZW1zMVtpXS5sZW5ndGggPT0gaXRlbXMyW2ldLmxlbmd0aCA9PSAyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHZhbHVlPHN1Yj5pPC9zdWI+LCB3ZWlnaHQ8c3ViPmk8L3N1Yj4gJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8bGk+RWFjaCA8Y29kZT52YWx1ZTxzdWI+aTwvc3ViPjwvY29kZT4gaW4gPGNvZGU+aXRlbXMxPC9jb2RlPiBpcyA8c3Ryb25nPnVuaXF1ZTwvc3Ryb25nPi48L2xpPgo8bGk+RWFjaCA8Y29kZT52YWx1ZTxzdWI+aTwvc3ViPjwvY29kZT4gaW4gPGNvZGU+aXRlbXMyPC9jb2RlPiBpcyA8c3Ryb25nPnVuaXF1ZTwvc3Ryb25nPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Sorting",
+ "Ordered Set"
+ ]
+ },
+ {
+ "title": "2367. Number of Arithmetic Triplets",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiwgPHN0cm9uZz5zdHJpY3RseSBpbmNyZWFzaW5nPC9zdHJvbmc+IGludGVnZXIgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4gYW5kIGEgcG9zaXRpdmUgaW50ZWdlciA8Y29kZT5kaWZmPC9jb2RlPi4gQSB0cmlwbGV0IDxjb2RlPihpLCBqLCBrKTwvY29kZT4gaXMgYW4gPHN0cm9uZz5hcml0aG1ldGljIHRyaXBsZXQ8L3N0cm9uZz4gaWYgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6PC9wPgo8dWw+CjxsaT48Y29kZT5pICZsdDsgaiAmbHQ7IGs8L2NvZGU+LDwvbGk+CjxsaT48Y29kZT5udW1zW2pdIC0gbnVtc1tpXSA9PSBkaWZmPC9jb2RlPiwgYW5kPC9saT4KPGxpPjxjb2RlPm51bXNba10gLSBudW1zW2pdID09IGRpZmY8L2NvZGU+LjwvbGk+CjwvdWw+CjxwPlJldHVybiA8ZW0+dGhlIG51bWJlciBvZiB1bmlxdWUgPHN0cm9uZz5hcml0aG1ldGljIHRyaXBsZXRzPC9zdHJvbmc+LjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzAsMSw0LDYsNywxMF0sIGRpZmYgPSAzCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+CigxLCAyLCA0KSBpcyBhbiBhcml0aG1ldGljIHRyaXBsZXQgYmVjYXVzZSBib3RoIDcgLSA0ID09IDMgYW5kIDQgLSAxID09IDMuCigyLCA0LCA1KSBpcyBhbiBhcml0aG1ldGljIHRyaXBsZXQgYmVjYXVzZSBib3RoIDEwIC0gNyA9PSAzIGFuZCA3IC0gNCA9PSAzLiAKPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs0LDUsNiw3LDgsOV0sIGRpZmYgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+CigwLCAyLCA0KSBpcyBhbiBhcml0aG1ldGljIHRyaXBsZXQgYmVjYXVzZSBib3RoIDggLSA2ID09IDIgYW5kIDYgLSA0ID09IDIuCigxLCAzLCA1KSBpcyBhbiBhcml0aG1ldGljIHRyaXBsZXQgYmVjYXVzZSBib3RoIDkgLSA3ID09IDIgYW5kIDcgLSA1ID09IDIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjMgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMjAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IG51bXNbaV0gJmx0Oz0gMjAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGRpZmYgJmx0Oz0gNTA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPm51bXM8L2NvZGU+IGlzIDxzdHJvbmc+c3RyaWN0bHk8L3N0cm9uZz4gaW5jcmVhc2luZy48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Two Pointers",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2357. Make Array Zero by Subtracting Equal Amounts",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBub24tbmVnYXRpdmUgaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPi4gSW4gb25lIG9wZXJhdGlvbiwgeW91IG11c3Q6PC9wPgo8dWw+CjxsaT5DaG9vc2UgYSBwb3NpdGl2ZSBpbnRlZ2VyIDxjb2RlPng8L2NvZGU+IHN1Y2ggdGhhdCA8Y29kZT54PC9jb2RlPiBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIDxzdHJvbmc+c21hbGxlc3Qgbm9uLXplcm88L3N0cm9uZz4gZWxlbWVudCBpbiA8Y29kZT5udW1zPC9jb2RlPi48L2xpPgo8bGk+U3VidHJhY3QgPGNvZGU+eDwvY29kZT4gZnJvbSBldmVyeSA8c3Ryb25nPnBvc2l0aXZlPC9zdHJvbmc+IGVsZW1lbnQgaW4gPGNvZGU+bnVtczwvY29kZT4uPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5taW5pbXVtPC9zdHJvbmc+IG51bWJlciBvZiBvcGVyYXRpb25zIHRvIG1ha2UgZXZlcnkgZWxlbWVudCBpbiA8L2VtPjxjb2RlPm51bXM8L2NvZGU+PGVtPiBlcXVhbCB0byA8L2VtPjxjb2RlPjA8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDUsMCwzLDVdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+CkluIHRoZSBmaXJzdCBvcGVyYXRpb24sIGNob29zZSB4ID0gMS4gTm93LCBudW1zID0gWzAsNCwwLDIsNF0uCkluIHRoZSBzZWNvbmQgb3BlcmF0aW9uLCBjaG9vc2UgeCA9IDIuIE5vdywgbnVtcyA9IFswLDIsMCwwLDJdLgpJbiB0aGUgdGhpcmQgb3BlcmF0aW9uLCBjaG9vc2UgeCA9IDIuIE5vdywgbnVtcyA9IFswLDAsMCwwLDBdLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzBdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEVhY2ggZWxlbWVudCBpbiBudW1zIGlzIGFscmVhZHkgMCBzbyBubyBvcGVyYXRpb25zIGFyZSBuZWVkZWQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IG51bXNbaV0gJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Sorting",
+ "Heap (Priority Queue)",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2347. Best Poker Hand",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5yYW5rczwvY29kZT4gYW5kIGEgY2hhcmFjdGVyIGFycmF5IDxjb2RlPnN1aXRzPC9jb2RlPi4gWW91IGhhdmUgPGNvZGU+NTwvY29kZT4gY2FyZHMgd2hlcmUgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBjYXJkIGhhcyBhIHJhbmsgb2YgPGNvZGU+cmFua3NbaV08L2NvZGU+IGFuZCBhIHN1aXQgb2YgPGNvZGU+c3VpdHNbaV08L2NvZGU+LjwvcD4KPHA+VGhlIGZvbGxvd2luZyBhcmUgdGhlIHR5cGVzIG9mIDxzdHJvbmc+cG9rZXIgaGFuZHM8L3N0cm9uZz4geW91IGNhbiBtYWtlIGZyb20gYmVzdCB0byB3b3JzdDo8L3A+CjxvbD4KPGxpPjxjb2RlPiJGbHVzaCI8L2NvZGU+OiBGaXZlIGNhcmRzIG9mIHRoZSBzYW1lIHN1aXQuPC9saT4KPGxpPjxjb2RlPiJUaHJlZSBvZiBhIEtpbmQiPC9jb2RlPjogVGhyZWUgY2FyZHMgb2YgdGhlIHNhbWUgcmFuay48L2xpPgo8bGk+PGNvZGU+IlBhaXIiPC9jb2RlPjogVHdvIGNhcmRzIG9mIHRoZSBzYW1lIHJhbmsuPC9saT4KPGxpPjxjb2RlPiJIaWdoIENhcmQiPC9jb2RlPjogQW55IHNpbmdsZSBjYXJkLjwvbGk+Cjwvb2w+CjxwPlJldHVybiA8ZW0+YSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSA8c3Ryb25nPmJlc3Q8L3N0cm9uZz4gdHlwZSBvZiA8c3Ryb25nPnBva2VyIGhhbmQ8L3N0cm9uZz4geW91IGNhbiBtYWtlIHdpdGggdGhlIGdpdmVuIGNhcmRzLjwvZW0+PC9wPgo8cD48c3Ryb25nPk5vdGU8L3N0cm9uZz4gdGhhdCB0aGUgcmV0dXJuIHZhbHVlcyBhcmUgPHN0cm9uZz5jYXNlLXNlbnNpdGl2ZTwvc3Ryb25nPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHJhbmtzID0gWzEzLDIsMywxLDldLCBzdWl0cyA9IFsiYSIsImEiLCJhIiwiYSIsImEiXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gIkZsdXNoIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgaGFuZCB3aXRoIGFsbCB0aGUgY2FyZHMgY29uc2lzdHMgb2YgNSBjYXJkcyB3aXRoIHRoZSBzYW1lIHN1aXQsIHNvIHdlIGhhdmUgYSAiRmx1c2giLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiByYW5rcyA9IFs0LDQsMiw0LDRdLCBzdWl0cyA9IFsiZCIsImEiLCJhIiwiYiIsImMiXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gIlRocmVlIG9mIGEgS2luZCIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGhhbmQgd2l0aCB0aGUgZmlyc3QsIHNlY29uZCwgYW5kIGZvdXJ0aCBjYXJkIGNvbnNpc3RzIG9mIDMgY2FyZHMgd2l0aCB0aGUgc2FtZSByYW5rLCBzbyB3ZSBoYXZlIGEgIlRocmVlIG9mIGEgS2luZCIuCk5vdGUgdGhhdCB3ZSBjb3VsZCBhbHNvIG1ha2UgYSAiUGFpciIgaGFuZCBidXQgIlRocmVlIG9mIGEgS2luZCIgaXMgYSBiZXR0ZXIgaGFuZC4KQWxzbyBub3RlIHRoYXQgb3RoZXIgY2FyZHMgY291bGQgYmUgdXNlZCB0byBtYWtlIHRoZSAiVGhyZWUgb2YgYSBLaW5kIiBoYW5kLjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHJhbmtzID0gWzEwLDEwLDIsMTIsOV0sIHN1aXRzID0gWyJhIiwiYiIsImMiLCJhIiwiZCJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiUGFpciIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGhhbmQgd2l0aCB0aGUgZmlyc3QgYW5kIHNlY29uZCBjYXJkIGNvbnNpc3RzIG9mIDIgY2FyZHMgd2l0aCB0aGUgc2FtZSByYW5rLCBzbyB3ZSBoYXZlIGEgIlBhaXIiLgpOb3RlIHRoYXQgd2UgY2Fubm90IG1ha2UgYSAiRmx1c2giIG9yIGEgIlRocmVlIG9mIGEgS2luZCIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPnJhbmtzLmxlbmd0aCA9PSBzdWl0cy5sZW5ndGggPT0gNTwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSByYW5rc1tpXSAmbHQ7PSAxMzwvY29kZT48L2xpPgo8bGk+PGNvZGU+J2EnICZsdDs9IHN1aXRzW2ldICZsdDs9ICdkJzwvY29kZT48L2xpPgo8bGk+Tm8gdHdvIGNhcmRzIGhhdmUgdGhlIHNhbWUgcmFuayBhbmQgc3VpdC48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2351. First Letter to Appear Twice",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgc3RyaW5nIDxjb2RlPnM8L2NvZGU+IGNvbnNpc3Rpbmcgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycywgcmV0dXJuIDxlbT50aGUgZmlyc3QgbGV0dGVyIHRvIGFwcGVhciA8c3Ryb25nPnR3aWNlPC9zdHJvbmc+PC9lbT4uPC9wPgo8cD48c3Ryb25nPk5vdGU8L3N0cm9uZz46PC9wPgo8dWw+CjxsaT5BIGxldHRlciA8Y29kZT5hPC9jb2RlPiBhcHBlYXJzIHR3aWNlIGJlZm9yZSBhbm90aGVyIGxldHRlciA8Y29kZT5iPC9jb2RlPiBpZiB0aGUgPHN0cm9uZz5zZWNvbmQ8L3N0cm9uZz4gb2NjdXJyZW5jZSBvZiA8Y29kZT5hPC9jb2RlPiBpcyBiZWZvcmUgdGhlIDxzdHJvbmc+c2Vjb25kPC9zdHJvbmc+IG9jY3VycmVuY2Ugb2YgPGNvZGU+YjwvY29kZT4uPC9saT4KPGxpPjxjb2RlPnM8L2NvZGU+IHdpbGwgY29udGFpbiBhdCBsZWFzdCBvbmUgbGV0dGVyIHRoYXQgYXBwZWFycyB0d2ljZS48L2xpPgo8L3VsPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImFiY2NiYWFjeiIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICJjIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgbGV0dGVyICdhJyBhcHBlYXJzIG9uIHRoZSBpbmRleGVzIDAsIDUgYW5kIDYuClRoZSBsZXR0ZXIgJ2InIGFwcGVhcnMgb24gdGhlIGluZGV4ZXMgMSBhbmQgNC4KVGhlIGxldHRlciAnYycgYXBwZWFycyBvbiB0aGUgaW5kZXhlcyAyLCAzIGFuZCA3LgpUaGUgbGV0dGVyICd6JyBhcHBlYXJzIG9uIHRoZSBpbmRleCA4LgpUaGUgbGV0dGVyICdjJyBpcyB0aGUgZmlyc3QgbGV0dGVyIHRvIGFwcGVhciB0d2ljZSwgYmVjYXVzZSBvdXQgb2YgYWxsIHRoZSBsZXR0ZXJzIHRoZSBpbmRleCBvZiBpdHMgc2Vjb25kIG9jY3VycmVuY2UgaXMgdGhlIHNtYWxsZXN0Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImFiY2RkIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gImQiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBvbmx5IGxldHRlciB0aGF0IGFwcGVhcnMgdHdpY2UgaXMgJ2QnIHNvIHdlIHJldHVybiAnZCcuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjIgJmx0Oz0gcy5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zPC9jb2RlPiBjb25zaXN0cyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLjwvbGk+CjxsaT48Y29kZT5zPC9jb2RlPiBoYXMgYXQgbGVhc3Qgb25lIHJlcGVhdGVkIGxldHRlci48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Hash Table",
+ "String",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2341. Maximum Number of Pairs in Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+LiBJbiBvbmUgb3BlcmF0aW9uLCB5b3UgbWF5IGRvIHRoZSBmb2xsb3dpbmc6PC9wPgo8dWw+CjxsaT5DaG9vc2UgPHN0cm9uZz50d288L3N0cm9uZz4gaW50ZWdlcnMgaW4gPGNvZGU+bnVtczwvY29kZT4gdGhhdCBhcmUgPHN0cm9uZz5lcXVhbDwvc3Ryb25nPi48L2xpPgo8bGk+UmVtb3ZlIGJvdGggaW50ZWdlcnMgZnJvbSA8Y29kZT5udW1zPC9jb2RlPiwgZm9ybWluZyBhIDxzdHJvbmc+cGFpcjwvc3Ryb25nPi48L2xpPgo8L3VsPgo8cD5UaGUgb3BlcmF0aW9uIGlzIGRvbmUgb24gPGNvZGU+bnVtczwvY29kZT4gYXMgbWFueSB0aW1lcyBhcyBwb3NzaWJsZS48L3A+CjxwPlJldHVybiA8ZW0+YSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDwvZW0+PGNvZGU+YW5zd2VyPC9jb2RlPjxlbT4gb2Ygc2l6ZSA8L2VtPjxjb2RlPjI8L2NvZGU+PGVtPiB3aGVyZSA8L2VtPjxjb2RlPmFuc3dlclswXTwvY29kZT48ZW0+IGlzIHRoZSBudW1iZXIgb2YgcGFpcnMgdGhhdCBhcmUgZm9ybWVkIGFuZCA8L2VtPjxjb2RlPmFuc3dlclsxXTwvY29kZT48ZW0+IGlzIHRoZSBudW1iZXIgb2YgbGVmdG92ZXIgaW50ZWdlcnMgaW4gPC9lbT48Y29kZT5udW1zPC9jb2RlPjxlbT4gYWZ0ZXIgZG9pbmcgdGhlIG9wZXJhdGlvbiBhcyBtYW55IHRpbWVzIGFzIHBvc3NpYmxlPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMywyLDEsMywyLDJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMywxXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpGb3JtIGEgcGFpciB3aXRoIG51bXNbMF0gYW5kIG51bXNbM10gYW5kIHJlbW92ZSB0aGVtIGZyb20gbnVtcy4gTm93LCBudW1zID0gWzMsMiwzLDIsMl0uCkZvcm0gYSBwYWlyIHdpdGggbnVtc1swXSBhbmQgbnVtc1syXSBhbmQgcmVtb3ZlIHRoZW0gZnJvbSBudW1zLiBOb3csIG51bXMgPSBbMiwyLDJdLgpGb3JtIGEgcGFpciB3aXRoIG51bXNbMF0gYW5kIG51bXNbMV0gYW5kIHJlbW92ZSB0aGVtIGZyb20gbnVtcy4gTm93LCBudW1zID0gWzJdLgpObyBtb3JlIHBhaXJzIGNhbiBiZSBmb3JtZWQuIEEgdG90YWwgb2YgMyBwYWlycyBoYXZlIGJlZW4gZm9ybWVkLCBhbmQgdGhlcmUgaXMgMSBudW1iZXIgbGVmdG92ZXIgaW4gbnVtcy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMSwwXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBGb3JtIGEgcGFpciB3aXRoIG51bXNbMF0gYW5kIG51bXNbMV0gYW5kIHJlbW92ZSB0aGVtIGZyb20gbnVtcy4gTm93LCBudW1zID0gW10uCk5vIG1vcmUgcGFpcnMgY2FuIGJlIGZvcm1lZC4gQSB0b3RhbCBvZiAxIHBhaXIgaGFzIGJlZW4gZm9ybWVkLCBhbmQgdGhlcmUgYXJlIDAgbnVtYmVycyBsZWZ0b3ZlciBpbiBudW1zLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzBdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMCwxXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBObyBwYWlycyBjYW4gYmUgZm9ybWVkLCBhbmQgdGhlcmUgaXMgMSBudW1iZXIgbGVmdG92ZXIgaW4gbnVtcy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2331. Evaluate Boolean Binary Tree",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdGhlIDxjb2RlPnJvb3Q8L2NvZGU+IG9mIGEgPHN0cm9uZz5mdWxsIGJpbmFyeSB0cmVlPC9zdHJvbmc+IHdpdGggdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOjwvcD4KPHVsPgo8bGk+PHN0cm9uZz5MZWFmIG5vZGVzPC9zdHJvbmc+IGhhdmUgZWl0aGVyIHRoZSB2YWx1ZSA8Y29kZT4wPC9jb2RlPiBvciA8Y29kZT4xPC9jb2RlPiwgd2hlcmUgPGNvZGU+MDwvY29kZT4gcmVwcmVzZW50cyA8Y29kZT5GYWxzZTwvY29kZT4gYW5kIDxjb2RlPjE8L2NvZGU+IHJlcHJlc2VudHMgPGNvZGU+VHJ1ZTwvY29kZT4uPC9saT4KPGxpPjxzdHJvbmc+Tm9uLWxlYWYgbm9kZXM8L3N0cm9uZz4gaGF2ZSBlaXRoZXIgdGhlIHZhbHVlIDxjb2RlPjI8L2NvZGU+IG9yIDxjb2RlPjM8L2NvZGU+LCB3aGVyZSA8Y29kZT4yPC9jb2RlPiByZXByZXNlbnRzIHRoZSBib29sZWFuIDxjb2RlPk9SPC9jb2RlPiBhbmQgPGNvZGU+MzwvY29kZT4gcmVwcmVzZW50cyB0aGUgYm9vbGVhbiA8Y29kZT5BTkQ8L2NvZGU+LjwvbGk+CjwvdWw+CjxwPlRoZSA8c3Ryb25nPmV2YWx1YXRpb248L3N0cm9uZz4gb2YgYSBub2RlIGlzIGFzIGZvbGxvd3M6PC9wPgo8dWw+CjxsaT5JZiB0aGUgbm9kZSBpcyBhIGxlYWYgbm9kZSwgdGhlIGV2YWx1YXRpb24gaXMgdGhlIDxzdHJvbmc+dmFsdWU8L3N0cm9uZz4gb2YgdGhlIG5vZGUsIGkuZS4gPGNvZGU+VHJ1ZTwvY29kZT4gb3IgPGNvZGU+RmFsc2U8L2NvZGU+LjwvbGk+CjxsaT5PdGhlcndpc2UsIDxzdHJvbmc+ZXZhbHVhdGU8L3N0cm9uZz4gdGhlIG5vZGUncyB0d28gY2hpbGRyZW4gYW5kIDxzdHJvbmc+YXBwbHk8L3N0cm9uZz4gdGhlIGJvb2xlYW4gb3BlcmF0aW9uIG9mIGl0cyB2YWx1ZSB3aXRoIHRoZSBjaGlsZHJlbidzIGV2YWx1YXRpb25zLjwvbGk+CjwvdWw+CjxwPlJldHVybjxlbT4gdGhlIGJvb2xlYW4gcmVzdWx0IG9mIDxzdHJvbmc+ZXZhbHVhdGluZzwvc3Ryb25nPiB0aGUgPC9lbT48Y29kZT5yb290PC9jb2RlPjxlbT4gbm9kZS48L2VtPjwvcD4KPHA+QSA8c3Ryb25nPmZ1bGwgYmluYXJ5IHRyZWU8L3N0cm9uZz4gaXMgYSBiaW5hcnkgdHJlZSB3aGVyZSBlYWNoIG5vZGUgaGFzIGVpdGhlciA8Y29kZT4wPC9jb2RlPiBvciA8Y29kZT4yPC9jb2RlPiBjaGlsZHJlbi48L3A+CjxwPkEgPHN0cm9uZz5sZWFmIG5vZGU8L3N0cm9uZz4gaXMgYSBub2RlIHRoYXQgaGFzIHplcm8gY2hpbGRyZW4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA1LzE2L2V4YW1wbGUxZHJhd2lvMS5wbmciIHN0eWxlPSJ3aWR0aDogNzAwcHg7IGhlaWdodDogMjUycHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcm9vdCA9IFsyLDEsMyxudWxsLG51bGwsMCwxXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gdHJ1ZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgYWJvdmUgZGlhZ3JhbSBpbGx1c3RyYXRlcyB0aGUgZXZhbHVhdGlvbiBwcm9jZXNzLgpUaGUgQU5EIG5vZGUgZXZhbHVhdGVzIHRvIEZhbHNlIEFORCBUcnVlID0gRmFsc2UuClRoZSBPUiBub2RlIGV2YWx1YXRlcyB0byBUcnVlIE9SIEZhbHNlID0gVHJ1ZS4KVGhlIHJvb3Qgbm9kZSBldmFsdWF0ZXMgdG8gVHJ1ZSwgc28gd2UgcmV0dXJuIHRydWUuPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcm9vdCA9IFswXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gZmFsc2UKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHJvb3Qgbm9kZSBpcyBhIGxlYWYgbm9kZSBhbmQgaXQgZXZhbHVhdGVzIHRvIGZhbHNlLCBzbyB3ZSByZXR1cm4gZmFsc2UuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPlRoZSBudW1iZXIgb2Ygbm9kZXMgaW4gdGhlIHRyZWUgaXMgaW4gdGhlIHJhbmdlIDxjb2RlPlsxLCAxMDAwXTwvY29kZT4uPC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gTm9kZS52YWwgJmx0Oz0gMzwvY29kZT48L2xpPgo8bGk+RXZlcnkgbm9kZSBoYXMgZWl0aGVyIDxjb2RlPjA8L2NvZGU+IG9yIDxjb2RlPjI8L2NvZGU+IGNoaWxkcmVuLjwvbGk+CjxsaT5MZWFmIG5vZGVzIGhhdmUgYSB2YWx1ZSBvZiA8Y29kZT4wPC9jb2RlPiBvciA8Y29kZT4xPC9jb2RlPi48L2xpPgo8bGk+Tm9uLWxlYWYgbm9kZXMgaGF2ZSBhIHZhbHVlIG9mIDxjb2RlPjI8L2NvZGU+IG9yIDxjb2RlPjM8L2NvZGU+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Binary Search",
+ "Tree",
+ "Depth-First Search"
+ ]
+ },
+ {
+ "title": "2335. Minimum Amount of Time to Fill Cups",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBoYXZlIGEgd2F0ZXIgZGlzcGVuc2VyIHRoYXQgY2FuIGRpc3BlbnNlIGNvbGQsIHdhcm0sIGFuZCBob3Qgd2F0ZXIuIEV2ZXJ5IHNlY29uZCwgeW91IGNhbiBlaXRoZXIgZmlsbCB1cCA8Y29kZT4yPC9jb2RlPiBjdXBzIHdpdGggPHN0cm9uZz5kaWZmZXJlbnQ8L3N0cm9uZz4gdHlwZXMgb2Ygd2F0ZXIsIG9yIDxjb2RlPjE8L2NvZGU+IGN1cCBvZiBhbnkgdHlwZSBvZiB3YXRlci48L3A+CjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPmFtb3VudDwvY29kZT4gb2YgbGVuZ3RoIDxjb2RlPjM8L2NvZGU+IHdoZXJlIDxjb2RlPmFtb3VudFswXTwvY29kZT4sIDxjb2RlPmFtb3VudFsxXTwvY29kZT4sIGFuZCA8Y29kZT5hbW91bnRbMl08L2NvZGU+IGRlbm90ZSB0aGUgbnVtYmVyIG9mIGNvbGQsIHdhcm0sIGFuZCBob3Qgd2F0ZXIgY3VwcyB5b3UgbmVlZCB0byBmaWxsIHJlc3BlY3RpdmVseS4gUmV0dXJuIDxlbT50aGUgPHN0cm9uZz5taW5pbXVtPC9zdHJvbmc+IG51bWJlciBvZiBzZWNvbmRzIG5lZWRlZCB0byBmaWxsIHVwIGFsbCB0aGUgY3VwczwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gYW1vdW50ID0gWzEsNCwyXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBPbmUgd2F5IHRvIGZpbGwgdXAgdGhlIGN1cHMgaXM6ClNlY29uZCAxOiBGaWxsIHVwIGEgY29sZCBjdXAgYW5kIGEgd2FybSBjdXAuClNlY29uZCAyOiBGaWxsIHVwIGEgd2FybSBjdXAgYW5kIGEgaG90IGN1cC4KU2Vjb25kIDM6IEZpbGwgdXAgYSB3YXJtIGN1cCBhbmQgYSBob3QgY3VwLgpTZWNvbmQgNDogRmlsbCB1cCBhIHdhcm0gY3VwLgpJdCBjYW4gYmUgcHJvdmVuIHRoYXQgNCBpcyB0aGUgbWluaW11bSBudW1iZXIgb2Ygc2Vjb25kcyBuZWVkZWQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGFtb3VudCA9IFs1LDQsNF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDcKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gT25lIHdheSB0byBmaWxsIHVwIHRoZSBjdXBzIGlzOgpTZWNvbmQgMTogRmlsbCB1cCBhIGNvbGQgY3VwLCBhbmQgYSBob3QgY3VwLgpTZWNvbmQgMjogRmlsbCB1cCBhIGNvbGQgY3VwLCBhbmQgYSB3YXJtIGN1cC4KU2Vjb25kIDM6IEZpbGwgdXAgYSBjb2xkIGN1cCwgYW5kIGEgd2FybSBjdXAuClNlY29uZCA0OiBGaWxsIHVwIGEgd2FybSBjdXAsIGFuZCBhIGhvdCBjdXAuClNlY29uZCA1OiBGaWxsIHVwIGEgY29sZCBjdXAsIGFuZCBhIGhvdCBjdXAuClNlY29uZCA2OiBGaWxsIHVwIGEgY29sZCBjdXAsIGFuZCBhIHdhcm0gY3VwLgpTZWNvbmQgNzogRmlsbCB1cCBhIGhvdCBjdXAuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGFtb3VudCA9IFs1LDAsMF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gRXZlcnkgc2Vjb25kLCB3ZSBmaWxsIHVwIGEgY29sZCBjdXAuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPmFtb3VudC5sZW5ndGggPT0gMzwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBhbW91bnRbaV0gJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Greedy",
+ "Heap (Priority Queue)"
+ ]
+ },
+ {
+ "title": "2325. Decode the Message",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdGhlIHN0cmluZ3MgPGNvZGU+a2V5PC9jb2RlPiBhbmQgPGNvZGU+bWVzc2FnZTwvY29kZT4sIHdoaWNoIHJlcHJlc2VudCBhIGNpcGhlciBrZXkgYW5kIGEgc2VjcmV0IG1lc3NhZ2UsIHJlc3BlY3RpdmVseS4gVGhlIHN0ZXBzIHRvIGRlY29kZSA8Y29kZT5tZXNzYWdlPC9jb2RlPiBhcmUgYXMgZm9sbG93czo8L3A+CjxvbD4KPGxpPlVzZSB0aGUgPHN0cm9uZz5maXJzdDwvc3Ryb25nPiBhcHBlYXJhbmNlIG9mIGFsbCAyNiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzIGluIDxjb2RlPmtleTwvY29kZT4gYXMgdGhlIDxzdHJvbmc+b3JkZXI8L3N0cm9uZz4gb2YgdGhlIHN1YnN0aXR1dGlvbiB0YWJsZS48L2xpPgo8bGk+QWxpZ24gdGhlIHN1YnN0aXR1dGlvbiB0YWJsZSB3aXRoIHRoZSByZWd1bGFyIEVuZ2xpc2ggYWxwaGFiZXQuPC9saT4KPGxpPkVhY2ggbGV0dGVyIGluIDxjb2RlPm1lc3NhZ2U8L2NvZGU+IGlzIHRoZW4gPHN0cm9uZz5zdWJzdGl0dXRlZDwvc3Ryb25nPiB1c2luZyB0aGUgdGFibGUuPC9saT4KPGxpPlNwYWNlcyA8Y29kZT4nICc8L2NvZGU+IGFyZSB0cmFuc2Zvcm1lZCB0byB0aGVtc2VsdmVzLjwvbGk+Cjwvb2w+Cjx1bD4KPGxpPkZvciBleGFtcGxlLCBnaXZlbiA8Y29kZT5rZXkgPSAiPHU+PHN0cm9uZz5oYXA8L3N0cm9uZz48L3U+cDx1PjxzdHJvbmc+eTwvc3Ryb25nPjwvdT4gPHU+PHN0cm9uZz5ibzwvc3Ryb25nPjwvdT55IjwvY29kZT4gKGFjdHVhbCBrZXkgd291bGQgaGF2ZSA8c3Ryb25nPmF0IGxlYXN0IG9uZTwvc3Ryb25nPiBpbnN0YW5jZSBvZiBlYWNoIGxldHRlciBpbiB0aGUgYWxwaGFiZXQpLCB3ZSBoYXZlIHRoZSBwYXJ0aWFsIHN1YnN0aXR1dGlvbiB0YWJsZSBvZiAoPGNvZGU+J2gnIC0mZ3Q7ICdhJzwvY29kZT4sIDxjb2RlPidhJyAtJmd0OyAnYic8L2NvZGU+LCA8Y29kZT4ncCcgLSZndDsgJ2MnPC9jb2RlPiwgPGNvZGU+J3knIC0mZ3Q7ICdkJzwvY29kZT4sIDxjb2RlPidiJyAtJmd0OyAnZSc8L2NvZGU+LCA8Y29kZT4nbycgLSZndDsgJ2YnPC9jb2RlPikuPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgZGVjb2RlZCBtZXNzYWdlPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA1LzA4L2V4MW5ldzQuanBnIiBzdHlsZT0id2lkdGg6IDc1MnB4OyBoZWlnaHQ6IDE1MHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGtleSA9ICJ0aGUgcXVpY2sgYnJvd24gZm94IGp1bXBzIG92ZXIgdGhlIGxhenkgZG9nIiwgbWVzc2FnZSA9ICJ2a2JzIGJzIHQgc3VlcHV2Igo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gInRoaXMgaXMgYSBzZWNyZXQiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBkaWFncmFtIGFib3ZlIHNob3dzIHRoZSBzdWJzdGl0dXRpb24gdGFibGUuCkl0IGlzIG9idGFpbmVkIGJ5IHRha2luZyB0aGUgZmlyc3QgYXBwZWFyYW5jZSBvZiBlYWNoIGxldHRlciBpbiAiPHU+PHN0cm9uZz50aGU8L3N0cm9uZz48L3U+IDx1PjxzdHJvbmc+cXVpY2s8L3N0cm9uZz48L3U+IDx1PjxzdHJvbmc+YnJvd248L3N0cm9uZz48L3U+IDx1PjxzdHJvbmc+Zjwvc3Ryb25nPjwvdT5vPHU+PHN0cm9uZz54PC9zdHJvbmc+PC91PiA8dT48c3Ryb25nPmo8L3N0cm9uZz48L3U+dTx1PjxzdHJvbmc+bXBzPC9zdHJvbmc+PC91PiBvPHU+PHN0cm9uZz52PC9zdHJvbmc+PC91PmVyIHRoZSA8dT48c3Ryb25nPmxhenk8L3N0cm9uZz48L3U+IDx1PjxzdHJvbmc+ZDwvc3Ryb25nPjwvdT5vPHU+PHN0cm9uZz5nPC9zdHJvbmc+PC91PiIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDUvMDgvZXgybmV3LmpwZyIgc3R5bGU9IndpZHRoOiA3NTRweDsgaGVpZ2h0OiAxNTBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBrZXkgPSAiZWxqdXhocHdueXJkZ3Rxa3Zpc3pjZm1hYm8iLCBtZXNzYWdlID0gInp3eCBobmZ4IGxxYW50cCBtbm9laXVzIHljZ2sgdmNuanJkYiIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICJ0aGUgZml2ZSBib3hpbmcgd2l6YXJkcyBqdW1wIHF1aWNrbHkiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBkaWFncmFtIGFib3ZlIHNob3dzIHRoZSBzdWJzdGl0dXRpb24gdGFibGUuCkl0IGlzIG9idGFpbmVkIGJ5IHRha2luZyB0aGUgZmlyc3QgYXBwZWFyYW5jZSBvZiBlYWNoIGxldHRlciBpbiAiPHU+PHN0cm9uZz5lbGp1eGhwd255cmRndHFrdmlzemNmbWFibzwvc3Ryb25nPjwvdT4iLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4yNiAmbHQ7PSBrZXkubGVuZ3RoICZsdDs9IDIwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPmtleTwvY29kZT4gY29uc2lzdHMgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycyBhbmQgPGNvZGU+JyAnPC9jb2RlPi48L2xpPgo8bGk+PGNvZGU+a2V5PC9jb2RlPiBjb250YWlucyBldmVyeSBsZXR0ZXIgaW4gdGhlIEVuZ2xpc2ggYWxwaGFiZXQgKDxjb2RlPidhJzwvY29kZT4gdG8gPGNvZGU+J3onPC9jb2RlPikgPHN0cm9uZz5hdCBsZWFzdCBvbmNlPC9zdHJvbmc+LjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG1lc3NhZ2UubGVuZ3RoICZsdDs9IDIwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPm1lc3NhZ2U8L2NvZGU+IGNvbnNpc3RzIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMgYW5kIDxjb2RlPicgJzwvY29kZT4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Hash Table",
+ "String"
+ ]
+ },
+ {
+ "title": "2315. Count Asterisks",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4sIHdoZXJlIGV2ZXJ5IDxzdHJvbmc+dHdvPC9zdHJvbmc+IGNvbnNlY3V0aXZlIHZlcnRpY2FsIGJhcnMgPGNvZGU+J3wnPC9jb2RlPiBhcmUgZ3JvdXBlZCBpbnRvIGEgPHN0cm9uZz5wYWlyPC9zdHJvbmc+LiBJbiBvdGhlciB3b3JkcywgdGhlIDE8c3VwPnN0PC9zdXA+IGFuZCAyPHN1cD5uZDwvc3VwPiA8Y29kZT4nfCc8L2NvZGU+IG1ha2UgYSBwYWlyLCB0aGUgMzxzdXA+cmQ8L3N1cD4gYW5kIDQ8c3VwPnRoPC9zdXA+IDxjb2RlPid8JzwvY29kZT4gbWFrZSBhIHBhaXIsIGFuZCBzbyBmb3J0aC48L3A+CjxwPlJldHVybiA8ZW0+dGhlIG51bWJlciBvZiA8L2VtPjxjb2RlPicqJzwvY29kZT48ZW0+IGluIDwvZW0+PGNvZGU+czwvY29kZT48ZW0+LCA8c3Ryb25nPmV4Y2x1ZGluZzwvc3Ryb25nPiB0aGUgPC9lbT48Y29kZT4nKic8L2NvZGU+PGVtPiBiZXR3ZWVuIGVhY2ggcGFpciBvZiA8L2VtPjxjb2RlPid8JzwvY29kZT4uPC9wPgo8cD48c3Ryb25nPk5vdGU8L3N0cm9uZz4gdGhhdCBlYWNoIDxjb2RlPid8JzwvY29kZT4gd2lsbCBiZWxvbmcgdG8gPHN0cm9uZz5leGFjdGx5PC9zdHJvbmc+IG9uZSBwYWlyLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJsfCplKmV0fGMqKm98KmRlfCIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGNvbnNpZGVyZWQgY2hhcmFjdGVycyBhcmUgdW5kZXJsaW5lZDogIjx1Pmw8L3U+fCplKmV0fDx1PmMqKm88L3U+fCpkZXwiLgpUaGUgY2hhcmFjdGVycyBiZXR3ZWVuIHRoZSBmaXJzdCBhbmQgc2Vjb25kICd8JyBhcmUgZXhjbHVkZWQgZnJvbSB0aGUgYW5zd2VyLgpBbHNvLCB0aGUgY2hhcmFjdGVycyBiZXR3ZWVuIHRoZSB0aGlyZCBhbmQgZm91cnRoICd8JyBhcmUgZXhjbHVkZWQgZnJvbSB0aGUgYW5zd2VyLgpUaGVyZSBhcmUgMiBhc3Rlcmlza3MgY29uc2lkZXJlZC4gVGhlcmVmb3JlLCB3ZSByZXR1cm4gMi48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImlhbXByb2dyYW1tZXIiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEluIHRoaXMgZXhhbXBsZSwgdGhlcmUgYXJlIG5vIGFzdGVyaXNrcyBpbiBzLiBUaGVyZWZvcmUsIHdlIHJldHVybiAwLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gInlvfHVhcnxlKip8YnxlKioqYXV8dGlmdXxsIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgY29uc2lkZXJlZCBjaGFyYWN0ZXJzIGFyZSB1bmRlcmxpbmVkOiAiPHU+eW88L3U+fHVhcnw8dT5lKio8L3U+fGJ8PHU+ZSoqKmF1PC91Pnx0aWZ1fDx1Pmw8L3U+Ii4gVGhlcmUgYXJlIDUgYXN0ZXJpc2tzIGNvbnNpZGVyZWQuIFRoZXJlZm9yZSwgd2UgcmV0dXJuIDUuPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBzLmxlbmd0aCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zPC9jb2RlPiBjb25zaXN0cyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLCB2ZXJ0aWNhbCBiYXJzIDxjb2RlPid8JzwvY29kZT4sIGFuZCBhc3Rlcmlza3MgPGNvZGU+JyonPC9jb2RlPi48L2xpPgo8bGk+PGNvZGU+czwvY29kZT4gY29udGFpbnMgYW4gPHN0cm9uZz5ldmVuPC9zdHJvbmc+IG51bWJlciBvZiB2ZXJ0aWNhbCBiYXJzIDxjb2RlPid8JzwvY29kZT4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "String"
+ ]
+ },
+ {
+ "title": "2319. Check if Matrix Is X-Matrix",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgc3F1YXJlIG1hdHJpeCBpcyBzYWlkIHRvIGJlIGFuIDxzdHJvbmc+WC1NYXRyaXg8L3N0cm9uZz4gaWYgPHN0cm9uZz5ib3RoPC9zdHJvbmc+IG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBob2xkOjwvcD4KPG9sPgo8bGk+QWxsIHRoZSBlbGVtZW50cyBpbiB0aGUgZGlhZ29uYWxzIG9mIHRoZSBtYXRyaXggYXJlIDxzdHJvbmc+bm9uLXplcm88L3N0cm9uZz4uPC9saT4KPGxpPkFsbCBvdGhlciBlbGVtZW50cyBhcmUgMC48L2xpPgo8L29sPgo8cD5HaXZlbiBhIDJEIGludGVnZXIgYXJyYXkgPGNvZGU+Z3JpZDwvY29kZT4gb2Ygc2l6ZSA8Y29kZT5uIHggbjwvY29kZT4gcmVwcmVzZW50aW5nIGEgc3F1YXJlIG1hdHJpeCwgcmV0dXJuIDxjb2RlPnRydWU8L2NvZGU+PGVtPiBpZiA8L2VtPjxjb2RlPmdyaWQ8L2NvZGU+PGVtPiBpcyBhbiBYLU1hdHJpeDwvZW0+LiBPdGhlcndpc2UsIHJldHVybiA8Y29kZT5mYWxzZTwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA1LzAzL2V4MS5qcGciIHN0eWxlPSJ3aWR0aDogMzExcHg7IGhlaWdodDogMzIwcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbMiwwLDAsMV0sWzAsMywxLDBdLFswLDUsMiwwXSxbNCwwLDAsMl1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiB0cnVlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFJlZmVyIHRvIHRoZSBkaWFncmFtIGFib3ZlLiAKQW4gWC1NYXRyaXggc2hvdWxkIGhhdmUgdGhlIGdyZWVuIGVsZW1lbnRzIChkaWFnb25hbHMpIGJlIG5vbi16ZXJvIGFuZCB0aGUgcmVkIGVsZW1lbnRzIGJlIDAuClRodXMsIGdyaWQgaXMgYW4gWC1NYXRyaXguCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDUvMDMvZXgyLmpwZyIgc3R5bGU9IndpZHRoOiAyMzhweDsgaGVpZ2h0OiAyNDZweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBncmlkID0gW1s1LDcsMF0sWzAsMywxXSxbMCw1LDBdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gZmFsc2UKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gUmVmZXIgdG8gdGhlIGRpYWdyYW0gYWJvdmUuCkFuIFgtTWF0cml4IHNob3VsZCBoYXZlIHRoZSBncmVlbiBlbGVtZW50cyAoZGlhZ29uYWxzKSBiZSBub24temVybyBhbmQgdGhlIHJlZCBlbGVtZW50cyBiZSAwLgpUaHVzLCBncmlkIGlzIG5vdCBhbiBYLU1hdHJpeC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBncmlkLmxlbmd0aCA9PSBncmlkW2ldLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MyAmbHQ7PSBuICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBncmlkW2ldW2pdICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Matrix"
+ ]
+ },
+ {
+ "title": "2299. Strong Password Checker II",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgcGFzc3dvcmQgaXMgc2FpZCB0byBiZSA8c3Ryb25nPnN0cm9uZzwvc3Ryb25nPiBpZiBpdCBzYXRpc2ZpZXMgYWxsIHRoZSBmb2xsb3dpbmcgY3JpdGVyaWE6PC9wPgo8dWw+CjxsaT5JdCBoYXMgYXQgbGVhc3QgPGNvZGU+ODwvY29kZT4gY2hhcmFjdGVycy48L2xpPgo8bGk+SXQgY29udGFpbnMgYXQgbGVhc3QgPHN0cm9uZz5vbmUgbG93ZXJjYXNlPC9zdHJvbmc+IGxldHRlci48L2xpPgo8bGk+SXQgY29udGFpbnMgYXQgbGVhc3QgPHN0cm9uZz5vbmUgdXBwZXJjYXNlPC9zdHJvbmc+IGxldHRlci48L2xpPgo8bGk+SXQgY29udGFpbnMgYXQgbGVhc3QgPHN0cm9uZz5vbmUgZGlnaXQ8L3N0cm9uZz4uPC9saT4KPGxpPkl0IGNvbnRhaW5zIGF0IGxlYXN0IDxzdHJvbmc+b25lIHNwZWNpYWwgY2hhcmFjdGVyPC9zdHJvbmc+LiBUaGUgc3BlY2lhbCBjaGFyYWN0ZXJzIGFyZSB0aGUgY2hhcmFjdGVycyBpbiB0aGUgZm9sbG93aW5nIHN0cmluZzogPGNvZGU+IiFAIyQlXiZhbXA7KigpLSsiPC9jb2RlPi48L2xpPgo8bGk+SXQgZG9lcyA8c3Ryb25nPm5vdDwvc3Ryb25nPiBjb250YWluIDxjb2RlPjI8L2NvZGU+IG9mIHRoZSBzYW1lIGNoYXJhY3RlciBpbiBhZGphY2VudCBwb3NpdGlvbnMgKGkuZS4sIDxjb2RlPiJhYWIiPC9jb2RlPiB2aW9sYXRlcyB0aGlzIGNvbmRpdGlvbiwgYnV0IDxjb2RlPiJhYmEiPC9jb2RlPiBkb2VzIG5vdCkuPC9saT4KPC91bD4KPHA+R2l2ZW4gYSBzdHJpbmcgPGNvZGU+cGFzc3dvcmQ8L2NvZGU+LCByZXR1cm4gPGNvZGU+dHJ1ZTwvY29kZT48ZW0+IGlmIGl0IGlzIGEgPHN0cm9uZz5zdHJvbmc8L3N0cm9uZz4gcGFzc3dvcmQ8L2VtPi4gT3RoZXJ3aXNlLCByZXR1cm4gPGNvZGU+ZmFsc2U8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcGFzc3dvcmQgPSAiSWxvdmVMZTN0Y29kZSEiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiB0cnVlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBwYXNzd29yZCBtZWV0cyBhbGwgdGhlIHJlcXVpcmVtZW50cy4gVGhlcmVmb3JlLCB3ZSByZXR1cm4gdHJ1ZS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcGFzc3dvcmQgPSAiTWUrWW91LS1Jc015RHJlYW0iCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBmYWxzZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgcGFzc3dvcmQgZG9lcyBub3QgY29udGFpbiBhIGRpZ2l0IGFuZCBhbHNvIGNvbnRhaW5zIDIgb2YgdGhlIHNhbWUgY2hhcmFjdGVyIGluIGFkamFjZW50IHBvc2l0aW9ucy4gVGhlcmVmb3JlLCB3ZSByZXR1cm4gZmFsc2UuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHBhc3N3b3JkID0gIjFhQiEiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBmYWxzZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgcGFzc3dvcmQgZG9lcyBub3QgbWVldCB0aGUgbGVuZ3RoIHJlcXVpcmVtZW50LiBUaGVyZWZvcmUsIHdlIHJldHVybiBmYWxzZS48L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHBhc3N3b3JkLmxlbmd0aCAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnBhc3N3b3JkPC9jb2RlPiBjb25zaXN0cyBvZiBsZXR0ZXJzLCBkaWdpdHMsIGFuZCBzcGVjaWFsIGNoYXJhY3RlcnM6IDxjb2RlPiIhQCMkJV4mYW1wOyooKS0rIjwvY29kZT4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "String"
+ ]
+ },
+ {
+ "title": "2293. Min Max Game",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IHdob3NlIGxlbmd0aCBpcyBhIHBvd2VyIG9mIDxjb2RlPjI8L2NvZGU+LjwvcD4KPHA+QXBwbHkgdGhlIGZvbGxvd2luZyBhbGdvcml0aG0gb24gPGNvZGU+bnVtczwvY29kZT46PC9wPgo8b2w+CjxsaT5MZXQgPGNvZGU+bjwvY29kZT4gYmUgdGhlIGxlbmd0aCBvZiA8Y29kZT5udW1zPC9jb2RlPi4gSWYgPGNvZGU+biA9PSAxPC9jb2RlPiwgPHN0cm9uZz5lbmQ8L3N0cm9uZz4gdGhlIHByb2Nlc3MuIE90aGVyd2lzZSwgPHN0cm9uZz5jcmVhdGU8L3N0cm9uZz4gYSBuZXcgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT5uZXdOdW1zPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+biAvIDI8L2NvZGU+LjwvbGk+CjxsaT5Gb3IgZXZlcnkgPHN0cm9uZz5ldmVuPC9zdHJvbmc+IGluZGV4IDxjb2RlPmk8L2NvZGU+IHdoZXJlIDxjb2RlPjAgJmx0Oz0gaSAmbHQ7IG4gLyAyPC9jb2RlPiwgPHN0cm9uZz5hc3NpZ248L3N0cm9uZz4gdGhlIHZhbHVlIG9mIDxjb2RlPm5ld051bXNbaV08L2NvZGU+IGFzIDxjb2RlPm1pbihudW1zWzIgKiBpXSwgbnVtc1syICogaSArIDFdKTwvY29kZT4uPC9saT4KPGxpPkZvciBldmVyeSA8c3Ryb25nPm9kZDwvc3Ryb25nPiBpbmRleCA8Y29kZT5pPC9jb2RlPiB3aGVyZSA8Y29kZT4wICZsdDs9IGkgJmx0OyBuIC8gMjwvY29kZT4sIDxzdHJvbmc+YXNzaWduPC9zdHJvbmc+IHRoZSB2YWx1ZSBvZiA8Y29kZT5uZXdOdW1zW2ldPC9jb2RlPiBhcyA8Y29kZT5tYXgobnVtc1syICogaV0sIG51bXNbMiAqIGkgKyAxXSk8L2NvZGU+LjwvbGk+CjxsaT48c3Ryb25nPlJlcGxhY2U8L3N0cm9uZz4gdGhlIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IHdpdGggPGNvZGU+bmV3TnVtczwvY29kZT4uPC9saT4KPGxpPjxzdHJvbmc+UmVwZWF0PC9zdHJvbmc+IHRoZSBlbnRpcmUgcHJvY2VzcyBzdGFydGluZyBmcm9tIHN0ZXAgMS48L2xpPgo8L29sPgo8cD5SZXR1cm4gPGVtPnRoZSBsYXN0IG51bWJlciB0aGF0IHJlbWFpbnMgaW4gPC9lbT48Y29kZT5udW1zPC9jb2RlPjxlbT4gYWZ0ZXIgYXBwbHlpbmcgdGhlIGFsZ29yaXRobS48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wNC8xMy9leGFtcGxlMWRyYXdpby0xLnBuZyIgc3R5bGU9IndpZHRoOiA1MDBweDsgaGVpZ2h0OiAyNDBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMyw1LDIsNCw4LDIsMl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGZvbGxvd2luZyBhcnJheXMgYXJlIHRoZSByZXN1bHRzIG9mIGFwcGx5aW5nIHRoZSBhbGdvcml0aG0gcmVwZWF0ZWRseS4KRmlyc3Q6IG51bXMgPSBbMSw1LDQsMl0KU2Vjb25kOiBudW1zID0gWzEsNF0KVGhpcmQ6IG51bXMgPSBbMV0KMSBpcyB0aGUgbGFzdCByZW1haW5pbmcgbnVtYmVyLCBzbyB3ZSByZXR1cm4gMS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFszXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAzIGlzIGFscmVhZHkgdGhlIGxhc3QgcmVtYWluaW5nIG51bWJlciwgc28gd2UgcmV0dXJuIDMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTAyNDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5udW1zLmxlbmd0aDwvY29kZT4gaXMgYSBwb3dlciBvZiA8Y29kZT4yPC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2236. Root Equals Sum of Children",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdGhlIDxjb2RlPnJvb3Q8L2NvZGU+IG9mIGEgPHN0cm9uZz5iaW5hcnkgdHJlZTwvc3Ryb25nPiB0aGF0IGNvbnNpc3RzIG9mIGV4YWN0bHkgPGNvZGU+MzwvY29kZT4gbm9kZXM6IHRoZSByb290LCBpdHMgbGVmdCBjaGlsZCwgYW5kIGl0cyByaWdodCBjaGlsZC48L3A+CjxwPlJldHVybiA8Y29kZT50cnVlPC9jb2RlPiA8ZW0+aWYgdGhlIHZhbHVlIG9mIHRoZSByb290IGlzIGVxdWFsIHRvIHRoZSA8c3Ryb25nPnN1bTwvc3Ryb25nPiBvZiB0aGUgdmFsdWVzIG9mIGl0cyB0d28gY2hpbGRyZW4sIG9yIDwvZW0+PGNvZGU+ZmFsc2U8L2NvZGU+PGVtPiBvdGhlcndpc2U8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDQvMDgvZ3JhcGgzZHJhd2lvLnBuZyIgc3R5bGU9IndpZHRoOiAyODFweDsgaGVpZ2h0OiAxOTlweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiByb290ID0gWzEwLDQsNl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IHRydWUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHZhbHVlcyBvZiB0aGUgcm9vdCwgaXRzIGxlZnQgY2hpbGQsIGFuZCBpdHMgcmlnaHQgY2hpbGQgYXJlIDEwLCA0LCBhbmQgNiwgcmVzcGVjdGl2ZWx5LgoxMCBpcyBlcXVhbCB0byA0ICsgNiwgc28gd2UgcmV0dXJuIHRydWUuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDQvMDgvZ3JhcGgzZHJhd2lvLTEucG5nIiBzdHlsZT0id2lkdGg6IDI4MXB4OyBoZWlnaHQ6IDE5OXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHJvb3QgPSBbNSwzLDFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBmYWxzZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgdmFsdWVzIG9mIHRoZSByb290LCBpdHMgbGVmdCBjaGlsZCwgYW5kIGl0cyByaWdodCBjaGlsZCBhcmUgNSwgMywgYW5kIDEsIHJlc3BlY3RpdmVseS4KNSBpcyBub3QgZXF1YWwgdG8gMyArIDEsIHNvIHdlIHJldHVybiBmYWxzZS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+VGhlIHRyZWUgY29uc2lzdHMgb25seSBvZiB0aGUgcm9vdCwgaXRzIGxlZnQgY2hpbGQsIGFuZCBpdHMgcmlnaHQgY2hpbGQuPC9saT4KPGxpPjxjb2RlPi0xMDAgJmx0Oz0gTm9kZS52YWwgJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Tree",
+ "Binary Tree"
+ ]
+ },
+ {
+ "title": "2235. Add Two Integers",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PkdpdmVuIHR3byBpbnRlZ2VycyA8Y29kZT5udW0xPC9jb2RlPiBhbmQgPGNvZGU+bnVtMjwvY29kZT4sIHJldHVybiA8ZW0+dGhlIDxzdHJvbmc+c3VtPC9zdHJvbmc+IG9mIHRoZSB0d28gaW50ZWdlcnM8L2VtPi4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtMSA9IDEyLCBudW0yID0gNQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTcKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gbnVtMSBpcyAxMiwgbnVtMiBpcyA1LCBhbmQgdGhlaXIgc3VtIGlzIDEyICsgNSA9IDE3LCBzbyAxNyBpcyByZXR1cm5lZC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtMSA9IC0xMCwgbnVtMiA9IDQKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IC02CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IG51bTEgKyBudW0yID0gLTYsIHNvIC02IGlzIHJldHVybmVkLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4tMTAwICZsdDs9IG51bTEsIG51bTIgJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Math"
+ ]
+ },
+ {
+ "title": "2283. Check if Number Has Equal Digit Count and Digit Value",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBzdHJpbmcgPGNvZGU+bnVtPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4gY29uc2lzdGluZyBvZiBkaWdpdHMuPC9wPgo8cD5SZXR1cm4gPGNvZGU+dHJ1ZTwvY29kZT4gPGVtPmlmIGZvciA8c3Ryb25nPmV2ZXJ5PC9zdHJvbmc+IGluZGV4IDwvZW0+PGNvZGU+aTwvY29kZT48ZW0+IGluIHRoZSByYW5nZSA8L2VtPjxjb2RlPjAgJmx0Oz0gaSAmbHQ7IG48L2NvZGU+PGVtPiwgdGhlIGRpZ2l0IDwvZW0+PGNvZGU+aTwvY29kZT48ZW0+IG9jY3VycyA8L2VtPjxjb2RlPm51bVtpXTwvY29kZT48ZW0+IHRpbWVzIGluIDwvZW0+PGNvZGU+bnVtPC9jb2RlPjxlbT4sIG90aGVyd2lzZSByZXR1cm4gPC9lbT48Y29kZT5mYWxzZTwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW0gPSAiMTIxMCIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IHRydWUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KbnVtWzBdID0gJzEnLiBUaGUgZGlnaXQgMCBvY2N1cnMgb25jZSBpbiBudW0uCm51bVsxXSA9ICcyJy4gVGhlIGRpZ2l0IDEgb2NjdXJzIHR3aWNlIGluIG51bS4KbnVtWzJdID0gJzEnLiBUaGUgZGlnaXQgMiBvY2N1cnMgb25jZSBpbiBudW0uCm51bVszXSA9ICcwJy4gVGhlIGRpZ2l0IDMgb2NjdXJzIHplcm8gdGltZXMgaW4gbnVtLgpUaGUgY29uZGl0aW9uIGhvbGRzIHRydWUgZm9yIGV2ZXJ5IGluZGV4IGluICIxMjEwIiwgc28gcmV0dXJuIHRydWUuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bSA9ICIwMzAiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBmYWxzZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpudW1bMF0gPSAnMCcuIFRoZSBkaWdpdCAwIHNob3VsZCBvY2N1ciB6ZXJvIHRpbWVzLCBidXQgYWN0dWFsbHkgb2NjdXJzIHR3aWNlIGluIG51bS4KbnVtWzFdID0gJzMnLiBUaGUgZGlnaXQgMSBzaG91bGQgb2NjdXIgdGhyZWUgdGltZXMsIGJ1dCBhY3R1YWxseSBvY2N1cnMgemVybyB0aW1lcyBpbiBudW0uCm51bVsyXSA9ICcwJy4gVGhlIGRpZ2l0IDIgb2NjdXJzIHplcm8gdGltZXMgaW4gbnVtLgpUaGUgaW5kaWNlcyAwIGFuZCAxIGJvdGggdmlvbGF0ZSB0aGUgY29uZGl0aW9uLCBzbyByZXR1cm4gZmFsc2UuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gbnVtLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDEwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5udW08L2NvZGU+IGNvbnNpc3RzIG9mIGRpZ2l0cy48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Hash Table",
+ "String",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2287. Rearrange Characters to Make Target String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IHN0cmluZ3MgPGNvZGU+czwvY29kZT4gYW5kIDxjb2RlPnRhcmdldDwvY29kZT4uIFlvdSBjYW4gdGFrZSBzb21lIGxldHRlcnMgZnJvbSA8Y29kZT5zPC9jb2RlPiBhbmQgcmVhcnJhbmdlIHRoZW0gdG8gZm9ybSBuZXcgc3RyaW5ncy48L3A+CjxwPlJldHVybjxlbT4gdGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBudW1iZXIgb2YgY29waWVzIG9mIDwvZW0+PGNvZGU+dGFyZ2V0PC9jb2RlPjxlbT4gdGhhdCBjYW4gYmUgZm9ybWVkIGJ5IHRha2luZyBsZXR0ZXJzIGZyb20gPC9lbT48Y29kZT5zPC9jb2RlPjxlbT4gYW5kIHJlYXJyYW5naW5nIHRoZW0uPC9lbT48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiaWxvdmVjb2RpbmdvbmxlZXRjb2RlIiwgdGFyZ2V0ID0gImNvZGUiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+CkZvciB0aGUgZmlyc3QgY29weSBvZiAiY29kZSIsIHRha2UgdGhlIGxldHRlcnMgYXQgaW5kaWNlcyA0LCA1LCA2LCBhbmQgNy4KRm9yIHRoZSBzZWNvbmQgY29weSBvZiAiY29kZSIsIHRha2UgdGhlIGxldHRlcnMgYXQgaW5kaWNlcyAxNywgMTgsIDE5LCBhbmQgMjAuClRoZSBzdHJpbmdzIHRoYXQgYXJlIGZvcm1lZCBhcmUgImVjb2QiIGFuZCAiY29kZSIgd2hpY2ggY2FuIGJvdGggYmUgcmVhcnJhbmdlZCBpbnRvICJjb2RlIi4KV2UgY2FuIG1ha2UgYXQgbW9zdCB0d28gY29waWVzIG9mICJjb2RlIiwgc28gd2UgcmV0dXJuIDIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiYWJjYmEiLCB0YXJnZXQgPSAiYWJjIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpXZSBjYW4gbWFrZSBvbmUgY29weSBvZiAiYWJjIiBieSB0YWtpbmcgdGhlIGxldHRlcnMgYXQgaW5kaWNlcyAwLCAxLCBhbmQgMi4KV2UgY2FuIG1ha2UgYXQgbW9zdCBvbmUgY29weSBvZiAiYWJjIiwgc28gd2UgcmV0dXJuIDEuCk5vdGUgdGhhdCB3aGlsZSB0aGVyZSBpcyBhbiBleHRyYSAnYScgYW5kICdiJyBhdCBpbmRpY2VzIDMgYW5kIDQsIHdlIGNhbm5vdCByZXVzZSB0aGUgbGV0dGVyICdjJyBhdCBpbmRleCAyLCBzbyB3ZSBjYW5ub3QgbWFrZSBhIHNlY29uZCBjb3B5IG9mICJhYmMiLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImFiYmFjY2FkZGFlZWEiLCB0YXJnZXQgPSAiYWFhYWEiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+CldlIGNhbiBtYWtlIG9uZSBjb3B5IG9mICJhYWFhYSIgYnkgdGFraW5nIHRoZSBsZXR0ZXJzIGF0IGluZGljZXMgMCwgMywgNiwgOSwgYW5kIDEyLgpXZSBjYW4gbWFrZSBhdCBtb3N0IG9uZSBjb3B5IG9mICJhYWFhYSIsIHNvIHdlIHJldHVybiAxLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHMubGVuZ3RoICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSB0YXJnZXQubGVuZ3RoICZsdDs9IDEwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zPC9jb2RlPiBhbmQgPGNvZGU+dGFyZ2V0PC9jb2RlPiBjb25zaXN0IG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Hash Table",
+ "String",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2278. Percentage of Letter in String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgc3RyaW5nIDxjb2RlPnM8L2NvZGU+IGFuZCBhIGNoYXJhY3RlciA8Y29kZT5sZXR0ZXI8L2NvZGU+LCByZXR1cm48ZW0+IHRoZSA8c3Ryb25nPnBlcmNlbnRhZ2U8L3N0cm9uZz4gb2YgY2hhcmFjdGVycyBpbiA8L2VtPjxjb2RlPnM8L2NvZGU+PGVtPiB0aGF0IGVxdWFsIDwvZW0+PGNvZGU+bGV0dGVyPC9jb2RlPjxlbT4gPHN0cm9uZz5yb3VuZGVkIGRvd248L3N0cm9uZz4gdG8gdGhlIG5lYXJlc3Qgd2hvbGUgcGVyY2VudC48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJmb29iYXIiLCBsZXR0ZXIgPSAibyIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBwZXJjZW50YWdlIG9mIGNoYXJhY3RlcnMgaW4gcyB0aGF0IGVxdWFsIHRoZSBsZXR0ZXIgJ28nIGlzIDIgLyA2ICogMTAwJSA9IDMzJSB3aGVuIHJvdW5kZWQgZG93biwgc28gd2UgcmV0dXJuIDMzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImpqamoiLCBsZXR0ZXIgPSAiayIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIHBlcmNlbnRhZ2Ugb2YgY2hhcmFjdGVycyBpbiBzIHRoYXQgZXF1YWwgdGhlIGxldHRlciAnaycgaXMgMCUsIHNvIHdlIHJldHVybiAwLjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gcy5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zPC9jb2RlPiBjb25zaXN0cyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLjwvbGk+CjxsaT48Y29kZT5sZXR0ZXI8L2NvZGU+IGlzIGEgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVyLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "String"
+ ]
+ },
+ {
+ "title": "2243. Calculate Digit Sum of a String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4gY29uc2lzdGluZyBvZiBkaWdpdHMgYW5kIGFuIGludGVnZXIgPGNvZGU+azwvY29kZT4uPC9wPgo8cD5BIDxzdHJvbmc+cm91bmQ8L3N0cm9uZz4gY2FuIGJlIGNvbXBsZXRlZCBpZiB0aGUgbGVuZ3RoIG9mIDxjb2RlPnM8L2NvZGU+IGlzIGdyZWF0ZXIgdGhhbiA8Y29kZT5rPC9jb2RlPi4gSW4gb25lIHJvdW5kLCBkbyB0aGUgZm9sbG93aW5nOjwvcD4KPG9sPgo8bGk+PHN0cm9uZz5EaXZpZGU8L3N0cm9uZz4gPGNvZGU+czwvY29kZT4gaW50byA8c3Ryb25nPmNvbnNlY3V0aXZlIGdyb3Vwczwvc3Ryb25nPiBvZiBzaXplIDxjb2RlPms8L2NvZGU+IHN1Y2ggdGhhdCB0aGUgZmlyc3QgPGNvZGU+azwvY29kZT4gY2hhcmFjdGVycyBhcmUgaW4gdGhlIGZpcnN0IGdyb3VwLCB0aGUgbmV4dCA8Y29kZT5rPC9jb2RlPiBjaGFyYWN0ZXJzIGFyZSBpbiB0aGUgc2Vjb25kIGdyb3VwLCBhbmQgc28gb24uIDxzdHJvbmc+Tm90ZTwvc3Ryb25nPiB0aGF0IHRoZSBzaXplIG9mIHRoZSBsYXN0IGdyb3VwIGNhbiBiZSBzbWFsbGVyIHRoYW4gPGNvZGU+azwvY29kZT4uPC9saT4KPGxpPjxzdHJvbmc+UmVwbGFjZTwvc3Ryb25nPiBlYWNoIGdyb3VwIG9mIDxjb2RlPnM8L2NvZGU+IHdpdGggYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBzdW0gb2YgYWxsIGl0cyBkaWdpdHMuIEZvciBleGFtcGxlLCA8Y29kZT4iMzQ2IjwvY29kZT4gaXMgcmVwbGFjZWQgd2l0aCA8Y29kZT4iMTMiPC9jb2RlPiBiZWNhdXNlIDxjb2RlPjMgKyA0ICsgNiA9IDEzPC9jb2RlPi48L2xpPgo8bGk+PHN0cm9uZz5NZXJnZTwvc3Ryb25nPiBjb25zZWN1dGl2ZSBncm91cHMgdG9nZXRoZXIgdG8gZm9ybSBhIG5ldyBzdHJpbmcuIElmIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZyBpcyBncmVhdGVyIHRoYW4gPGNvZGU+azwvY29kZT4sIHJlcGVhdCBmcm9tIHN0ZXAgPGNvZGU+MTwvY29kZT4uPC9saT4KPC9vbD4KPHA+UmV0dXJuIDxjb2RlPnM8L2NvZGU+IDxlbT5hZnRlciBhbGwgcm91bmRzIGhhdmUgYmVlbiBjb21wbGV0ZWQ8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiMTExMTEyMjIyMjMiLCBrID0gMwo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gIjEzNSIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCi0gRm9yIHRoZSBmaXJzdCByb3VuZCwgd2UgZGl2aWRlIHMgaW50byBncm91cHMgb2Ygc2l6ZSAzOiAiMTExIiwgIjExMiIsICIyMjIiLCBhbmQgIjIzIi4KICDigIvigIvigIvigIvigItUaGVuIHdlIGNhbGN1bGF0ZSB0aGUgZGlnaXQgc3VtIG9mIGVhY2ggZ3JvdXA6IDEgKyAxICsgMSA9IDMsIDEgKyAxICsgMiA9IDQsIDIgKyAyICsgMiA9IDYsIGFuZCAyICsgMyA9IDUuIArCoCBTbywgcyBiZWNvbWVzICIzIiArICI0IiArICI2IiArICI1IiA9ICIzNDY1IiBhZnRlciB0aGUgZmlyc3Qgcm91bmQuCi0gRm9yIHRoZSBzZWNvbmQgcm91bmQsIHdlIGRpdmlkZSBzIGludG8gIjM0NiIgYW5kICI1Ii4KwqAgVGhlbiB3ZSBjYWxjdWxhdGUgdGhlIGRpZ2l0IHN1bSBvZiBlYWNoIGdyb3VwOiAzICsgNCArIDYgPSAxMywgNSA9IDUuIArCoCBTbywgcyBiZWNvbWVzICIxMyIgKyAiNSIgPSAiMTM1IiBhZnRlciBzZWNvbmQgcm91bmQuIApOb3csIHMubGVuZ3RoICZsdDs9IGssIHNvIHdlIHJldHVybiAiMTM1IiBhcyB0aGUgYW5zd2VyLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gIjAwMDAwMDAwIiwgayA9IDMKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICIwMDAiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApXZSBkaXZpZGUgcyBpbnRvICIwMDAiLCAiMDAwIiwgYW5kICIwMCIuClRoZW4gd2UgY2FsY3VsYXRlIHRoZSBkaWdpdCBzdW0gb2YgZWFjaCBncm91cDogMCArIDAgKyAwID0gMCwgMCArIDAgKyAwID0gMCwgYW5kIDAgKyAwID0gMC4gCnMgYmVjb21lcyAiMCIgKyAiMCIgKyAiMCIgPSAiMDAwIiwgd2hvc2UgbGVuZ3RoIGlzIGVxdWFsIHRvIGssIHNvIHdlIHJldHVybiAiMDAwIi4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBzLmxlbmd0aCAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjIgJmx0Oz0gayAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnM8L2NvZGU+IGNvbnNpc3RzIG9mIGRpZ2l0cyBvbmx5LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "String",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2239. Find Closest Number to Zero",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGludGVnZXIgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4gb2Ygc2l6ZSA8Y29kZT5uPC9jb2RlPiwgcmV0dXJuIDxlbT50aGUgbnVtYmVyIHdpdGggdGhlIHZhbHVlIDxzdHJvbmc+Y2xvc2VzdDwvc3Ryb25nPiB0byA8L2VtPjxjb2RlPjA8L2NvZGU+PGVtPiBpbiA8L2VtPjxjb2RlPm51bXM8L2NvZGU+LiBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgYW5zd2VycywgcmV0dXJuIDxlbT50aGUgbnVtYmVyIHdpdGggdGhlIDxzdHJvbmc+bGFyZ2VzdDwvc3Ryb25nPiB2YWx1ZTwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFstNCwtMiwxLDQsOF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIGRpc3RhbmNlIGZyb20gLTQgdG8gMCBpcyB8LTR8ID0gNC4KVGhlIGRpc3RhbmNlIGZyb20gLTIgdG8gMCBpcyB8LTJ8ID0gMi4KVGhlIGRpc3RhbmNlIGZyb20gMSB0byAwIGlzIHwxfCA9IDEuClRoZSBkaXN0YW5jZSBmcm9tIDQgdG8gMCBpcyB8NHwgPSA0LgpUaGUgZGlzdGFuY2UgZnJvbSA4IHRvIDAgaXMgfDh8ID0gOC4KVGh1cywgdGhlIGNsb3Nlc3QgbnVtYmVyIHRvIDAgaW4gdGhlIGFycmF5IGlzIDEuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMiwtMSwxXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAxIGFuZCAtMSBhcmUgYm90aCB0aGUgY2xvc2VzdCBudW1iZXJzIHRvIDAsIHNvIDEgYmVpbmcgbGFyZ2VyIGlzIHJldHVybmVkLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+LTEwPHN1cD41PC9zdXA+ICZsdDs9IG51bXNbaV0gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array"
+ ]
+ },
+ {
+ "title": "2264. Largest 3-Same-Digit Number in String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+bnVtPC9jb2RlPiByZXByZXNlbnRpbmcgYSBsYXJnZSBpbnRlZ2VyLiBBbiBpbnRlZ2VyIGlzIDxzdHJvbmc+Z29vZDwvc3Ryb25nPiBpZiBpdCBtZWV0cyB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6PC9wPgo8dWw+CjxsaT5JdCBpcyBhIDxzdHJvbmc+c3Vic3RyaW5nPC9zdHJvbmc+IG9mIDxjb2RlPm51bTwvY29kZT4gd2l0aCBsZW5ndGggPGNvZGU+MzwvY29kZT4uPC9saT4KPGxpPkl0IGNvbnNpc3RzIG9mIG9ubHkgb25lIHVuaXF1ZSBkaWdpdC48L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1heGltdW0gZ29vZCA8L3N0cm9uZz5pbnRlZ2VyIGFzIGEgPHN0cm9uZz5zdHJpbmc8L3N0cm9uZz4gb3IgYW4gZW1wdHkgc3RyaW5nIDwvZW0+PGNvZGU+IiI8L2NvZGU+PGVtPiBpZiBubyBzdWNoIGludGVnZXIgZXhpc3RzPC9lbT4uPC9wPgo8cD5Ob3RlOjwvcD4KPHVsPgo8bGk+QSA8c3Ryb25nPnN1YnN0cmluZzwvc3Ryb25nPiBpcyBhIGNvbnRpZ3VvdXMgc2VxdWVuY2Ugb2YgY2hhcmFjdGVycyB3aXRoaW4gYSBzdHJpbmcuPC9saT4KPGxpPlRoZXJlIG1heSBiZSA8c3Ryb25nPmxlYWRpbmcgemVyb2VzPC9zdHJvbmc+IGluIDxjb2RlPm51bTwvY29kZT4gb3IgYSBnb29kIGludGVnZXIuPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtID0gIjY8c3Ryb25nPjx1Pjc3NzwvdT48L3N0cm9uZz4xMzMzMzkiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiNzc3Igo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGVyZSBhcmUgdHdvIGRpc3RpbmN0IGdvb2QgaW50ZWdlcnM6ICI3NzciIGFuZCAiMzMzIi4KIjc3NyIgaXMgdGhlIGxhcmdlc3QsIHNvIHdlIHJldHVybiAiNzc3Ii4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtID0gIjIzPHN0cm9uZz48dT4wMDA8L3U+PC9zdHJvbmc+MTkiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiMDAwIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAiMDAwIiBpcyB0aGUgb25seSBnb29kIGludGVnZXIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bSA9ICI0MjM1MjMzOCIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICIiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IE5vIHN1YnN0cmluZyBvZiBsZW5ndGggMyBjb25zaXN0cyBvZiBvbmx5IG9uZSB1bmlxdWUgZGlnaXQuIFRoZXJlZm9yZSwgdGhlcmUgYXJlIG5vIGdvb2QgaW50ZWdlcnMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjMgJmx0Oz0gbnVtLmxlbmd0aCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5udW08L2NvZGU+IG9ubHkgY29uc2lzdHMgb2YgZGlnaXRzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "String"
+ ]
+ },
+ {
+ "title": "2224. Minimum Number of Operations to Convert Time",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIHN0cmluZ3MgPGNvZGU+Y3VycmVudDwvY29kZT4gYW5kIDxjb2RlPmNvcnJlY3Q8L2NvZGU+IHJlcHJlc2VudGluZyB0d28gPHN0cm9uZz4yNC1ob3VyIHRpbWVzPC9zdHJvbmc+LjwvcD4KPHA+MjQtaG91ciB0aW1lcyBhcmUgZm9ybWF0dGVkIGFzIDxjb2RlPiJISDpNTSI8L2NvZGU+LCB3aGVyZSA8Y29kZT5ISDwvY29kZT4gaXMgYmV0d2VlbiA8Y29kZT4wMDwvY29kZT4gYW5kIDxjb2RlPjIzPC9jb2RlPiwgYW5kIDxjb2RlPk1NPC9jb2RlPiBpcyBiZXR3ZWVuIDxjb2RlPjAwPC9jb2RlPiBhbmQgPGNvZGU+NTk8L2NvZGU+LiBUaGUgZWFybGllc3QgMjQtaG91ciB0aW1lIGlzIDxjb2RlPjAwOjAwPC9jb2RlPiwgYW5kIHRoZSBsYXRlc3QgaXMgPGNvZGU+MjM6NTk8L2NvZGU+LjwvcD4KPHA+SW4gb25lIG9wZXJhdGlvbiB5b3UgY2FuIGluY3JlYXNlIHRoZSB0aW1lIDxjb2RlPmN1cnJlbnQ8L2NvZGU+IGJ5IDxjb2RlPjE8L2NvZGU+LCA8Y29kZT41PC9jb2RlPiwgPGNvZGU+MTU8L2NvZGU+LCBvciA8Y29kZT42MDwvY29kZT4gbWludXRlcy4gWW91IGNhbiBwZXJmb3JtIHRoaXMgb3BlcmF0aW9uIDxzdHJvbmc+YW55PC9zdHJvbmc+IG51bWJlciBvZiB0aW1lcy48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWluaW11bSBudW1iZXIgb2Ygb3BlcmF0aW9uczwvc3Ryb25nPiBuZWVkZWQgdG8gY29udmVydCA8L2VtPjxjb2RlPmN1cnJlbnQ8L2NvZGU+PGVtPiB0byA8L2VtPjxjb2RlPmNvcnJlY3Q8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gY3VycmVudCA9ICIwMjozMCIsIGNvcnJlY3QgPSAiMDQ6MzUiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246Cjwvc3Ryb25nPldlIGNhbiBjb252ZXJ0IGN1cnJlbnQgdG8gY29ycmVjdCBpbiAzIG9wZXJhdGlvbnMgYXMgZm9sbG93czoKLSBBZGQgNjAgbWludXRlcyB0byBjdXJyZW50LiBjdXJyZW50IGJlY29tZXMgIjAzOjMwIi4KLSBBZGQgNjAgbWludXRlcyB0byBjdXJyZW50LiBjdXJyZW50IGJlY29tZXMgIjA0OjMwIi4KLSBBZGQgNSBtaW51dGVzIHRvIGN1cnJlbnQuIGN1cnJlbnQgYmVjb21lcyAiMDQ6MzUiLgpJdCBjYW4gYmUgcHJvdmVuIHRoYXQgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGNvbnZlcnQgY3VycmVudCB0byBjb3JyZWN0IGluIGZld2VyIHRoYW4gMyBvcGVyYXRpb25zLjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGN1cnJlbnQgPSAiMTE6MDAiLCBjb3JyZWN0ID0gIjExOjAxIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSBvbmx5IGhhdmUgdG8gYWRkIG9uZSBtaW51dGUgdG8gY3VycmVudCwgc28gdGhlIG1pbmltdW0gbnVtYmVyIG9mIG9wZXJhdGlvbnMgbmVlZGVkIGlzIDEuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPmN1cnJlbnQ8L2NvZGU+IGFuZCA8Y29kZT5jb3JyZWN0PC9jb2RlPiBhcmUgaW4gdGhlIGZvcm1hdCA8Y29kZT4iSEg6TU0iPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5jdXJyZW50ICZsdDs9IGNvcnJlY3Q8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "String",
+ "Greedy"
+ ]
+ },
+ {
+ "title": "2255. Count Prefixes of a Given String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgYXJyYXkgPGNvZGU+d29yZHM8L2NvZGU+IGFuZCBhIHN0cmluZyA8Y29kZT5zPC9jb2RlPiwgd2hlcmUgPGNvZGU+d29yZHNbaV08L2NvZGU+IGFuZCA8Y29kZT5zPC9jb2RlPiBjb21wcmlzZSBvbmx5IG9mIDxzdHJvbmc+bG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVyczwvc3Ryb25nPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bnVtYmVyIG9mIHN0cmluZ3M8L3N0cm9uZz4gaW48L2VtPiA8Y29kZT53b3JkczwvY29kZT4gPGVtPnRoYXQgYXJlIGEgPHN0cm9uZz5wcmVmaXg8L3N0cm9uZz4gb2Y8L2VtPiA8Y29kZT5zPC9jb2RlPi48L3A+CjxwPkEgPHN0cm9uZz5wcmVmaXg8L3N0cm9uZz4gb2YgYSBzdHJpbmcgaXMgYSBzdWJzdHJpbmcgdGhhdCBvY2N1cnMgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgc3RyaW5nLiBBIDxiPnN1YnN0cmluZzwvYj4gaXMgYSBjb250aWd1b3VzIHNlcXVlbmNlIG9mIGNoYXJhY3RlcnMgd2l0aGluIGEgc3RyaW5nLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZHMgPSBbImEiLCJiIiwiYyIsImFiIiwiYmMiLCJhYmMiXSwgcyA9ICJhYmMiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBzdHJpbmdzIGluIHdvcmRzIHdoaWNoIGFyZSBhIHByZWZpeCBvZiBzID0gImFiYyIgYXJlOgoiYSIsICJhYiIsIGFuZCAiYWJjIi4KVGh1cyB0aGUgbnVtYmVyIG9mIHN0cmluZ3MgaW4gd29yZHMgd2hpY2ggYXJlIGEgcHJlZml4IG9mIHMgaXMgMy48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB3b3JkcyA9IFsiYSIsImEiXSwgcyA9ICJhYSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjoKPC9zdHJvbmc+Qm90aCBvZiB0aGUgc3RyaW5ncyBhcmUgYSBwcmVmaXggb2Ygcy4gCk5vdGUgdGhhdCB0aGUgc2FtZSBzdHJpbmcgY2FuIG9jY3VyIG11bHRpcGxlIHRpbWVzIGluIHdvcmRzLCBhbmQgaXQgc2hvdWxkIGJlIGNvdW50ZWQgZWFjaCB0aW1lLjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gd29yZHMubGVuZ3RoICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gd29yZHNbaV0ubGVuZ3RoLCBzLmxlbmd0aCAmbHQ7PSAxMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+d29yZHNbaV08L2NvZGU+IGFuZCA8Y29kZT5zPC9jb2RlPiBjb25zaXN0IG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMgPHN0cm9uZz5vbmx5PC9zdHJvbmc+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "String"
+ ]
+ },
+ {
+ "title": "2259. Remove Digit From Number to Maximize Result",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+bnVtYmVyPC9jb2RlPiByZXByZXNlbnRpbmcgYSA8c3Ryb25nPnBvc2l0aXZlIGludGVnZXI8L3N0cm9uZz4gYW5kIGEgY2hhcmFjdGVyIDxjb2RlPmRpZ2l0PC9jb2RlPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIHJlc3VsdGluZyBzdHJpbmcgYWZ0ZXIgcmVtb3ZpbmcgPHN0cm9uZz5leGFjdGx5IG9uZSBvY2N1cnJlbmNlPC9zdHJvbmc+IG9mIDwvZW0+PGNvZGU+ZGlnaXQ8L2NvZGU+PGVtPiBmcm9tIDwvZW0+PGNvZGU+bnVtYmVyPC9jb2RlPjxlbT4gc3VjaCB0aGF0IHRoZSB2YWx1ZSBvZiB0aGUgcmVzdWx0aW5nIHN0cmluZyBpbiA8c3Ryb25nPmRlY2ltYWw8L3N0cm9uZz4gZm9ybSBpcyA8c3Ryb25nPm1heGltaXplZDwvc3Ryb25nPjwvZW0+LiBUaGUgdGVzdCBjYXNlcyBhcmUgZ2VuZXJhdGVkIHN1Y2ggdGhhdCA8Y29kZT5kaWdpdDwvY29kZT4gb2NjdXJzIGF0IGxlYXN0IG9uY2UgaW4gPGNvZGU+bnVtYmVyPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bWJlciA9ICIxMjMiLCBkaWdpdCA9ICIzIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gIjEyIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGVyZSBpcyBvbmx5IG9uZSAnMycgaW4gIjEyMyIuIEFmdGVyIHJlbW92aW5nICczJywgdGhlIHJlc3VsdCBpcyAiMTIiLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1iZXIgPSAiMTIzMSIsIGRpZ2l0ID0gIjEiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiMjMxIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSBjYW4gcmVtb3ZlIHRoZSBmaXJzdCAnMScgdG8gZ2V0ICIyMzEiIG9yIHJlbW92ZSB0aGUgc2Vjb25kICcxJyB0byBnZXQgIjEyMyIuClNpbmNlIDIzMSAmZ3Q7IDEyMywgd2UgcmV0dXJuICIyMzEiLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1iZXIgPSAiNTUxIiwgZGlnaXQgPSAiNSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICI1MSIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gV2UgY2FuIHJlbW92ZSBlaXRoZXIgdGhlIGZpcnN0IG9yIHNlY29uZCAnNScgZnJvbSAiNTUxIi4KQm90aCByZXN1bHQgaW4gdGhlIHN0cmluZyAiNTEiLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4yICZsdDs9IG51bWJlci5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5udW1iZXI8L2NvZGU+IGNvbnNpc3RzIG9mIGRpZ2l0cyBmcm9tIDxjb2RlPicxJzwvY29kZT4gdG8gPGNvZGU+JzknPC9jb2RlPi48L2xpPgo8bGk+PGNvZGU+ZGlnaXQ8L2NvZGU+IGlzIGEgZGlnaXQgZnJvbSA8Y29kZT4nMSc8L2NvZGU+IHRvIDxjb2RlPic5JzwvY29kZT4uPC9saT4KPGxpPjxjb2RlPmRpZ2l0PC9jb2RlPiBvY2N1cnMgYXQgbGVhc3Qgb25jZSBpbiA8Y29kZT5udW1iZXI8L2NvZGU+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "String",
+ "Greedy",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2248. Intersection of Multiple Arrays",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PkdpdmVuIGEgMkQgaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiB3aGVyZSA8Y29kZT5udW1zW2ldPC9jb2RlPiBpcyBhIG5vbi1lbXB0eSBhcnJheSBvZiA8c3Ryb25nPmRpc3RpbmN0PC9zdHJvbmc+IHBvc2l0aXZlIGludGVnZXJzLCByZXR1cm4gPGVtPnRoZSBsaXN0IG9mIGludGVnZXJzIHRoYXQgYXJlIHByZXNlbnQgaW4gPHN0cm9uZz5lYWNoIGFycmF5PC9zdHJvbmc+IG9mPC9lbT4gPGNvZGU+bnVtczwvY29kZT48ZW0+IHNvcnRlZCBpbiA8c3Ryb25nPmFzY2VuZGluZyBvcmRlcjwvc3Ryb25nPjwvZW0+Lgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gW1s8dT48c3Ryb25nPjM8L3N0cm9uZz48L3U+LDEsMiw8dT48c3Ryb25nPjQ8L3N0cm9uZz48L3U+LDVdLFsxLDIsPHU+PHN0cm9uZz4zPC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjQ8L3N0cm9uZz48L3U+XSxbPHU+PHN0cm9uZz4zPC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjQ8L3N0cm9uZz48L3U+LDUsNl1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMyw0XQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKVGhlIG9ubHkgaW50ZWdlcnMgcHJlc2VudCBpbiBlYWNoIG9mIG51bXNbMF0gPSBbPHU+PHN0cm9uZz4zPC9zdHJvbmc+PC91PiwxLDIsPHU+PHN0cm9uZz40PC9zdHJvbmc+PC91Piw1XSwgbnVtc1sxXSA9IFsxLDIsPHU+PHN0cm9uZz4zPC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjQ8L3N0cm9uZz48L3U+XSwgYW5kIG51bXNbMl0gPSBbPHU+PHN0cm9uZz4zPC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjQ8L3N0cm9uZz48L3U+LDUsNl0gYXJlIDMgYW5kIDQsIHNvIHdlIHJldHVybiBbMyw0XS48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gW1sxLDIsM10sWzQsNSw2XV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFtdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApUaGVyZSBkb2VzIG5vdCBleGlzdCBhbnkgaW50ZWdlciBwcmVzZW50IGJvdGggaW4gbnVtc1swXSBhbmQgbnVtc1sxXSwgc28gd2UgcmV0dXJuIGFuIGVtcHR5IGxpc3QgW10uCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBzdW0obnVtc1tpXS5sZW5ndGgpICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXVtqXSAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT5BbGwgdGhlIHZhbHVlcyBvZiA8Y29kZT5udW1zW2ldPC9jb2RlPiBhcmUgPHN0cm9uZz51bmlxdWU8L3N0cm9uZz4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2231. Largest Number After Digit Swaps by Parity",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBwb3NpdGl2ZSBpbnRlZ2VyIDxjb2RlPm51bTwvY29kZT4uIFlvdSBtYXkgc3dhcCBhbnkgdHdvIGRpZ2l0cyBvZiA8Y29kZT5udW08L2NvZGU+IHRoYXQgaGF2ZSB0aGUgc2FtZSA8c3Ryb25nPnBhcml0eTwvc3Ryb25nPiAoaS5lLiBib3RoIG9kZCBkaWdpdHMgb3IgYm90aCBldmVuIGRpZ2l0cykuPC9wPgo8cD5SZXR1cm48ZW0+IHRoZSA8c3Ryb25nPmxhcmdlc3Q8L3N0cm9uZz4gcG9zc2libGUgdmFsdWUgb2YgPC9lbT48Y29kZT5udW08L2NvZGU+PGVtPiBhZnRlciA8c3Ryb25nPmFueTwvc3Ryb25nPiBudW1iZXIgb2Ygc3dhcHMuPC9lbT48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bSA9IDEyMzQKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDM0MTIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gU3dhcCB0aGUgZGlnaXQgMyB3aXRoIHRoZSBkaWdpdCAxLCB0aGlzIHJlc3VsdHMgaW4gdGhlIG51bWJlciAzMjE0LgpTd2FwIHRoZSBkaWdpdCAyIHdpdGggdGhlIGRpZ2l0IDQsIHRoaXMgcmVzdWx0cyBpbiB0aGUgbnVtYmVyIDM0MTIuCk5vdGUgdGhhdCB0aGVyZSBtYXkgYmUgb3RoZXIgc2VxdWVuY2VzIG9mIHN3YXBzIGJ1dCBpdCBjYW4gYmUgc2hvd24gdGhhdCAzNDEyIGlzIHRoZSBsYXJnZXN0IHBvc3NpYmxlIG51bWJlci4KQWxzbyBub3RlIHRoYXQgd2UgbWF5IG5vdCBzd2FwIHRoZSBkaWdpdCA0IHdpdGggdGhlIGRpZ2l0IDEgc2luY2UgdGhleSBhcmUgb2YgZGlmZmVyZW50IHBhcml0aWVzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW0gPSA2NTg3NQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gODc2NTUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gU3dhcCB0aGUgZGlnaXQgOCB3aXRoIHRoZSBkaWdpdCA2LCB0aGlzIHJlc3VsdHMgaW4gdGhlIG51bWJlciA4NTY3NS4KU3dhcCB0aGUgZmlyc3QgZGlnaXQgNSB3aXRoIHRoZSBkaWdpdCA3LCB0aGlzIHJlc3VsdHMgaW4gdGhlIG51bWJlciA4NzY1NS4KTm90ZSB0aGF0IHRoZXJlIG1heSBiZSBvdGhlciBzZXF1ZW5jZXMgb2Ygc3dhcHMgYnV0IGl0IGNhbiBiZSBzaG93biB0aGF0IDg3NjU1IGlzIHRoZSBsYXJnZXN0IHBvc3NpYmxlIG51bWJlci4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW0gJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Sorting",
+ "Heap (Priority Queue)"
+ ]
+ },
+ {
+ "title": "2220. Minimum Bit Flips to Convert Number",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgPHN0cm9uZz5iaXQgZmxpcDwvc3Ryb25nPiBvZiBhIG51bWJlciA8Y29kZT54PC9jb2RlPiBpcyBjaG9vc2luZyBhIGJpdCBpbiB0aGUgYmluYXJ5IHJlcHJlc2VudGF0aW9uIG9mIDxjb2RlPng8L2NvZGU+IGFuZCA8c3Ryb25nPmZsaXBwaW5nPC9zdHJvbmc+IGl0IGZyb20gZWl0aGVyIDxjb2RlPjA8L2NvZGU+IHRvIDxjb2RlPjE8L2NvZGU+IG9yIDxjb2RlPjE8L2NvZGU+IHRvIDxjb2RlPjA8L2NvZGU+LjwvcD4KPHVsPgo8bGk+Rm9yIGV4YW1wbGUsIGZvciA8Y29kZT54ID0gNzwvY29kZT4sIHRoZSBiaW5hcnkgcmVwcmVzZW50YXRpb24gaXMgPGNvZGU+MTExPC9jb2RlPiBhbmQgd2UgbWF5IGNob29zZSBhbnkgYml0IChpbmNsdWRpbmcgYW55IGxlYWRpbmcgemVyb3Mgbm90IHNob3duKSBhbmQgZmxpcCBpdC4gV2UgY2FuIGZsaXAgdGhlIGZpcnN0IGJpdCBmcm9tIHRoZSByaWdodCB0byBnZXQgPGNvZGU+MTEwPC9jb2RlPiwgZmxpcCB0aGUgc2Vjb25kIGJpdCBmcm9tIHRoZSByaWdodCB0byBnZXQgPGNvZGU+MTAxPC9jb2RlPiwgZmxpcCB0aGUgZmlmdGggYml0IGZyb20gdGhlIHJpZ2h0IChhIGxlYWRpbmcgemVybykgdG8gZ2V0IDxjb2RlPjEwMTExPC9jb2RlPiwgZXRjLjwvbGk+CjwvdWw+CjxwPkdpdmVuIHR3byBpbnRlZ2VycyA8Y29kZT5zdGFydDwvY29kZT4gYW5kIDxjb2RlPmdvYWw8L2NvZGU+LCByZXR1cm48ZW0+IHRoZSA8c3Ryb25nPm1pbmltdW08L3N0cm9uZz4gbnVtYmVyIG9mIDxzdHJvbmc+Yml0IGZsaXBzPC9zdHJvbmc+IHRvIGNvbnZlcnQgPC9lbT48Y29kZT5zdGFydDwvY29kZT48ZW0+IHRvIDwvZW0+PGNvZGU+Z29hbDwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzdGFydCA9IDEwLCBnb2FsID0gNwo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgYmluYXJ5IHJlcHJlc2VudGF0aW9uIG9mIDEwIGFuZCA3IGFyZSAxMDEwIGFuZCAwMTExIHJlc3BlY3RpdmVseS4gV2UgY2FuIGNvbnZlcnQgMTAgdG8gNyBpbiAzIHN0ZXBzOgotIEZsaXAgdGhlIGZpcnN0IGJpdCBmcm9tIHRoZSByaWdodDogMTAxPHU+MDwvdT4gLSZndDsgMTAxPHU+MTwvdT4uCi0gRmxpcCB0aGUgdGhpcmQgYml0IGZyb20gdGhlIHJpZ2h0OiAxPHU+MDwvdT4xMSAtJmd0OyAxPHU+MTwvdT4xMS4KLSBGbGlwIHRoZSBmb3VydGggYml0IGZyb20gdGhlIHJpZ2h0OiA8dT4xPC91PjExMSAtJmd0OyA8dT4wPC91PjExMS4KSXQgY2FuIGJlIHNob3duIHdlIGNhbm5vdCBjb252ZXJ0IDEwIHRvIDcgaW4gbGVzcyB0aGFuIDMgc3RlcHMuIEhlbmNlLCB3ZSByZXR1cm4gMy48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzdGFydCA9IDMsIGdvYWwgPSA0CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBiaW5hcnkgcmVwcmVzZW50YXRpb24gb2YgMyBhbmQgNCBhcmUgMDExIGFuZCAxMDAgcmVzcGVjdGl2ZWx5LiBXZSBjYW4gY29udmVydCAzIHRvIDQgaW4gMyBzdGVwczoKLSBGbGlwIHRoZSBmaXJzdCBiaXQgZnJvbSB0aGUgcmlnaHQ6IDAxPHU+MTwvdT4gLSZndDsgMDE8dT4wPC91Pi4KLSBGbGlwIHRoZSBzZWNvbmQgYml0IGZyb20gdGhlIHJpZ2h0OiAwPHU+MTwvdT4wIC0mZ3Q7IDA8dT4wPC91PjAuCi0gRmxpcCB0aGUgdGhpcmQgYml0IGZyb20gdGhlIHJpZ2h0OiA8dT4wPC91PjAwIC0mZ3Q7IDx1PjE8L3U+MDAuCkl0IGNhbiBiZSBzaG93biB3ZSBjYW5ub3QgY29udmVydCAzIHRvIDQgaW4gbGVzcyB0aGFuIDMgc3RlcHMuIEhlbmNlLCB3ZSByZXR1cm4gMy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MCAmbHQ7PSBzdGFydCwgZ29hbCAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Bit Manipulation"
+ ]
+ },
+ {
+ "title": "2200. Find All K-Distant Indices in an Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IGFuZCB0d28gaW50ZWdlcnMgPGNvZGU+a2V5PC9jb2RlPiBhbmQgPGNvZGU+azwvY29kZT4uIEEgPHN0cm9uZz5rLWRpc3RhbnQgaW5kZXg8L3N0cm9uZz4gaXMgYW4gaW5kZXggPGNvZGU+aTwvY29kZT4gb2YgPGNvZGU+bnVtczwvY29kZT4gZm9yIHdoaWNoIHRoZXJlIGV4aXN0cyBhdCBsZWFzdCBvbmUgaW5kZXggPGNvZGU+ajwvY29kZT4gc3VjaCB0aGF0IDxjb2RlPnxpIC0ganwgJmx0Oz0gazwvY29kZT4gYW5kIDxjb2RlPm51bXNbal0gPT0ga2V5PC9jb2RlPi48L3A+CjxwPlJldHVybiA8ZW0+YSBsaXN0IG9mIGFsbCBrLWRpc3RhbnQgaW5kaWNlcyBzb3J0ZWQgaW4gPHN0cm9uZz5pbmNyZWFzaW5nIG9yZGVyPC9zdHJvbmc+PC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzMsNCw5LDEsMyw5LDVdLCBrZXkgPSA5LCBrID0gMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzEsMiwzLDQsNSw2XQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBIZXJlLCA8Y29kZT5udW1zWzJdID09IGtleTwvY29kZT4gYW5kIDxjb2RlPm51bXNbNV0gPT0ga2V5LgotIEZvciBpbmRleCAwLCB8MCAtIDJ8ICZndDsgayBhbmQgfDAgLSA1fCAmZ3Q7IGssIHNvIHRoZXJlIGlzIG5vIGo8L2NvZGU+IHdoZXJlIDxjb2RlPnwwIC0ganwgJmx0Oz0gazwvY29kZT4gYW5kIDxjb2RlPm51bXNbal0gPT0ga2V5LiBUaHVzLCAwIGlzIG5vdCBhIGstZGlzdGFudCBpbmRleC4KLSBGb3IgaW5kZXggMSwgfDEgLSAyfCAmbHQ7PSBrIGFuZCBudW1zWzJdID09IGtleSwgc28gMSBpcyBhIGstZGlzdGFudCBpbmRleC4KLSBGb3IgaW5kZXggMiwgfDIgLSAyfCAmbHQ7PSBrIGFuZCBudW1zWzJdID09IGtleSwgc28gMiBpcyBhIGstZGlzdGFudCBpbmRleC4KLSBGb3IgaW5kZXggMywgfDMgLSAyfCAmbHQ7PSBrIGFuZCBudW1zWzJdID09IGtleSwgc28gMyBpcyBhIGstZGlzdGFudCBpbmRleC4KLSBGb3IgaW5kZXggNCwgfDQgLSA1fCAmbHQ7PSBrIGFuZCBudW1zWzVdID09IGtleSwgc28gNCBpcyBhIGstZGlzdGFudCBpbmRleC4KLSBGb3IgaW5kZXggNSwgfDUgLSA1fCAmbHQ7PSBrIGFuZCBudW1zWzVdID09IGtleSwgc28gNSBpcyBhIGstZGlzdGFudCBpbmRleC4KLSBGb3IgaW5kZXggNiwgfDYgLSA1fCAmbHQ7PSBrIGFuZCBudW1zWzVdID09IGtleSwgc28gNiBpcyBhIGstZGlzdGFudCBpbmRleC4KPC9jb2RlPlRodXMsIHdlIHJldHVybiBbMSwyLDMsNCw1LDZdIHdoaWNoIGlzIHNvcnRlZCBpbiBpbmNyZWFzaW5nIG9yZGVyLiAKPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsyLDIsMiwyLDJdLCBrZXkgPSAyLCBrID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzAsMSwyLDMsNF0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gRm9yIGFsbCBpbmRpY2VzIGkgaW4gbnVtcywgdGhlcmUgZXhpc3RzIHNvbWUgaW5kZXggaiBzdWNoIHRoYXQgfGkgLSBqfCAmbHQ7PSBrIGFuZCBudW1zW2pdID09IGtleSwgc28gZXZlcnkgaW5kZXggaXMgYSBrLWRpc3RhbnQgaW5kZXguIApIZW5jZSwgd2UgcmV0dXJuIFswLDEsMiwzLDRdLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5rZXk8L2NvZGU+IGlzIGFuIGludGVnZXIgZnJvbSB0aGUgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4uPC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gayAmbHQ7PSBudW1zLmxlbmd0aDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array"
+ ]
+ },
+ {
+ "title": "2210. Count Hills and Valleys in an Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+LiBBbiBpbmRleCA8Y29kZT5pPC9jb2RlPiBpcyBwYXJ0IG9mIGEgPHN0cm9uZz5oaWxsPC9zdHJvbmc+IGluIDxjb2RlPm51bXM8L2NvZGU+IGlmIHRoZSBjbG9zZXN0IG5vbi1lcXVhbCBuZWlnaGJvcnMgb2YgPGNvZGU+aTwvY29kZT4gYXJlIHNtYWxsZXIgdGhhbiA8Y29kZT5udW1zW2ldPC9jb2RlPi4gU2ltaWxhcmx5LCBhbiBpbmRleCA8Y29kZT5pPC9jb2RlPiBpcyBwYXJ0IG9mIGEgPHN0cm9uZz52YWxsZXk8L3N0cm9uZz4gaW4gPGNvZGU+bnVtczwvY29kZT4gaWYgdGhlIGNsb3Nlc3Qgbm9uLWVxdWFsIG5laWdoYm9ycyBvZiA8Y29kZT5pPC9jb2RlPiBhcmUgbGFyZ2VyIHRoYW4gPGNvZGU+bnVtc1tpXTwvY29kZT4uIEFkamFjZW50IGluZGljZXMgPGNvZGU+aTwvY29kZT4gYW5kIDxjb2RlPmo8L2NvZGU+IGFyZSBwYXJ0IG9mIHRoZSA8c3Ryb25nPnNhbWU8L3N0cm9uZz4gaGlsbCBvciB2YWxsZXkgaWYgPGNvZGU+bnVtc1tpXSA9PSBudW1zW2pdPC9jb2RlPi48L3A+CjxwPk5vdGUgdGhhdCBmb3IgYW4gaW5kZXggdG8gYmUgcGFydCBvZiBhIGhpbGwgb3IgdmFsbGV5LCBpdCBtdXN0IGhhdmUgYSBub24tZXF1YWwgbmVpZ2hib3Igb24gPHN0cm9uZz5ib3RoPC9zdHJvbmc+IHRoZSBsZWZ0IGFuZCByaWdodCBvZiB0aGUgaW5kZXguPC9wPgo8cD5SZXR1cm4gPGk+dGhlIG51bWJlciBvZiBoaWxscyBhbmQgdmFsbGV5cyBpbiA8L2k+PGNvZGU+bnVtczwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzIsNCwxLDEsNiw1XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpBdCBpbmRleCAwOiBUaGVyZSBpcyBubyBub24tZXF1YWwgbmVpZ2hib3Igb2YgMiBvbiB0aGUgbGVmdCwgc28gaW5kZXggMCBpcyBuZWl0aGVyIGEgaGlsbCBub3IgYSB2YWxsZXkuCkF0IGluZGV4IDE6IFRoZSBjbG9zZXN0IG5vbi1lcXVhbCBuZWlnaGJvcnMgb2YgNCBhcmUgMiBhbmQgMS4gU2luY2UgNCAmZ3Q7IDIgYW5kIDQgJmd0OyAxLCBpbmRleCAxIGlzIGEgaGlsbC4gCkF0IGluZGV4IDI6IFRoZSBjbG9zZXN0IG5vbi1lcXVhbCBuZWlnaGJvcnMgb2YgMSBhcmUgNCBhbmQgNi4gU2luY2UgMSAmbHQ7IDQgYW5kIDEgJmx0OyA2LCBpbmRleCAyIGlzIGEgdmFsbGV5LgpBdCBpbmRleCAzOiBUaGUgY2xvc2VzdCBub24tZXF1YWwgbmVpZ2hib3JzIG9mIDEgYXJlIDQgYW5kIDYuIFNpbmNlIDEgJmx0OyA0IGFuZCAxICZsdDsgNiwgaW5kZXggMyBpcyBhIHZhbGxleSwgYnV0IG5vdGUgdGhhdCBpdCBpcyBwYXJ0IG9mIHRoZSBzYW1lIHZhbGxleSBhcyBpbmRleCAyLgpBdCBpbmRleCA0OiBUaGUgY2xvc2VzdCBub24tZXF1YWwgbmVpZ2hib3JzIG9mIDYgYXJlIDEgYW5kIDUuIFNpbmNlIDYgJmd0OyAxIGFuZCA2ICZndDsgNSwgaW5kZXggNCBpcyBhIGhpbGwuCkF0IGluZGV4IDU6IFRoZXJlIGlzIG5vIG5vbi1lcXVhbCBuZWlnaGJvciBvZiA1IG9uIHRoZSByaWdodCwgc28gaW5kZXggNSBpcyBuZWl0aGVyIGEgaGlsbCBub3IgYSB2YWxsZXkuIApUaGVyZSBhcmUgMyBoaWxscyBhbmQgdmFsbGV5cyBzbyB3ZSByZXR1cm4gMy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs2LDYsNSw1LDQsMV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KQXQgaW5kZXggMDogVGhlcmUgaXMgbm8gbm9uLWVxdWFsIG5laWdoYm9yIG9mIDYgb24gdGhlIGxlZnQsIHNvIGluZGV4IDAgaXMgbmVpdGhlciBhIGhpbGwgbm9yIGEgdmFsbGV5LgpBdCBpbmRleCAxOiBUaGVyZSBpcyBubyBub24tZXF1YWwgbmVpZ2hib3Igb2YgNiBvbiB0aGUgbGVmdCwgc28gaW5kZXggMSBpcyBuZWl0aGVyIGEgaGlsbCBub3IgYSB2YWxsZXkuCkF0IGluZGV4IDI6IFRoZSBjbG9zZXN0IG5vbi1lcXVhbCBuZWlnaGJvcnMgb2YgNSBhcmUgNiBhbmQgNC4gU2luY2UgNSAmbHQ7IDYgYW5kIDUgJmd0OyA0LCBpbmRleCAyIGlzIG5laXRoZXIgYSBoaWxsIG5vciBhIHZhbGxleS4KQXQgaW5kZXggMzogVGhlIGNsb3Nlc3Qgbm9uLWVxdWFsIG5laWdoYm9ycyBvZiA1IGFyZSA2IGFuZCA0LiBTaW5jZSA1ICZsdDsgNiBhbmQgNSAmZ3Q7IDQsIGluZGV4IDMgaXMgbmVpdGhlciBhIGhpbGwgbm9yIGEgdmFsbGV5LgpBdCBpbmRleCA0OiBUaGUgY2xvc2VzdCBub24tZXF1YWwgbmVpZ2hib3JzIG9mIDQgYXJlIDUgYW5kIDEuIFNpbmNlIDQgJmx0OyA1IGFuZCA0ICZndDsgMSwgaW5kZXggNCBpcyBuZWl0aGVyIGEgaGlsbCBub3IgYSB2YWxsZXkuCkF0IGluZGV4IDU6IFRoZXJlIGlzIG5vIG5vbi1lcXVhbCBuZWlnaGJvciBvZiAxIG9uIHRoZSByaWdodCwgc28gaW5kZXggNSBpcyBuZWl0aGVyIGEgaGlsbCBub3IgYSB2YWxsZXkuClRoZXJlIGFyZSAwIGhpbGxzIGFuZCB2YWxsZXlzIHNvIHdlIHJldHVybiAwLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4zICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldICZsdDs9IDEwMDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array"
+ ]
+ },
+ {
+ "title": "2190. Most Frequent Number Following Key In an Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+LjxzdHJvbmc+IDwvc3Ryb25nPllvdSBhcmUgYWxzbyBnaXZlbiBhbiBpbnRlZ2VyIDxjb2RlPmtleTwvY29kZT4sIHdoaWNoIGlzIHByZXNlbnQgaW4gPGNvZGU+bnVtczwvY29kZT4uPC9wPgo8cD5Gb3IgZXZlcnkgdW5pcXVlIGludGVnZXIgPGNvZGU+dGFyZ2V0PC9jb2RlPiBpbiA8Y29kZT5udW1zPC9jb2RlPiwgPHN0cm9uZz5jb3VudDwvc3Ryb25nPiB0aGUgbnVtYmVyIG9mIHRpbWVzIDxjb2RlPnRhcmdldDwvY29kZT4gaW1tZWRpYXRlbHkgZm9sbG93cyBhbiBvY2N1cnJlbmNlIG9mIDxjb2RlPmtleTwvY29kZT4gaW4gPGNvZGU+bnVtczwvY29kZT4uIEluIG90aGVyIHdvcmRzLCBjb3VudCB0aGUgbnVtYmVyIG9mIGluZGljZXMgPGNvZGU+aTwvY29kZT4gc3VjaCB0aGF0OjwvcD4KPHVsPgo8bGk+PGNvZGU+MCAmbHQ7PSBpICZsdDs9IG51bXMubGVuZ3RoIC0gMjwvY29kZT4sPC9saT4KPGxpPjxjb2RlPm51bXNbaV0gPT0ga2V5PC9jb2RlPiBhbmQsPC9saT4KPGxpPjxjb2RlPm51bXNbaSArIDFdID09IHRhcmdldDwvY29kZT4uPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgPC9lbT48Y29kZT50YXJnZXQ8L2NvZGU+PGVtPiB3aXRoIHRoZSA8c3Ryb25nPm1heGltdW08L3N0cm9uZz4gY291bnQ8L2VtPi4gVGhlIHRlc3QgY2FzZXMgd2lsbCBiZSBnZW5lcmF0ZWQgc3VjaCB0aGF0IHRoZSA8Y29kZT50YXJnZXQ8L2NvZGU+IHdpdGggbWF4aW11bSBjb3VudCBpcyB1bmlxdWUuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMTAwLDIwMCwxLDEwMF0sIGtleSA9IDEKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEwMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBGb3IgdGFyZ2V0ID0gMTAwLCB0aGVyZSBhcmUgMiBvY2N1cnJlbmNlcyBhdCBpbmRpY2VzIDEgYW5kIDQgd2hpY2ggZm9sbG93IGFuIG9jY3VycmVuY2Ugb2Yga2V5LgpObyBvdGhlciBpbnRlZ2VycyBmb2xsb3cgYW4gb2NjdXJyZW5jZSBvZiBrZXksIHNvIHdlIHJldHVybiAxMDAuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMiwyLDIsMiwzXSwga2V5ID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBGb3IgdGFyZ2V0ID0gMiwgdGhlcmUgYXJlIDMgb2NjdXJyZW5jZXMgYXQgaW5kaWNlcyAxLCAyLCBhbmQgMyB3aGljaCBmb2xsb3cgYW4gb2NjdXJyZW5jZSBvZiBrZXkuCkZvciB0YXJnZXQgPSAzLCB0aGVyZSBpcyBvbmx5IG9uZSBvY2N1cnJlbmNlIGF0IGluZGV4IDQgd2hpY2ggZm9sbG93cyBhbiBvY2N1cnJlbmNlIG9mIGtleS4KdGFyZ2V0ID0gMiBoYXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIG9jY3VycmVuY2VzIGZvbGxvd2luZyBhbiBvY2N1cnJlbmNlIG9mIGtleSwgc28gd2UgcmV0dXJuIDIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjIgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPlRoZSB0ZXN0IGNhc2VzIHdpbGwgYmUgZ2VuZXJhdGVkIHN1Y2ggdGhhdCB0aGUgYW5zd2VyIGlzIHVuaXF1ZS48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2206. Divide Array Into Equal Pairs",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBjb25zaXN0aW5nIG9mIDxjb2RlPjIgKiBuPC9jb2RlPiBpbnRlZ2Vycy48L3A+CjxwPllvdSBuZWVkIHRvIGRpdmlkZSA8Y29kZT5udW1zPC9jb2RlPiBpbnRvIDxjb2RlPm48L2NvZGU+IHBhaXJzIHN1Y2ggdGhhdDo8L3A+Cjx1bD4KPGxpPkVhY2ggZWxlbWVudCBiZWxvbmdzIHRvIDxzdHJvbmc+ZXhhY3RseSBvbmU8L3N0cm9uZz4gcGFpci48L2xpPgo8bGk+VGhlIGVsZW1lbnRzIHByZXNlbnQgaW4gYSBwYWlyIGFyZSA8c3Ryb25nPmVxdWFsPC9zdHJvbmc+LjwvbGk+CjwvdWw+CjxwPlJldHVybiA8Y29kZT50cnVlPC9jb2RlPiA8ZW0+aWYgbnVtcyBjYW4gYmUgZGl2aWRlZCBpbnRvPC9lbT4gPGNvZGU+bjwvY29kZT4gPGVtPnBhaXJzLCBvdGhlcndpc2UgcmV0dXJuPC9lbT4gPGNvZGU+ZmFsc2U8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFszLDIsMywyLDIsMl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IHRydWUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gClRoZXJlIGFyZSA2IGVsZW1lbnRzIGluIG51bXMsIHNvIHRoZXkgc2hvdWxkIGJlIGRpdmlkZWQgaW50byA2IC8gMiA9IDMgcGFpcnMuCklmIG51bXMgaXMgZGl2aWRlZCBpbnRvIHRoZSBwYWlycyAoMiwgMiksICgzLCAzKSwgYW5kICgyLCAyKSwgaXQgd2lsbCBzYXRpc2Z5IGFsbCB0aGUgY29uZGl0aW9ucy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDIsMyw0XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gZmFsc2UKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gClRoZXJlIGlzIG5vIHdheSB0byBkaXZpZGUgbnVtcyBpbnRvIDQgLyAyID0gMiBwYWlycyBzdWNoIHRoYXQgdGhlIHBhaXJzIHNhdGlzZnkgZXZlcnkgY29uZGl0aW9uLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5udW1zLmxlbmd0aCA9PSAyICogbjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDUwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldICZsdDs9IDUwMDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Bit Manipulation",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2194. Cells in a Range on an Excel Sheet",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgY2VsbCA8Y29kZT4ociwgYyk8L2NvZGU+IG9mIGFuIGV4Y2VsIHNoZWV0IGlzIHJlcHJlc2VudGVkIGFzIGEgc3RyaW5nIDxjb2RlPiImbHQ7Y29sJmd0OyZsdDtyb3cmZ3Q7IjwvY29kZT4gd2hlcmU6PC9wPgo8dWw+CjxsaT48Y29kZT4mbHQ7Y29sJmd0OzwvY29kZT4gZGVub3RlcyB0aGUgY29sdW1uIG51bWJlciA8Y29kZT5jPC9jb2RlPiBvZiB0aGUgY2VsbC4gSXQgaXMgcmVwcmVzZW50ZWQgYnkgPHN0cm9uZz5hbHBoYWJldGljYWwgbGV0dGVyczwvc3Ryb25nPi4KCgk8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgdGhlIDxjb2RlPjE8c3VwPnN0PC9zdXA+PC9jb2RlPiBjb2x1bW4gaXMgZGVub3RlZCBieSA8Y29kZT4nQSc8L2NvZGU+LCB0aGUgPGNvZGU+MjxzdXA+bmQ8L3N1cD48L2NvZGU+IGJ5IDxjb2RlPidCJzwvY29kZT4sIHRoZSA8Y29kZT4zPHN1cD5yZDwvc3VwPjwvY29kZT4gYnkgPGNvZGU+J0MnPC9jb2RlPiwgYW5kIHNvIG9uLjwvbGk+CjwvdWw+CjwvbGk+CjxsaT48Y29kZT4mbHQ7cm93Jmd0OzwvY29kZT4gaXMgdGhlIHJvdyBudW1iZXIgPGNvZGU+cjwvY29kZT4gb2YgdGhlIGNlbGwuIFRoZSA8Y29kZT5yPHN1cD50aDwvc3VwPjwvY29kZT4gcm93IGlzIHJlcHJlc2VudGVkIGJ5IHRoZSA8c3Ryb25nPmludGVnZXI8L3N0cm9uZz4gPGNvZGU+cjwvY29kZT4uPC9saT4KPC91bD4KPHA+WW91IGFyZSBnaXZlbiBhIHN0cmluZyA8Y29kZT5zPC9jb2RlPsKgaW7CoHRoZSBmb3JtYXQgPGNvZGU+IiZsdDtjb2wxJmd0OyZsdDtyb3cxJmd0OzombHQ7Y29sMiZndDsmbHQ7cm93MiZndDsiPC9jb2RlPiwgd2hlcmUgPGNvZGU+Jmx0O2NvbDEmZ3Q7PC9jb2RlPiByZXByZXNlbnRzIHRoZSBjb2x1bW4gPGNvZGU+YzE8L2NvZGU+LCA8Y29kZT4mbHQ7cm93MSZndDs8L2NvZGU+IHJlcHJlc2VudHMgdGhlIHJvdyA8Y29kZT5yMTwvY29kZT4sIDxjb2RlPiZsdDtjb2wyJmd0OzwvY29kZT4gcmVwcmVzZW50cyB0aGUgY29sdW1uIDxjb2RlPmMyPC9jb2RlPiwgYW5kIDxjb2RlPiZsdDtyb3cyJmd0OzwvY29kZT4gcmVwcmVzZW50cyB0aGUgcm93IDxjb2RlPnIyPC9jb2RlPiwgc3VjaCB0aGF0IDxjb2RlPnIxICZsdDs9IHIyPC9jb2RlPiBhbmQgPGNvZGU+YzEgJmx0Oz0gYzI8L2NvZGU+LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5saXN0IG9mIGNlbGxzPC9zdHJvbmc+PC9lbT4gPGNvZGU+KHgsIHkpPC9jb2RlPiA8ZW0+c3VjaCB0aGF0PC9lbT4gPGNvZGU+cjEgJmx0Oz0geCAmbHQ7PSByMjwvY29kZT4gPGVtPmFuZDwvZW0+IDxjb2RlPmMxICZsdDs9IHkgJmx0Oz0gYzI8L2NvZGU+LiBUaGUgY2VsbHMgc2hvdWxkIGJlIHJlcHJlc2VudGVkIGFzwqA8c3Ryb25nPnN0cmluZ3M8L3N0cm9uZz4gaW4gdGhlIGZvcm1hdCBtZW50aW9uZWQgYWJvdmUgYW5kIGJlIHNvcnRlZCBpbiA8c3Ryb25nPm5vbi1kZWNyZWFzaW5nPC9zdHJvbmc+IG9yZGVyIGZpcnN0IGJ5IGNvbHVtbnMgYW5kIHRoZW4gYnkgcm93cy48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDIvMDgvZXgxZHJhd2lvLnBuZyIgc3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAxNjBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gIksxOkwyIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWyJLMSIsIksyIiwiTDEiLCJMMiJdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBhYm92ZSBkaWFncmFtIHNob3dzIHRoZSBjZWxscyB3aGljaCBzaG91bGQgYmUgcHJlc2VudCBpbiB0aGUgbGlzdC4KVGhlIHJlZCBhcnJvd3MgZGVub3RlIHRoZSBvcmRlciBpbiB3aGljaCB0aGUgY2VsbHMgc2hvdWxkIGJlIHByZXNlbnRlZC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMi8wOS9leGFtMmRyYXdpby5wbmciIHN0eWxlPSJ3aWR0aDogNTAwcHg7IGhlaWdodDogNTBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gIkExOkYxIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWyJBMSIsIkIxIiwiQzEiLCJEMSIsIkUxIiwiRjEiXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgYWJvdmUgZGlhZ3JhbSBzaG93cyB0aGUgY2VsbHMgd2hpY2ggc2hvdWxkIGJlIHByZXNlbnQgaW4gdGhlIGxpc3QuClRoZSByZWQgYXJyb3cgZGVub3RlcyB0aGUgb3JkZXIgaW4gd2hpY2ggdGhlIGNlbGxzIHNob3VsZCBiZSBwcmVzZW50ZWQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPnMubGVuZ3RoID09IDU8L2NvZGU+PC9saT4KPGxpPjxjb2RlPidBJyAmbHQ7PSBzWzBdICZsdDs9IHNbM10gJmx0Oz0gJ1onPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4nMScgJmx0Oz0gc1sxXSAmbHQ7PSBzWzRdICZsdDs9ICc5JzwvY29kZT48L2xpPgo8bGk+PGNvZGU+czwvY29kZT4gY29uc2lzdHMgb2YgdXBwZXJjYXNlIEVuZ2xpc2ggbGV0dGVycywgZGlnaXRzIGFuZCA8Y29kZT4nOic8L2NvZGU+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "String"
+ ]
+ },
+ {
+ "title": "2180. Count Integers With Even Digit Sum",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgcG9zaXRpdmUgaW50ZWdlciA8Y29kZT5udW08L2NvZGU+LCByZXR1cm4gPGVtPnRoZSBudW1iZXIgb2YgcG9zaXRpdmUgaW50ZWdlcnMgPHN0cm9uZz5sZXNzIHRoYW4gb3IgZXF1YWwgdG88L3N0cm9uZz48L2VtPiA8Y29kZT5udW08L2NvZGU+IDxlbT53aG9zZSBkaWdpdCBzdW1zIGFyZSA8c3Ryb25nPmV2ZW48L3N0cm9uZz48L2VtPi48L3A+CjxwPlRoZSA8c3Ryb25nPmRpZ2l0IHN1bTwvc3Ryb25nPiBvZiBhIHBvc2l0aXZlIGludGVnZXIgaXMgdGhlIHN1bSBvZiBhbGwgaXRzIGRpZ2l0cy48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bSA9IDQKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIG9ubHkgaW50ZWdlcnMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDQgd2hvc2UgZGlnaXQgc3VtcyBhcmUgZXZlbiBhcmUgMiBhbmQgNC4gICAgCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bSA9IDMwCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxNAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgMTQgaW50ZWdlcnMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDMwIHdob3NlIGRpZ2l0IHN1bXMgYXJlIGV2ZW4gYXJlCjIsIDQsIDYsIDgsIDExLCAxMywgMTUsIDE3LCAxOSwgMjAsIDIyLCAyNCwgMjYsIGFuZCAyOC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW0gJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Math",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2185. Counting Words With a Given Prefix",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gYXJyYXkgb2Ygc3RyaW5ncyA8Y29kZT53b3JkczwvY29kZT4gYW5kIGEgc3RyaW5nIDxjb2RlPnByZWY8L2NvZGU+LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgbnVtYmVyIG9mIHN0cmluZ3MgaW4gPC9lbT48Y29kZT53b3JkczwvY29kZT48ZW0+IHRoYXQgY29udGFpbiA8L2VtPjxjb2RlPnByZWY8L2NvZGU+PGVtPiBhcyBhIDxzdHJvbmc+cHJlZml4PC9zdHJvbmc+PC9lbT4uPC9wPgo8cD5BIDxzdHJvbmc+cHJlZml4PC9zdHJvbmc+IG9mIGEgc3RyaW5nIDxjb2RlPnM8L2NvZGU+IGlzIGFueSBsZWFkaW5nIGNvbnRpZ3VvdXMgc3Vic3RyaW5nIG9mIDxjb2RlPnM8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZHMgPSBbInBheSIsIjxzdHJvbmc+PHU+YXQ8L3U+PC9zdHJvbmc+dGVudGlvbiIsInByYWN0aWNlIiwiPHU+PHN0cm9uZz5hdDwvc3Ryb25nPjwvdT50ZW5kIl0sIDxjb2RlPnByZWYgPC9jb2RlPj0gImF0Igo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgMiBzdHJpbmdzIHRoYXQgY29udGFpbiAiYXQiIGFzIGEgcHJlZml4IGFyZTogIjx1PjxzdHJvbmc+YXQ8L3N0cm9uZz48L3U+dGVudGlvbiIgYW5kICI8dT48c3Ryb25nPmF0PC9zdHJvbmc+PC91PnRlbmQiLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB3b3JkcyA9IFsibGVldGNvZGUiLCJ3aW4iLCJsb29wcyIsInN1Y2Nlc3MiXSwgPGNvZGU+cHJlZiA8L2NvZGU+PSAiY29kZSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgYXJlIG5vIHN0cmluZ3MgdGhhdCBjb250YWluICJjb2RlIiBhcyBhIHByZWZpeC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSB3b3Jkcy5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHdvcmRzW2ldLmxlbmd0aCwgcHJlZi5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT53b3Jkc1tpXTwvY29kZT4gYW5kIDxjb2RlPnByZWY8L2NvZGU+IGNvbnNpc3Qgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycy48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "String"
+ ]
+ },
+ {
+ "title": "2169. Count Operations to Obtain Zero",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIDxzdHJvbmc+bm9uLW5lZ2F0aXZlPC9zdHJvbmc+IGludGVnZXJzIDxjb2RlPm51bTE8L2NvZGU+IGFuZCA8Y29kZT5udW0yPC9jb2RlPi48L3A+CjxwPkluIG9uZSA8c3Ryb25nPm9wZXJhdGlvbjwvc3Ryb25nPiwgaWYgPGNvZGU+bnVtMSAmZ3Q7PSBudW0yPC9jb2RlPiwgeW91IG11c3Qgc3VidHJhY3QgPGNvZGU+bnVtMjwvY29kZT4gZnJvbSA8Y29kZT5udW0xPC9jb2RlPiwgb3RoZXJ3aXNlIHN1YnRyYWN0IDxjb2RlPm51bTE8L2NvZGU+IGZyb20gPGNvZGU+bnVtMjwvY29kZT4uPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgaWYgPGNvZGU+bnVtMSA9IDU8L2NvZGU+IGFuZCA8Y29kZT5udW0yID0gNDwvY29kZT4sIHN1YnRyYWN0IDxjb2RlPm51bTI8L2NvZGU+IGZyb20gPGNvZGU+bnVtMTwvY29kZT4sIHRodXMgb2J0YWluaW5nIDxjb2RlPm51bTEgPSAxPC9jb2RlPiBhbmQgPGNvZGU+bnVtMiA9IDQ8L2NvZGU+LiBIb3dldmVyLCBpZiA8Y29kZT5udW0xID0gNDwvY29kZT4gYW5kIDxjb2RlPm51bTIgPSA1PC9jb2RlPiwgYWZ0ZXIgb25lIG9wZXJhdGlvbiwgPGNvZGU+bnVtMSA9IDQ8L2NvZGU+IGFuZCA8Y29kZT5udW0yID0gMTwvY29kZT4uPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5udW1iZXIgb2Ygb3BlcmF0aW9uczwvc3Ryb25nPiByZXF1aXJlZCB0byBtYWtlIGVpdGhlcjwvZW0+IDxjb2RlPm51bTEgPSAwPC9jb2RlPiA8ZW0+b3I8L2VtPiA8Y29kZT5udW0yID0gMDwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW0xID0gMiwgbnVtMiA9IDMKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCi0gT3BlcmF0aW9uIDE6IG51bTEgPSAyLCBudW0yID0gMy4gU2luY2UgbnVtMSAmbHQ7IG51bTIsIHdlIHN1YnRyYWN0IG51bTEgZnJvbSBudW0yIGFuZCBnZXQgbnVtMSA9IDIsIG51bTIgPSAzIC0gMiA9IDEuCi0gT3BlcmF0aW9uIDI6IG51bTEgPSAyLCBudW0yID0gMS4gU2luY2UgbnVtMSAmZ3Q7IG51bTIsIHdlIHN1YnRyYWN0IG51bTIgZnJvbSBudW0xLgotIE9wZXJhdGlvbiAzOiBudW0xID0gMSwgbnVtMiA9IDEuIFNpbmNlIG51bTEgPT0gbnVtMiwgd2Ugc3VidHJhY3QgbnVtMiBmcm9tIG51bTEuCk5vdyBudW0xID0gMCBhbmQgbnVtMiA9IDEuIFNpbmNlIG51bTEgPT0gMCwgd2UgZG8gbm90IG5lZWQgdG8gcGVyZm9ybSBhbnkgZnVydGhlciBvcGVyYXRpb25zLgpTbyB0aGUgdG90YWwgbnVtYmVyIG9mIG9wZXJhdGlvbnMgcmVxdWlyZWQgaXMgMy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtMSA9IDEwLCBudW0yID0gMTAKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCi0gT3BlcmF0aW9uIDE6IG51bTEgPSAxMCwgbnVtMiA9IDEwLiBTaW5jZSBudW0xID09IG51bTIsIHdlIHN1YnRyYWN0IG51bTIgZnJvbSBudW0xIGFuZCBnZXQgbnVtMSA9IDEwIC0gMTAgPSAwLgpOb3cgbnVtMSA9IDAgYW5kIG51bTIgPSAxMC4gU2luY2UgbnVtMSA9PSAwLCB3ZSBhcmUgZG9uZS4KU28gdGhlIHRvdGFsIG51bWJlciBvZiBvcGVyYXRpb25zIHJlcXVpcmVkIGlzIDEuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjAgJmx0Oz0gbnVtMSwgbnVtMiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Math",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2164. Sort Even and Odd Indices Independently",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+LiBSZWFycmFuZ2UgdGhlIHZhbHVlcyBvZiA8Y29kZT5udW1zPC9jb2RlPiBhY2NvcmRpbmcgdG8gdGhlIGZvbGxvd2luZyBydWxlczo8L3A+CjxvbD4KPGxpPlNvcnQgdGhlIHZhbHVlcyBhdCA8c3Ryb25nPm9kZCBpbmRpY2VzPC9zdHJvbmc+IG9mIDxjb2RlPm51bXM8L2NvZGU+IGluIDxzdHJvbmc+bm9uLWluY3JlYXNpbmc8L3N0cm9uZz4gb3JkZXIuCgoJPHVsPgo8bGk+Rm9yIGV4YW1wbGUsIGlmIDxjb2RlPm51bXMgPSBbNCw8c3Ryb25nPjx1PjE8L3U+PC9zdHJvbmc+LDIsPHU+PHN0cm9uZz4zPC9zdHJvbmc+PC91Pl08L2NvZGU+IGJlZm9yZSB0aGlzIHN0ZXAsIGl0IGJlY29tZXMgPGNvZGU+WzQsPHU+PHN0cm9uZz4zPC9zdHJvbmc+PC91PiwyLDxzdHJvbmc+PHU+MTwvdT48L3N0cm9uZz5dPC9jb2RlPiBhZnRlci4gVGhlIHZhbHVlcyBhdCBvZGQgaW5kaWNlcyA8Y29kZT4xPC9jb2RlPiBhbmQgPGNvZGU+MzwvY29kZT4gYXJlIHNvcnRlZCBpbiBub24taW5jcmVhc2luZyBvcmRlci48L2xpPgo8L3VsPgo8L2xpPgo8bGk+U29ydCB0aGUgdmFsdWVzIGF0IDxzdHJvbmc+ZXZlbiBpbmRpY2VzPC9zdHJvbmc+IG9mIDxjb2RlPm51bXM8L2NvZGU+IGluIDxzdHJvbmc+bm9uLWRlY3JlYXNpbmc8L3N0cm9uZz4gb3JkZXIuCgk8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgaWYgPGNvZGU+bnVtcyA9IFs8dT48c3Ryb25nPjQ8L3N0cm9uZz48L3U+LDEsPHU+PHN0cm9uZz4yPC9zdHJvbmc+PC91PiwzXTwvY29kZT4gYmVmb3JlIHRoaXMgc3RlcCwgaXQgYmVjb21lcyA8Y29kZT5bPHU+PHN0cm9uZz4yPC9zdHJvbmc+PC91PiwxLDx1PjxzdHJvbmc+NDwvc3Ryb25nPjwvdT4sM108L2NvZGU+IGFmdGVyLiBUaGUgdmFsdWVzIGF0IGV2ZW4gaW5kaWNlcyA8Y29kZT4wPC9jb2RlPiBhbmQgPGNvZGU+MjwvY29kZT4gYXJlIHNvcnRlZCBpbiBub24tZGVjcmVhc2luZyBvcmRlci48L2xpPgo8L3VsPgo8L2xpPgo8L29sPgo8cD5SZXR1cm4gPGVtPnRoZSBhcnJheSBmb3JtZWQgYWZ0ZXIgcmVhcnJhbmdpbmcgdGhlIHZhbHVlcyBvZjwvZW0+IDxjb2RlPm51bXM8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs0LDEsMiwzXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzIsMyw0LDFdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApGaXJzdCwgd2Ugc29ydCB0aGUgdmFsdWVzIHByZXNlbnQgYXQgb2RkIGluZGljZXMgKDEgYW5kIDMpIGluIG5vbi1pbmNyZWFzaW5nIG9yZGVyLgpTbywgbnVtcyBjaGFuZ2VzIGZyb20gWzQsPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPiwyLDxzdHJvbmc+PHU+MzwvdT48L3N0cm9uZz5dIHRvIFs0LDx1PjxzdHJvbmc+Mzwvc3Ryb25nPjwvdT4sMiw8c3Ryb25nPjx1PjE8L3U+PC9zdHJvbmc+XS4KTmV4dCwgd2Ugc29ydCB0aGUgdmFsdWVzIHByZXNlbnQgYXQgZXZlbiBpbmRpY2VzICgwIGFuZCAyKSBpbiBub24tZGVjcmVhc2luZyBvcmRlci4KU28sIG51bXMgY2hhbmdlcyBmcm9tIFs8dT48c3Ryb25nPjQ8L3N0cm9uZz48L3U+LDEsPHN0cm9uZz48dT4yPC91Pjwvc3Ryb25nPiwzXSB0byBbPHU+PHN0cm9uZz4yPC9zdHJvbmc+PC91PiwzLDx1PjxzdHJvbmc+NDwvc3Ryb25nPjwvdT4sMV0uClRodXMsIHRoZSBhcnJheSBmb3JtZWQgYWZ0ZXIgcmVhcnJhbmdpbmcgdGhlIHZhbHVlcyBpcyBbMiwzLDQsMV0uCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMiwxXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzIsMV0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gClNpbmNlIHRoZXJlIGlzIGV4YWN0bHkgb25lIG9kZCBpbmRleCBhbmQgb25lIGV2ZW4gaW5kZXgsIG5vIHJlYXJyYW5nZW1lbnQgb2YgdmFsdWVzIHRha2VzIHBsYWNlLgpUaGUgcmVzdWx0YW50IGFycmF5IGZvcm1lZCBpcyBbMiwxXSwgd2hpY2ggaXMgdGhlIHNhbWUgYXMgdGhlIGluaXRpYWwgYXJyYXkuIAo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldICZsdDs9IDEwMDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2176. Count Equal and Divisible Pairs in an Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PkdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4gYW5kIGFuIGludGVnZXIgPGNvZGU+azwvY29kZT4sIHJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bnVtYmVyIG9mIHBhaXJzPC9zdHJvbmc+PC9lbT4gPGNvZGU+KGksIGopPC9jb2RlPiA8ZW0+d2hlcmU8L2VtPiA8Y29kZT4wICZsdDs9IGkgJmx0OyBqICZsdDsgbjwvY29kZT4sIDxlbT5zdWNoIHRoYXQ8L2VtPiA8Y29kZT5udW1zW2ldID09IG51bXNbal08L2NvZGU+IDxlbT5hbmQ8L2VtPiA8Y29kZT4oaSAqIGopPC9jb2RlPiA8ZW0+aXMgZGl2aXNpYmxlIGJ5PC9lbT4gPGNvZGU+azwvY29kZT4uCjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMywxLDIsMiwyLDEsM10sIGsgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZXJlIGFyZSA0IHBhaXJzIHRoYXQgbWVldCBhbGwgdGhlIHJlcXVpcmVtZW50czoKLSBudW1zWzBdID09IG51bXNbNl0sIGFuZCAwICogNiA9PSAwLCB3aGljaCBpcyBkaXZpc2libGUgYnkgMi4KLSBudW1zWzJdID09IG51bXNbM10sIGFuZCAyICogMyA9PSA2LCB3aGljaCBpcyBkaXZpc2libGUgYnkgMi4KLSBudW1zWzJdID09IG51bXNbNF0sIGFuZCAyICogNCA9PSA4LCB3aGljaCBpcyBkaXZpc2libGUgYnkgMi4KLSBudW1zWzNdID09IG51bXNbNF0sIGFuZCAzICogNCA9PSAxMiwgd2hpY2ggaXMgZGl2aXNpYmxlIGJ5IDIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSwyLDMsNF0sIGsgPSAxCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFNpbmNlIG5vIHZhbHVlIGluIG51bXMgaXMgcmVwZWF0ZWQsIHRoZXJlIGFyZSBubyBwYWlycyAoaSxqKSB0aGF0IG1lZXQgYWxsIHRoZSByZXF1aXJlbWVudHMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0sIGsgJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array"
+ ]
+ },
+ {
+ "title": "2154. Keep Multiplying Found Values by Two",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gYXJyYXkgb2YgaW50ZWdlcnMgPGNvZGU+bnVtczwvY29kZT4uIFlvdSBhcmUgYWxzbyBnaXZlbiBhbiBpbnRlZ2VyIDxjb2RlPm9yaWdpbmFsPC9jb2RlPiB3aGljaCBpcyB0aGUgZmlyc3QgbnVtYmVyIHRoYXQgbmVlZHMgdG8gYmUgc2VhcmNoZWQgZm9yIGluIDxjb2RlPm51bXM8L2NvZGU+LjwvcD4KPHA+WW91IHRoZW4gZG8gdGhlIGZvbGxvd2luZyBzdGVwczo8L3A+CjxvbD4KPGxpPklmIDxjb2RlPm9yaWdpbmFsPC9jb2RlPiBpcyBmb3VuZCBpbiA8Y29kZT5udW1zPC9jb2RlPiwgPHN0cm9uZz5tdWx0aXBseTwvc3Ryb25nPiBpdCBieSB0d28gKGkuZS4sIHNldCA8Y29kZT5vcmlnaW5hbCA9IDIgKiBvcmlnaW5hbDwvY29kZT4pLjwvbGk+CjxsaT5PdGhlcndpc2UsIDxzdHJvbmc+c3RvcDwvc3Ryb25nPiB0aGUgcHJvY2Vzcy48L2xpPgo8bGk+PHN0cm9uZz5SZXBlYXQ8L3N0cm9uZz4gdGhpcyBwcm9jZXNzIHdpdGggdGhlIG5ldyBudW1iZXIgYXMgbG9uZyBhcyB5b3Uga2VlcCBmaW5kaW5nIHRoZSBudW1iZXIuPC9saT4KPC9vbD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5maW5hbDwvc3Ryb25nPiB2YWx1ZSBvZiA8L2VtPjxjb2RlPm9yaWdpbmFsPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNSwzLDYsMSwxMl0sIG9yaWdpbmFsID0gMwo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMjQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCi0gMyBpcyBmb3VuZCBpbiBudW1zLiAzIGlzIG11bHRpcGxpZWQgYnkgMiB0byBvYnRhaW4gNi4KLSA2IGlzIGZvdW5kIGluIG51bXMuIDYgaXMgbXVsdGlwbGllZCBieSAyIHRvIG9idGFpbiAxMi4KLSAxMiBpcyBmb3VuZCBpbiBudW1zLiAxMiBpcyBtdWx0aXBsaWVkIGJ5IDIgdG8gb2J0YWluIDI0LgotIDI0IGlzIG5vdCBmb3VuZCBpbiBudW1zLiBUaHVzLCAyNCBpcyByZXR1cm5lZC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsyLDcsOV0sIG9yaWdpbmFsID0gNAo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgotIDQgaXMgbm90IGZvdW5kIGluIG51bXMuIFRodXMsIDQgaXMgcmV0dXJuZWQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldLCBvcmlnaW5hbCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Sorting",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2148. Count Elements With Strictly Smaller and Greater Elements ",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGludGVnZXIgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4sIHJldHVybiA8ZW0+dGhlIG51bWJlciBvZiBlbGVtZW50cyB0aGF0IGhhdmUgPHN0cm9uZz5ib3RoPC9zdHJvbmc+IGEgc3RyaWN0bHkgc21hbGxlciBhbmQgYSBzdHJpY3RseSBncmVhdGVyIGVsZW1lbnQgYXBwZWFyIGluIDwvZW0+PGNvZGU+bnVtczwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzExLDcsMiwxNV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGVsZW1lbnQgNyBoYXMgdGhlIGVsZW1lbnQgMiBzdHJpY3RseSBzbWFsbGVyIHRoYW4gaXQgYW5kIHRoZSBlbGVtZW50IDExIHN0cmljdGx5IGdyZWF0ZXIgdGhhbiBpdC4KRWxlbWVudCAxMSBoYXMgZWxlbWVudCA3IHN0cmljdGx5IHNtYWxsZXIgdGhhbiBpdCBhbmQgZWxlbWVudCAxNSBzdHJpY3RseSBncmVhdGVyIHRoYW4gaXQuCkluIHRvdGFsIHRoZXJlIGFyZSAyIGVsZW1lbnRzIGhhdmluZyBib3RoIGEgc3RyaWN0bHkgc21hbGxlciBhbmQgYSBzdHJpY3RseSBncmVhdGVyIGVsZW1lbnQgYXBwZWFyIGluIDxjb2RlPm51bXM8L2NvZGU+Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWy0zLDMsMyw5MF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGVsZW1lbnQgMyBoYXMgdGhlIGVsZW1lbnQgLTMgc3RyaWN0bHkgc21hbGxlciB0aGFuIGl0IGFuZCB0aGUgZWxlbWVudCA5MCBzdHJpY3RseSBncmVhdGVyIHRoYW4gaXQuClNpbmNlIHRoZXJlIGFyZSB0d28gZWxlbWVudHMgd2l0aCB0aGUgdmFsdWUgMywgaW4gdG90YWwgdGhlcmUgYXJlIDIgZWxlbWVudHMgaGF2aW5nIGJvdGggYSBzdHJpY3RseSBzbWFsbGVyIGFuZCBhIHN0cmljdGx5IGdyZWF0ZXIgZWxlbWVudCBhcHBlYXIgaW4gPGNvZGU+bnVtczwvY29kZT4uCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4tMTA8c3VwPjU8L3N1cD4gJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2160. Minimum Sum of Four Digit Number After Splitting Digits",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPnBvc2l0aXZlPC9zdHJvbmc+IGludGVnZXIgPGNvZGU+bnVtPC9jb2RlPiBjb25zaXN0aW5nIG9mIGV4YWN0bHkgZm91ciBkaWdpdHMuIFNwbGl0IDxjb2RlPm51bTwvY29kZT4gaW50byB0d28gbmV3IGludGVnZXJzIDxjb2RlPm5ldzE8L2NvZGU+IGFuZCA8Y29kZT5uZXcyPC9jb2RlPiBieSB1c2luZyB0aGUgPHN0cm9uZz5kaWdpdHM8L3N0cm9uZz4gZm91bmQgaW4gPGNvZGU+bnVtPC9jb2RlPi4gPHN0cm9uZz5MZWFkaW5nIHplcm9zPC9zdHJvbmc+IGFyZSBhbGxvd2VkIGluIDxjb2RlPm5ldzE8L2NvZGU+IGFuZCA8Y29kZT5uZXcyPC9jb2RlPiwgYW5kIDxzdHJvbmc+YWxsPC9zdHJvbmc+IHRoZSBkaWdpdHMgZm91bmQgaW4gPGNvZGU+bnVtPC9jb2RlPiBtdXN0IGJlIHVzZWQuPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgZ2l2ZW4gPGNvZGU+bnVtID0gMjkzMjwvY29kZT4sIHlvdSBoYXZlIHRoZSBmb2xsb3dpbmcgZGlnaXRzOiB0d28gPGNvZGU+MjwvY29kZT4ncywgb25lIDxjb2RlPjk8L2NvZGU+IGFuZCBvbmUgPGNvZGU+MzwvY29kZT4uIFNvbWUgb2YgdGhlIHBvc3NpYmxlIHBhaXJzIDxjb2RlPltuZXcxLCBuZXcyXTwvY29kZT4gYXJlIDxjb2RlPlsyMiwgOTNdPC9jb2RlPiwgPGNvZGU+WzIzLCA5Ml08L2NvZGU+LCA8Y29kZT5bMjIzLCA5XTwvY29kZT4gYW5kIDxjb2RlPlsyLCAzMjldPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1pbmltdW08L3N0cm9uZz4gcG9zc2libGUgc3VtIG9mIDwvZW0+PGNvZGU+bmV3MTwvY29kZT48ZW0+IGFuZCA8L2VtPjxjb2RlPm5ldzI8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtID0gMjkzMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNTIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gU29tZSBwb3NzaWJsZSBwYWlycyBbbmV3MSwgbmV3Ml0gYXJlIFsyOSwgMjNdLCBbMjIzLCA5XSwgZXRjLgpUaGUgbWluaW11bSBzdW0gY2FuIGJlIG9idGFpbmVkIGJ5IHRoZSBwYWlyIFsyOSwgMjNdOiAyOSArIDIzID0gNTIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bSA9IDQwMDkKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFNvbWUgcG9zc2libGUgcGFpcnMgW25ldzEsIG5ldzJdIGFyZSBbMCwgNDldLCBbNDkwLCAwXSwgZXRjLiAKVGhlIG1pbmltdW0gc3VtIGNhbiBiZSBvYnRhaW5lZCBieSB0aGUgcGFpciBbNCwgOV06IDQgKyA5ID0gMTMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEwMDAgJmx0Oz0gbnVtICZsdDs9IDk5OTk8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Math",
+ "Greedy",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2138. Divide a String Into Groups of Size k",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgc3RyaW5nIDxjb2RlPnM8L2NvZGU+IGNhbiBiZSBwYXJ0aXRpb25lZCBpbnRvIGdyb3VwcyBvZiBzaXplIDxjb2RlPms8L2NvZGU+IHVzaW5nIHRoZSBmb2xsb3dpbmcgcHJvY2VkdXJlOjwvcD4KPHVsPgo8bGk+VGhlIGZpcnN0IGdyb3VwIGNvbnNpc3RzIG9mIHRoZSBmaXJzdCA8Y29kZT5rPC9jb2RlPiBjaGFyYWN0ZXJzIG9mIHRoZSBzdHJpbmcsIHRoZSBzZWNvbmQgZ3JvdXAgY29uc2lzdHMgb2YgdGhlIG5leHQgPGNvZGU+azwvY29kZT4gY2hhcmFjdGVycyBvZiB0aGUgc3RyaW5nLCBhbmQgc28gb24uIEVhY2ggY2hhcmFjdGVyIGNhbiBiZSBhIHBhcnQgb2YgPHN0cm9uZz5leGFjdGx5IG9uZTwvc3Ryb25nPiBncm91cC48L2xpPgo8bGk+Rm9yIHRoZSBsYXN0IGdyb3VwLCBpZiB0aGUgc3RyaW5nIDxzdHJvbmc+ZG9lcyBub3Q8L3N0cm9uZz4gaGF2ZSA8Y29kZT5rPC9jb2RlPiBjaGFyYWN0ZXJzIHJlbWFpbmluZywgYSBjaGFyYWN0ZXIgPGNvZGU+ZmlsbDwvY29kZT4gaXMgdXNlZCB0byBjb21wbGV0ZSB0aGUgZ3JvdXAuPC9saT4KPC91bD4KPHA+Tm90ZSB0aGF0IHRoZSBwYXJ0aXRpb24gaXMgZG9uZSBzbyB0aGF0IGFmdGVyIHJlbW92aW5nIHRoZSA8Y29kZT5maWxsPC9jb2RlPiBjaGFyYWN0ZXIgZnJvbSB0aGUgbGFzdCBncm91cCAoaWYgaXQgZXhpc3RzKSBhbmQgY29uY2F0ZW5hdGluZyBhbGwgdGhlIGdyb3VwcyBpbiBvcmRlciwgdGhlIHJlc3VsdGFudCBzdHJpbmcgc2hvdWxkIGJlIDxjb2RlPnM8L2NvZGU+LjwvcD4KPHA+R2l2ZW4gdGhlIHN0cmluZyA8Y29kZT5zPC9jb2RlPiwgdGhlIHNpemUgb2YgZWFjaCBncm91cCA8Y29kZT5rPC9jb2RlPiBhbmQgdGhlIGNoYXJhY3RlciA8Y29kZT5maWxsPC9jb2RlPiwgcmV0dXJuIDxlbT5hIHN0cmluZyBhcnJheSBkZW5vdGluZyB0aGUgPHN0cm9uZz5jb21wb3NpdGlvbiBvZiBldmVyeSBncm91cDwvc3Ryb25nPiA8L2VtPjxjb2RlPnM8L2NvZGU+PGVtPiBoYXMgYmVlbiBkaXZpZGVkIGludG8sIHVzaW5nIHRoZSBhYm92ZSBwcm9jZWR1cmU8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiYWJjZGVmZ2hpIiwgayA9IDMsIGZpbGwgPSAieCIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsiYWJjIiwiZGVmIiwiZ2hpIl0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIGZpcnN0IDMgY2hhcmFjdGVycyAiYWJjIiBmb3JtIHRoZSBmaXJzdCBncm91cC4KVGhlIG5leHQgMyBjaGFyYWN0ZXJzICJkZWYiIGZvcm0gdGhlIHNlY29uZCBncm91cC4KVGhlIGxhc3QgMyBjaGFyYWN0ZXJzICJnaGkiIGZvcm0gdGhlIHRoaXJkIGdyb3VwLgpTaW5jZSBhbGwgZ3JvdXBzIGNhbiBiZSBjb21wbGV0ZWx5IGZpbGxlZCBieSBjaGFyYWN0ZXJzIGZyb20gdGhlIHN0cmluZywgd2UgZG8gbm90IG5lZWQgdG8gdXNlIGZpbGwuClRodXMsIHRoZSBncm91cHMgZm9ybWVkIGFyZSAiYWJjIiwgImRlZiIsIGFuZCAiZ2hpIi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJhYmNkZWZnaGlqIiwgayA9IDMsIGZpbGwgPSAieCIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsiYWJjIiwiZGVmIiwiZ2hpIiwianh4Il0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KU2ltaWxhciB0byB0aGUgcHJldmlvdXMgZXhhbXBsZSwgd2UgYXJlIGZvcm1pbmcgdGhlIGZpcnN0IHRocmVlIGdyb3VwcyAiYWJjIiwgImRlZiIsIGFuZCAiZ2hpIi4KRm9yIHRoZSBsYXN0IGdyb3VwLCB3ZSBjYW4gb25seSB1c2UgdGhlIGNoYXJhY3RlciAnaicgZnJvbSB0aGUgc3RyaW5nLiBUbyBjb21wbGV0ZSB0aGlzIGdyb3VwLCB3ZSBhZGQgJ3gnIHR3aWNlLgpUaHVzLCB0aGUgNCBncm91cHMgZm9ybWVkIGFyZSAiYWJjIiwgImRlZiIsICJnaGkiLCBhbmQgImp4eCIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gcy5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zPC9jb2RlPiBjb25zaXN0cyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzIG9ubHkuPC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gayAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPmZpbGw8L2NvZGU+IGlzIGEgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVyLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "String",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2133. Check if Every Row and Column Contains All Numbers",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkFuIDxjb2RlPm4geCBuPC9jb2RlPiBtYXRyaXggaXMgPHN0cm9uZz52YWxpZDwvc3Ryb25nPiBpZiBldmVyeSByb3cgYW5kIGV2ZXJ5IGNvbHVtbiBjb250YWlucyA8c3Ryb25nPmFsbDwvc3Ryb25nPiB0aGUgaW50ZWdlcnMgZnJvbSA8Y29kZT4xPC9jb2RlPiB0byA8Y29kZT5uPC9jb2RlPiAoPHN0cm9uZz5pbmNsdXNpdmU8L3N0cm9uZz4pLjwvcD4KPHA+R2l2ZW4gYW4gPGNvZGU+biB4IG48L2NvZGU+IGludGVnZXIgbWF0cml4IDxjb2RlPm1hdHJpeDwvY29kZT4sIHJldHVybiA8Y29kZT50cnVlPC9jb2RlPiA8ZW0+aWYgdGhlIG1hdHJpeCBpcyA8c3Ryb25nPnZhbGlkPC9zdHJvbmc+LjwvZW0+IE90aGVyd2lzZSwgcmV0dXJuIDxjb2RlPmZhbHNlPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMTIvMjEvZXhhbXBsZTFkcmF3aW8ucG5nIiBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG1hdHJpeCA9IFtbMSwyLDNdLFszLDEsMl0sWzIsMywxXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IHRydWUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gSW4gdGhpcyBjYXNlLCBuID0gMywgYW5kIGV2ZXJ5IHJvdyBhbmQgY29sdW1uIGNvbnRhaW5zIHRoZSBudW1iZXJzIDEsIDIsIGFuZCAzLgpIZW5jZSwgd2UgcmV0dXJuIHRydWUuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMTIvMjEvZXhhbXBsZTJkcmF3aW8ucG5nIiBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG1hdHJpeCA9IFtbMSwxLDFdLFsxLDIsM10sWzEsMiwzXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IGZhbHNlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEluIHRoaXMgY2FzZSwgbiA9IDMsIGJ1dCB0aGUgZmlyc3Qgcm93IGFuZCB0aGUgZmlyc3QgY29sdW1uIGRvIG5vdCBjb250YWluIHRoZSBudW1iZXJzIDIgb3IgMy4KSGVuY2UsIHdlIHJldHVybiBmYWxzZS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBtYXRyaXgubGVuZ3RoID09IG1hdHJpeFtpXS5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbWF0cml4W2ldW2pdICZsdDs9IG48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Matrix"
+ ]
+ },
+ {
+ "title": "2144. Minimum Cost of Buying Candies With Discount",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgc2hvcCBpcyBzZWxsaW5nIGNhbmRpZXMgYXQgYSBkaXNjb3VudC4gRm9yIDxzdHJvbmc+ZXZlcnkgdHdvPC9zdHJvbmc+IGNhbmRpZXMgc29sZCwgdGhlIHNob3AgZ2l2ZXMgYSA8c3Ryb25nPnRoaXJkPC9zdHJvbmc+IGNhbmR5IGZvciA8c3Ryb25nPmZyZWU8L3N0cm9uZz4uPC9wPgo8cD5UaGUgY3VzdG9tZXIgY2FuIGNob29zZSA8c3Ryb25nPmFueTwvc3Ryb25nPiBjYW5keSB0byB0YWtlIGF3YXkgZm9yIGZyZWUgYXMgbG9uZyBhcyB0aGUgY29zdCBvZiB0aGUgY2hvc2VuIGNhbmR5IGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byB0aGUgPHN0cm9uZz5taW5pbXVtPC9zdHJvbmc+IGNvc3Qgb2YgdGhlIHR3byBjYW5kaWVzIGJvdWdodC48L3A+Cjx1bD4KPGxpPkZvciBleGFtcGxlLCBpZiB0aGVyZSBhcmUgPGNvZGU+NDwvY29kZT4gY2FuZGllcyB3aXRoIGNvc3RzIDxjb2RlPjE8L2NvZGU+LCA8Y29kZT4yPC9jb2RlPiwgPGNvZGU+MzwvY29kZT4sIGFuZCA8Y29kZT40PC9jb2RlPiwgYW5kIHRoZSBjdXN0b21lciBidXlzIGNhbmRpZXMgd2l0aCBjb3N0cyA8Y29kZT4yPC9jb2RlPiBhbmQgPGNvZGU+MzwvY29kZT4sIHRoZXnCoGNhbiB0YWtlIHRoZSBjYW5keSB3aXRoIGNvc3QgPGNvZGU+MTwvY29kZT4gZm9yIGZyZWUsIGJ1dCBub3QgdGhlIGNhbmR5IHdpdGggY29zdCA8Y29kZT40PC9jb2RlPi48L2xpPgo8L3VsPgo8cD5HaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXkgPGNvZGU+Y29zdDwvY29kZT4sIHdoZXJlIDxjb2RlPmNvc3RbaV08L2NvZGU+IGRlbm90ZXMgdGhlIGNvc3Qgb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBjYW5keSwgcmV0dXJuIDxlbT50aGUgPHN0cm9uZz5taW5pbXVtIGNvc3Q8L3N0cm9uZz4gb2YgYnV5aW5nIDxzdHJvbmc+YWxsPC9zdHJvbmc+IHRoZSBjYW5kaWVzPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBjb3N0ID0gWzEsMiwzXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSBidXkgdGhlIGNhbmRpZXMgd2l0aCBjb3N0cyAyIGFuZCAzLCBhbmQgdGFrZSB0aGUgY2FuZHkgd2l0aCBjb3N0IDEgZm9yIGZyZWUuClRoZSB0b3RhbCBjb3N0IG9mIGJ1eWluZyBhbGwgY2FuZGllcyBpcyAyICsgMyA9IDUuIFRoaXMgaXMgdGhlIDxzdHJvbmc+b25seTwvc3Ryb25nPiB3YXkgd2UgY2FuIGJ1eSB0aGUgY2FuZGllcy4KTm90ZSB0aGF0IHdlIGNhbm5vdCBidXkgY2FuZGllcyB3aXRoIGNvc3RzIDEgYW5kIDMsIGFuZCB0aGVuIHRha2UgdGhlIGNhbmR5IHdpdGggY29zdCAyIGZvciBmcmVlLgpUaGUgY29zdCBvZiB0aGUgZnJlZSBjYW5keSBoYXMgdG8gYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoZSBtaW5pbXVtIGNvc3Qgb2YgdGhlIHB1cmNoYXNlZCBjYW5kaWVzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBjb3N0ID0gWzYsNSw3LDksMiwyXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMjMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHdheSBpbiB3aGljaCB3ZSBjYW4gZ2V0IHRoZSBtaW5pbXVtIGNvc3QgaXMgZGVzY3JpYmVkIGJlbG93OgotIEJ1eSBjYW5kaWVzIHdpdGggY29zdHMgOSBhbmQgNwotIFRha2UgdGhlIGNhbmR5IHdpdGggY29zdCA2IGZvciBmcmVlCi0gV2UgYnV5IGNhbmRpZXMgd2l0aCBjb3N0cyA1IGFuZCAyCi0gVGFrZSB0aGUgbGFzdCByZW1haW5pbmcgY2FuZHkgd2l0aCBjb3N0IDIgZm9yIGZyZWUKSGVuY2UsIHRoZSBtaW5pbXVtIGNvc3QgdG8gYnV5IGFsbCBjYW5kaWVzIGlzIDkgKyA3ICsgNSArIDIgPSAyMy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gY29zdCA9IFs1LDVdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBTaW5jZSB0aGVyZSBhcmUgb25seSAyIGNhbmRpZXMsIHdlIGJ1eSBib3RoIG9mIHRoZW0uIFRoZXJlIGlzIG5vdCBhIHRoaXJkIGNhbmR5IHdlIGNhbiB0YWtlIGZvciBmcmVlLgpIZW5jZSwgdGhlIG1pbmltdW0gY29zdCB0byBidXkgYWxsIGNhbmRpZXMgaXMgNSArIDUgPSAxMC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBjb3N0Lmxlbmd0aCAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gY29zdFtpXSAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Greedy",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2124. Check if All A's Appears Before All B's",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgc3RyaW5nIDxjb2RlPnM8L2NvZGU+IGNvbnNpc3Rpbmcgb2YgPHN0cm9uZz5vbmx5PC9zdHJvbmc+IHRoZSBjaGFyYWN0ZXJzIDxjb2RlPidhJzwvY29kZT4gYW5kIDxjb2RlPidiJzwvY29kZT4sIHJldHVybiA8Y29kZT50cnVlPC9jb2RlPiA8ZW0+aWYgPHN0cm9uZz5ldmVyeTwvc3Ryb25nPiA8L2VtPjxjb2RlPidhJzwvY29kZT4gPGVtPmFwcGVhcnMgYmVmb3JlIDxzdHJvbmc+ZXZlcnk8L3N0cm9uZz4gPC9lbT48Y29kZT4nYic8L2NvZGU+PGVtPiBpbiB0aGUgc3RyaW5nPC9lbT4uIE90aGVyd2lzZSwgcmV0dXJuIDxjb2RlPmZhbHNlPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiYWFhYmJiIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gdHJ1ZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgJ2EncyBhcmUgYXQgaW5kaWNlcyAwLCAxLCBhbmQgMiwgd2hpbGUgdGhlICdiJ3MgYXJlIGF0IGluZGljZXMgMywgNCwgYW5kIDUuCkhlbmNlLCBldmVyeSAnYScgYXBwZWFycyBiZWZvcmUgZXZlcnkgJ2InIGFuZCB3ZSByZXR1cm4gdHJ1ZS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJhYmFiIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gZmFsc2UKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlcmUgaXMgYW4gJ2EnIGF0IGluZGV4IDIgYW5kIGEgJ2InIGF0IGluZGV4IDEuCkhlbmNlLCBub3QgZXZlcnkgJ2EnIGFwcGVhcnMgYmVmb3JlIGV2ZXJ5ICdiJyBhbmQgd2UgcmV0dXJuIGZhbHNlLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImJiYiIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IHRydWUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlcmUgYXJlIG5vICdhJ3MsIGhlbmNlLCBldmVyeSAnYScgYXBwZWFycyBiZWZvcmUgZXZlcnkgJ2InIGFuZCB3ZSByZXR1cm4gdHJ1ZS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBzLmxlbmd0aCAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnNbaV08L2NvZGU+IGlzIGVpdGhlciA8Y29kZT4nYSc8L2NvZGU+IG9yIDxjb2RlPidiJzwvY29kZT4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "String"
+ ]
+ },
+ {
+ "title": "2119. A Number After a Double Reversal",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPjxzdHJvbmc+UmV2ZXJzaW5nPC9zdHJvbmc+IGFuIGludGVnZXIgbWVhbnMgdG8gcmV2ZXJzZSBhbGwgaXRzIGRpZ2l0cy48L3A+Cjx1bD4KPGxpPkZvciBleGFtcGxlLCByZXZlcnNpbmcgPGNvZGU+MjAyMTwvY29kZT4gZ2l2ZXMgPGNvZGU+MTIwMjwvY29kZT4uIFJldmVyc2luZyA8Y29kZT4xMjMwMDwvY29kZT4gZ2l2ZXMgPGNvZGU+MzIxPC9jb2RlPiBhcyB0aGUgPHN0cm9uZz5sZWFkaW5nIHplcm9zIGFyZSBub3QgcmV0YWluZWQ8L3N0cm9uZz4uPC9saT4KPC91bD4KPHA+R2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5udW08L2NvZGU+LCA8c3Ryb25nPnJldmVyc2U8L3N0cm9uZz4gPGNvZGU+bnVtPC9jb2RlPiB0byBnZXQgPGNvZGU+cmV2ZXJzZWQxPC9jb2RlPiwgPHN0cm9uZz50aGVuIHJldmVyc2U8L3N0cm9uZz4gPGNvZGU+cmV2ZXJzZWQxPC9jb2RlPiB0byBnZXQgPGNvZGU+cmV2ZXJzZWQyPC9jb2RlPi4gUmV0dXJuIDxjb2RlPnRydWU8L2NvZGU+IDxlbT5pZjwvZW0+IDxjb2RlPnJldmVyc2VkMjwvY29kZT4gPGVtPmVxdWFsczwvZW0+IDxjb2RlPm51bTwvY29kZT4uIE90aGVyd2lzZSByZXR1cm4gPGNvZGU+ZmFsc2U8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtID0gNTI2CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiB0cnVlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFJldmVyc2UgbnVtIHRvIGdldCA2MjUsIHRoZW4gcmV2ZXJzZSA2MjUgdG8gZ2V0IDUyNiwgd2hpY2ggZXF1YWxzIG51bS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtID0gMTgwMAo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gZmFsc2UKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gUmV2ZXJzZSBudW0gdG8gZ2V0IDgxLCB0aGVuIHJldmVyc2UgODEgdG8gZ2V0IDE4LCB3aGljaCBkb2VzIG5vdCBlcXVhbCBudW0uCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bSA9IDAKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IHRydWUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gUmV2ZXJzZSBudW0gdG8gZ2V0IDAsIHRoZW4gcmV2ZXJzZSAwIHRvIGdldCAwLCB3aGljaCBlcXVhbHMgbnVtLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4wICZsdDs9IG51bSAmbHQ7PSAxMDxzdXA+Njwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Math"
+ ]
+ },
+ {
+ "title": "2129. Capitalize the Title",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+dGl0bGU8L2NvZGU+IGNvbnNpc3Rpbmcgb2Ygb25lIG9yIG1vcmUgd29yZHMgc2VwYXJhdGVkIGJ5IGEgc2luZ2xlIHNwYWNlLCB3aGVyZSBlYWNoIHdvcmQgY29uc2lzdHMgb2YgRW5nbGlzaCBsZXR0ZXJzLiA8c3Ryb25nPkNhcGl0YWxpemU8L3N0cm9uZz4gdGhlIHN0cmluZyBieSBjaGFuZ2luZyB0aGUgY2FwaXRhbGl6YXRpb24gb2YgZWFjaCB3b3JkIHN1Y2ggdGhhdDo8L3A+Cjx1bD4KPGxpPklmIHRoZSBsZW5ndGggb2YgdGhlIHdvcmQgaXMgPGNvZGU+MTwvY29kZT4gb3IgPGNvZGU+MjwvY29kZT4gbGV0dGVycywgY2hhbmdlIGFsbCBsZXR0ZXJzIHRvIGxvd2VyY2FzZS48L2xpPgo8bGk+T3RoZXJ3aXNlLCBjaGFuZ2UgdGhlIGZpcnN0IGxldHRlciB0byB1cHBlcmNhc2UgYW5kIHRoZSByZW1haW5pbmcgbGV0dGVycyB0byBsb3dlcmNhc2UuPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5jYXBpdGFsaXplZDwvc3Ryb25nPiA8L2VtPjxjb2RlPnRpdGxlPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHRpdGxlID0gImNhcGlUYWxJemUgdEhlIHRpdExlIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gIkNhcGl0YWxpemUgVGhlIFRpdGxlIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpTaW5jZSBhbGwgdGhlIHdvcmRzIGhhdmUgYSBsZW5ndGggb2YgYXQgbGVhc3QgMywgdGhlIGZpcnN0IGxldHRlciBvZiBlYWNoIHdvcmQgaXMgdXBwZXJjYXNlLCBhbmQgdGhlIHJlbWFpbmluZyBsZXR0ZXJzIGFyZSBsb3dlcmNhc2UuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHRpdGxlID0gIkZpcnN0IGxlVFRlUiBvZiBFQUNIIFdvcmQiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiRmlyc3QgTGV0dGVyIG9mIEVhY2ggV29yZCIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIHdvcmQgIm9mIiBoYXMgbGVuZ3RoIDIsIHNvIGl0IGlzIGFsbCBsb3dlcmNhc2UuClRoZSByZW1haW5pbmcgd29yZHMgaGF2ZSBhIGxlbmd0aCBvZiBhdCBsZWFzdCAzLCBzbyB0aGUgZmlyc3QgbGV0dGVyIG9mIGVhY2ggcmVtYWluaW5nIHdvcmQgaXMgdXBwZXJjYXNlLCBhbmQgdGhlIHJlbWFpbmluZyBsZXR0ZXJzIGFyZSBsb3dlcmNhc2UuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHRpdGxlID0gImkgbE92ZSBsZWV0Y29kZSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICJpIExvdmUgTGVldGNvZGUiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSB3b3JkICJpIiBoYXMgbGVuZ3RoIDEsIHNvIGl0IGlzIGxvd2VyY2FzZS4KVGhlIHJlbWFpbmluZyB3b3JkcyBoYXZlIGEgbGVuZ3RoIG9mIGF0IGxlYXN0IDMsIHNvIHRoZSBmaXJzdCBsZXR0ZXIgb2YgZWFjaCByZW1haW5pbmcgd29yZCBpcyB1cHBlcmNhc2UsIGFuZCB0aGUgcmVtYWluaW5nIGxldHRlcnMgYXJlIGxvd2VyY2FzZS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSB0aXRsZS5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT50aXRsZTwvY29kZT4gY29uc2lzdHMgb2Ygd29yZHMgc2VwYXJhdGVkIGJ5IGEgc2luZ2xlIHNwYWNlIHdpdGhvdXQgYW55IGxlYWRpbmcgb3IgdHJhaWxpbmcgc3BhY2VzLjwvbGk+CjxsaT5FYWNoIHdvcmQgY29uc2lzdHMgb2YgdXBwZXJjYXNlIGFuZCBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzIGFuZCBpcyA8c3Ryb25nPm5vbi1lbXB0eTwvc3Ryb25nPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "String"
+ ]
+ },
+ {
+ "title": "2108. Find First Palindromic String in the Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGFycmF5IG9mIHN0cmluZ3MgPGNvZGU+d29yZHM8L2NvZGU+LCByZXR1cm4gPGVtPnRoZSBmaXJzdCA8c3Ryb25nPnBhbGluZHJvbWljPC9zdHJvbmc+IHN0cmluZyBpbiB0aGUgYXJyYXk8L2VtPi4gSWYgdGhlcmUgaXMgbm8gc3VjaCBzdHJpbmcsIHJldHVybiA8ZW0+YW4gPHN0cm9uZz5lbXB0eSBzdHJpbmc8L3N0cm9uZz4gPC9lbT48Y29kZT4iIjwvY29kZT4uPC9wPgo8cD5BIHN0cmluZyBpcyA8c3Ryb25nPnBhbGluZHJvbWljPC9zdHJvbmc+IGlmIGl0IHJlYWRzIHRoZSBzYW1lIGZvcndhcmQgYW5kIGJhY2t3YXJkLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZHMgPSBbImFiYyIsImNhciIsImFkYSIsInJhY2VjYXIiLCJjb29sIl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICJhZGEiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBmaXJzdCBzdHJpbmcgdGhhdCBpcyBwYWxpbmRyb21pYyBpcyAiYWRhIi4KTm90ZSB0aGF0ICJyYWNlY2FyIiBpcyBhbHNvIHBhbGluZHJvbWljLCBidXQgaXQgaXMgbm90IHRoZSBmaXJzdC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZHMgPSBbIm5vdGFwYWxpbmRyb21lIiwicmFjZWNhciJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAicmFjZWNhciIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGZpcnN0IGFuZCBvbmx5IHN0cmluZyB0aGF0IGlzIHBhbGluZHJvbWljIGlzICJyYWNlY2FyIi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZHMgPSBbImRlZiIsImdoaSJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGVyZSBhcmUgbm8gcGFsaW5kcm9taWMgc3RyaW5ncywgc28gdGhlIGVtcHR5IHN0cmluZyBpcyByZXR1cm5lZC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSB3b3Jkcy5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHdvcmRzW2ldLmxlbmd0aCAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPndvcmRzW2ldPC9jb2RlPiBjb25zaXN0cyBvbmx5IG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Two Pointers",
+ "String"
+ ]
+ },
+ {
+ "title": "2103. Rings and Rods",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGFyZSA8Y29kZT5uPC9jb2RlPiByaW5ncyBhbmQgZWFjaCByaW5nIGlzIGVpdGhlciByZWQsIGdyZWVuLCBvciBibHVlLiBUaGUgcmluZ3MgYXJlIGRpc3RyaWJ1dGVkIDxzdHJvbmc+YWNyb3NzIHRlbiByb2RzPC9zdHJvbmc+IGxhYmVsZWQgZnJvbSA8Y29kZT4wPC9jb2RlPiB0byA8Y29kZT45PC9jb2RlPi48L3A+CjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+cmluZ3M8L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT4ybjwvY29kZT4gdGhhdCBkZXNjcmliZXMgdGhlIDxjb2RlPm48L2NvZGU+IHJpbmdzIHRoYXQgYXJlIHBsYWNlZCBvbnRvIHRoZSByb2RzLiBFdmVyeSB0d28gY2hhcmFjdGVycyBpbiA8Y29kZT5yaW5nczwvY29kZT4gZm9ybXMgYSA8c3Ryb25nPmNvbG9yLXBvc2l0aW9uIHBhaXI8L3N0cm9uZz4gdGhhdCBpcyB1c2VkIHRvIGRlc2NyaWJlIGVhY2ggcmluZyB3aGVyZTo8L3A+Cjx1bD4KPGxpPlRoZSA8c3Ryb25nPmZpcnN0PC9zdHJvbmc+IGNoYXJhY3RlciBvZiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHBhaXIgZGVub3RlcyB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHJpbmcncyA8c3Ryb25nPmNvbG9yPC9zdHJvbmc+ICg8Y29kZT4nUic8L2NvZGU+LCA8Y29kZT4nRyc8L2NvZGU+LCA8Y29kZT4nQic8L2NvZGU+KS48L2xpPgo8bGk+VGhlIDxzdHJvbmc+c2Vjb25kPC9zdHJvbmc+IGNoYXJhY3RlciBvZiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHBhaXIgZGVub3RlcyB0aGUgPHN0cm9uZz5yb2Q8L3N0cm9uZz4gdGhhdCB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHJpbmcgaXMgcGxhY2VkIG9uICg8Y29kZT4nMCc8L2NvZGU+IHRvIDxjb2RlPic5JzwvY29kZT4pLjwvbGk+CjwvdWw+CjxwPkZvciBleGFtcGxlLCA8Y29kZT4iUjNHMkIxIjwvY29kZT4gZGVzY3JpYmVzIDxjb2RlPm4gPT0gMzwvY29kZT4gcmluZ3M6IGEgcmVkIHJpbmcgcGxhY2VkIG9udG8gdGhlIHJvZCBsYWJlbGVkIDMsIGEgZ3JlZW4gcmluZyBwbGFjZWQgb250byB0aGUgcm9kIGxhYmVsZWQgMiwgYW5kIGEgYmx1ZSByaW5nIHBsYWNlZCBvbnRvIHRoZSByb2QgbGFiZWxlZCAxLjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgbnVtYmVyIG9mIHJvZHMgdGhhdCBoYXZlIDxzdHJvbmc+YWxsIHRocmVlIGNvbG9yczwvc3Ryb25nPiBvZiByaW5ncyBvbiB0aGVtLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzExLzIzL2V4MWZpbmFsLnBuZyIgc3R5bGU9IndpZHRoOiAyNThweDsgaGVpZ2h0OiAxMzBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiByaW5ncyA9ICJCMEI2RzBSNlIwUjZHOSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCi0gVGhlIHJvZCBsYWJlbGVkIDAgaG9sZHMgMyByaW5ncyB3aXRoIGFsbCBjb2xvcnM6IHJlZCwgZ3JlZW4sIGFuZCBibHVlLgotIFRoZSByb2QgbGFiZWxlZCA2IGhvbGRzIDMgcmluZ3MsIGJ1dCBpdCBvbmx5IGhhcyByZWQgYW5kIGJsdWUuCi0gVGhlIHJvZCBsYWJlbGVkIDkgaG9sZHMgb25seSBhIGdyZWVuIHJpbmcuClRodXMsIHRoZSBudW1iZXIgb2Ygcm9kcyB3aXRoIGFsbCB0aHJlZSBjb2xvcnMgaXMgMS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8xMS8yMy9leDJmaW5hbC5wbmciIHN0eWxlPSJ3aWR0aDogMjY2cHg7IGhlaWdodDogMTMwcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcmluZ3MgPSAiQjBSMEcwUjlSMEIwRzAiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IAotIFRoZSByb2QgbGFiZWxlZCAwIGhvbGRzIDYgcmluZ3Mgd2l0aCBhbGwgY29sb3JzOiByZWQsIGdyZWVuLCBhbmQgYmx1ZS4KLSBUaGUgcm9kIGxhYmVsZWQgOSBob2xkcyBvbmx5IGEgcmVkIHJpbmcuClRodXMsIHRoZSBudW1iZXIgb2Ygcm9kcyB3aXRoIGFsbCB0aHJlZSBjb2xvcnMgaXMgMS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcmluZ3MgPSAiRzQiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApPbmx5IG9uZSByaW5nIGlzIGdpdmVuLiBUaHVzLCBubyByb2RzIGhhdmUgYWxsIHRocmVlIGNvbG9ycy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+cmluZ3MubGVuZ3RoID09IDIgKiBuPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5yaW5nc1tpXTwvY29kZT4gd2hlcmUgPGNvZGU+aTwvY29kZT4gaXMgPHN0cm9uZz5ldmVuPC9zdHJvbmc+IGlzIGVpdGhlciA8Y29kZT4nUic8L2NvZGU+LCA8Y29kZT4nRyc8L2NvZGU+LCBvciA8Y29kZT4nQic8L2NvZGU+ICg8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPikuPC9saT4KPGxpPjxjb2RlPnJpbmdzW2ldPC9jb2RlPiB3aGVyZSA8Y29kZT5pPC9jb2RlPiBpcyA8c3Ryb25nPm9kZDwvc3Ryb25nPiBpcyBhIGRpZ2l0IGZyb20gPGNvZGU+JzAnPC9jb2RlPiB0byA8Y29kZT4nOSc8L2NvZGU+ICg8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPikuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Hash Table",
+ "String"
+ ]
+ },
+ {
+ "title": "2114. Maximum Number of Words Found in Sentences",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgPHN0cm9uZz5zZW50ZW5jZTwvc3Ryb25nPiBpcyBhIGxpc3Qgb2YgPHN0cm9uZz53b3Jkczwvc3Ryb25nPiB0aGF0IGFyZSBzZXBhcmF0ZWQgYnkgYSBzaW5nbGUgc3BhY2XCoHdpdGggbm8gbGVhZGluZyBvciB0cmFpbGluZyBzcGFjZXMuPC9wPgo8cD5Zb3UgYXJlIGdpdmVuIGFuIGFycmF5IG9mIHN0cmluZ3MgPGNvZGU+c2VudGVuY2VzPC9jb2RlPiwgd2hlcmUgZWFjaCA8Y29kZT5zZW50ZW5jZXNbaV08L2NvZGU+IHJlcHJlc2VudHMgYSBzaW5nbGUgPHN0cm9uZz5zZW50ZW5jZTwvc3Ryb25nPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWF4aW11bSBudW1iZXIgb2Ygd29yZHM8L3N0cm9uZz4gdGhhdCBhcHBlYXIgaW4gYSBzaW5nbGUgc2VudGVuY2U8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHNlbnRlbmNlcyA9IFsiYWxpY2UgYW5kIGJvYiBsb3ZlIGxlZXRjb2RlIiwgImkgdGhpbmsgc28gdG9vIiwgPHU+InRoaXMgaXMgZ3JlYXQgdGhhbmtzIHZlcnkgbXVjaCI8L3U+XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKLSBUaGUgZmlyc3Qgc2VudGVuY2UsICJhbGljZSBhbmQgYm9iIGxvdmUgbGVldGNvZGUiLCBoYXMgNSB3b3JkcyBpbiB0b3RhbC4KLSBUaGUgc2Vjb25kIHNlbnRlbmNlLCAiaSB0aGluayBzbyB0b28iLCBoYXMgNCB3b3JkcyBpbiB0b3RhbC4KLSBUaGUgdGhpcmQgc2VudGVuY2UsICJ0aGlzIGlzIGdyZWF0IHRoYW5rcyB2ZXJ5IG11Y2giLCBoYXMgNiB3b3JkcyBpbiB0b3RhbC4KVGh1cywgdGhlIG1heGltdW0gbnVtYmVyIG9mIHdvcmRzIGluIGEgc2luZ2xlIHNlbnRlbmNlIGNvbWVzIGZyb20gdGhlIHRoaXJkIHNlbnRlbmNlLCB3aGljaCBoYXMgNiB3b3Jkcy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gc2VudGVuY2VzID0gWyJwbGVhc2Ugd2FpdCIsIDx1PiJjb250aW51ZSB0byBmaWdodCI8L3U+LCA8dT4iY29udGludWUgdG8gd2luIjwvdT5dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEl0IGlzIHBvc3NpYmxlIHRoYXQgbXVsdGlwbGUgc2VudGVuY2VzIGNvbnRhaW4gdGhlIHNhbWUgbnVtYmVyIG9mIHdvcmRzLiAKSW4gdGhpcyBleGFtcGxlLCB0aGUgc2Vjb25kIGFuZCB0aGlyZCBzZW50ZW5jZXMgKHVuZGVybGluZWQpIGhhdmUgdGhlIHNhbWUgbnVtYmVyIG9mIHdvcmRzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHNlbnRlbmNlcy5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHNlbnRlbmNlc1tpXS5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zZW50ZW5jZXNbaV08L2NvZGU+IGNvbnNpc3RzIG9ubHkgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycyBhbmQgPGNvZGU+JyAnPC9jb2RlPiBvbmx5LjwvbGk+CjxsaT48Y29kZT5zZW50ZW5jZXNbaV08L2NvZGU+IGRvZXMgbm90IGhhdmUgbGVhZGluZyBvciB0cmFpbGluZyBzcGFjZXMuPC9saT4KPGxpPkFsbCB0aGUgd29yZHMgaW4gPGNvZGU+c2VudGVuY2VzW2ldPC9jb2RlPiBhcmUgc2VwYXJhdGVkIGJ5IGEgc2luZ2xlIHNwYWNlLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "String"
+ ]
+ },
+ {
+ "title": "2094. Finding 3-Digit Even Numbers",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5kaWdpdHM8L2NvZGU+LCB3aGVyZSBlYWNoIGVsZW1lbnQgaXMgYSBkaWdpdC4gVGhlIGFycmF5IG1heSBjb250YWluIGR1cGxpY2F0ZXMuPC9wPgo8cD5Zb3UgbmVlZCB0byBmaW5kIDxzdHJvbmc+YWxsPC9zdHJvbmc+IHRoZSA8c3Ryb25nPnVuaXF1ZTwvc3Ryb25nPiBpbnRlZ2VycyB0aGF0IGZvbGxvdyB0aGUgZ2l2ZW4gcmVxdWlyZW1lbnRzOjwvcD4KPHVsPgo8bGk+VGhlIGludGVnZXIgY29uc2lzdHMgb2YgdGhlIDxzdHJvbmc+Y29uY2F0ZW5hdGlvbjwvc3Ryb25nPiBvZiA8c3Ryb25nPnRocmVlPC9zdHJvbmc+IGVsZW1lbnRzIGZyb20gPGNvZGU+ZGlnaXRzPC9jb2RlPiBpbiA8c3Ryb25nPmFueTwvc3Ryb25nPiBhcmJpdHJhcnkgb3JkZXIuPC9saT4KPGxpPlRoZSBpbnRlZ2VyIGRvZXMgbm90IGhhdmUgPHN0cm9uZz5sZWFkaW5nIHplcm9zPC9zdHJvbmc+LjwvbGk+CjxsaT5UaGUgaW50ZWdlciBpcyA8c3Ryb25nPmV2ZW48L3N0cm9uZz4uPC9saT4KPC91bD4KPHA+Rm9yIGV4YW1wbGUsIGlmIHRoZSBnaXZlbiA8Y29kZT5kaWdpdHM8L2NvZGU+IHdlcmUgPGNvZGU+WzEsIDIsIDNdPC9jb2RlPiwgaW50ZWdlcnMgPGNvZGU+MTMyPC9jb2RlPiBhbmQgPGNvZGU+MzEyPC9jb2RlPiBmb2xsb3cgdGhlIHJlcXVpcmVtZW50cy48L3A+CjxwPlJldHVybiA8ZW0+YSA8c3Ryb25nPnNvcnRlZDwvc3Ryb25nPiBhcnJheSBvZiB0aGUgdW5pcXVlIGludGVnZXJzLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBkaWdpdHMgPSBbMiwxLDMsMF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsxMDIsMTIwLDEzMCwxMzIsMjEwLDIzMCwzMDIsMzEwLDMxMiwzMjBdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEFsbCB0aGUgcG9zc2libGUgaW50ZWdlcnMgdGhhdCBmb2xsb3cgdGhlIHJlcXVpcmVtZW50cyBhcmUgaW4gdGhlIG91dHB1dCBhcnJheS4gCk5vdGljZSB0aGF0IHRoZXJlIGFyZSBubyA8c3Ryb25nPm9kZDwvc3Ryb25nPiBpbnRlZ2VycyBvciBpbnRlZ2VycyB3aXRoIDxzdHJvbmc+bGVhZGluZyB6ZXJvczwvc3Ryb25nPi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZGlnaXRzID0gWzIsMiw4LDgsMl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsyMjIsMjI4LDI4MiwyODgsODIyLDgyOCw4ODJdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBzYW1lIGRpZ2l0IGNhbiBiZSB1c2VkIGFzIG1hbnkgdGltZXMgYXMgaXQgYXBwZWFycyBpbiBkaWdpdHMuIApJbiB0aGlzIGV4YW1wbGUsIHRoZSBkaWdpdCA4IGlzIHVzZWQgdHdpY2UgZWFjaCB0aW1lIGluIDI4OCwgODI4LCBhbmQgODgyLiAKPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZGlnaXRzID0gWzMsNyw1XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gW10KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gTm8gPHN0cm9uZz5ldmVuPC9zdHJvbmc+IGludGVnZXJzIGNhbiBiZSBmb3JtZWQgdXNpbmcgdGhlIGdpdmVuIGRpZ2l0cy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MyAmbHQ7PSBkaWdpdHMubGVuZ3RoICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBkaWdpdHNbaV0gJmx0Oz0gOTwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Sorting",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2089. Find Target Indices After Sorting Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IGFuZCBhIHRhcmdldCBlbGVtZW50IDxjb2RlPnRhcmdldDwvY29kZT4uPC9wPgo8cD5BIDxzdHJvbmc+dGFyZ2V0IGluZGV4PC9zdHJvbmc+IGlzIGFuIGluZGV4IDxjb2RlPmk8L2NvZGU+IHN1Y2ggdGhhdCA8Y29kZT5udW1zW2ldID09IHRhcmdldDwvY29kZT4uPC9wPgo8cD5SZXR1cm4gPGVtPmEgbGlzdCBvZiB0aGUgdGFyZ2V0IGluZGljZXMgb2Y8L2VtPiA8Y29kZT5udW1zPC9jb2RlPiBhZnRlcjxlbT4gc29ydGluZyA8L2VtPjxjb2RlPm51bXM8L2NvZGU+PGVtPiBpbiA8c3Ryb25nPm5vbi1kZWNyZWFzaW5nPC9zdHJvbmc+IG9yZGVyPC9lbT4uIElmIHRoZXJlIGFyZSBubyB0YXJnZXQgaW5kaWNlcywgcmV0dXJuIDxlbT5hbiA8c3Ryb25nPmVtcHR5PC9zdHJvbmc+IGxpc3Q8L2VtPi4gVGhlIHJldHVybmVkIGxpc3QgbXVzdCBiZSBzb3J0ZWQgaW4gPHN0cm9uZz5pbmNyZWFzaW5nPC9zdHJvbmc+IG9yZGVyLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDIsNSwyLDNdLCB0YXJnZXQgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMSwyXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBBZnRlciBzb3J0aW5nLCBudW1zIGlzIFsxLDx1PjxzdHJvbmc+Mjwvc3Ryb25nPjwvdT4sPHU+PHN0cm9uZz4yPC9zdHJvbmc+PC91PiwzLDVdLgpUaGUgaW5kaWNlcyB3aGVyZSBudW1zW2ldID09IDIgYXJlIDEgYW5kIDIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSwyLDUsMiwzXSwgdGFyZ2V0ID0gMwo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzNdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEFmdGVyIHNvcnRpbmcsIG51bXMgaXMgWzEsMiwyLDx1PjxzdHJvbmc+Mzwvc3Ryb25nPjwvdT4sNV0uClRoZSBpbmRleCB3aGVyZSBudW1zW2ldID09IDMgaXMgMy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDIsNSwyLDNdLCB0YXJnZXQgPSA1CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbNF0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gQWZ0ZXIgc29ydGluZywgbnVtcyBpcyBbMSwyLDIsMyw8dT48c3Ryb25nPjU8L3N0cm9uZz48L3U+XS4KVGhlIGluZGV4IHdoZXJlIG51bXNbaV0gPT0gNSBpcyA0Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldLCB0YXJnZXQgJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2099. Find Subsequence of Length K With the Largest Sum",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBhbmQgYW4gaW50ZWdlciA8Y29kZT5rPC9jb2RlPi4gWW91IHdhbnQgdG8gZmluZCBhIDxzdHJvbmc+c3Vic2VxdWVuY2UgPC9zdHJvbmc+b2YgPGNvZGU+bnVtczwvY29kZT4gb2YgbGVuZ3RoIDxjb2RlPms8L2NvZGU+IHRoYXQgaGFzIHRoZSA8c3Ryb25nPmxhcmdlc3Q8L3N0cm9uZz4gc3VtLjwvcD4KPHA+UmV0dXJuPGVtPiA8L2VtPjxlbT48c3Ryb25nPmFueTwvc3Ryb25nPiBzdWNoIHN1YnNlcXVlbmNlIGFzIGFuIGludGVnZXIgYXJyYXkgb2YgbGVuZ3RoIDwvZW0+PGNvZGU+azwvY29kZT4uPC9wPgo8cD5BIDxzdHJvbmc+c3Vic2VxdWVuY2U8L3N0cm9uZz4gaXMgYW4gYXJyYXkgdGhhdCBjYW4gYmUgZGVyaXZlZCBmcm9tIGFub3RoZXIgYXJyYXkgYnkgZGVsZXRpbmcgc29tZSBvciBubyBlbGVtZW50cyB3aXRob3V0IGNoYW5naW5nIHRoZSBvcmRlciBvZiB0aGUgcmVtYWluaW5nIGVsZW1lbnRzLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsyLDEsMywzXSwgayA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFszLDNdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBzdWJzZXF1ZW5jZSBoYXMgdGhlIGxhcmdlc3Qgc3VtIG9mIDMgKyAzID0gNi48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWy0xLC0yLDMsNF0sIGsgPSAzCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbLTEsMyw0XQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKVGhlIHN1YnNlcXVlbmNlIGhhcyB0aGUgbGFyZ2VzdCBzdW0gb2YgLTEgKyAzICsgNCA9IDYuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMyw0LDMsM10sIGsgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMyw0XQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgc3Vic2VxdWVuY2UgaGFzIHRoZSBsYXJnZXN0IHN1bSBvZiAzICsgNCA9IDcuIApBbm90aGVyIHBvc3NpYmxlIHN1YnNlcXVlbmNlIGlzIFs0LCAzXS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4tMTA8c3VwPjU8L3N1cD7CoCZsdDs9IG51bXNbaV0gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gayAmbHQ7PSBudW1zLmxlbmd0aDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Sorting",
+ "Heap (Priority Queue)"
+ ]
+ },
+ {
+ "title": "2078. Two Furthest Houses With Different Colors",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGFyZSA8Y29kZT5uPC9jb2RlPiBob3VzZXMgZXZlbmx5IGxpbmVkIHVwIG9uIHRoZSBzdHJlZXQsIGFuZCBlYWNoIGhvdXNlIGlzIGJlYXV0aWZ1bGx5IHBhaW50ZWQuIFlvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPmNvbG9yczwvY29kZT4gb2YgbGVuZ3RoIDxjb2RlPm48L2NvZGU+LCB3aGVyZSA8Y29kZT5jb2xvcnNbaV08L2NvZGU+IHJlcHJlc2VudHMgdGhlIGNvbG9yIG9mIHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gaG91c2UuPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1heGltdW08L3N0cm9uZz4gZGlzdGFuY2UgYmV0d2VlbiA8c3Ryb25nPnR3bzwvc3Ryb25nPiBob3VzZXMgd2l0aCA8c3Ryb25nPmRpZmZlcmVudDwvc3Ryb25nPiBjb2xvcnM8L2VtPi48L3A+CjxwPlRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gYW5kIDxjb2RlPmo8c3VwPnRoPC9zdXA+PC9jb2RlPiBob3VzZXMgaXMgPGNvZGU+YWJzKGkgLSBqKTwvY29kZT4sIHdoZXJlIDxjb2RlPmFicyh4KTwvY29kZT4gaXMgdGhlIDxzdHJvbmc+YWJzb2x1dGUgdmFsdWU8L3N0cm9uZz4gb2YgPGNvZGU+eDwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzEwLzMxL2VnMS5wbmciIHN0eWxlPSJ3aWR0aDogNjEwcHg7IGhlaWdodDogODRweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBjb2xvcnMgPSBbPHU+PHN0cm9uZz4xPC9zdHJvbmc+PC91PiwxLDEsPHN0cm9uZz48dT42PC91Pjwvc3Ryb25nPiwxLDEsMV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gSW4gdGhlIGFib3ZlIGltYWdlLCBjb2xvciAxIGlzIGJsdWUsIGFuZCBjb2xvciA2IGlzIHJlZC4KVGhlIGZ1cnRoZXN0IHR3byBob3VzZXMgd2l0aCBkaWZmZXJlbnQgY29sb3JzIGFyZSBob3VzZSAwIGFuZCBob3VzZSAzLgpIb3VzZSAwIGhhcyBjb2xvciAxLCBhbmQgaG91c2UgMyBoYXMgY29sb3IgNi4gVGhlIGRpc3RhbmNlIGJldHdlZW4gdGhlbSBpcyBhYnMoMCAtIDMpID0gMy4KTm90ZSB0aGF0IGhvdXNlcyAzIGFuZCA2IGNhbiBhbHNvIHByb2R1Y2UgdGhlIG9wdGltYWwgYW5zd2VyLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzEwLzMxL2VnMi5wbmciIHN0eWxlPSJ3aWR0aDogNDI2cHg7IGhlaWdodDogODRweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBjb2xvcnMgPSBbPHU+PHN0cm9uZz4xPC9zdHJvbmc+PC91Piw4LDMsOCw8dT48c3Ryb25nPjM8L3N0cm9uZz48L3U+XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBJbiB0aGUgYWJvdmUgaW1hZ2UsIGNvbG9yIDEgaXMgYmx1ZSwgY29sb3IgOCBpcyB5ZWxsb3csIGFuZCBjb2xvciAzIGlzIGdyZWVuLgpUaGUgZnVydGhlc3QgdHdvIGhvdXNlcyB3aXRoIGRpZmZlcmVudCBjb2xvcnMgYXJlIGhvdXNlIDAgYW5kIGhvdXNlIDQuCkhvdXNlIDAgaGFzIGNvbG9yIDEsIGFuZCBob3VzZSA0IGhhcyBjb2xvciAzLiBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGVtIGlzIGFicygwIC0gNCkgPSA0Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBjb2xvcnMgPSBbPHU+PHN0cm9uZz4wPC9zdHJvbmc+PC91Piw8c3Ryb25nPjx1PjE8L3U+PC9zdHJvbmc+XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgZnVydGhlc3QgdHdvIGhvdXNlcyB3aXRoIGRpZmZlcmVudCBjb2xvcnMgYXJlIGhvdXNlIDAgYW5kIGhvdXNlIDEuCkhvdXNlIDAgaGFzIGNvbG9yIDAsIGFuZCBob3VzZSAxIGhhcyBjb2xvciAxLiBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGVtIGlzIGFicygwIC0gMSkgPSAxLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09wqBjb2xvcnMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4yICZsdDs9IG4gJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IGNvbG9yc1tpXSAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPlRlc3QgZGF0YSBhcmUgZ2VuZXJhdGVkIHN1Y2ggdGhhdCA8c3Ryb25nPmF0IGxlYXN0PC9zdHJvbmc+IHR3byBob3VzZXMgaGF2ZSBkaWZmZXJlbnQgY29sb3JzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Greedy"
+ ]
+ },
+ {
+ "title": "2073. Time Needed to Buy Tickets",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGFyZSA8Y29kZT5uPC9jb2RlPiBwZW9wbGUgaW4gYSBsaW5lIHF1ZXVpbmcgdG8gYnV5IHRpY2tldHMsIHdoZXJlIHRoZSA8Y29kZT4wPHN1cD50aDwvc3VwPjwvY29kZT4gcGVyc29uIGlzIGF0IHRoZSA8c3Ryb25nPmZyb250PC9zdHJvbmc+IG9mIHRoZSBsaW5lIGFuZCB0aGUgPGNvZGU+KG4gLSAxKTxzdXA+dGg8L3N1cD48L2NvZGU+IHBlcnNvbiBpcyBhdCB0aGUgPHN0cm9uZz5iYWNrPC9zdHJvbmc+IG9mIHRoZSBsaW5lLjwvcD4KPHA+WW91IGFyZSBnaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXkgPGNvZGU+dGlja2V0czwvY29kZT4gb2YgbGVuZ3RoIDxjb2RlPm48L2NvZGU+IHdoZXJlIHRoZSBudW1iZXIgb2YgdGlja2V0cyB0aGF0IHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gcGVyc29uIHdvdWxkIGxpa2UgdG8gYnV5IGlzIDxjb2RlPnRpY2tldHNbaV08L2NvZGU+LjwvcD4KPHA+RWFjaCBwZXJzb24gdGFrZXMgPHN0cm9uZz5leGFjdGx5IDEgc2Vjb25kPC9zdHJvbmc+IHRvIGJ1eSBhIHRpY2tldC4gQSBwZXJzb24gY2FuIG9ubHkgYnV5IDxzdHJvbmc+MSB0aWNrZXQgYXQgYSB0aW1lPC9zdHJvbmc+IGFuZCBoYXMgdG8gZ28gYmFjayB0byA8c3Ryb25nPnRoZSBlbmQ8L3N0cm9uZz4gb2YgdGhlIGxpbmUgKHdoaWNoIGhhcHBlbnMgPHN0cm9uZz5pbnN0YW50YW5lb3VzbHk8L3N0cm9uZz4pIGluIG9yZGVyIHRvIGJ1eSBtb3JlIHRpY2tldHMuIElmIGEgcGVyc29uIGRvZXMgbm90IGhhdmUgYW55IHRpY2tldHMgbGVmdCB0byBidXksIHRoZSBwZXJzb24gd2lsbCA8c3Ryb25nPmxlYXZlIDwvc3Ryb25nPnRoZSBsaW5lLjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz50aW1lIHRha2VuPC9zdHJvbmc+IGZvciB0aGUgcGVyc29uIGF0IHBvc2l0aW9uIDwvZW0+PGNvZGU+azwvY29kZT48ZW0+wqA8L2VtPjxzdHJvbmc+PGVtPigwLWluZGV4ZWQpPC9lbT7CoDwvc3Ryb25nPjxlbT50byBmaW5pc2ggYnV5aW5nIHRpY2tldHM8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHRpY2tldHMgPSBbMiwzLDJdLCBrID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKLSBJbiB0aGUgZmlyc3QgcGFzcywgZXZlcnlvbmUgaW4gdGhlIGxpbmUgYnV5cyBhIHRpY2tldCBhbmQgdGhlIGxpbmUgYmVjb21lcyBbMSwgMiwgMV0uCi0gSW4gdGhlIHNlY29uZCBwYXNzLCBldmVyeW9uZSBpbiB0aGUgbGluZSBidXlzIGEgdGlja2V0IGFuZCB0aGUgbGluZSBiZWNvbWVzIFswLCAxLCAwXS4KVGhlIHBlcnNvbiBhdMKgcG9zaXRpb24gMiBoYXMgc3VjY2Vzc2Z1bGx5IGJvdWdodCAyIHRpY2tldHMgYW5kIGl0IHRvb2sgMyArIDMgPSA2IHNlY29uZHMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHRpY2tldHMgPSBbNSwxLDEsMV0sIGsgPSAwCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA4CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ci0gSW4gdGhlIGZpcnN0IHBhc3MsIGV2ZXJ5b25lIGluIHRoZSBsaW5lIGJ1eXMgYSB0aWNrZXQgYW5kIHRoZSBsaW5lIGJlY29tZXMgWzQsIDAsIDAsIDBdLgotIEluIHRoZSBuZXh0IDQgcGFzc2VzLCBvbmx5IHRoZSBwZXJzb24gaW4gcG9zaXRpb24gMCBpcyBidXlpbmcgdGlja2V0cy4KVGhlIHBlcnNvbiBhdMKgcG9zaXRpb24gMCBoYXMgc3VjY2Vzc2Z1bGx5IGJvdWdodCA1IHRpY2tldHMgYW5kIGl0IHRvb2sgNCArIDEgKyAxICsgMSArIDEgPSA4IHNlY29uZHMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gdGlja2V0cy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gdGlja2V0c1tpXSAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gayAmbHQ7IG48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Queue",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2085. Count Common Words With One Occurrence",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIHR3byBzdHJpbmcgYXJyYXlzIDxjb2RlPndvcmRzMTwvY29kZT4gYW5kIDxjb2RlPndvcmRzMjwvY29kZT4sIHJldHVybiA8ZW0+dGhlIG51bWJlciBvZiBzdHJpbmdzIHRoYXQgYXBwZWFyIDxzdHJvbmc+ZXhhY3RseSBvbmNlPC9zdHJvbmc+IGluIDxiPmVhY2g8L2I+wqBvZiB0aGUgdHdvIGFycmF5cy48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZHMxID0gWyJsZWV0Y29kZSIsImlzIiwiYW1hemluZyIsImFzIiwiaXMiXSwgd29yZHMyID0gWyJhbWF6aW5nIiwibGVldGNvZGUiLCJpcyJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ci0gImxlZXRjb2RlIiBhcHBlYXJzIGV4YWN0bHkgb25jZSBpbiBlYWNoIG9mIHRoZSB0d28gYXJyYXlzLiBXZSBjb3VudCB0aGlzIHN0cmluZy4KLSAiYW1hemluZyIgYXBwZWFycyBleGFjdGx5IG9uY2UgaW4gZWFjaCBvZiB0aGUgdHdvIGFycmF5cy4gV2UgY291bnQgdGhpcyBzdHJpbmcuCi0gImlzIiBhcHBlYXJzIGluIGVhY2ggb2YgdGhlIHR3byBhcnJheXMsIGJ1dCB0aGVyZSBhcmUgMiBvY2N1cnJlbmNlcyBvZiBpdCBpbiB3b3JkczEuIFdlIGRvIG5vdCBjb3VudCB0aGlzIHN0cmluZy4KLSAiYXMiIGFwcGVhcnMgb25jZSBpbiB3b3JkczEsIGJ1dCBkb2VzIG5vdCBhcHBlYXIgaW4gd29yZHMyLiBXZSBkbyBub3QgY291bnQgdGhpcyBzdHJpbmcuClRodXMsIHRoZXJlIGFyZSAyIHN0cmluZ3MgdGhhdCBhcHBlYXIgZXhhY3RseSBvbmNlIGluIGVhY2ggb2YgdGhlIHR3byBhcnJheXMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHdvcmRzMSA9IFsiYiIsImJiIiwiYmJiIl0sIHdvcmRzMiA9IFsiYSIsImFhIiwiYWFhIl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgYXJlIG5vIHN0cmluZ3MgdGhhdCBhcHBlYXIgaW4gZWFjaCBvZiB0aGUgdHdvIGFycmF5cy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZHMxID0gWyJhIiwiYWIiXSwgd29yZHMyID0gWyJhIiwiYSIsImEiLCJhYiJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBvbmx5IHN0cmluZyB0aGF0IGFwcGVhcnMgZXhhY3RseSBvbmNlIGluIGVhY2ggb2YgdGhlIHR3byBhcnJheXMgaXMgImFiIi4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSB3b3JkczEubGVuZ3RoLCB3b3JkczIubGVuZ3RoICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gd29yZHMxW2ldLmxlbmd0aCwgd29yZHMyW2pdLmxlbmd0aCAmbHQ7PSAzMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+d29yZHMxW2ldPC9jb2RlPiBhbmQgPGNvZGU+d29yZHMyW2pdPC9jb2RlPiBjb25zaXN0cyBvbmx5IG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "String",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2062. Count Vowel Substrings of a String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgPHN0cm9uZz5zdWJzdHJpbmc8L3N0cm9uZz4gaXMgYSBjb250aWd1b3VzIChub24tZW1wdHkpIHNlcXVlbmNlIG9mIGNoYXJhY3RlcnMgd2l0aGluIGEgc3RyaW5nLjwvcD4KPHA+QSA8c3Ryb25nPnZvd2VsIHN1YnN0cmluZzwvc3Ryb25nPiBpcyBhIHN1YnN0cmluZyB0aGF0IDxzdHJvbmc+b25seTwvc3Ryb25nPiBjb25zaXN0cyBvZiB2b3dlbHMgKDxjb2RlPidhJzwvY29kZT4sIDxjb2RlPidlJzwvY29kZT4sIDxjb2RlPidpJzwvY29kZT4sIDxjb2RlPidvJzwvY29kZT4sIGFuZCA8Y29kZT4ndSc8L2NvZGU+KSBhbmQgaGFzIDxzdHJvbmc+YWxsIGZpdmU8L3N0cm9uZz4gdm93ZWxzIHByZXNlbnQgaW4gaXQuPC9wPgo8cD5HaXZlbiBhIHN0cmluZyA8Y29kZT53b3JkPC9jb2RlPiwgcmV0dXJuIDxlbT50aGUgbnVtYmVyIG9mIDxzdHJvbmc+dm93ZWwgc3Vic3RyaW5nczwvc3Ryb25nPiBpbjwvZW0+IDxjb2RlPndvcmQ8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZCA9ICJhZWlvdXUiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSB2b3dlbCBzdWJzdHJpbmdzIG9mIHdvcmQgYXJlIGFzIGZvbGxvd3MgKHVuZGVybGluZWQpOgotICI8c3Ryb25nPjx1PmFlaW91PC91Pjwvc3Ryb25nPnUiCi0gIjxzdHJvbmc+PHU+YWVpb3V1PC91Pjwvc3Ryb25nPiIKPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZCA9ICJ1bmljb3JuYXJpaGFuIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBOb3QgYWxsIDUgdm93ZWxzIGFyZSBwcmVzZW50LCBzbyB0aGVyZSBhcmUgbm8gdm93ZWwgc3Vic3RyaW5ncy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZCA9ICJjdWFpZXVvdWFjIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgdm93ZWwgc3Vic3RyaW5ncyBvZiB3b3JkIGFyZSBhcyBmb2xsb3dzICh1bmRlcmxpbmVkKToKLSAiYzxzdHJvbmc+PHU+dWFpZXVvPC91Pjwvc3Ryb25nPnVhYyIKLSAiYzxzdHJvbmc+PHU+dWFpZXVvdTwvdT48L3N0cm9uZz5hYyIKLSAiYzxzdHJvbmc+PHU+dWFpZXVvdWE8L3U+PC9zdHJvbmc+YyIKLSAiY3U8c3Ryb25nPjx1PmFpZXVvPC91Pjwvc3Ryb25nPnVhYyIKLSAiY3U8c3Ryb25nPjx1PmFpZXVvdTwvdT48L3N0cm9uZz5hYyIKLSAiY3U8c3Ryb25nPjx1PmFpZXVvdWE8L3U+PC9zdHJvbmc+YyIKLSAiY3VhPHN0cm9uZz48dT5pZXVvdWE8L3U+PC9zdHJvbmc+YyIKPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSB3b3JkLmxlbmd0aCAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPndvcmQ8L2NvZGU+IGNvbnNpc3RzIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMgb25seS48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Hash Table",
+ "String"
+ ]
+ },
+ {
+ "title": "2057. Smallest Index With Equal Value",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiwgcmV0dXJuIDxlbT50aGUgPHN0cm9uZz5zbWFsbGVzdDwvc3Ryb25nPiBpbmRleCA8L2VtPjxjb2RlPmk8L2NvZGU+PGVtPiBvZiA8L2VtPjxjb2RlPm51bXM8L2NvZGU+PGVtPiBzdWNoIHRoYXQgPC9lbT48Y29kZT5pIG1vZCAxMCA9PSBudW1zW2ldPC9jb2RlPjxlbT4sIG9yIDwvZW0+PGNvZGU+LTE8L2NvZGU+PGVtPiBpZiBzdWNoIGluZGV4IGRvZXMgbm90IGV4aXN0PC9lbT4uPC9wPgo8cD48Y29kZT54IG1vZCB5PC9jb2RlPiBkZW5vdGVzIHRoZSA8c3Ryb25nPnJlbWFpbmRlcjwvc3Ryb25nPiB3aGVuIDxjb2RlPng8L2NvZGU+IGlzIGRpdmlkZWQgYnkgPGNvZGU+eTwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzAsMSwyXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKaT0wOiAwIG1vZCAxMCA9IDAgPT0gbnVtc1swXS4KaT0xOiAxIG1vZCAxMCA9IDEgPT0gbnVtc1sxXS4KaT0yOiAyIG1vZCAxMCA9IDIgPT0gbnVtc1syXS4KQWxsIGluZGljZXMgaGF2ZSBpIG1vZCAxMCA9PSBudW1zW2ldLCBzbyB3ZSByZXR1cm4gdGhlIHNtYWxsZXN0IGluZGV4IDAuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNCwzLDIsMV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCmk9MDogMCBtb2QgMTAgPSAwICE9IG51bXNbMF0uCmk9MTogMSBtb2QgMTAgPSAxICE9IG51bXNbMV0uCmk9MjogMiBtb2QgMTAgPSAyID09IG51bXNbMl0uCmk9MzogMyBtb2QgMTAgPSAzICE9IG51bXNbM10uCjIgaXMgdGhlIG9ubHkgaW5kZXggd2hpY2ggaGFzIGkgbW9kIDEwID09IG51bXNbaV0uCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSwyLDMsNCw1LDYsNyw4LDksMF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IC0xCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IE5vIGluZGV4IHNhdGlzZmllcyBpIG1vZCAxMCA9PSBudW1zW2ldLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBudW1zW2ldICZsdDs9IDk8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array"
+ ]
+ },
+ {
+ "title": "2068. Check Whether Two Strings are Almost Equivalent",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlR3byBzdHJpbmdzIDxjb2RlPndvcmQxPC9jb2RlPiBhbmQgPGNvZGU+d29yZDI8L2NvZGU+IGFyZSBjb25zaWRlcmVkIDxzdHJvbmc+YWxtb3N0IGVxdWl2YWxlbnQ8L3N0cm9uZz4gaWYgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlIGZyZXF1ZW5jaWVzIG9mIGVhY2ggbGV0dGVyIGZyb20gPGNvZGU+J2EnPC9jb2RlPiB0byA8Y29kZT4neic8L2NvZGU+IGJldHdlZW4gPGNvZGU+d29yZDE8L2NvZGU+IGFuZCA8Y29kZT53b3JkMjwvY29kZT4gaXMgPHN0cm9uZz5hdCBtb3N0PC9zdHJvbmc+IDxjb2RlPjM8L2NvZGU+LjwvcD4KPHA+R2l2ZW4gdHdvIHN0cmluZ3MgPGNvZGU+d29yZDE8L2NvZGU+IGFuZCA8Y29kZT53b3JkMjwvY29kZT4sIGVhY2ggb2YgbGVuZ3RoIDxjb2RlPm48L2NvZGU+LCByZXR1cm4gPGNvZGU+dHJ1ZTwvY29kZT4gPGVtPmlmIDwvZW0+PGNvZGU+d29yZDE8L2NvZGU+IDxlbT5hbmQ8L2VtPiA8Y29kZT53b3JkMjwvY29kZT4gPGVtPmFyZSA8c3Ryb25nPmFsbW9zdCBlcXVpdmFsZW50PC9zdHJvbmc+LCBvcjwvZW0+IDxjb2RlPmZhbHNlPC9jb2RlPiA8ZW0+b3RoZXJ3aXNlPC9lbT4uPC9wPgo8cD5UaGUgPHN0cm9uZz5mcmVxdWVuY3k8L3N0cm9uZz4gb2YgYSBsZXR0ZXIgPGNvZGU+eDwvY29kZT4gaXMgdGhlIG51bWJlciBvZiB0aW1lcyBpdCBvY2N1cnMgaW4gdGhlIHN0cmluZy48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHdvcmQxID0gImFhYWEiLCB3b3JkMiA9ICJiY2NiIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gZmFsc2UKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgYXJlIDQgJ2EncyBpbiAiYWFhYSIgYnV0IDAgJ2EncyBpbiAiYmNjYiIuClRoZSBkaWZmZXJlbmNlIGlzIDQsIHdoaWNoIGlzIG1vcmUgdGhhbiB0aGUgYWxsb3dlZCAzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB3b3JkMSA9ICJhYmNkZWVmIiwgd29yZDIgPSAiYWJhYWFjYyIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IHRydWUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlIGZyZXF1ZW5jaWVzIG9mIGVhY2ggbGV0dGVyIGluIHdvcmQxIGFuZCB3b3JkMiBhcmUgYXQgbW9zdCAzOgotICdhJyBhcHBlYXJzIDEgdGltZSBpbiB3b3JkMSBhbmQgNCB0aW1lcyBpbiB3b3JkMi4gVGhlIGRpZmZlcmVuY2UgaXMgMy4KLSAnYicgYXBwZWFycyAxIHRpbWUgaW4gd29yZDEgYW5kIDEgdGltZSBpbiB3b3JkMi4gVGhlIGRpZmZlcmVuY2UgaXMgMC4KLSAnYycgYXBwZWFycyAxIHRpbWUgaW4gd29yZDEgYW5kIDIgdGltZXMgaW4gd29yZDIuIFRoZSBkaWZmZXJlbmNlIGlzIDEuCi0gJ2QnIGFwcGVhcnMgMSB0aW1lIGluIHdvcmQxIGFuZCAwIHRpbWVzIGluIHdvcmQyLiBUaGUgZGlmZmVyZW5jZSBpcyAxLgotICdlJyBhcHBlYXJzIDIgdGltZXMgaW4gd29yZDEgYW5kIDAgdGltZXMgaW4gd29yZDIuIFRoZSBkaWZmZXJlbmNlIGlzIDIuCi0gJ2YnIGFwcGVhcnMgMSB0aW1lIGluIHdvcmQxIGFuZCAwIHRpbWVzIGluIHdvcmQyLiBUaGUgZGlmZmVyZW5jZSBpcyAxLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB3b3JkMSA9ICJjY2NkZGFiYmEiLCB3b3JkMiA9ICJiYWJhYmFiYWIiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiB0cnVlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZSBmcmVxdWVuY2llcyBvZiBlYWNoIGxldHRlciBpbiB3b3JkMSBhbmQgd29yZDIgYXJlIGF0IG1vc3QgMzoKLSAnYScgYXBwZWFycyAyIHRpbWVzIGluIHdvcmQxIGFuZCA0IHRpbWVzIGluIHdvcmQyLiBUaGUgZGlmZmVyZW5jZSBpcyAyLgotICdiJyBhcHBlYXJzIDIgdGltZXMgaW4gd29yZDEgYW5kIDUgdGltZXMgaW4gd29yZDIuIFRoZSBkaWZmZXJlbmNlIGlzIDMuCi0gJ2MnIGFwcGVhcnMgMyB0aW1lcyBpbiB3b3JkMSBhbmQgMCB0aW1lcyBpbiB3b3JkMi4gVGhlIGRpZmZlcmVuY2UgaXMgMy4KLSAnZCcgYXBwZWFycyAyIHRpbWVzIGluIHdvcmQxIGFuZCAwIHRpbWVzIGluIHdvcmQyLiBUaGUgZGlmZmVyZW5jZSBpcyAyLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IHdvcmQxLmxlbmd0aCA9PSB3b3JkMi5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPndvcmQxPC9jb2RlPiBhbmQgPGNvZGU+d29yZDI8L2NvZGU+IGNvbnNpc3Qgb25seSBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Hash Table",
+ "String",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2047. Number of Valid Words in a Sentence",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgc2VudGVuY2UgY29uc2lzdHMgb2YgbG93ZXJjYXNlIGxldHRlcnMgKDxjb2RlPidhJzwvY29kZT4gdG8gPGNvZGU+J3onPC9jb2RlPiksIGRpZ2l0cyAoPGNvZGU+JzAnPC9jb2RlPiB0byA8Y29kZT4nOSc8L2NvZGU+KSwgaHlwaGVucyAoPGNvZGU+Jy0nPC9jb2RlPiksIHB1bmN0dWF0aW9uIG1hcmtzICg8Y29kZT4nISc8L2NvZGU+LCA8Y29kZT4nLic8L2NvZGU+LCBhbmQgPGNvZGU+JywnPC9jb2RlPiksIGFuZCBzcGFjZXMgKDxjb2RlPicgJzwvY29kZT4pIG9ubHkuIEVhY2ggc2VudGVuY2UgY2FuIGJlIGJyb2tlbiBkb3duIGludG8gPHN0cm9uZz5vbmUgb3IgbW9yZSB0b2tlbnM8L3N0cm9uZz4gc2VwYXJhdGVkIGJ5IG9uZSBvciBtb3JlIHNwYWNlcyA8Y29kZT4nICc8L2NvZGU+LjwvcD4KPHA+QSB0b2tlbiBpcyBhIHZhbGlkIHdvcmQgaWYgPHN0cm9uZz5hbGwgdGhyZWU8L3N0cm9uZz4gb2YgdGhlIGZvbGxvd2luZyBhcmUgdHJ1ZTo8L3A+Cjx1bD4KPGxpPkl0IG9ubHkgY29udGFpbnMgbG93ZXJjYXNlIGxldHRlcnMsIGh5cGhlbnMsIGFuZC9vciBwdW5jdHVhdGlvbiAoPHN0cm9uZz5ubzwvc3Ryb25nPiBkaWdpdHMpLjwvbGk+CjxsaT5UaGVyZSBpcyA8c3Ryb25nPmF0IG1vc3Qgb25lPC9zdHJvbmc+IGh5cGhlbiA8Y29kZT4nLSc8L2NvZGU+LiBJZiBwcmVzZW50LCBpdCA8c3Ryb25nPm11c3Q8L3N0cm9uZz4gYmUgc3Vycm91bmRlZCBieSBsb3dlcmNhc2UgY2hhcmFjdGVycyAoPGNvZGU+ImEtYiI8L2NvZGU+IGlzIHZhbGlkLCBidXQgPGNvZGU+Ii1hYiI8L2NvZGU+IGFuZCA8Y29kZT4iYWItIjwvY29kZT4gYXJlIG5vdCB2YWxpZCkuPC9saT4KPGxpPlRoZXJlIGlzIDxzdHJvbmc+YXQgbW9zdCBvbmU8L3N0cm9uZz4gcHVuY3R1YXRpb24gbWFyay4gSWYgcHJlc2VudCwgaXQgPHN0cm9uZz5tdXN0PC9zdHJvbmc+IGJlIGF0IHRoZSA8c3Ryb25nPmVuZDwvc3Ryb25nPiBvZiB0aGUgdG9rZW4gKDxjb2RlPiJhYiwiPC9jb2RlPiwgPGNvZGU+ImNkISI8L2NvZGU+LCBhbmQgPGNvZGU+Ii4iPC9jb2RlPiBhcmUgdmFsaWQsIGJ1dCA8Y29kZT4iYSFiIjwvY29kZT4gYW5kIDxjb2RlPiJjLiwiPC9jb2RlPiBhcmUgbm90IHZhbGlkKS48L2xpPgo8L3VsPgo8cD5FeGFtcGxlcyBvZiB2YWxpZCB3b3JkcyBpbmNsdWRlIDxjb2RlPiJhLWIuIjwvY29kZT4sIDxjb2RlPiJhZmFkIjwvY29kZT4sIDxjb2RlPiJiYS1jIjwvY29kZT4sIDxjb2RlPiJhISI8L2NvZGU+LCBhbmQgPGNvZGU+IiEiPC9jb2RlPi48L3A+CjxwPkdpdmVuIGEgc3RyaW5nIDxjb2RlPnNlbnRlbmNlPC9jb2RlPiwgcmV0dXJuIDxlbT50aGUgPHN0cm9uZz5udW1iZXI8L3N0cm9uZz4gb2YgdmFsaWQgd29yZHMgaW4gPC9lbT48Y29kZT5zZW50ZW5jZTwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzZW50ZW5jZSA9ICI8dT5jYXQ8L3U+IDx1PmFuZDwvdT4gIDx1PmRvZzwvdT4iCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSB2YWxpZCB3b3JkcyBpbiB0aGUgc2VudGVuY2UgYXJlICJjYXQiLCAiYW5kIiwgYW5kICJkb2ciLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzZW50ZW5jZSA9ICIhdGhpcyAgMS1zIGI4ZCEiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSBubyB2YWxpZCB3b3JkcyBpbiB0aGUgc2VudGVuY2UuCiIhdGhpcyIgaXMgaW52YWxpZCBiZWNhdXNlIGl0IHN0YXJ0cyB3aXRoIGEgcHVuY3R1YXRpb24gbWFyay4KIjEtcyIgYW5kICJiOGQiIGFyZSBpbnZhbGlkIGJlY2F1c2UgdGhleSBjb250YWluIGRpZ2l0cy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gc2VudGVuY2UgPSAiPHU+YWxpY2U8L3U+IDx1PmFuZDwvdT4gIDx1PmJvYjwvdT4gPHU+YXJlPC91PiA8dT5wbGF5aW5nPC91PiBzdG9uZS1nYW1lMTAiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA1CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSB2YWxpZCB3b3JkcyBpbiB0aGUgc2VudGVuY2UgYXJlICJhbGljZSIsICJhbmQiLCAiYm9iIiwgImFyZSIsIGFuZCAicGxheWluZyIuCiJzdG9uZS1nYW1lMTAiIGlzIGludmFsaWQgYmVjYXVzZSBpdCBjb250YWlucyBkaWdpdHMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gc2VudGVuY2UubGVuZ3RoICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnNlbnRlbmNlPC9jb2RlPiBvbmx5IGNvbnRhaW5zIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMsIGRpZ2l0cywgPGNvZGU+JyAnPC9jb2RlPiwgPGNvZGU+Jy0nPC9jb2RlPiwgPGNvZGU+JyEnPC9jb2RlPiwgPGNvZGU+Jy4nPC9jb2RlPiwgYW5kIDxjb2RlPicsJzwvY29kZT4uPC9saT4KPGxpPlRoZXJlIHdpbGwgYmUgYXQgbGVhc3TCoDxjb2RlPjE8L2NvZGU+IHRva2VuLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "String"
+ ]
+ },
+ {
+ "title": "2042. Check if Numbers Are Ascending in a Sentence",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgc2VudGVuY2UgaXMgYSBsaXN0IG9mIDxzdHJvbmc+dG9rZW5zPC9zdHJvbmc+IHNlcGFyYXRlZCBieSBhIDxzdHJvbmc+c2luZ2xlPC9zdHJvbmc+IHNwYWNlIHdpdGggbm8gbGVhZGluZyBvciB0cmFpbGluZyBzcGFjZXMuIEV2ZXJ5IHRva2VuIGlzIGVpdGhlciBhIDxzdHJvbmc+cG9zaXRpdmUgbnVtYmVyPC9zdHJvbmc+IGNvbnNpc3Rpbmcgb2YgZGlnaXRzIDxjb2RlPjAtOTwvY29kZT4gd2l0aCBubyBsZWFkaW5nIHplcm9zLCBvciBhIDxzdHJvbmc+d29yZDwvc3Ryb25nPiBjb25zaXN0aW5nIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgPGNvZGU+ImEgcHVwcHkgaGFzIDIgZXllcyA0IGxlZ3MiPC9jb2RlPiBpcyBhIHNlbnRlbmNlIHdpdGggc2V2ZW4gdG9rZW5zOiA8Y29kZT4iMiI8L2NvZGU+IGFuZCA8Y29kZT4iNCI8L2NvZGU+IGFyZSBudW1iZXJzIGFuZCB0aGUgb3RoZXIgdG9rZW5zIHN1Y2ggYXMgPGNvZGU+InB1cHB5IjwvY29kZT4gYXJlIHdvcmRzLjwvbGk+CjwvdWw+CjxwPkdpdmVuIGEgc3RyaW5nIDxjb2RlPnM8L2NvZGU+IHJlcHJlc2VudGluZyBhIHNlbnRlbmNlLCB5b3UgbmVlZCB0byBjaGVjayBpZiA8c3Ryb25nPmFsbDwvc3Ryb25nPiB0aGUgbnVtYmVycyBpbiA8Y29kZT5zPC9jb2RlPiBhcmUgPHN0cm9uZz5zdHJpY3RseSBpbmNyZWFzaW5nPC9zdHJvbmc+IGZyb20gbGVmdCB0byByaWdodCAoaS5lLiwgb3RoZXIgdGhhbiB0aGUgbGFzdCBudW1iZXIsIDxzdHJvbmc+ZWFjaDwvc3Ryb25nPiBudW1iZXIgaXMgPHN0cm9uZz5zdHJpY3RseSBzbWFsbGVyPC9zdHJvbmc+IHRoYW4gdGhlIG51bWJlciBvbiBpdHMgPHN0cm9uZz5yaWdodDwvc3Ryb25nPiBpbiA8Y29kZT5zPC9jb2RlPikuPC9wPgo8cD5SZXR1cm4gPGNvZGU+dHJ1ZTwvY29kZT48ZW0+IGlmIHNvLCBvciA8L2VtPjxjb2RlPmZhbHNlPC9jb2RlPjxlbT4gb3RoZXJ3aXNlPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9ImV4YW1wbGUtMSIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzA5LzMwL2V4YW1wbGUxLnBuZyIgc3R5bGU9IndpZHRoOiA2MzdweDsgaGVpZ2h0OiA0OHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiMSBib3ggaGFzIDMgYmx1ZSA0IHJlZCA2IGdyZWVuIGFuZCAxMiB5ZWxsb3cgbWFyYmxlcyIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IHRydWUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIG51bWJlcnMgaW4gcyBhcmU6IDEsIDMsIDQsIDYsIDEyLgpUaGV5IGFyZSBzdHJpY3RseSBpbmNyZWFzaW5nIGZyb20gbGVmdCB0byByaWdodDogMSAmbHQ7IDMgJmx0OyA0ICZsdDsgNiAmbHQ7IDEyLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImhlbGxvIHdvcmxkIDUgeCA1Igo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gZmFsc2UKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIG51bWJlcnMgaW4gcyBhcmU6IDx1PjxzdHJvbmc+NTwvc3Ryb25nPjwvdT4sIDxzdHJvbmc+PHU+NTwvdT48L3N0cm9uZz4uIFRoZXkgYXJlIG5vdCBzdHJpY3RseSBpbmNyZWFzaW5nLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9ImV4YW1wbGUtMyIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzA5LzMwL2V4YW1wbGUzLnBuZyIgc3R5bGU9IndpZHRoOiA3OTRweDsgaGVpZ2h0OiA0OHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAic3Vuc2V0IGlzIGF0IDcgNTEgcG0gb3Zlcm5pZ2h0IGxvd3Mgd2lsbCBiZSBpbiB0aGUgbG93IDUwIGFuZCA2MCBzIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gZmFsc2UKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIG51bWJlcnMgaW4gcyBhcmU6IDcsIDx1PjxzdHJvbmc+NTE8L3N0cm9uZz48L3U+LCA8dT48c3Ryb25nPjUwPC9zdHJvbmc+PC91PiwgNjAuIFRoZXkgYXJlIG5vdCBzdHJpY3RseSBpbmNyZWFzaW5nLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4zICZsdDs9IHMubGVuZ3RoICZsdDs9IDIwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+czwvY29kZT4gY29uc2lzdHMgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycywgc3BhY2VzLCBhbmQgZGlnaXRzIGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+OTwvY29kZT4sIGluY2x1c2l2ZS48L2xpPgo8bGk+VGhlIG51bWJlciBvZiB0b2tlbnMgaW4gPGNvZGU+czwvY29kZT4gaXMgYmV0d2VlbiA8Y29kZT4yPC9jb2RlPiBhbmQgPGNvZGU+MTAwPC9jb2RlPiwgaW5jbHVzaXZlLjwvbGk+CjxsaT5UaGUgdG9rZW5zIGluIDxjb2RlPnM8L2NvZGU+IGFyZSBzZXBhcmF0ZWQgYnkgYSBzaW5nbGUgc3BhY2UuPC9saT4KPGxpPlRoZXJlIGFyZSBhdCBsZWFzdCA8c3Ryb25nPnR3bzwvc3Ryb25nPiBudW1iZXJzIGluIDxjb2RlPnM8L2NvZGU+LjwvbGk+CjxsaT5FYWNoIG51bWJlciBpbiA8Y29kZT5zPC9jb2RlPiBpcyBhIDxzdHJvbmc+cG9zaXRpdmU8L3N0cm9uZz4gbnVtYmVyIDxzdHJvbmc+bGVzczwvc3Ryb25nPiB0aGFuIDxjb2RlPjEwMDwvY29kZT4sIHdpdGggbm8gbGVhZGluZyB6ZXJvcy48L2xpPgo8bGk+PGNvZGU+czwvY29kZT4gY29udGFpbnMgbm8gbGVhZGluZyBvciB0cmFpbGluZyBzcGFjZXMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "String"
+ ]
+ },
+ {
+ "title": "2053. Kth Distinct String in an Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgPHN0cm9uZz5kaXN0aW5jdCBzdHJpbmc8L3N0cm9uZz4gaXMgYSBzdHJpbmcgdGhhdCBpcyBwcmVzZW50IG9ubHkgPHN0cm9uZz5vbmNlPC9zdHJvbmc+IGluIGFuIGFycmF5LjwvcD4KPHA+R2l2ZW4gYW4gYXJyYXkgb2Ygc3RyaW5ncyA8Y29kZT5hcnI8L2NvZGU+LCBhbmQgYW4gaW50ZWdlciA8Y29kZT5rPC9jb2RlPiwgcmV0dXJuIDxlbT50aGUgPC9lbT48Y29kZT5rPHN1cD50aDwvc3VwPjwvY29kZT48ZW0+IDxzdHJvbmc+ZGlzdGluY3Qgc3RyaW5nPC9zdHJvbmc+IHByZXNlbnQgaW4gPC9lbT48Y29kZT5hcnI8L2NvZGU+LiBJZiB0aGVyZSBhcmUgPHN0cm9uZz5mZXdlcjwvc3Ryb25nPiB0aGFuIDxjb2RlPms8L2NvZGU+IGRpc3RpbmN0IHN0cmluZ3MsIHJldHVybiA8ZW0+YW4gPHN0cm9uZz5lbXB0eSBzdHJpbmcgPC9zdHJvbmc+PC9lbT48Y29kZT4iIjwvY29kZT4uPC9wPgo8cD5Ob3RlIHRoYXQgdGhlIHN0cmluZ3MgYXJlIGNvbnNpZGVyZWQgaW4gdGhlIDxzdHJvbmc+b3JkZXIgaW4gd2hpY2ggdGhleSBhcHBlYXI8L3N0cm9uZz4gaW4gdGhlIGFycmF5LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gYXJyID0gWyJkIiwiYiIsImMiLCJiIiwiYyIsImEiXSwgayA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICJhIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgb25seSBkaXN0aW5jdCBzdHJpbmdzIGluIGFyciBhcmUgImQiIGFuZCAiYSIuCiJkIiBhcHBlYXJzIDE8c3VwPnN0PC9zdXA+LCBzbyBpdCBpcyB0aGUgMTxzdXA+c3Q8L3N1cD4gZGlzdGluY3Qgc3RyaW5nLgoiYSIgYXBwZWFycyAyPHN1cD5uZDwvc3VwPiwgc28gaXQgaXMgdGhlIDI8c3VwPm5kPC9zdXA+IGRpc3RpbmN0IHN0cmluZy4KU2luY2UgayA9PSAyLCAiYSIgaXMgcmV0dXJuZWQuIAo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBhcnIgPSBbImFhYSIsImFhIiwiYSJdLCBrID0gMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gImFhYSIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KQWxsIHN0cmluZ3MgaW4gYXJyIGFyZSBkaXN0aW5jdCwgc28gdGhlIDE8c3VwPnN0PC9zdXA+IHN0cmluZyAiYWFhIiBpcyByZXR1cm5lZC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gYXJyID0gWyJhIiwiYiIsImEiXSwgayA9IDMKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICIiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBvbmx5IGRpc3RpbmN0IHN0cmluZyBpcyAiYiIuIFNpbmNlIHRoZXJlIGFyZSBmZXdlciB0aGFuIDMgZGlzdGluY3Qgc3RyaW5ncywgd2UgcmV0dXJuIGFuIGVtcHR5IHN0cmluZyAiIi4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBrICZsdDs9IGFyci5sZW5ndGggJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBhcnJbaV0ubGVuZ3RoICZsdDs9IDU8L2NvZGU+PC9saT4KPGxpPjxjb2RlPmFycltpXTwvY29kZT4gY29uc2lzdHMgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycy48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "String",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2032. Two Out of Three",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PkdpdmVuIHRocmVlIGludGVnZXIgYXJyYXlzIDxjb2RlPm51bXMxPC9jb2RlPiwgPGNvZGU+bnVtczI8L2NvZGU+LCBhbmQgPGNvZGU+bnVtczM8L2NvZGU+LCByZXR1cm4gPGVtPmEgPHN0cm9uZz5kaXN0aW5jdDwvc3Ryb25nPiBhcnJheSBjb250YWluaW5nIGFsbCB0aGUgdmFsdWVzIHRoYXQgYXJlIHByZXNlbnQgaW4gPHN0cm9uZz5hdCBsZWFzdCB0d288L3N0cm9uZz4gb3V0IG9mIHRoZSB0aHJlZSBhcnJheXMuIFlvdSBtYXkgcmV0dXJuIHRoZSB2YWx1ZXMgaW4gPHN0cm9uZz5hbnk8L3N0cm9uZz4gb3JkZXI8L2VtPi4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtczEgPSBbMSwxLDMsMl0sIG51bXMyID0gWzIsM10sIG51bXMzID0gWzNdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMywyXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgdmFsdWVzIHRoYXQgYXJlIHByZXNlbnQgaW4gYXQgbGVhc3QgdHdvIGFycmF5cyBhcmU6Ci0gMywgaW4gYWxsIHRocmVlIGFycmF5cy4KLSAyLCBpbiBudW1zMSBhbmQgbnVtczIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMxID0gWzMsMV0sIG51bXMyID0gWzIsM10sIG51bXMzID0gWzEsMl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsyLDMsMV0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHZhbHVlcyB0aGF0IGFyZSBwcmVzZW50IGluIGF0IGxlYXN0IHR3byBhcnJheXMgYXJlOgotIDIsIGluIG51bXMyIGFuZCBudW1zMy4KLSAzLCBpbiBudW1zMSBhbmQgbnVtczIuCi0gMSwgaW4gbnVtczEgYW5kIG51bXMzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zMSA9IFsxLDIsMl0sIG51bXMyID0gWzQsMywzXSwgbnVtczMgPSBbNV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFtdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IE5vIHZhbHVlIGlzIHByZXNlbnQgaW4gYXQgbGVhc3QgdHdvIGFycmF5cy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zMS5sZW5ndGgsIG51bXMyLmxlbmd0aCwgbnVtczMubGVuZ3RoICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zMVtpXSwgbnVtczJbal0sIG51bXMzW2tdICZsdDs9IDEwMDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table"
+ ]
+ },
+ {
+ "title": "2027. Minimum Moves to Convert String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4gY29uc2lzdGluZyBvZiA8Y29kZT5uPC9jb2RlPiBjaGFyYWN0ZXJzIHdoaWNoIGFyZSBlaXRoZXIgPGNvZGU+J1gnPC9jb2RlPiBvciA8Y29kZT4nTyc8L2NvZGU+LjwvcD4KPHA+QSA8c3Ryb25nPm1vdmU8L3N0cm9uZz4gaXMgZGVmaW5lZCBhcyBzZWxlY3RpbmcgPHN0cm9uZz50aHJlZTwvc3Ryb25nPiA8c3Ryb25nPmNvbnNlY3V0aXZlIGNoYXJhY3RlcnM8L3N0cm9uZz4gb2YgPGNvZGU+czwvY29kZT4gYW5kIGNvbnZlcnRpbmcgdGhlbSB0byA8Y29kZT4nTyc8L2NvZGU+LiBOb3RlIHRoYXQgaWYgYSBtb3ZlIGlzIGFwcGxpZWQgdG8gdGhlIGNoYXJhY3RlciA8Y29kZT4nTyc8L2NvZGU+LCBpdCB3aWxsIHN0YXkgdGhlIDxzdHJvbmc+c2FtZTwvc3Ryb25nPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiBudW1iZXIgb2YgbW92ZXMgcmVxdWlyZWQgc28gdGhhdCBhbGwgdGhlIGNoYXJhY3RlcnMgb2YgPC9lbT48Y29kZT5zPC9jb2RlPjxlbT4gYXJlIGNvbnZlcnRlZCB0byA8L2VtPjxjb2RlPidPJzwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gIlhYWCIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gPHU+WFhYPC91PiAtJmd0OyBPT08KV2Ugc2VsZWN0IGFsbCB0aGUgMyBjaGFyYWN0ZXJzIGFuZCBjb252ZXJ0IHRoZW0gaW4gb25lIG1vdmUuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiWFhPWCIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gPHU+WFhPPC91PlggLSZndDsgTzx1Pk9PWDwvdT4gLSZndDsgT09PTwpXZSBzZWxlY3QgdGhlIGZpcnN0IDMgY2hhcmFjdGVycyBpbiB0aGUgZmlyc3QgbW92ZSwgYW5kIGNvbnZlcnQgdGhlbSB0byA8Y29kZT4nTyc8L2NvZGU+LgpUaGVuIHdlIHNlbGVjdCB0aGUgbGFzdCAzIGNoYXJhY3RlcnMgYW5kIGNvbnZlcnQgdGhlbSBzbyB0aGF0IHRoZSBmaW5hbCBzdHJpbmcgY29udGFpbnMgYWxsIDxjb2RlPidPJzwvY29kZT5zLjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiT09PTyIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgYXJlIG5vIDxjb2RlPidYJ3M8L2NvZGU+IGluIDxjb2RlPnM8L2NvZGU+IHRvIGNvbnZlcnQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjMgJmx0Oz0gcy5sZW5ndGggJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+c1tpXTwvY29kZT4gaXMgZWl0aGVyIDxjb2RlPidYJzwvY29kZT4gb3IgPGNvZGU+J08nPC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "String",
+ "Greedy"
+ ]
+ },
+ {
+ "title": "2037. Minimum Number of Moves to Seat Everyone",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGFyZSA8Y29kZT5uPC9jb2RlPiBzZWF0cyBhbmQgPGNvZGU+bjwvY29kZT4gc3R1ZGVudHMgaW4gYSByb29tLiBZb3UgYXJlIGdpdmVuIGFuIGFycmF5IDxjb2RlPnNlYXRzPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4sIHdoZXJlIDxjb2RlPnNlYXRzW2ldPC9jb2RlPiBpcyB0aGUgcG9zaXRpb24gb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBzZWF0LiBZb3UgYXJlIGFsc28gZ2l2ZW4gdGhlIGFycmF5IDxjb2RlPnN0dWRlbnRzPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4sIHdoZXJlIDxjb2RlPnN0dWRlbnRzW2pdPC9jb2RlPiBpcyB0aGUgcG9zaXRpb24gb2YgdGhlIDxjb2RlPmo8c3VwPnRoPC9zdXA+PC9jb2RlPiBzdHVkZW50LjwvcD4KPHA+WW91IG1heSBwZXJmb3JtIHRoZSBmb2xsb3dpbmcgbW92ZSBhbnkgbnVtYmVyIG9mIHRpbWVzOjwvcD4KPHVsPgo8bGk+SW5jcmVhc2Ugb3IgZGVjcmVhc2UgdGhlIHBvc2l0aW9uIG9mIHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gc3R1ZGVudCBieSA8Y29kZT4xPC9jb2RlPiAoaS5lLiwgbW92aW5nIHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gc3R1ZGVudCBmcm9tIHBvc2l0aW9uwqA8Y29kZT54PC9jb2RlPsKgdG8gPGNvZGU+eCArIDE8L2NvZGU+IG9yIDxjb2RlPnggLSAxPC9jb2RlPik8L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1pbmltdW0gbnVtYmVyIG9mIG1vdmVzPC9zdHJvbmc+IHJlcXVpcmVkIHRvIG1vdmUgZWFjaCBzdHVkZW50IHRvIGEgc2VhdDwvZW0+PGVtPiBzdWNoIHRoYXQgbm8gdHdvIHN0dWRlbnRzIGFyZSBpbiB0aGUgc2FtZSBzZWF0LjwvZW0+PC9wPgo8cD5Ob3RlIHRoYXQgdGhlcmUgbWF5IGJlIDxzdHJvbmc+bXVsdGlwbGU8L3N0cm9uZz4gc2VhdHMgb3Igc3R1ZGVudHMgaW4gdGhlIDxzdHJvbmc+c2FtZSA8L3N0cm9uZz5wb3NpdGlvbiBhdCB0aGUgYmVnaW5uaW5nLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gc2VhdHMgPSBbMywxLDVdLCBzdHVkZW50cyA9IFsyLDcsNF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHN0dWRlbnRzIGFyZSBtb3ZlZCBhcyBmb2xsb3dzOgotIFRoZSBmaXJzdCBzdHVkZW50IGlzIG1vdmVkIGZyb20gZnJvbSBwb3NpdGlvbiAyIHRvIHBvc2l0aW9uIDEgdXNpbmcgMSBtb3ZlLgotIFRoZSBzZWNvbmQgc3R1ZGVudCBpcyBtb3ZlZCBmcm9tIGZyb20gcG9zaXRpb24gNyB0byBwb3NpdGlvbiA1IHVzaW5nIDIgbW92ZXMuCi0gVGhlIHRoaXJkIHN0dWRlbnQgaXMgbW92ZWQgZnJvbSBmcm9tIHBvc2l0aW9uIDQgdG8gcG9zaXRpb24gMyB1c2luZyAxIG1vdmUuCkluIHRvdGFsLCAxICsgMiArIDEgPSA0IG1vdmVzIHdlcmUgdXNlZC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gc2VhdHMgPSBbNCwxLDUsOV0sIHN0dWRlbnRzID0gWzEsMywyLDZdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA3CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBzdHVkZW50cyBhcmUgbW92ZWQgYXMgZm9sbG93czoKLSBUaGUgZmlyc3Qgc3R1ZGVudCBpcyBub3QgbW92ZWQuCi0gVGhlIHNlY29uZCBzdHVkZW50IGlzIG1vdmVkIGZyb20gZnJvbSBwb3NpdGlvbiAzIHRvIHBvc2l0aW9uIDQgdXNpbmcgMSBtb3ZlLgotIFRoZSB0aGlyZCBzdHVkZW50IGlzIG1vdmVkIGZyb20gZnJvbSBwb3NpdGlvbiAyIHRvIHBvc2l0aW9uIDUgdXNpbmcgMyBtb3Zlcy4KLSBUaGUgZm91cnRoIHN0dWRlbnQgaXMgbW92ZWQgZnJvbSBmcm9tIHBvc2l0aW9uIDYgdG8gcG9zaXRpb24gOSB1c2luZyAzIG1vdmVzLgpJbiB0b3RhbCwgMCArIDEgKyAzICsgMyA9IDcgbW92ZXMgd2VyZSB1c2VkLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzZWF0cyA9IFsyLDIsNiw2XSwgc3R1ZGVudHMgPSBbMSwzLDIsNl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gTm90ZSB0aGF0IHRoZXJlIGFyZSB0d28gc2VhdHMgYXQgcG9zaXRpb24gMiBhbmQgdHdvIHNlYXRzIGF0IHBvc2l0aW9uIDYuClRoZSBzdHVkZW50cyBhcmUgbW92ZWQgYXMgZm9sbG93czoKLSBUaGUgZmlyc3Qgc3R1ZGVudCBpcyBtb3ZlZCBmcm9tIGZyb20gcG9zaXRpb24gMSB0byBwb3NpdGlvbiAyIHVzaW5nIDEgbW92ZS4KLSBUaGUgc2Vjb25kIHN0dWRlbnQgaXMgbW92ZWQgZnJvbSBmcm9tIHBvc2l0aW9uIDMgdG8gcG9zaXRpb24gNiB1c2luZyAzIG1vdmVzLgotIFRoZSB0aGlyZCBzdHVkZW50IGlzIG5vdCBtb3ZlZC4KLSBUaGUgZm91cnRoIHN0dWRlbnQgaXMgbm90IG1vdmVkLgpJbiB0b3RhbCwgMSArIDMgKyAwICsgMCA9IDQgbW92ZXMgd2VyZSB1c2VkLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IHNlYXRzLmxlbmd0aCA9PSBzdHVkZW50cy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gc2VhdHNbaV0sIHN0dWRlbnRzW2pdICZsdDs9IDEwMDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2016. Maximum Difference Between Increasing Elements",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBvZiBzaXplIDxjb2RlPm48L2NvZGU+LCBmaW5kIHRoZSA8c3Ryb25nPm1heGltdW0gZGlmZmVyZW5jZTwvc3Ryb25nPiBiZXR3ZWVuIDxjb2RlPm51bXNbaV08L2NvZGU+IGFuZCA8Y29kZT5udW1zW2pdPC9jb2RlPiAoaS5lLiwgPGNvZGU+bnVtc1tqXSAtIG51bXNbaV08L2NvZGU+KSwgc3VjaCB0aGF0IDxjb2RlPjAgJmx0Oz0gaSAmbHQ7IGogJmx0OyBuPC9jb2RlPiBhbmQgPGNvZGU+bnVtc1tpXSAmbHQ7IG51bXNbal08L2NvZGU+LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5tYXhpbXVtIGRpZmZlcmVuY2U8L3N0cm9uZz4uIDwvZW0+SWYgbm8gc3VjaCA8Y29kZT5pPC9jb2RlPiBhbmQgPGNvZGU+ajwvY29kZT4gZXhpc3RzLCByZXR1cm4gPGNvZGU+LTE8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs3LDxzdHJvbmc+PHU+MTwvdT48L3N0cm9uZz4sPHN0cm9uZz48dT41PC91Pjwvc3Ryb25nPiw0XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgbWF4aW11bSBkaWZmZXJlbmNlIG9jY3VycyB3aXRoIGkgPSAxIGFuZCBqID0gMiwgbnVtc1tqXSAtIG51bXNbaV0gPSA1IC0gMSA9IDQuCk5vdGUgdGhhdCB3aXRoIGkgPSAxIGFuZCBqID0gMCwgdGhlIGRpZmZlcmVuY2UgbnVtc1tqXSAtIG51bXNbaV0gPSA3IC0gMSA9IDYsIGJ1dCBpICZndDsgaiwgc28gaXQgaXMgbm90IHZhbGlkLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzksNCwzLDJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAtMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGVyZSBpcyBubyBpIGFuZCBqIHN1Y2ggdGhhdCBpICZsdDsgaiBhbmQgbnVtc1tpXSAmbHQ7IG51bXNbal0uCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPiw1LDIsPHN0cm9uZz48dT4xMDwvdT48L3N0cm9uZz5dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA5CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBtYXhpbXVtIGRpZmZlcmVuY2Ugb2NjdXJzIHdpdGggaSA9IDAgYW5kIGogPSAzLCBudW1zW2pdIC0gbnVtc1tpXSA9IDEwIC0gMSA9IDkuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gbnVtcy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjIgJmx0Oz0gbiAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0gJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array"
+ ]
+ },
+ {
+ "title": "2011. Final Value of Variable After Performing Operations",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2Ugd2l0aCBvbmx5IDxzdHJvbmc+Zm91cjwvc3Ryb25nPiBvcGVyYXRpb25zIGFuZCA8c3Ryb25nPm9uZTwvc3Ryb25nPiB2YXJpYWJsZSA8Y29kZT5YPC9jb2RlPjo8L3A+Cjx1bD4KPGxpPjxjb2RlPisrWDwvY29kZT4gYW5kIDxjb2RlPlgrKzwvY29kZT4gPHN0cm9uZz5pbmNyZW1lbnRzPC9zdHJvbmc+IHRoZSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgPGNvZGU+WDwvY29kZT4gYnkgPGNvZGU+MTwvY29kZT4uPC9saT4KPGxpPjxjb2RlPi0tWDwvY29kZT4gYW5kIDxjb2RlPlgtLTwvY29kZT4gPHN0cm9uZz5kZWNyZW1lbnRzPC9zdHJvbmc+IHRoZSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgPGNvZGU+WDwvY29kZT4gYnkgPGNvZGU+MTwvY29kZT4uPC9saT4KPC91bD4KPHA+SW5pdGlhbGx5LCB0aGUgdmFsdWUgb2YgPGNvZGU+WDwvY29kZT4gaXMgPGNvZGU+MDwvY29kZT4uPC9wPgo8cD5HaXZlbiBhbiBhcnJheSBvZiBzdHJpbmdzIDxjb2RlPm9wZXJhdGlvbnM8L2NvZGU+IGNvbnRhaW5pbmcgYSBsaXN0IG9mIG9wZXJhdGlvbnMsIHJldHVybiA8ZW0+dGhlIDxzdHJvbmc+ZmluYWwgPC9zdHJvbmc+dmFsdWUgb2YgPC9lbT48Y29kZT5YPC9jb2RlPiA8ZW0+YWZ0ZXIgcGVyZm9ybWluZyBhbGwgdGhlIG9wZXJhdGlvbnM8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG9wZXJhdGlvbnMgPSBbIi0tWCIsIlgrKyIsIlgrKyJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+wqBUaGUgb3BlcmF0aW9ucyBhcmUgcGVyZm9ybWVkIGFzIGZvbGxvd3M6CkluaXRpYWxseSwgWCA9IDAuCi0tWDogWCBpcyBkZWNyZW1lbnRlZCBieSAxLCBYID0gIDAgLSAxID0gLTEuClgrKzogWCBpcyBpbmNyZW1lbnRlZCBieSAxLCBYID0gLTEgKyAxID0gIDAuClgrKzogWCBpcyBpbmNyZW1lbnRlZCBieSAxLCBYID0gIDAgKyAxID0gIDEuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG9wZXJhdGlvbnMgPSBbIisrWCIsIisrWCIsIlgrKyJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246IDwvc3Ryb25nPlRoZSBvcGVyYXRpb25zIGFyZSBwZXJmb3JtZWQgYXMgZm9sbG93czoKSW5pdGlhbGx5LCBYID0gMC4KKytYOiBYIGlzIGluY3JlbWVudGVkIGJ5IDEsIFggPSAwICsgMSA9IDEuCisrWDogWCBpcyBpbmNyZW1lbnRlZCBieSAxLCBYID0gMSArIDEgPSAyLgpYKys6IFggaXMgaW5jcmVtZW50ZWQgYnkgMSwgWCA9IDIgKyAxID0gMy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gb3BlcmF0aW9ucyA9IFsiWCsrIiwiKytYIiwiLS1YIiwiWC0tIl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz7CoFRoZSBvcGVyYXRpb25zIGFyZSBwZXJmb3JtZWQgYXMgZm9sbG93czoKSW5pdGlhbGx5LCBYID0gMC4KWCsrOiBYIGlzIGluY3JlbWVudGVkIGJ5IDEsIFggPSAwICsgMSA9IDEuCisrWDogWCBpcyBpbmNyZW1lbnRlZCBieSAxLCBYID0gMSArIDEgPSAyLgotLVg6IFggaXMgZGVjcmVtZW50ZWQgYnkgMSwgWCA9IDIgLSAxID0gMS4KWC0tOiBYIGlzIGRlY3JlbWVudGVkIGJ5IDEsIFggPSAxIC0gMSA9IDAuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gb3BlcmF0aW9ucy5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5vcGVyYXRpb25zW2ldPC9jb2RlPiB3aWxsIGJlIGVpdGhlciA8Y29kZT4iKytYIjwvY29kZT4sIDxjb2RlPiJYKysiPC9jb2RlPiwgPGNvZGU+Ii0tWCI8L2NvZGU+LCBvciA8Y29kZT4iWC0tIjwvY29kZT4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "String",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2022. Convert 1D Array Into 2D Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiAxLWRpbWVuc2lvbmFsICgxRCkgaW50ZWdlciBhcnJheSA8Y29kZT5vcmlnaW5hbDwvY29kZT4sIGFuZCB0d28gaW50ZWdlcnMsIDxjb2RlPm08L2NvZGU+IGFuZCA8Y29kZT5uPC9jb2RlPi4gWW91IGFyZSB0YXNrZWQgd2l0aCBjcmVhdGluZyBhIDItZGltZW5zaW9uYWwgKDJEKSBhcnJheSB3aXRoIDxjb2RlPiBtPC9jb2RlPiByb3dzIGFuZCA8Y29kZT5uPC9jb2RlPiBjb2x1bW5zIHVzaW5nIDxzdHJvbmc+YWxsPC9zdHJvbmc+IHRoZSBlbGVtZW50cyBmcm9tIDxjb2RlPm9yaWdpbmFsPC9jb2RlPi48L3A+CjxwPlRoZSBlbGVtZW50cyBmcm9tIGluZGljZXMgPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+biAtIDE8L2NvZGU+ICg8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPikgb2YgPGNvZGU+b3JpZ2luYWw8L2NvZGU+IHNob3VsZCBmb3JtIHRoZSBmaXJzdCByb3cgb2YgdGhlIGNvbnN0cnVjdGVkIDJEIGFycmF5LCB0aGUgZWxlbWVudHMgZnJvbSBpbmRpY2VzIDxjb2RlPm48L2NvZGU+IHRvIDxjb2RlPjIgKiBuIC0gMTwvY29kZT4gKDxzdHJvbmc+aW5jbHVzaXZlPC9zdHJvbmc+KSBzaG91bGQgZm9ybSB0aGUgc2Vjb25kIHJvdyBvZiB0aGUgY29uc3RydWN0ZWQgMkQgYXJyYXksIGFuZCBzbyBvbi48L3A+CjxwPlJldHVybiA8ZW0+YW4gPC9lbT48Y29kZT5tIHggbjwvY29kZT48ZW0+IDJEIGFycmF5IGNvbnN0cnVjdGVkIGFjY29yZGluZyB0byB0aGUgYWJvdmUgcHJvY2VkdXJlLCBvciBhbiBlbXB0eSAyRCBhcnJheSBpZiBpdCBpcyBpbXBvc3NpYmxlPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMDgvMjYvaW1hZ2UtMjAyMTA4MjYxMTQyNDMtMS5wbmciIHN0eWxlPSJ3aWR0aDogNTAwcHg7IGhlaWdodDogMTc0cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gb3JpZ2luYWwgPSBbMSwyLDMsNF0sIG0gPSAyLCBuID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gW1sxLDJdLFszLDRdXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgY29uc3RydWN0ZWQgMkQgYXJyYXkgc2hvdWxkIGNvbnRhaW4gMiByb3dzIGFuZCAyIGNvbHVtbnMuClRoZSBmaXJzdCBncm91cCBvZiBuPTIgZWxlbWVudHMgaW4gb3JpZ2luYWwsIFsxLDJdLCBiZWNvbWVzIHRoZSBmaXJzdCByb3cgaW4gdGhlIGNvbnN0cnVjdGVkIDJEIGFycmF5LgpUaGUgc2Vjb25kIGdyb3VwIG9mIG49MiBlbGVtZW50cyBpbiBvcmlnaW5hbCwgWzMsNF0sIGJlY29tZXMgdGhlIHNlY29uZCByb3cgaW4gdGhlIGNvbnN0cnVjdGVkIDJEIGFycmF5Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBvcmlnaW5hbCA9IFsxLDIsM10sIG0gPSAxLCBuID0gMwo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gW1sxLDIsM11dCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBjb25zdHJ1Y3RlZCAyRCBhcnJheSBzaG91bGQgY29udGFpbiAxIHJvdyBhbmQgMyBjb2x1bW5zLgpQdXQgYWxsIHRocmVlIGVsZW1lbnRzIGluIG9yaWdpbmFsIGludG8gdGhlIGZpcnN0IHJvdyBvZiB0aGUgY29uc3RydWN0ZWQgMkQgYXJyYXkuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG9yaWdpbmFsID0gWzEsMl0sIG0gPSAxLCBuID0gMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gW10KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgYXJlIDIgZWxlbWVudHMgaW4gb3JpZ2luYWwuCkl0IGlzIGltcG9zc2libGUgdG8gZml0IDIgZWxlbWVudHMgaW4gYSAxeDEgMkQgYXJyYXksIHNvIHJldHVybiBhbiBlbXB0eSAyRCBhcnJheS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBvcmlnaW5hbC5sZW5ndGggJmx0Oz0gNSAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG9yaWdpbmFsW2ldICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG0sIG4gJmx0Oz0gNCAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Matrix",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2000. Reverse Prefix of Word",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gc3RyaW5nIDxjb2RlPndvcmQ8L2NvZGU+IGFuZCBhIGNoYXJhY3RlciA8Y29kZT5jaDwvY29kZT4sIDxzdHJvbmc+cmV2ZXJzZTwvc3Ryb25nPiB0aGUgc2VnbWVudCBvZiA8Y29kZT53b3JkPC9jb2RlPiB0aGF0IHN0YXJ0cyBhdCBpbmRleCA8Y29kZT4wPC9jb2RlPiBhbmQgZW5kcyBhdCB0aGUgaW5kZXggb2YgdGhlIDxzdHJvbmc+Zmlyc3Qgb2NjdXJyZW5jZTwvc3Ryb25nPiBvZiA8Y29kZT5jaDwvY29kZT4gKDxzdHJvbmc+aW5jbHVzaXZlPC9zdHJvbmc+KS4gSWYgdGhlIGNoYXJhY3RlciA8Y29kZT5jaDwvY29kZT4gZG9lcyBub3QgZXhpc3QgaW4gPGNvZGU+d29yZDwvY29kZT4sIGRvIG5vdGhpbmcuPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgaWYgPGNvZGU+d29yZCA9ICJhYmNkZWZkIjwvY29kZT4gYW5kIDxjb2RlPmNoID0gImQiPC9jb2RlPiwgdGhlbiB5b3Ugc2hvdWxkIDxzdHJvbmc+cmV2ZXJzZTwvc3Ryb25nPiB0aGUgc2VnbWVudCB0aGF0IHN0YXJ0cyBhdCA8Y29kZT4wPC9jb2RlPiBhbmQgZW5kcyBhdCA8Y29kZT4zPC9jb2RlPiAoPHN0cm9uZz5pbmNsdXNpdmU8L3N0cm9uZz4pLiBUaGUgcmVzdWx0aW5nIHN0cmluZyB3aWxsIGJlIDxjb2RlPiI8dT5kY2JhPC91PmVmZCI8L2NvZGU+LjwvbGk+CjwvdWw+CjxwPlJldHVybiA8ZW0+dGhlIHJlc3VsdGluZyBzdHJpbmc8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHdvcmQgPSAiPHU+YWJjZDwvdT5lZmQiLCBjaCA9ICJkIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gIjx1PmRjYmE8L3U+ZWZkIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPsKgVGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgImQiIGlzIGF0IGluZGV4IDMuIApSZXZlcnNlIHRoZSBwYXJ0IG9mIHdvcmQgZnJvbSAwIHRvIDMgKGluY2x1c2l2ZSksIHRoZSByZXN1bHRpbmcgc3RyaW5nIGlzICJkY2JhZWZkIi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZCA9ICI8dT54eXh6PC91PnhlIiwgY2ggPSAieiIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICI8dT56eHl4PC91PnhlIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPsKgVGhlIGZpcnN0IGFuZCBvbmx5IG9jY3VycmVuY2Ugb2YgInoiIGlzIGF0IGluZGV4IDMuClJldmVyc2UgdGhlIHBhcnQgb2Ygd29yZCBmcm9tIDAgdG8gMyAoaW5jbHVzaXZlKSwgdGhlIHJlc3VsdGluZyBzdHJpbmcgaXMgInp4eXh4ZSIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHdvcmQgPSAiYWJjZCIsIGNoID0gInoiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiYWJjZCIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz7CoCJ6IiBkb2VzIG5vdCBleGlzdCBpbiB3b3JkLgpZb3Ugc2hvdWxkIG5vdCBkbyBhbnkgcmV2ZXJzZSBvcGVyYXRpb24sIHRoZSByZXN1bHRpbmcgc3RyaW5nIGlzICJhYmNkIi4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSB3b3JkLmxlbmd0aCAmbHQ7PSAyNTA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPndvcmQ8L2NvZGU+IGNvbnNpc3RzIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPGxpPjxjb2RlPmNoPC9jb2RlPiBpcyBhIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlci48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Two Pointers",
+ "String"
+ ]
+ },
+ {
+ "title": "1995. Count Special Quadruplets",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiwgcmV0dXJuIDxlbT50aGUgbnVtYmVyIG9mIDxzdHJvbmc+ZGlzdGluY3Q8L3N0cm9uZz4gcXVhZHJ1cGxldHM8L2VtPiA8Y29kZT4oYSwgYiwgYywgZCk8L2NvZGU+IDxlbT5zdWNoIHRoYXQ6PC9lbT48L3A+Cjx1bD4KPGxpPjxjb2RlPm51bXNbYV0gKyBudW1zW2JdICsgbnVtc1tjXSA9PSBudW1zW2RdPC9jb2RlPiwgYW5kPC9saT4KPGxpPjxjb2RlPmEgJmx0OyBiICZsdDsgYyAmbHQ7IGQ8L2NvZGU+PC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDIsMyw2XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgb25seSBxdWFkcnVwbGV0IHRoYXQgc2F0aXNmaWVzIHRoZSByZXF1aXJlbWVudCBpcyAoMCwgMSwgMiwgMykgYmVjYXVzZSAxICsgMiArIDMgPT0gNi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFszLDMsNiw0LDVdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSBubyBzdWNoIHF1YWRydXBsZXRzIGluIFszLDMsNiw0LDVdLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMSwxLDMsNV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIDQgcXVhZHJ1cGxldHMgdGhhdCBzYXRpc2Z5IHRoZSByZXF1aXJlbWVudCBhcmU6Ci0gKDAsIDEsIDIsIDMpOiAxICsgMSArIDEgPT0gMwotICgwLCAxLCAzLCA0KTogMSArIDEgKyAzID09IDUKLSAoMCwgMiwgMywgNCk6IDEgKyAxICsgMyA9PSA1Ci0gKDEsIDIsIDMsIDQpOiAxICsgMSArIDMgPT0gNQo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT40ICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDUwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0gJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "1971. Find if Path Exists in Graph",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGEgPHN0cm9uZz5iaS1kaXJlY3Rpb25hbDwvc3Ryb25nPiBncmFwaCB3aXRoIDxjb2RlPm48L2NvZGU+IHZlcnRpY2VzLCB3aGVyZSBlYWNoIHZlcnRleCBpcyBsYWJlbGVkIGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+biAtIDE8L2NvZGU+ICg8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPikuIFRoZSBlZGdlcyBpbiB0aGUgZ3JhcGggYXJlIHJlcHJlc2VudGVkIGFzIGEgMkQgaW50ZWdlciBhcnJheSA8Y29kZT5lZGdlczwvY29kZT4sIHdoZXJlIGVhY2ggPGNvZGU+ZWRnZXNbaV0gPSBbdTxzdWI+aTwvc3ViPiwgdjxzdWI+aTwvc3ViPl08L2NvZGU+IGRlbm90ZXMgYSBiaS1kaXJlY3Rpb25hbCBlZGdlIGJldHdlZW4gdmVydGV4IDxjb2RlPnU8c3ViPmk8L3N1Yj48L2NvZGU+IGFuZCB2ZXJ0ZXggPGNvZGU+djxzdWI+aTwvc3ViPjwvY29kZT4uIEV2ZXJ5IHZlcnRleCBwYWlyIGlzIGNvbm5lY3RlZCBieSA8c3Ryb25nPmF0IG1vc3Qgb25lPC9zdHJvbmc+IGVkZ2UsIGFuZCBubyB2ZXJ0ZXggaGFzIGFuIGVkZ2UgdG8gaXRzZWxmLjwvcD4KPHA+WW91IHdhbnQgdG8gZGV0ZXJtaW5lIGlmIHRoZXJlIGlzIGEgPHN0cm9uZz52YWxpZCBwYXRoPC9zdHJvbmc+IHRoYXQgZXhpc3RzIGZyb20gdmVydGV4IDxjb2RlPnNvdXJjZTwvY29kZT4gdG8gdmVydGV4IDxjb2RlPmRlc3RpbmF0aW9uPC9jb2RlPi48L3A+CjxwPkdpdmVuIDxjb2RlPmVkZ2VzPC9jb2RlPiBhbmQgdGhlIGludGVnZXJzIDxjb2RlPm48L2NvZGU+LCA8Y29kZT5zb3VyY2U8L2NvZGU+LCBhbmQgPGNvZGU+ZGVzdGluYXRpb248L2NvZGU+LCByZXR1cm4gPGNvZGU+dHJ1ZTwvY29kZT48ZW0+IGlmIHRoZXJlIGlzIGEgPHN0cm9uZz52YWxpZCBwYXRoPC9zdHJvbmc+IGZyb20gPC9lbT48Y29kZT5zb3VyY2U8L2NvZGU+PGVtPiB0byA8L2VtPjxjb2RlPmRlc3RpbmF0aW9uPC9jb2RlPjxlbT4sIG9yIDwvZW0+PGNvZGU+ZmFsc2U8L2NvZGU+PGVtPiBvdGhlcndpc2U8L2VtPjxlbT4uPC9lbT48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMDgvMTQvdmFsaWRwYXRoLWV4MS5wbmciIHN0eWxlPSJ3aWR0aDogMTQxcHg7IGhlaWdodDogMTIxcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDMsIGVkZ2VzID0gW1swLDFdLFsxLDJdLFsyLDBdXSwgc291cmNlID0gMCwgZGVzdGluYXRpb24gPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiB0cnVlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSB0d28gcGF0aHMgZnJvbSB2ZXJ0ZXggMCB0byB2ZXJ0ZXggMjoKLSAwIOKGkiAxIOKGkiAyCi0gMCDihpIgMgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzA4LzE0L3ZhbGlkcGF0aC1leDIucG5nIiBzdHlsZT0id2lkdGg6IDI4MXB4OyBoZWlnaHQ6IDE0MXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSA2LCBlZGdlcyA9IFtbMCwxXSxbMCwyXSxbMyw1XSxbNSw0XSxbNCwzXV0sIHNvdXJjZSA9IDAsIGRlc3RpbmF0aW9uID0gNQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gZmFsc2UKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgaXMgbm8gcGF0aCBmcm9tIHZlcnRleCAwIHRvIHZlcnRleCA1Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMiAqIDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IGVkZ2VzLmxlbmd0aCAmbHQ7PSAyICogMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPmVkZ2VzW2ldLmxlbmd0aCA9PSAyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IHU8c3ViPmk8L3N1Yj4sIHY8c3ViPmk8L3N1Yj4gJmx0Oz0gbiAtIDE8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnU8c3ViPmk8L3N1Yj4gIT0gdjxzdWI+aTwvc3ViPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBzb3VyY2UsIGRlc3RpbmF0aW9uICZsdDs9IG4gLSAxPC9jb2RlPjwvbGk+CjxsaT5UaGVyZSBhcmUgbm8gZHVwbGljYXRlIGVkZ2VzLjwvbGk+CjxsaT5UaGVyZSBhcmUgbm8gc2VsZiBlZGdlcy48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Depth-First Search",
+ "Breadth-First Search",
+ "Union Find",
+ "Graph"
+ ]
+ },
+ {
+ "title": "2006. Count Number of Pairs With Absolute Difference K",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGludGVnZXIgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4gYW5kIGFuIGludGVnZXIgPGNvZGU+azwvY29kZT4sIHJldHVybiA8ZW0+dGhlIG51bWJlciBvZiBwYWlyczwvZW0+IDxjb2RlPihpLCBqKTwvY29kZT4gPGVtPndoZXJlPC9lbT4gPGNvZGU+aSAmbHQ7IGo8L2NvZGU+IDxlbT5zdWNoIHRoYXQ8L2VtPiA8Y29kZT58bnVtc1tpXSAtIG51bXNbal18ID09IGs8L2NvZGU+LjwvcD4KPHA+VGhlIHZhbHVlIG9mIDxjb2RlPnx4fDwvY29kZT4gaXMgZGVmaW5lZCBhczo8L3A+Cjx1bD4KPGxpPjxjb2RlPng8L2NvZGU+IGlmIDxjb2RlPnggJmd0Oz0gMDwvY29kZT4uPC9saT4KPGxpPjxjb2RlPi14PC9jb2RlPiBpZiA8Y29kZT54ICZsdDsgMDwvY29kZT4uPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDIsMiwxXSwgayA9IDEKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHBhaXJzIHdpdGggYW4gYWJzb2x1dGUgZGlmZmVyZW5jZSBvZiAxIGFyZToKLSBbPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPiw8c3Ryb25nPjx1PjI8L3U+PC9zdHJvbmc+LDIsMV0KLSBbPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPiwyLDxzdHJvbmc+PHU+MjwvdT48L3N0cm9uZz4sMV0KLSBbMSw8c3Ryb25nPjx1PjI8L3U+PC9zdHJvbmc+LDIsPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPl0KLSBbMSwyLDxzdHJvbmc+PHU+MjwvdT48L3N0cm9uZz4sPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPl0KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDNdLCBrID0gMwo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGVyZSBhcmUgbm8gcGFpcnMgd2l0aCBhbiBhYnNvbHV0ZSBkaWZmZXJlbmNlIG9mIDMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMywyLDEsNSw0XSwgayA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPGI+RXhwbGFuYXRpb246PC9iPiBUaGUgcGFpcnMgd2l0aCBhbiBhYnNvbHV0ZSBkaWZmZXJlbmNlIG9mIDIgYXJlOgotIFs8c3Ryb25nPjx1PjM8L3U+PC9zdHJvbmc+LDIsPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPiw1LDRdCi0gWzxzdHJvbmc+PHU+MzwvdT48L3N0cm9uZz4sMiwxLDxzdHJvbmc+PHU+NTwvdT48L3N0cm9uZz4sNF0KLSBbMyw8c3Ryb25nPjx1PjI8L3U+PC9zdHJvbmc+LDEsNSw8c3Ryb25nPjx1PjQ8L3U+PC9zdHJvbmc+XQo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDIwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBrICZsdDs9IDk5PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Counting"
+ ]
+ },
+ {
+ "title": "1984. Minimum Difference Between Highest and Lowest of K Scores",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+LCB3aGVyZSA8Y29kZT5udW1zW2ldPC9jb2RlPiByZXByZXNlbnRzIHRoZSBzY29yZSBvZiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHN0dWRlbnQuIFlvdSBhcmUgYWxzbyBnaXZlbiBhbiBpbnRlZ2VyIDxjb2RlPms8L2NvZGU+LjwvcD4KPHA+UGljayB0aGUgc2NvcmVzIG9mIGFueSA8Y29kZT5rPC9jb2RlPiBzdHVkZW50cyBmcm9tIHRoZSBhcnJheSBzbyB0aGF0IHRoZSA8c3Ryb25nPmRpZmZlcmVuY2U8L3N0cm9uZz4gYmV0d2VlbiB0aGUgPHN0cm9uZz5oaWdoZXN0PC9zdHJvbmc+IGFuZCB0aGUgPHN0cm9uZz5sb3dlc3Q8L3N0cm9uZz4gb2YgdGhlIDxjb2RlPms8L2NvZGU+IHNjb3JlcyBpcyA8c3Ryb25nPm1pbmltaXplZDwvc3Ryb25nPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiBwb3NzaWJsZSBkaWZmZXJlbmNlPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzkwXSwgayA9IDEKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgaXMgb25lIHdheSB0byBwaWNrIHNjb3JlKHMpIG9mIG9uZSBzdHVkZW50OgotIFs8c3Ryb25nPjx1PjkwPC91Pjwvc3Ryb25nPl0uIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIGhpZ2hlc3QgYW5kIGxvd2VzdCBzY29yZSBpcyA5MCAtIDkwID0gMC4KVGhlIG1pbmltdW0gcG9zc2libGUgZGlmZmVyZW5jZSBpcyAwLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzksNCwxLDddLCBrID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGVyZSBhcmUgc2l4IHdheXMgdG8gcGljayBzY29yZShzKSBvZiB0d28gc3R1ZGVudHM6Ci0gWzxzdHJvbmc+PHU+OTwvdT48L3N0cm9uZz4sPHN0cm9uZz48dT40PC91Pjwvc3Ryb25nPiwxLDddLiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBoaWdoZXN0IGFuZCBsb3dlc3Qgc2NvcmUgaXMgOSAtIDQgPSA1LgotIFs8c3Ryb25nPjx1Pjk8L3U+PC9zdHJvbmc+LDQsPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPiw3XS4gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgaGlnaGVzdCBhbmQgbG93ZXN0IHNjb3JlIGlzIDkgLSAxID0gOC4KLSBbPHN0cm9uZz48dT45PC91Pjwvc3Ryb25nPiw0LDEsPHN0cm9uZz48dT43PC91Pjwvc3Ryb25nPl0uIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIGhpZ2hlc3QgYW5kIGxvd2VzdCBzY29yZSBpcyA5IC0gNyA9IDIuCi0gWzksPHN0cm9uZz48dT40PC91Pjwvc3Ryb25nPiw8c3Ryb25nPjx1PjE8L3U+PC9zdHJvbmc+LDddLiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBoaWdoZXN0IGFuZCBsb3dlc3Qgc2NvcmUgaXMgNCAtIDEgPSAzLgotIFs5LDxzdHJvbmc+PHU+NDwvdT48L3N0cm9uZz4sMSw8c3Ryb25nPjx1Pjc8L3U+PC9zdHJvbmc+XS4gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgaGlnaGVzdCBhbmQgbG93ZXN0IHNjb3JlIGlzIDcgLSA0ID0gMy4KLSBbOSw0LDxzdHJvbmc+PHU+MTwvdT48L3N0cm9uZz4sPHN0cm9uZz48dT43PC91Pjwvc3Ryb25nPl0uIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIGhpZ2hlc3QgYW5kIGxvd2VzdCBzY29yZSBpcyA3IC0gMSA9IDYuClRoZSBtaW5pbXVtIHBvc3NpYmxlIGRpZmZlcmVuY2UgaXMgMi48L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IGsgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBudW1zW2ldICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Sliding Window",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "1979. Find Greatest Common Divisor of Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGludGVnZXIgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4sIHJldHVybjxzdHJvbmc+IDwvc3Ryb25nPjxlbT50aGUgPHN0cm9uZz5ncmVhdGVzdCBjb21tb24gZGl2aXNvcjwvc3Ryb25nPiBvZiB0aGUgc21hbGxlc3QgbnVtYmVyIGFuZCBsYXJnZXN0IG51bWJlciBpbiA8L2VtPjxjb2RlPm51bXM8L2NvZGU+LjwvcD4KPHA+VGhlIDxzdHJvbmc+Z3JlYXRlc3QgY29tbW9uIGRpdmlzb3I8L3N0cm9uZz4gb2YgdHdvIG51bWJlcnMgaXMgdGhlIGxhcmdlc3QgcG9zaXRpdmUgaW50ZWdlciB0aGF0IGV2ZW5seSBkaXZpZGVzIGJvdGggbnVtYmVycy48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMiw1LDYsOSwxMF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIHNtYWxsZXN0IG51bWJlciBpbiBudW1zIGlzIDIuClRoZSBsYXJnZXN0IG51bWJlciBpbiBudW1zIGlzIDEwLgpUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgMiBhbmQgMTAgaXMgMi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs3LDUsNiw4LDNdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBzbWFsbGVzdCBudW1iZXIgaW4gbnVtcyBpcyAzLgpUaGUgbGFyZ2VzdCBudW1iZXIgaW4gbnVtcyBpcyA4LgpUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgMyBhbmQgOCBpcyAxLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzMsM10KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIHNtYWxsZXN0IG51bWJlciBpbiBudW1zIGlzIDMuClRoZSBsYXJnZXN0IG51bWJlciBpbiBudW1zIGlzIDMuClRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiAzIGFuZCAzIGlzIDMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjIgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Math",
+ "Number Theory"
+ ]
+ },
+ {
+ "title": "1991. Find the Middle Index in Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiwgZmluZCB0aGUgPHN0cm9uZz5sZWZ0bW9zdDwvc3Ryb25nPiA8Y29kZT5taWRkbGVJbmRleDwvY29kZT4gKGkuZS4sIHRoZSBzbWFsbGVzdCBhbW9uZ3N0IGFsbCB0aGUgcG9zc2libGUgb25lcykuPC9wPgo8cD5BIDxjb2RlPm1pZGRsZUluZGV4PC9jb2RlPiBpcyBhbiBpbmRleCB3aGVyZSA8Y29kZT5udW1zWzBdICsgbnVtc1sxXSArIC4uLiArIG51bXNbbWlkZGxlSW5kZXgtMV0gPT0gbnVtc1ttaWRkbGVJbmRleCsxXSArIG51bXNbbWlkZGxlSW5kZXgrMl0gKyAuLi4gKyBudW1zW251bXMubGVuZ3RoLTFdPC9jb2RlPi48L3A+CjxwPklmIDxjb2RlPm1pZGRsZUluZGV4ID09IDA8L2NvZGU+LCB0aGUgbGVmdCBzaWRlIHN1bSBpcyBjb25zaWRlcmVkIHRvIGJlIDxjb2RlPjA8L2NvZGU+LiBTaW1pbGFybHksIGlmIDxjb2RlPm1pZGRsZUluZGV4ID09IG51bXMubGVuZ3RoIC0gMTwvY29kZT4sIHRoZSByaWdodCBzaWRlIHN1bSBpcyBjb25zaWRlcmVkIHRvIGJlIDxjb2RlPjA8L2NvZGU+LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5sZWZ0bW9zdDwvc3Ryb25nPiA8L2VtPjxjb2RlPm1pZGRsZUluZGV4PC9jb2RlPjxlbT4gdGhhdCBzYXRpc2ZpZXMgdGhlIGNvbmRpdGlvbiwgb3IgPC9lbT48Y29kZT4tMTwvY29kZT48ZW0+IGlmIHRoZXJlIGlzIG5vIHN1Y2ggaW5kZXg8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMiwzLC0xLDx1Pjg8L3U+LDRdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBzdW0gb2YgdGhlIG51bWJlcnMgYmVmb3JlIGluZGV4IDMgaXM6IDIgKyAzICsgLTEgPSA0ClRoZSBzdW0gb2YgdGhlIG51bWJlcnMgYWZ0ZXIgaW5kZXggMyBpczogNCA9IDQKPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLC0xLDx1PjQ8L3U+XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgc3VtIG9mIHRoZSBudW1iZXJzIGJlZm9yZSBpbmRleCAyIGlzOiAxICsgLTEgPSAwClRoZSBzdW0gb2YgdGhlIG51bWJlcnMgYWZ0ZXIgaW5kZXggMiBpczogMAo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzIsNV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IC0xCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGlzIG5vIHZhbGlkIG1pZGRsZUluZGV4Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+LTEwMDAgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjwvdWw+CjxwPsKgPC9wPgo8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoaXMgcXVlc3Rpb24gaXMgdGhlIHNhbWUgYXPCoDcyNDrCoDxhIGhyZWY9Imh0dHBzOi8vbGVldGNvZGUuY29tL3Byb2JsZW1zL2ZpbmQtcGl2b3QtaW5kZXgvIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9sZWV0Y29kZS5jb20vcHJvYmxlbXMvZmluZC1waXZvdC1pbmRleC88L2E+PC9wPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "1967. Number of Strings That Appear as Substrings in Word",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGFycmF5IG9mIHN0cmluZ3MgPGNvZGU+cGF0dGVybnM8L2NvZGU+IGFuZCBhIHN0cmluZyA8Y29kZT53b3JkPC9jb2RlPiwgcmV0dXJuIDxlbT50aGUgPHN0cm9uZz5udW1iZXI8L3N0cm9uZz4gb2Ygc3RyaW5ncyBpbiA8L2VtPjxjb2RlPnBhdHRlcm5zPC9jb2RlPjxlbT4gdGhhdCBleGlzdCBhcyBhIDxzdHJvbmc+c3Vic3RyaW5nPC9zdHJvbmc+IGluIDwvZW0+PGNvZGU+d29yZDwvY29kZT4uPC9wPgo8cD5BIDxzdHJvbmc+c3Vic3RyaW5nPC9zdHJvbmc+IGlzIGEgY29udGlndW91cyBzZXF1ZW5jZSBvZiBjaGFyYWN0ZXJzIHdpdGhpbiBhIHN0cmluZy48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHBhdHRlcm5zID0gWyJhIiwiYWJjIiwiYmMiLCJkIl0sIHdvcmQgPSAiYWJjIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgotICJhIiBhcHBlYXJzIGFzIGEgc3Vic3RyaW5nIGluICI8dT5hPC91PmJjIi4KLSAiYWJjIiBhcHBlYXJzIGFzIGEgc3Vic3RyaW5nIGluICI8dT5hYmM8L3U+Ii4KLSAiYmMiIGFwcGVhcnMgYXMgYSBzdWJzdHJpbmcgaW4gImE8dT5iYzwvdT4iLgotICJkIiBkb2VzIG5vdCBhcHBlYXIgYXMgYSBzdWJzdHJpbmcgaW4gImFiYyIuCjMgb2YgdGhlIHN0cmluZ3MgaW4gcGF0dGVybnMgYXBwZWFyIGFzIGEgc3Vic3RyaW5nIGluIHdvcmQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHBhdHRlcm5zID0gWyJhIiwiYiIsImMiXSwgd29yZCA9ICJhYWFhYWJiYmJiIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgotICJhIiBhcHBlYXJzIGFzIGEgc3Vic3RyaW5nIGluICJhPHU+YTwvdT5hYWFiYmJiYiIuCi0gImIiIGFwcGVhcnMgYXMgYSBzdWJzdHJpbmcgaW4gImFhYWFhYmJiYjx1PmI8L3U+Ii4KLSAiYyIgZG9lcyBub3QgYXBwZWFyIGFzIGEgc3Vic3RyaW5nIGluICJhYWFhYWJiYmJiIi4KMiBvZiB0aGUgc3RyaW5ncyBpbiBwYXR0ZXJucyBhcHBlYXIgYXMgYSBzdWJzdHJpbmcgaW4gd29yZC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcGF0dGVybnMgPSBbImEiLCJhIiwiYSJdLCB3b3JkID0gImFiIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBFYWNoIG9mIHRoZSBwYXR0ZXJucyBhcHBlYXJzIGFzIGEgc3Vic3RyaW5nIGluIHdvcmQgIjx1PmE8L3U+YiIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gcGF0dGVybnMubGVuZ3RoICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBwYXR0ZXJuc1tpXS5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHdvcmQubGVuZ3RoICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+cGF0dGVybnNbaV08L2NvZGU+IGFuZCA8Y29kZT53b3JkPC9jb2RlPiBjb25zaXN0IG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "String"
+ ]
+ },
+ {
+ "title": "1961. Check If String Is a Prefix of Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgc3RyaW5nIDxjb2RlPnM8L2NvZGU+IGFuZCBhbiBhcnJheSBvZiBzdHJpbmdzIDxjb2RlPndvcmRzPC9jb2RlPiwgZGV0ZXJtaW5lIHdoZXRoZXIgPGNvZGU+czwvY29kZT4gaXMgYSA8c3Ryb25nPnByZWZpeCBzdHJpbmc8L3N0cm9uZz4gb2YgPGNvZGU+d29yZHM8L2NvZGU+LjwvcD4KPHA+QSBzdHJpbmcgPGNvZGU+czwvY29kZT4gaXMgYSA8c3Ryb25nPnByZWZpeCBzdHJpbmc8L3N0cm9uZz4gb2YgPGNvZGU+d29yZHM8L2NvZGU+IGlmIDxjb2RlPnM8L2NvZGU+IGNhbiBiZSBtYWRlIGJ5IGNvbmNhdGVuYXRpbmcgdGhlIGZpcnN0IDxjb2RlPms8L2NvZGU+IHN0cmluZ3MgaW4gPGNvZGU+d29yZHM8L2NvZGU+IGZvciBzb21lIDxzdHJvbmc+cG9zaXRpdmU8L3N0cm9uZz4gPGNvZGU+azwvY29kZT4gbm8gbGFyZ2VyIHRoYW4gPGNvZGU+d29yZHMubGVuZ3RoPC9jb2RlPi48L3A+CjxwPlJldHVybiA8Y29kZT50cnVlPC9jb2RlPjxlbT4gaWYgPC9lbT48Y29kZT5zPC9jb2RlPjxlbT4gaXMgYSA8c3Ryb25nPnByZWZpeCBzdHJpbmc8L3N0cm9uZz4gb2YgPC9lbT48Y29kZT53b3JkczwvY29kZT48ZW0+LCBvciA8L2VtPjxjb2RlPmZhbHNlPC9jb2RlPjxlbT4gb3RoZXJ3aXNlPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImlsb3ZlbGVldGNvZGUiLCB3b3JkcyA9IFsiaSIsImxvdmUiLCJsZWV0Y29kZSIsImFwcGxlcyJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiB0cnVlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+CnMgY2FuIGJlIG1hZGUgYnkgY29uY2F0ZW5hdGluZyAiaSIsICJsb3ZlIiwgYW5kICJsZWV0Y29kZSIgdG9nZXRoZXIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiaWxvdmVsZWV0Y29kZSIsIHdvcmRzID0gWyJhcHBsZXMiLCJpIiwibG92ZSIsImxlZXRjb2RlIl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IGZhbHNlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ckl0IGlzIGltcG9zc2libGUgdG8gbWFrZSBzIHVzaW5nIGEgcHJlZml4IG9mIGFyci48L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHdvcmRzLmxlbmd0aCAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gd29yZHNbaV0ubGVuZ3RoICZsdDs9IDIwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHMubGVuZ3RoICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPndvcmRzW2ldPC9jb2RlPiBhbmQgPGNvZGU+czwvY29kZT4gY29uc2lzdCBvZiBvbmx5IGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "String"
+ ]
+ },
+ {
+ "title": "1974. Minimum Time to Type Word Using Special Typewriter",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGEgc3BlY2lhbCB0eXBld3JpdGVyIHdpdGggbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycyA8Y29kZT4nYSc8L2NvZGU+IHRvIDxjb2RlPid6JzwvY29kZT4gYXJyYW5nZWQgaW4gYSA8c3Ryb25nPmNpcmNsZTwvc3Ryb25nPiB3aXRoIGEgPHN0cm9uZz5wb2ludGVyPC9zdHJvbmc+LiBBIGNoYXJhY3RlciBjYW4gPHN0cm9uZz5vbmx5PC9zdHJvbmc+IGJlIHR5cGVkIGlmIHRoZSBwb2ludGVyIGlzIHBvaW50aW5nIHRvIHRoYXQgY2hhcmFjdGVyLiBUaGUgcG9pbnRlciBpcyA8c3Ryb25nPmluaXRpYWxseTwvc3Ryb25nPiBwb2ludGluZyB0byB0aGUgY2hhcmFjdGVyIDxjb2RlPidhJzwvY29kZT4uPC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMDcvMzEvY2hhcnQuanBnIiBzdHlsZT0id2lkdGg6IDUzMHB4OyBoZWlnaHQ6IDQxMHB4OyIvPgo8cD5FYWNoIHNlY29uZCwgeW91IG1heSBwZXJmb3JtIG9uZSBvZiB0aGUgZm9sbG93aW5nIG9wZXJhdGlvbnM6PC9wPgo8dWw+CjxsaT5Nb3ZlIHRoZSBwb2ludGVyIG9uZSBjaGFyYWN0ZXIgPHN0cm9uZz5jb3VudGVyY2xvY2t3aXNlPC9zdHJvbmc+IG9yIDxzdHJvbmc+Y2xvY2t3aXNlPC9zdHJvbmc+LjwvbGk+CjxsaT5UeXBlIHRoZSBjaGFyYWN0ZXIgdGhlIHBvaW50ZXIgaXMgPHN0cm9uZz5jdXJyZW50bHk8L3N0cm9uZz4gb24uPC9saT4KPC91bD4KPHA+R2l2ZW4gYSBzdHJpbmcgPGNvZGU+d29yZDwvY29kZT4sIHJldHVybiB0aGU8c3Ryb25nPiBtaW5pbXVtPC9zdHJvbmc+IG51bWJlciBvZiBzZWNvbmRzIHRvIHR5cGUgb3V0IHRoZSBjaGFyYWN0ZXJzIGluIDxjb2RlPndvcmQ8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZCA9ICJhYmMiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA1CjxzdHJvbmc+RXhwbGFuYXRpb246IAo8L3N0cm9uZz5UaGUgY2hhcmFjdGVycyBhcmUgcHJpbnRlZCBhcyBmb2xsb3dzOgotIFR5cGUgdGhlIGNoYXJhY3RlciAnYScgaW4gMSBzZWNvbmQgc2luY2UgdGhlIHBvaW50ZXIgaXMgaW5pdGlhbGx5IG9uICdhJy4KLSBNb3ZlIHRoZSBwb2ludGVyIGNsb2Nrd2lzZSB0byAnYicgaW4gMSBzZWNvbmQuCi0gVHlwZSB0aGUgY2hhcmFjdGVyICdiJyBpbiAxIHNlY29uZC4KLSBNb3ZlIHRoZSBwb2ludGVyIGNsb2Nrd2lzZSB0byAnYycgaW4gMSBzZWNvbmQuCi0gVHlwZSB0aGUgY2hhcmFjdGVyICdjJyBpbiAxIHNlY29uZC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZCA9ICJiemEiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA3CjxzdHJvbmc+RXhwbGFuYXRpb246Cjwvc3Ryb25nPlRoZSBjaGFyYWN0ZXJzIGFyZSBwcmludGVkIGFzIGZvbGxvd3M6Ci0gTW92ZSB0aGUgcG9pbnRlciBjbG9ja3dpc2UgdG8gJ2InIGluIDEgc2Vjb25kLgotIFR5cGUgdGhlIGNoYXJhY3RlciAnYicgaW4gMSBzZWNvbmQuCi0gTW92ZSB0aGUgcG9pbnRlciBjb3VudGVyY2xvY2t3aXNlIHRvICd6JyBpbiAyIHNlY29uZHMuCi0gVHlwZSB0aGUgY2hhcmFjdGVyICd6JyBpbiAxIHNlY29uZC4KLSBNb3ZlIHRoZSBwb2ludGVyIGNsb2Nrd2lzZSB0byAnYScgaW4gMSBzZWNvbmQuCi0gVHlwZSB0aGUgY2hhcmFjdGVyICdhJyBpbiAxIHNlY29uZC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZCA9ICJ6anBjIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMzQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIGNoYXJhY3RlcnMgYXJlIHByaW50ZWQgYXMgZm9sbG93czoKLSBNb3ZlIHRoZSBwb2ludGVyIGNvdW50ZXJjbG9ja3dpc2UgdG8gJ3onIGluIDEgc2Vjb25kLgotIFR5cGUgdGhlIGNoYXJhY3RlciAneicgaW4gMSBzZWNvbmQuCi0gTW92ZSB0aGUgcG9pbnRlciBjbG9ja3dpc2UgdG8gJ2onIGluIDEwIHNlY29uZHMuCi0gVHlwZSB0aGUgY2hhcmFjdGVyICdqJyBpbiAxIHNlY29uZC4KLSBNb3ZlIHRoZSBwb2ludGVyIGNsb2Nrd2lzZSB0byAncCcgaW4gNiBzZWNvbmRzLgotIFR5cGUgdGhlIGNoYXJhY3RlciAncCcgaW4gMSBzZWNvbmQuCi0gTW92ZSB0aGUgcG9pbnRlciBjb3VudGVyY2xvY2t3aXNlIHRvICdjJyBpbiAxMyBzZWNvbmRzLgotIFR5cGUgdGhlIGNoYXJhY3RlciAnYycgaW4gMSBzZWNvbmQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gd29yZC5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT53b3JkPC9jb2RlPiBjb25zaXN0cyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "String",
+ "Greedy"
+ ]
+ },
+ {
+ "title": "1952. Three Divisors",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGludGVnZXIgPGNvZGU+bjwvY29kZT4sIHJldHVybiA8Y29kZT50cnVlPC9jb2RlPjxlbT4gaWYgPC9lbT48Y29kZT5uPC9jb2RlPjxlbT4gaGFzIDxzdHJvbmc+ZXhhY3RseSB0aHJlZSBwb3NpdGl2ZSBkaXZpc29yczwvc3Ryb25nPi4gT3RoZXJ3aXNlLCByZXR1cm4gPC9lbT48Y29kZT5mYWxzZTwvY29kZT4uPC9wPgo8cD5BbiBpbnRlZ2VyIDxjb2RlPm08L2NvZGU+IGlzIGEgPHN0cm9uZz5kaXZpc29yPC9zdHJvbmc+IG9mIDxjb2RlPm48L2NvZGU+IGlmIHRoZXJlIGV4aXN0cyBhbiBpbnRlZ2VyIDxjb2RlPms8L2NvZGU+IHN1Y2ggdGhhdCA8Y29kZT5uID0gayAqIG08L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IGZhbHNlCjxzdHJvbmc+RXhwbGFudGlvbjo8L3N0cm9uZz4gMiBoYXMgb25seSB0d28gZGl2aXNvcnM6IDEgYW5kIDIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSA0CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiB0cnVlCjxzdHJvbmc+RXhwbGFudGlvbjo8L3N0cm9uZz4gNCBoYXMgdGhyZWUgZGl2aXNvcnM6IDEsIDIsIGFuZCA0Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Math"
+ ]
+ },
+ {
+ "title": "1945. Sum of Digits of String After Convert",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4gY29uc2lzdGluZyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLCBhbmQgYW4gaW50ZWdlciA8Y29kZT5rPC9jb2RlPi48L3A+CjxwPkZpcnN0LCA8c3Ryb25nPmNvbnZlcnQ8L3N0cm9uZz4gPGNvZGU+czwvY29kZT4gaW50byBhbiBpbnRlZ2VyIGJ5IHJlcGxhY2luZyBlYWNoIGxldHRlciB3aXRoIGl0cyBwb3NpdGlvbiBpbiB0aGUgYWxwaGFiZXQgKGkuZS4sIHJlcGxhY2UgPGNvZGU+J2EnPC9jb2RlPiB3aXRoIDxjb2RlPjE8L2NvZGU+LCA8Y29kZT4nYic8L2NvZGU+IHdpdGggPGNvZGU+MjwvY29kZT4sIC4uLiwgPGNvZGU+J3onPC9jb2RlPiB3aXRoIDxjb2RlPjI2PC9jb2RlPikuIFRoZW4sIDxzdHJvbmc+dHJhbnNmb3JtPC9zdHJvbmc+IHRoZSBpbnRlZ2VyIGJ5IHJlcGxhY2luZyBpdCB3aXRoIHRoZSA8c3Ryb25nPnN1bSBvZiBpdHMgZGlnaXRzPC9zdHJvbmc+LiBSZXBlYXQgdGhlIDxzdHJvbmc+dHJhbnNmb3JtPC9zdHJvbmc+IG9wZXJhdGlvbiA8Y29kZT5rPC9jb2RlPjxzdHJvbmc+IHRpbWVzPC9zdHJvbmc+IGluIHRvdGFsLjwvcD4KPHA+Rm9yIGV4YW1wbGUsIGlmIDxjb2RlPnMgPSAiemJheCI8L2NvZGU+IGFuZCA8Y29kZT5rID0gMjwvY29kZT4sIHRoZW4gdGhlIHJlc3VsdGluZyBpbnRlZ2VyIHdvdWxkIGJlIDxjb2RlPjg8L2NvZGU+IGJ5IHRoZSBmb2xsb3dpbmcgb3BlcmF0aW9uczo8L3A+Cjx1bD4KPGxpPjxzdHJvbmc+Q29udmVydDwvc3Ryb25nPjogPGNvZGU+InpiYXgiIOKenSAiKDI2KSgyKSgxKSgyNCkiIOKenSAiMjYyMTI0IiDinp0gMjYyMTI0PC9jb2RlPjwvbGk+CjxsaT48c3Ryb25nPlRyYW5zZm9ybSAjMTwvc3Ryb25nPjogPGNvZGU+MjYyMTI0IOKenSAyICsgNiArIDIgKyAxICsgMiArIDTCoOKenSAxNzwvY29kZT48L2xpPgo8bGk+PHN0cm9uZz5UcmFuc2Zvcm0gIzI8L3N0cm9uZz46IDxjb2RlPjE3IOKenSAxICsgNyDinp0gODwvY29kZT48L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPnRoZSByZXN1bHRpbmcgaW50ZWdlciBhZnRlciBwZXJmb3JtaW5nIHRoZSBvcGVyYXRpb25zIGRlc2NyaWJlZCBhYm92ZTwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJpaWlpIiwgayA9IDEKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDM2CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBvcGVyYXRpb25zIGFyZSBhcyBmb2xsb3dzOgotIENvbnZlcnQ6ICJpaWlpIiDinp0gIig5KSg5KSg5KSg5KSIg4p6dICI5OTk5IiDinp0gOTk5OQotIFRyYW5zZm9ybSAjMTogOTk5OSDinp0gOSArIDkgKyA5ICsgOSDinp0gMzYKVGh1cyB0aGUgcmVzdWx0aW5nIGludGVnZXIgaXMgMzYuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAibGVldGNvZGUiLCBrID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgb3BlcmF0aW9ucyBhcmUgYXMgZm9sbG93czoKLSBDb252ZXJ0OiAibGVldGNvZGUiIOKenSAiKDEyKSg1KSg1KSgyMCkoMykoMTUpKDQpKDUpIiDinp0gIjEyNTUyMDMxNTQ1IiDinp0gMTI1NTIwMzE1NDUKLSBUcmFuc2Zvcm0gIzE6IDEyNTUyMDMxNTQ1IOKenSAxICsgMiArIDUgKyA1ICsgMiArIDAgKyAzICsgMSArIDUgKyA0ICsgNSDinp0gMzMKLSBUcmFuc2Zvcm0gIzI6IDMzIOKenSAzICsgMyDinp0gNgpUaHVzIHRoZSByZXN1bHRpbmcgaW50ZWdlciBpcyA2Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gInpiYXgiLCBrID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gOAo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHMubGVuZ3RoICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBrICZsdDs9IDEwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zPC9jb2RlPiBjb25zaXN0cyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "String",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "1929. Concatenation of Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGludGVnZXIgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4gb2YgbGVuZ3RoIDxjb2RlPm48L2NvZGU+LCB5b3Ugd2FudCB0byBjcmVhdGUgYW4gYXJyYXkgPGNvZGU+YW5zPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+Mm48L2NvZGU+IHdoZXJlIDxjb2RlPmFuc1tpXSA9PSBudW1zW2ldPC9jb2RlPiBhbmQgPGNvZGU+YW5zW2kgKyBuXSA9PSBudW1zW2ldPC9jb2RlPiBmb3IgPGNvZGU+MCAmbHQ7PSBpICZsdDsgbjwvY29kZT4gKDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+KS48L3A+CjxwPlNwZWNpZmljYWxseSwgPGNvZGU+YW5zPC9jb2RlPiBpcyB0aGUgPHN0cm9uZz5jb25jYXRlbmF0aW9uPC9zdHJvbmc+IG9mIHR3byA8Y29kZT5udW1zPC9jb2RlPiBhcnJheXMuPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSBhcnJheSA8L2VtPjxjb2RlPmFuczwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMiwxXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzEsMiwxLDEsMiwxXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgYXJyYXkgYW5zIGlzIGZvcm1lZCBhcyBmb2xsb3dzOgotIGFucyA9IFtudW1zWzBdLG51bXNbMV0sbnVtc1syXSxudW1zWzBdLG51bXNbMV0sbnVtc1syXV0KLSBhbnMgPSBbMSwyLDEsMSwyLDFdPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDMsMiwxXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzEsMywyLDEsMSwzLDIsMV0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGFycmF5IGFucyBpcyBmb3JtZWQgYXMgZm9sbG93czoKLSBhbnMgPSBbbnVtc1swXSxudW1zWzFdLG51bXNbMl0sbnVtc1szXSxudW1zWzBdLG51bXNbMV0sbnVtc1syXSxudW1zWzNdXQotIGFucyA9IFsxLDMsMiwxLDEsMywyLDFdCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gbnVtcy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0gJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array"
+ ]
+ },
+ {
+ "title": "1941. Check if All Characters Have Equal Number of Occurrences",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgc3RyaW5nIDxjb2RlPnM8L2NvZGU+LCByZXR1cm4gPGNvZGU+dHJ1ZTwvY29kZT48ZW0+IGlmIDwvZW0+PGNvZGU+czwvY29kZT48ZW0+IGlzIGEgPHN0cm9uZz5nb29kPC9zdHJvbmc+IHN0cmluZywgb3IgPC9lbT48Y29kZT5mYWxzZTwvY29kZT48ZW0+IG90aGVyd2lzZTwvZW0+LjwvcD4KPHA+QSBzdHJpbmcgPGNvZGU+czwvY29kZT4gaXMgPHN0cm9uZz5nb29kPC9zdHJvbmc+IGlmIDxzdHJvbmc+YWxsPC9zdHJvbmc+IHRoZSBjaGFyYWN0ZXJzIHRoYXQgYXBwZWFyIGluIDxjb2RlPnM8L2NvZGU+IGhhdmUgdGhlIDxzdHJvbmc+c2FtZTwvc3Ryb25nPiBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgKGkuZS4sIHRoZSBzYW1lIGZyZXF1ZW5jeSkuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImFiYWNiYyIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IHRydWUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGNoYXJhY3RlcnMgdGhhdCBhcHBlYXIgaW4gcyBhcmUgJ2EnLCAnYicsIGFuZCAnYycuIEFsbCBjaGFyYWN0ZXJzIG9jY3VyIDIgdGltZXMgaW4gcy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJhYWFiYiIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IGZhbHNlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBjaGFyYWN0ZXJzIHRoYXQgYXBwZWFyIGluIHMgYXJlICdhJyBhbmQgJ2InLgonYScgb2NjdXJzIDMgdGltZXMgd2hpbGUgJ2InIG9jY3VycyAyIHRpbWVzLCB3aGljaCBpcyBub3QgdGhlIHNhbWUgbnVtYmVyIG9mIHRpbWVzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHMubGVuZ3RoICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnM8L2NvZGU+IGNvbnNpc3RzIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Hash Table",
+ "String",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2461. Maximum Sum of Distinct Subarrays With Length K",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBhbmQgYW4gaW50ZWdlciA8Y29kZT5rPC9jb2RlPi4gRmluZCB0aGUgbWF4aW11bSBzdWJhcnJheSBzdW0gb2YgYWxsIHRoZSBzdWJhcnJheXMgb2YgPGNvZGU+bnVtczwvY29kZT4gdGhhdCBtZWV0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczo8L3A+Cjx1bD4KPGxpPlRoZSBsZW5ndGggb2YgdGhlIHN1YmFycmF5IGlzIDxjb2RlPms8L2NvZGU+LCBhbmQ8L2xpPgo8bGk+QWxsIHRoZSBlbGVtZW50cyBvZiB0aGUgc3ViYXJyYXkgYXJlIDxzdHJvbmc+ZGlzdGluY3Q8L3N0cm9uZz4uPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgbWF4aW11bSBzdWJhcnJheSBzdW0gb2YgYWxsIHRoZSBzdWJhcnJheXMgdGhhdCBtZWV0IHRoZSBjb25kaXRpb25zPC9lbT48ZW0+LjwvZW0+IElmIG5vIHN1YmFycmF5IG1lZXRzIHRoZSBjb25kaXRpb25zLCByZXR1cm4gPGNvZGU+MDwvY29kZT4uPC9wPgo8cD48ZW0+QSA8c3Ryb25nPnN1YmFycmF5PC9zdHJvbmc+IGlzIGEgY29udGlndW91cyBub24tZW1wdHkgc2VxdWVuY2Ugb2YgZWxlbWVudHMgd2l0aGluIGFuIGFycmF5LjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsNSw0LDIsOSw5LDldLCBrID0gMwo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHN1YmFycmF5cyBvZiBudW1zIHdpdGggbGVuZ3RoIDMgYXJlOgotIFsxLDUsNF0gd2hpY2ggbWVldHMgdGhlIHJlcXVpcmVtZW50cyBhbmQgaGFzIGEgc3VtIG9mIDEwLgotIFs1LDQsMl0gd2hpY2ggbWVldHMgdGhlIHJlcXVpcmVtZW50cyBhbmQgaGFzIGEgc3VtIG9mIDExLgotIFs0LDIsOV0gd2hpY2ggbWVldHMgdGhlIHJlcXVpcmVtZW50cyBhbmQgaGFzIGEgc3VtIG9mIDE1LgotIFsyLDksOV0gd2hpY2ggZG9lcyBub3QgbWVldCB0aGUgcmVxdWlyZW1lbnRzIGJlY2F1c2UgdGhlIGVsZW1lbnQgOSBpcyByZXBlYXRlZC4KLSBbOSw5LDldIHdoaWNoIGRvZXMgbm90IG1lZXQgdGhlIHJlcXVpcmVtZW50cyBiZWNhdXNlIHRoZSBlbGVtZW50IDkgaXMgcmVwZWF0ZWQuCldlIHJldHVybiAxNSBiZWNhdXNlIGl0IGlzIHRoZSBtYXhpbXVtIHN1YmFycmF5IHN1bSBvZiBhbGwgdGhlIHN1YmFycmF5cyB0aGF0IG1lZXQgdGhlIGNvbmRpdGlvbnMKPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs0LDQsNF0sIGsgPSAzCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBzdWJhcnJheXMgb2YgbnVtcyB3aXRoIGxlbmd0aCAzIGFyZToKLSBbNCw0LDRdIHdoaWNoIGRvZXMgbm90IG1lZXQgdGhlIHJlcXVpcmVtZW50cyBiZWNhdXNlIHRoZSBlbGVtZW50IDQgaXMgcmVwZWF0ZWQuCldlIHJldHVybiAwIGJlY2F1c2Ugbm8gc3ViYXJyYXlzIG1lZXQgdGhlIGNvbmRpdGlvbnMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gayAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Sliding Window"
+ ]
+ },
+ {
+ "title": "2452. Words Within Two Edits of Dictionary",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIHN0cmluZyBhcnJheXMsIDxjb2RlPnF1ZXJpZXM8L2NvZGU+IGFuZCA8Y29kZT5kaWN0aW9uYXJ5PC9jb2RlPi4gQWxsIHdvcmRzIGluIGVhY2ggYXJyYXkgY29tcHJpc2Ugb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycyBhbmQgaGF2ZSB0aGUgc2FtZSBsZW5ndGguPC9wPgo8cD5JbiBvbmUgPHN0cm9uZz5lZGl0PC9zdHJvbmc+IHlvdSBjYW4gdGFrZSBhIHdvcmQgZnJvbSA8Y29kZT5xdWVyaWVzPC9jb2RlPiwgYW5kIGNoYW5nZSBhbnkgbGV0dGVyIGluIGl0IHRvIGFueSBvdGhlciBsZXR0ZXIuIEZpbmQgYWxsIHdvcmRzIGZyb20gPGNvZGU+cXVlcmllczwvY29kZT4gdGhhdCwgYWZ0ZXIgYSA8c3Ryb25nPm1heGltdW08L3N0cm9uZz4gb2YgdHdvIGVkaXRzLCBlcXVhbCBzb21lIHdvcmQgZnJvbSA8Y29kZT5kaWN0aW9uYXJ5PC9jb2RlPi48L3A+CjxwPlJldHVybjxlbT4gYSBsaXN0IG9mIGFsbCB3b3JkcyBmcm9tIDwvZW0+PGNvZGU+cXVlcmllczwvY29kZT48ZW0+LCA8L2VtPjxlbT50aGF0IG1hdGNoIHdpdGggc29tZSB3b3JkIGZyb20gPC9lbT48Y29kZT5kaWN0aW9uYXJ5PC9jb2RlPjxlbT4gYWZ0ZXIgYSBtYXhpbXVtIG9mIDxzdHJvbmc+dHdvIGVkaXRzPC9zdHJvbmc+PC9lbT4uIFJldHVybiB0aGUgd29yZHMgaW4gdGhlIDxzdHJvbmc+c2FtZSBvcmRlcjwvc3Ryb25nPiB0aGV5IGFwcGVhciBpbiA8Y29kZT5xdWVyaWVzPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHF1ZXJpZXMgPSBbIndvcmQiLCJub3RlIiwiYW50cyIsIndvb2QiXSwgZGljdGlvbmFyeSA9IFsid29vZCIsImpva2UiLCJtb2F0Il0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsid29yZCIsIm5vdGUiLCJ3b29kIl0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KLSBDaGFuZ2luZyB0aGUgJ3InIGluICJ3b3JkIiB0byAnbycgYWxsb3dzIGl0IHRvIGVxdWFsIHRoZSBkaWN0aW9uYXJ5IHdvcmQgIndvb2QiLgotIENoYW5naW5nIHRoZSAnbicgdG8gJ2onIGFuZCB0aGUgJ3QnIHRvICdrJyBpbiAibm90ZSIgY2hhbmdlcyBpdCB0byAiam9rZSIuCi0gSXQgd291bGQgdGFrZSBtb3JlIHRoYW4gMiBlZGl0cyBmb3IgImFudHMiIHRvIGVxdWFsIGEgZGljdGlvbmFyeSB3b3JkLgotICJ3b29kIiBjYW4gcmVtYWluIHVuY2hhbmdlZCAoMCBlZGl0cykgYW5kIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGRpY3Rpb25hcnkgd29yZC4KVGh1cywgd2UgcmV0dXJuIFsid29yZCIsIm5vdGUiLCJ3b29kIl0uCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHF1ZXJpZXMgPSBbInllcyJdLCBkaWN0aW9uYXJ5ID0gWyJub3QiXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gW10KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KQXBwbHlpbmcgYW55IHR3byBlZGl0cyB0byAieWVzIiBjYW5ub3QgbWFrZSBpdCBlcXVhbCB0byAibm90Ii4gVGh1cywgd2UgcmV0dXJuIGFuIGVtcHR5IGFycmF5Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHF1ZXJpZXMubGVuZ3RoLCBkaWN0aW9uYXJ5Lmxlbmd0aCAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPm4gPT0gcXVlcmllc1tpXS5sZW5ndGggPT0gZGljdGlvbmFyeVtqXS5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPkFsbCA8Y29kZT5xdWVyaWVzW2ldPC9jb2RlPiBhbmQgPGNvZGU+ZGljdGlvbmFyeVtqXTwvY29kZT4gYXJlIGNvbXBvc2VkIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "String"
+ ]
+ },
+ {
+ "title": "2453. Destroy Sequential Targets",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBjb25zaXN0aW5nIG9mIHBvc2l0aXZlIGludGVnZXJzLCByZXByZXNlbnRpbmcgdGFyZ2V0cyBvbiBhIG51bWJlciBsaW5lLiBZb3UgYXJlIGFsc28gZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5zcGFjZTwvY29kZT4uPC9wPgo8cD5Zb3UgaGF2ZSBhIG1hY2hpbmUgd2hpY2ggY2FuIGRlc3Ryb3kgdGFyZ2V0cy4gPHN0cm9uZz5TZWVkaW5nPC9zdHJvbmc+IHRoZSBtYWNoaW5lIHdpdGggc29tZSA8Y29kZT5udW1zW2ldPC9jb2RlPiBhbGxvd3MgaXQgdG8gZGVzdHJveSBhbGwgdGFyZ2V0cyB3aXRoIHZhbHVlcyB0aGF0IGNhbiBiZSByZXByZXNlbnRlZCBhcyA8Y29kZT5udW1zW2ldICsgYyAqIHNwYWNlPC9jb2RlPiwgd2hlcmUgPGNvZGU+YzwvY29kZT4gaXMgYW55IG5vbi1uZWdhdGl2ZSBpbnRlZ2VyLiBZb3Ugd2FudCB0byBkZXN0cm95IHRoZSA8c3Ryb25nPm1heGltdW08L3N0cm9uZz4gbnVtYmVyIG9mIHRhcmdldHMgaW4gPGNvZGU+bnVtczwvY29kZT4uPC9wPgo8cD5SZXR1cm48ZW0+IHRoZSA8c3Ryb25nPm1pbmltdW0gdmFsdWU8L3N0cm9uZz4gb2YgPC9lbT48Y29kZT5udW1zW2ldPC9jb2RlPjxlbT4geW91IGNhbiBzZWVkIHRoZSBtYWNoaW5lIHdpdGggdG8gZGVzdHJveSB0aGUgbWF4aW11bSBudW1iZXIgb2YgdGFyZ2V0cy48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFszLDcsOCwxLDEsNV0sIHNwYWNlID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBJZiB3ZSBzZWVkIHRoZSBtYWNoaW5lIHdpdGggbnVtc1szXSwgdGhlbiB3ZSBkZXN0cm95IGFsbCB0YXJnZXRzIGVxdWFsIHRvIDEsMyw1LDcsOSwuLi4gCkluIHRoaXMgY2FzZSwgd2Ugd291bGQgZGVzdHJveSA1IHRvdGFsIHRhcmdldHMgKGFsbCBleGNlcHQgZm9yIG51bXNbMl0pLiAKSXQgaXMgaW1wb3NzaWJsZSB0byBkZXN0cm95IG1vcmUgdGhhbiA1IHRhcmdldHMsIHNvIHdlIHJldHVybiBudW1zWzNdLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMyw1LDIsNCw2XSwgc3BhY2UgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFNlZWRpbmcgdGhlIG1hY2hpbmUgd2l0aCBudW1zWzBdLCBvciBudW1zWzNdIGRlc3Ryb3lzIDMgdGFyZ2V0cy4gCkl0IGlzIG5vdCBwb3NzaWJsZSB0byBkZXN0cm95IG1vcmUgdGhhbiAzIHRhcmdldHMuClNpbmNlIG51bXNbMF0gaXMgdGhlIG1pbmltYWwgaW50ZWdlciB0aGF0IGNhbiBkZXN0cm95IDMgdGFyZ2V0cywgd2UgcmV0dXJuIDEuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNiwyLDVdLCBzcGFjZSA9IDEwMAo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXaGF0ZXZlciBpbml0aWFsIHNlZWQgd2Ugc2VsZWN0LCB3ZSBjYW4gb25seSBkZXN0cm95IDEgdGFyZ2V0LiBUaGUgbWluaW1hbCBzZWVkIGlzIG51bXNbMV0uCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBzcGFjZSAmbHQ7PcKgMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2447. Number of Subarrays With GCD Equal to K",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGludGVnZXIgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4gYW5kIGFuIGludGVnZXIgPGNvZGU+azwvY29kZT4sIHJldHVybiA8ZW0+dGhlIG51bWJlciBvZiA8c3Ryb25nPnN1YmFycmF5czwvc3Ryb25nPiBvZiA8L2VtPjxjb2RlPm51bXM8L2NvZGU+PGVtPiB3aGVyZSB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdGhlIHN1YmFycmF5J3MgZWxlbWVudHMgaXMgPC9lbT48Y29kZT5rPC9jb2RlPi48L3A+CjxwPkEgPHN0cm9uZz5zdWJhcnJheTwvc3Ryb25nPiBpcyBhIGNvbnRpZ3VvdXMgbm9uLWVtcHR5IHNlcXVlbmNlIG9mIGVsZW1lbnRzIHdpdGhpbiBhbiBhcnJheS48L3A+CjxwPlRoZSA8c3Ryb25nPmdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIGFuIGFycmF5PC9zdHJvbmc+IGlzIHRoZSBsYXJnZXN0IGludGVnZXIgdGhhdCBldmVubHkgZGl2aWRlcyBhbGwgdGhlIGFycmF5IGVsZW1lbnRzLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs5LDMsMSwyLDYsM10sIGsgPSAzCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBzdWJhcnJheXMgb2YgbnVtcyB3aGVyZSAzIGlzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiBhbGwgdGhlIHN1YmFycmF5J3MgZWxlbWVudHMgYXJlOgotIFs5LDx1PjxzdHJvbmc+Mzwvc3Ryb25nPjwvdT4sMSwyLDYsM10KLSBbOSwzLDEsMiw2LDx1PjxzdHJvbmc+Mzwvc3Ryb25nPjwvdT5dCi0gWzx1PjxzdHJvbmc+OSwzPC9zdHJvbmc+PC91PiwxLDIsNiwzXQotIFs5LDMsMSwyLDx1PjxzdHJvbmc+NiwzPC9zdHJvbmc+PC91Pl0KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs0XSwgayA9IDcKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgYXJlIG5vIHN1YmFycmF5cyBvZiBudW1zIHdoZXJlIDcgaXMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIGFsbCB0aGUgc3ViYXJyYXkncyBlbGVtZW50cy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0sIGsgJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Math",
+ "Number Theory"
+ ]
+ },
+ {
+ "title": "2457. Minimum Addition to Make Integer Beautiful",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIHBvc2l0aXZlIGludGVnZXJzIDxjb2RlPm48L2NvZGU+IGFuZCA8Y29kZT50YXJnZXQ8L2NvZGU+LjwvcD4KPHA+QW4gaW50ZWdlciBpcyBjb25zaWRlcmVkIDxzdHJvbmc+YmVhdXRpZnVsPC9zdHJvbmc+IGlmIHRoZSBzdW0gb2YgaXRzIGRpZ2l0cyBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gPGNvZGU+dGFyZ2V0PC9jb2RlPi48L3A+CjxwPlJldHVybiB0aGUgPGVtPm1pbmltdW0gPHN0cm9uZz5ub24tbmVnYXRpdmU8L3N0cm9uZz4gaW50ZWdlciA8L2VtPjxjb2RlPng8L2NvZGU+PGVtPiBzdWNoIHRoYXQgPC9lbT48Y29kZT5uICsgeDwvY29kZT48ZW0+IGlzIGJlYXV0aWZ1bDwvZW0+LiBUaGUgaW5wdXQgd2lsbCBiZSBnZW5lcmF0ZWQgc3VjaCB0aGF0IGl0IGlzIGFsd2F5cyBwb3NzaWJsZSB0byBtYWtlIDxjb2RlPm48L2NvZGU+IGJlYXV0aWZ1bC48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSAxNiwgdGFyZ2V0ID0gNgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBJbml0aWFsbHkgbiBpcyAxNiBhbmQgaXRzIGRpZ2l0IHN1bSBpcyAxICsgNiA9IDcuIEFmdGVyIGFkZGluZyA0LCBuIGJlY29tZXMgMjAgYW5kIGRpZ2l0IHN1bSBiZWNvbWVzIDIgKyAwID0gMi4gSXQgY2FuIGJlIHNob3duIHRoYXQgd2UgY2FuIG5vdCBtYWtlIG4gYmVhdXRpZnVsIHdpdGggYWRkaW5nIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyIGxlc3MgdGhhbiA0Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gNDY3LCB0YXJnZXQgPSA2CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBJbml0aWFsbHkgbiBpcyA0NjcgYW5kIGl0cyBkaWdpdCBzdW0gaXMgNCArIDYgKyA3ID0gMTcuIEFmdGVyIGFkZGluZyAzMywgbiBiZWNvbWVzIDUwMCBhbmQgZGlnaXQgc3VtIGJlY29tZXMgNSArIDAgKyAwID0gNS4gSXQgY2FuIGJlIHNob3duIHRoYXQgd2UgY2FuIG5vdCBtYWtlIG4gYmVhdXRpZnVsIHdpdGggYWRkaW5nIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyIGxlc3MgdGhhbiAzMy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDEsIHRhcmdldCA9IDEKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gSW5pdGlhbGx5IG4gaXMgMSBhbmQgaXRzIGRpZ2l0IHN1bSBpcyAxLCB3aGljaCBpcyBhbHJlYWR5IHNtYWxsZXIgdGhhbiBvciBlcXVhbCB0byB0YXJnZXQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDxzdXA+MTI8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gdGFyZ2V0ICZsdDs9IDE1MDwvY29kZT48L2xpPgo8bGk+VGhlIGlucHV0IHdpbGwgYmUgZ2VuZXJhdGVkIHN1Y2ggdGhhdCBpdCBpcyBhbHdheXMgcG9zc2libGUgdG8gbWFrZSA8Y29kZT5uPC9jb2RlPiBiZWF1dGlmdWwuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Math",
+ "Greedy"
+ ]
+ },
+ {
+ "title": "2456. Most Popular Video Creator",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIHN0cmluZyBhcnJheXMgPGNvZGU+Y3JlYXRvcnM8L2NvZGU+IGFuZCA8Y29kZT5pZHM8L2NvZGU+LCBhbmQgYW4gaW50ZWdlciBhcnJheSA8Y29kZT52aWV3czwvY29kZT4sIGFsbCBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4uIFRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gdmlkZW8gb24gYSBwbGF0Zm9ybSB3YXMgY3JlYXRlZCBieSA8Y29kZT5jcmVhdG9yW2ldPC9jb2RlPiwgaGFzIGFuIGlkIG9mIDxjb2RlPmlkc1tpXTwvY29kZT4sIGFuZCBoYXMgPGNvZGU+dmlld3NbaV08L2NvZGU+IHZpZXdzLjwvcD4KPHA+VGhlIDxzdHJvbmc+cG9wdWxhcml0eTwvc3Ryb25nPiBvZiBhIGNyZWF0b3IgaXMgdGhlIDxzdHJvbmc+c3VtPC9zdHJvbmc+IG9mIHRoZSBudW1iZXIgb2Ygdmlld3Mgb24gPHN0cm9uZz5hbGw8L3N0cm9uZz4gb2YgdGhlIGNyZWF0b3IncyB2aWRlb3MuIEZpbmQgdGhlIGNyZWF0b3Igd2l0aCB0aGUgPHN0cm9uZz5oaWdoZXN0PC9zdHJvbmc+IHBvcHVsYXJpdHkgYW5kIHRoZSBpZCBvZiB0aGVpciA8c3Ryb25nPm1vc3Q8L3N0cm9uZz4gdmlld2VkIHZpZGVvLjwvcD4KPHVsPgo8bGk+SWYgbXVsdGlwbGUgY3JlYXRvcnMgaGF2ZSB0aGUgaGlnaGVzdCBwb3B1bGFyaXR5LCBmaW5kIGFsbCBvZiB0aGVtLjwvbGk+CjxsaT5JZiBtdWx0aXBsZSB2aWRlb3MgaGF2ZSB0aGUgaGlnaGVzdCB2aWV3IGNvdW50IGZvciBhIGNyZWF0b3IsIGZpbmQgdGhlIGxleGljb2dyYXBoaWNhbGx5IDxzdHJvbmc+c21hbGxlc3Q8L3N0cm9uZz4gaWQuPC9saT4KPC91bD4KPHA+UmV0dXJuPGVtPiBhIDJEIGFycmF5IG9mIHN0cmluZ3MgPC9lbT48Y29kZT5hbnN3ZXI8L2NvZGU+PGVtPiB3aGVyZSA8L2VtPjxjb2RlPmFuc3dlcltpXSA9IFtjcmVhdG9yPHN1Yj5pPC9zdWI+LCBpZDxzdWI+aTwvc3ViPl08L2NvZGU+PGVtPiBtZWFucyB0aGF0IDwvZW0+PGNvZGU+Y3JlYXRvcjxzdWI+aTwvc3ViPjwvY29kZT4gPGVtPmhhcyB0aGUgPHN0cm9uZz5oaWdoZXN0PC9zdHJvbmc+IHBvcHVsYXJpdHkgYW5kIDwvZW0+PGNvZGU+aWQ8c3ViPmk8L3N1Yj48L2NvZGU+PGVtPiBpcyB0aGUgaWQgb2YgdGhlaXIgbW9zdCBwb3B1bGFyIHZpZGVvLjwvZW0+IFRoZSBhbnN3ZXIgY2FuIGJlIHJldHVybmVkIGluIGFueSBvcmRlci48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGNyZWF0b3JzID0gWyJhbGljZSIsImJvYiIsImFsaWNlIiwiY2hyaXMiXSwgaWRzID0gWyJvbmUiLCJ0d28iLCJ0aHJlZSIsImZvdXIiXSwgdmlld3MgPSBbNSwxMCw1LDRdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbWyJhbGljZSIsIm9uZSJdLFsiYm9iIiwidHdvIl1dCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBwb3B1bGFyaXR5IG9mIGFsaWNlIGlzIDUgKyA1ID0gMTAuClRoZSBwb3B1bGFyaXR5IG9mIGJvYiBpcyAxMC4KVGhlIHBvcHVsYXJpdHkgb2YgY2hyaXMgaXMgNC4KYWxpY2UgYW5kIGJvYiBhcmUgdGhlIG1vc3QgcG9wdWxhciBjcmVhdG9ycy4KRm9yIGJvYiwgdGhlIHZpZGVvIHdpdGggdGhlIGhpZ2hlc3QgdmlldyBjb3VudCBpcyAidHdvIi4KRm9yIGFsaWNlLCB0aGUgdmlkZW9zIHdpdGggdGhlIGhpZ2hlc3QgdmlldyBjb3VudCBhcmUgIm9uZSIgYW5kICJ0aHJlZSIuIFNpbmNlICJvbmUiIGlzIGxleGljb2dyYXBoaWNhbGx5IHNtYWxsZXIgdGhhbiAidGhyZWUiLCBpdCBpcyBpbmNsdWRlZCBpbiB0aGUgYW5zd2VyLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBjcmVhdG9ycyA9IFsiYWxpY2UiLCJhbGljZSIsImFsaWNlIl0sIGlkcyA9IFsiYSIsImIiLCJjIl0sIHZpZXdzID0gWzEsMiwyXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gW1siYWxpY2UiLCJiIl1dCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSB2aWRlb3Mgd2l0aCBpZCAiYiIgYW5kICJjIiBoYXZlIHRoZSBoaWdoZXN0IHZpZXcgY291bnQuClNpbmNlICJiIiBpcyBsZXhpY29ncmFwaGljYWxseSBzbWFsbGVyIHRoYW4gImMiLCBpdCBpcyBpbmNsdWRlZCBpbiB0aGUgYW5zd2VyLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IGNyZWF0b3JzLmxlbmd0aCA9PSBpZHMubGVuZ3RoID09IHZpZXdzLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGNyZWF0b3JzW2ldLmxlbmd0aCwgaWRzW2ldLmxlbmd0aCAmbHQ7PSA1PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5jcmVhdG9yc1tpXTwvY29kZT4gYW5kIDxjb2RlPmlkc1tpXTwvY29kZT4gY29uc2lzdCBvbmx5IG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gdmlld3NbaV0gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "String",
+ "Sorting",
+ "Heap (Priority Queue)"
+ ]
+ },
+ {
+ "title": "2443. Sum of Number and Its Reverse",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgPHN0cm9uZz5ub24tbmVnYXRpdmU8L3N0cm9uZz4gaW50ZWdlciA8Y29kZT5udW08L2NvZGU+LCByZXR1cm4gPGNvZGU+dHJ1ZTwvY29kZT48ZW0+IGlmIDwvZW0+PGNvZGU+bnVtPC9jb2RlPjxlbT4gY2FuIGJlIGV4cHJlc3NlZCBhcyB0aGUgc3VtIG9mIGFueSA8c3Ryb25nPm5vbi1uZWdhdGl2ZTwvc3Ryb25nPiBpbnRlZ2VyIGFuZCBpdHMgcmV2ZXJzZSwgb3IgPC9lbT48Y29kZT5mYWxzZTwvY29kZT48ZW0+IG90aGVyd2lzZS48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtID0gNDQzCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiB0cnVlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IDE3MiArIDI3MSA9IDQ0MyBzbyB3ZSByZXR1cm4gdHJ1ZS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtID0gNjMKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IGZhbHNlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IDYzIGNhbm5vdCBiZSBleHByZXNzZWQgYXMgdGhlIHN1bSBvZiBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyIGFuZCBpdHMgcmV2ZXJzZSBzbyB3ZSByZXR1cm4gZmFsc2UuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bSA9IDE4MQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gdHJ1ZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAxNDAgKyAwNDEgPSAxODEgc28gd2UgcmV0dXJuIHRydWUuIE5vdGUgdGhhdCB3aGVuIGEgbnVtYmVyIGlzIHJldmVyc2VkLCB0aGVyZSBtYXkgYmUgbGVhZGluZyB6ZXJvcy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MCAmbHQ7PSBudW0gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Math",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2425. Bitwise XOR of All Pairings",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGFycmF5cywgPGNvZGU+bnVtczE8L2NvZGU+IGFuZCA8Y29kZT5udW1zMjwvY29kZT4sIGNvbnNpc3Rpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzLiBUaGVyZSBleGlzdHMgYW5vdGhlciBhcnJheSwgPGNvZGU+bnVtczM8L2NvZGU+LCB3aGljaCBjb250YWlucyB0aGUgYml0d2lzZSBYT1Igb2YgPHN0cm9uZz5hbGwgcGFpcmluZ3M8L3N0cm9uZz4gb2YgaW50ZWdlcnMgYmV0d2VlbiA8Y29kZT5udW1zMTwvY29kZT4gYW5kIDxjb2RlPm51bXMyPC9jb2RlPiAoZXZlcnkgaW50ZWdlciBpbiA8Y29kZT5udW1zMTwvY29kZT4gaXMgcGFpcmVkIHdpdGggZXZlcnkgaW50ZWdlciBpbiA8Y29kZT5udW1zMjwvY29kZT4gPHN0cm9uZz5leGFjdGx5IG9uY2U8L3N0cm9uZz4pLjwvcD4KPHA+UmV0dXJuPGVtPiB0aGUgPHN0cm9uZz5iaXR3aXNlIFhPUjwvc3Ryb25nPiBvZiBhbGwgaW50ZWdlcnMgaW4gPC9lbT48Y29kZT5udW1zMzwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zMSA9IFsyLDEsM10sIG51bXMyID0gWzEwLDIsNSwwXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KQSBwb3NzaWJsZSBudW1zMyBhcnJheSBpcyBbOCwwLDcsMiwxMSwzLDQsMSw5LDEsNiwzXS4KVGhlIGJpdHdpc2UgWE9SIG9mIGFsbCB0aGVzZSBudW1iZXJzIGlzIDEzLCBzbyB3ZSByZXR1cm4gMTMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMxID0gWzEsMl0sIG51bXMyID0gWzMsNF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KQWxsIHBvc3NpYmxlIHBhaXJzIG9mIGJpdHdpc2UgWE9ScyBhcmUgbnVtczFbMF0gXiBudW1zMlswXSwgbnVtczFbMF0gXiBudW1zMlsxXSwgbnVtczFbMV0gXiBudW1zMlswXSwKYW5kIG51bXMxWzFdIF4gbnVtczJbMV0uClRodXMsIG9uZSBwb3NzaWJsZSBudW1zMyBhcnJheSBpcyBbMiw1LDEsNl0uCjIgXiA1IF4gMSBeIDYgPSAwLCBzbyB3ZSByZXR1cm4gMC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zMS5sZW5ndGgsIG51bXMyLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBudW1zMVtpXSwgbnVtczJbal0gJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Bit Manipulation",
+ "Brainteaser"
+ ]
+ },
+ {
+ "title": "2439. Minimize Maximum of Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBjb21wcmlzaW5nIG9mIDxjb2RlPm48L2NvZGU+IG5vbi1uZWdhdGl2ZSBpbnRlZ2Vycy48L3A+CjxwPkluIG9uZSBvcGVyYXRpb24sIHlvdSBtdXN0OjwvcD4KPHVsPgo8bGk+Q2hvb3NlIGFuIGludGVnZXIgPGNvZGU+aTwvY29kZT4gc3VjaCB0aGF0IDxjb2RlPjEgJmx0Oz0gaSAmbHQ7IG48L2NvZGU+IGFuZCA8Y29kZT5udW1zW2ldICZndDsgMDwvY29kZT4uPC9saT4KPGxpPkRlY3JlYXNlIDxjb2RlPm51bXNbaV08L2NvZGU+IGJ5IDEuPC9saT4KPGxpPkluY3JlYXNlIDxjb2RlPm51bXNbaSAtIDFdPC9jb2RlPiBieSAxLjwvbGk+CjwvdWw+CjxwPlJldHVybjxlbT4gdGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiBwb3NzaWJsZSB2YWx1ZSBvZiB0aGUgPHN0cm9uZz5tYXhpbXVtPC9zdHJvbmc+IGludGVnZXIgb2YgPC9lbT48Y29kZT5udW1zPC9jb2RlPjxlbT4gYWZ0ZXIgcGVyZm9ybWluZyA8c3Ryb25nPmFueTwvc3Ryb25nPiBudW1iZXIgb2Ygb3BlcmF0aW9uczwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFszLDcsMSw2XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpPbmUgc2V0IG9mIG9wdGltYWwgb3BlcmF0aW9ucyBpcyBhcyBmb2xsb3dzOgoxLiBDaG9vc2UgaSA9IDEsIGFuZCBudW1zIGJlY29tZXMgWzQsNiwxLDZdLgoyLiBDaG9vc2UgaSA9IDMsIGFuZCBudW1zIGJlY29tZXMgWzQsNiwyLDVdLgozLiBDaG9vc2UgaSA9IDEsIGFuZCBudW1zIGJlY29tZXMgWzUsNSwyLDVdLgpUaGUgbWF4aW11bSBpbnRlZ2VyIG9mIG51bXMgaXMgNS4gSXQgY2FuIGJlIHNob3duIHRoYXQgdGhlIG1heGltdW0gbnVtYmVyIGNhbm5vdCBiZSBsZXNzIHRoYW4gNS4KVGhlcmVmb3JlLCB3ZSByZXR1cm4gNS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxMCwxXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KSXQgaXMgb3B0aW1hbCB0byBsZWF2ZSBudW1zIGFzIGlzLCBhbmQgc2luY2UgMTAgaXMgdGhlIG1heGltdW0gdmFsdWUsIHdlIHJldHVybiAxMC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBudW1zLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MiAmbHQ7PSBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IG51bXNbaV0gJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Dynamic Programming",
+ "Greedy",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2438. Range Product Queries of Powers",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgcG9zaXRpdmUgaW50ZWdlciA8Y29kZT5uPC9jb2RlPiwgdGhlcmUgZXhpc3RzIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gYXJyYXkgY2FsbGVkIDxjb2RlPnBvd2VyczwvY29kZT4sIGNvbXBvc2VkIG9mIHRoZSA8c3Ryb25nPm1pbmltdW08L3N0cm9uZz4gbnVtYmVyIG9mIHBvd2VycyBvZiA8Y29kZT4yPC9jb2RlPiB0aGF0IHN1bSB0byA8Y29kZT5uPC9jb2RlPi4gVGhlIGFycmF5IGlzIHNvcnRlZCBpbiA8c3Ryb25nPm5vbi1kZWNyZWFzaW5nPC9zdHJvbmc+IG9yZGVyLCBhbmQgdGhlcmUgaXMgPHN0cm9uZz5vbmx5IG9uZTwvc3Ryb25nPiB3YXkgdG8gZm9ybSB0aGUgYXJyYXkuPC9wPgo8cD5Zb3UgYXJlIGFsc28gZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPnF1ZXJpZXM8L2NvZGU+LCB3aGVyZSA8Y29kZT5xdWVyaWVzW2ldID0gW2xlZnQ8c3ViPmk8L3N1Yj4sIHJpZ2h0PHN1Yj5pPC9zdWI+XTwvY29kZT4uIEVhY2ggPGNvZGU+cXVlcmllc1tpXTwvY29kZT4gcmVwcmVzZW50cyBhIHF1ZXJ5IHdoZXJlIHlvdSBoYXZlIHRvIGZpbmQgdGhlIHByb2R1Y3Qgb2YgYWxsIDxjb2RlPnBvd2Vyc1tqXTwvY29kZT4gd2l0aCA8Y29kZT5sZWZ0PHN1Yj5pPC9zdWI+ICZsdDs9IGogJmx0Oz0gcmlnaHQ8c3ViPmk8L3N1Yj48L2NvZGU+LjwvcD4KPHA+UmV0dXJuPGVtPiBhbiBhcnJheSA8L2VtPjxjb2RlPmFuc3dlcnM8L2NvZGU+PGVtPiwgZXF1YWwgaW4gbGVuZ3RoIHRvIDwvZW0+PGNvZGU+cXVlcmllczwvY29kZT48ZW0+LCB3aGVyZSA8L2VtPjxjb2RlPmFuc3dlcnNbaV08L2NvZGU+PGVtPiBpcyB0aGUgYW5zd2VyIHRvIHRoZSA8L2VtPjxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPjxlbT4gcXVlcnk8L2VtPi4gU2luY2UgdGhlIGFuc3dlciB0byB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHF1ZXJ5IG1heSBiZSB0b28gbGFyZ2UsIGVhY2ggPGNvZGU+YW5zd2Vyc1tpXTwvY29kZT4gc2hvdWxkIGJlIHJldHVybmVkIDxzdHJvbmc+bW9kdWxvPC9zdHJvbmc+IDxjb2RlPjEwPHN1cD45PC9zdXA+ICsgNzwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gMTUsIHF1ZXJpZXMgPSBbWzAsMV0sWzIsMl0sWzAsM11dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMiw0LDY0XQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpGb3IgbiA9IDE1LCBwb3dlcnMgPSBbMSwyLDQsOF0uIEl0IGNhbiBiZSBzaG93biB0aGF0IHBvd2VycyBjYW5ub3QgYmUgYSBzbWFsbGVyIHNpemUuCkFuc3dlciB0byAxc3QgcXVlcnk6IHBvd2Vyc1swXSAqIHBvd2Vyc1sxXSA9IDEgKiAyID0gMi4KQW5zd2VyIHRvIDJuZCBxdWVyeTogcG93ZXJzWzJdID0gNC4KQW5zd2VyIHRvIDNyZCBxdWVyeTogcG93ZXJzWzBdICogcG93ZXJzWzFdICogcG93ZXJzWzJdICogcG93ZXJzWzNdID0gMSAqIDIgKiA0ICogOCA9IDY0LgpFYWNoIGFuc3dlciBtb2R1bG8gMTA8c3VwPjk8L3N1cD4gKyA3IHlpZWxkcyB0aGUgc2FtZSBhbnN3ZXIsIHNvIFsyLDQsNjRdIGlzIHJldHVybmVkLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gMiwgcXVlcmllcyA9IFtbMCwwXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsyXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpGb3IgbiA9IDIsIHBvd2VycyA9IFsyXS4KVGhlIGFuc3dlciB0byB0aGUgb25seSBxdWVyeSBpcyBwb3dlcnNbMF0gPSAyLiBUaGUgYW5zd2VyIG1vZHVsbyAxMDxzdXA+OTwvc3VwPiArIDcgaXMgdGhlIHNhbWUsIHNvIFsyXSBpcyByZXR1cm5lZC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHF1ZXJpZXMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IHN0YXJ0PHN1Yj5pPC9zdWI+ICZsdDs9IGVuZDxzdWI+aTwvc3ViPiAmbHQ7IHBvd2Vycy5sZW5ndGg8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Bit Manipulation",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2442. Count Number of Distinct Integers After Reverse Operations",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gYXJyYXkgPGNvZGU+bnVtczwvY29kZT4gY29uc2lzdGluZyBvZiA8c3Ryb25nPnBvc2l0aXZlPC9zdHJvbmc+IGludGVnZXJzLjwvcD4KPHA+WW91IGhhdmUgdG8gdGFrZSBlYWNoIGludGVnZXIgaW4gdGhlIGFycmF5LCA8c3Ryb25nPnJldmVyc2UgaXRzIGRpZ2l0czwvc3Ryb25nPiwgYW5kIGFkZCBpdCB0byB0aGUgZW5kIG9mIHRoZSBhcnJheS4gWW91IHNob3VsZCBhcHBseSB0aGlzIG9wZXJhdGlvbiB0byB0aGUgb3JpZ2luYWwgaW50ZWdlcnMgaW4gPGNvZGU+bnVtczwvY29kZT4uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSBudW1iZXIgb2YgPHN0cm9uZz5kaXN0aW5jdDwvc3Ryb25nPiBpbnRlZ2VycyBpbiB0aGUgZmluYWwgYXJyYXk8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSwxMywxMCwxMiwzMV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDYKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gQWZ0ZXIgaW5jbHVkaW5nIHRoZSByZXZlcnNlIG9mIGVhY2ggbnVtYmVyLCB0aGUgcmVzdWx0aW5nIGFycmF5IGlzIFsxLDEzLDEwLDEyLDMxLDx1PjEsMzEsMSwyMSwxMzwvdT5dLgpUaGUgcmV2ZXJzZWQgaW50ZWdlcnMgdGhhdCB3ZXJlIGFkZGVkIHRvIHRoZSBlbmQgb2YgdGhlIGFycmF5IGFyZSB1bmRlcmxpbmVkLiBOb3RlIHRoYXQgZm9yIHRoZSBpbnRlZ2VyIDEwLCBhZnRlciByZXZlcnNpbmcgaXQsIGl0IGJlY29tZXMgMDEgd2hpY2ggaXMganVzdCAxLgpUaGUgbnVtYmVyIG9mIGRpc3RpbmN0IGludGVnZXJzIGluIHRoaXMgYXJyYXkgaXMgNiAoVGhlIG51bWJlcnMgMSwgMTAsIDEyLCAxMywgMjEsIGFuZCAzMSkuPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsyLDIsMl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gQWZ0ZXIgaW5jbHVkaW5nIHRoZSByZXZlcnNlIG9mIGVhY2ggbnVtYmVyLCB0aGUgcmVzdWx0aW5nIGFycmF5IGlzIFsyLDIsMiw8dT4yLDIsMjwvdT5dLgpUaGUgbnVtYmVyIG9mIGRpc3RpbmN0IGludGVnZXJzIGluIHRoaXMgYXJyYXkgaXMgMSAoVGhlIG51bWJlciAyKS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldICZsdDs9IDEwPHN1cD42PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Math"
+ ]
+ },
+ {
+ "title": "2434. Using a Robot to Print the Lexicographically Smallest String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4gYW5kIGEgcm9ib3QgdGhhdCBjdXJyZW50bHkgaG9sZHMgYW4gZW1wdHkgc3RyaW5nIDxjb2RlPnQ8L2NvZGU+LiBBcHBseSBvbmUgb2YgdGhlIGZvbGxvd2luZyBvcGVyYXRpb25zIHVudGlsIDxjb2RlPnM8L2NvZGU+IGFuZCA8Y29kZT50PC9jb2RlPiA8c3Ryb25nPmFyZSBib3RoIGVtcHR5PC9zdHJvbmc+OjwvcD4KPHVsPgo8bGk+UmVtb3ZlIHRoZSA8c3Ryb25nPmZpcnN0PC9zdHJvbmc+IGNoYXJhY3RlciBvZiBhIHN0cmluZyA8Y29kZT5zPC9jb2RlPiBhbmQgZ2l2ZSBpdCB0byB0aGUgcm9ib3QuIFRoZSByb2JvdCB3aWxsIGFwcGVuZCB0aGlzIGNoYXJhY3RlciB0byB0aGUgc3RyaW5nIDxjb2RlPnQ8L2NvZGU+LjwvbGk+CjxsaT5SZW1vdmUgdGhlIDxzdHJvbmc+bGFzdDwvc3Ryb25nPiBjaGFyYWN0ZXIgb2YgYSBzdHJpbmcgPGNvZGU+dDwvY29kZT4gYW5kIGdpdmUgaXQgdG8gdGhlIHJvYm90LiBUaGUgcm9ib3Qgd2lsbCB3cml0ZSB0aGlzIGNoYXJhY3RlciBvbiBwYXBlci48L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPnRoZSBsZXhpY29ncmFwaGljYWxseSBzbWFsbGVzdCBzdHJpbmcgdGhhdCBjYW4gYmUgd3JpdHRlbiBvbiB0aGUgcGFwZXIuPC9lbT48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAienphIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gImF6eiIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gTGV0IHAgZGVub3RlIHRoZSB3cml0dGVuIHN0cmluZy4KSW5pdGlhbGx5IHA9IiIsIHM9Inp6YSIsIHQ9IiIuClBlcmZvcm0gZmlyc3Qgb3BlcmF0aW9uIHRocmVlIHRpbWVzIHA9IiIsIHM9IiIsIHQ9Inp6YSIuClBlcmZvcm0gc2Vjb25kIG9wZXJhdGlvbiB0aHJlZSB0aW1lcyBwPSJhenoiLCBzPSIiLCB0PSIiLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImJhYyIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICJhYmMiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IExldCBwIGRlbm90ZSB0aGUgd3JpdHRlbiBzdHJpbmcuClBlcmZvcm0gZmlyc3Qgb3BlcmF0aW9uIHR3aWNlIHA9IiIsIHM9ImMiLCB0PSJiYSIuIApQZXJmb3JtIHNlY29uZCBvcGVyYXRpb24gdHdpY2UgcD0iYWIiLCBzPSJjIiwgdD0iIi4gClBlcmZvcm0gZmlyc3Qgb3BlcmF0aW9uIHA9ImFiIiwgcz0iIiwgdD0iYyIuIApQZXJmb3JtIHNlY29uZCBvcGVyYXRpb24gcD0iYWJjIiwgcz0iIiwgdD0iIi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJiZGRhIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gImFkZGIiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IExldCBwIGRlbm90ZSB0aGUgd3JpdHRlbiBzdHJpbmcuCkluaXRpYWxseSBwPSIiLCBzPSJiZGRhIiwgdD0iIi4KUGVyZm9ybSBmaXJzdCBvcGVyYXRpb24gZm91ciB0aW1lcyBwPSIiLCBzPSIiLCB0PSJiZGRhIi4KUGVyZm9ybSBzZWNvbmQgb3BlcmF0aW9uIGZvdXIgdGltZXMgcD0iYWRkYiIsIHM9IiIsIHQ9IiIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnM8L2NvZGU+IGNvbnNpc3RzIG9mIG9ubHkgRW5nbGlzaCBsb3dlcmNhc2UgbGV0dGVycy48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Hash Table",
+ "String",
+ "Stack",
+ "Greedy"
+ ]
+ },
+ {
+ "title": "2433. Find The Original Array of Prefix Xor",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gPHN0cm9uZz5pbnRlZ2VyPC9zdHJvbmc+IGFycmF5IDxjb2RlPnByZWY8L2NvZGU+IG9mIHNpemUgPGNvZGU+bjwvY29kZT4uIEZpbmQgYW5kIHJldHVybiA8ZW0+dGhlIGFycmF5IDwvZW0+PGNvZGU+YXJyPC9jb2RlPjxlbT4gb2Ygc2l6ZSA8L2VtPjxjb2RlPm48L2NvZGU+PGVtPiB0aGF0IHNhdGlzZmllczwvZW0+OjwvcD4KPHVsPgo8bGk+PGNvZGU+cHJlZltpXSA9IGFyclswXSBeIGFyclsxXSBeIC4uLiBeIGFycltpXTwvY29kZT4uPC9saT4KPC91bD4KPHA+Tm90ZSB0aGF0IDxjb2RlPl48L2NvZGU+IGRlbm90ZXMgdGhlIDxzdHJvbmc+Yml0d2lzZS14b3I8L3N0cm9uZz4gb3BlcmF0aW9uLjwvcD4KPHA+SXQgY2FuIGJlIHByb3ZlbiB0aGF0IHRoZSBhbnN3ZXIgaXMgPHN0cm9uZz51bmlxdWU8L3N0cm9uZz4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBwcmVmID0gWzUsMiwwLDMsMV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFs1LDcsMiwzLDJdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEZyb20gdGhlIGFycmF5IFs1LDcsMiwzLDJdIHdlIGhhdmUgdGhlIGZvbGxvd2luZzoKLSBwcmVmWzBdID0gNS4KLSBwcmVmWzFdID0gNSBeIDcgPSAyLgotIHByZWZbMl0gPSA1IF4gNyBeIDIgPSAwLgotIHByZWZbM10gPSA1IF4gNyBeIDIgXiAzID0gMy4KLSBwcmVmWzRdID0gNSBeIDcgXiAyIF4gMyBeIDIgPSAxLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBwcmVmID0gWzEzXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzEzXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSBoYXZlIHByZWZbMF0gPSBhcnJbMF0gPSAxMy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBwcmVmLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBwcmVmW2ldICZsdDs9IDEwPHN1cD42PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Bit Manipulation"
+ ]
+ },
+ {
+ "title": "2424. Longest Uploaded Prefix",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJlYW0gb2YgPGNvZGU+bjwvY29kZT4gdmlkZW9zLCBlYWNoIHJlcHJlc2VudGVkIGJ5IGEgPHN0cm9uZz5kaXN0aW5jdDwvc3Ryb25nPiBudW1iZXIgZnJvbSA8Y29kZT4xPC9jb2RlPiB0byA8Y29kZT5uPC9jb2RlPiB0aGF0IHlvdSBuZWVkIHRvICJ1cGxvYWQiIHRvIGEgc2VydmVyLiBZb3UgbmVlZCB0byBpbXBsZW1lbnQgYSBkYXRhIHN0cnVjdHVyZSB0aGF0IGNhbGN1bGF0ZXMgdGhlIGxlbmd0aCBvZiB0aGUgPHN0cm9uZz5sb25nZXN0IHVwbG9hZGVkIHByZWZpeDwvc3Ryb25nPiBhdCB2YXJpb3VzIHBvaW50cyBpbiB0aGUgdXBsb2FkIHByb2Nlc3MuPC9wPgo8cD5XZSBjb25zaWRlciA8Y29kZT5pPC9jb2RlPiB0byBiZSBhbiB1cGxvYWRlZCBwcmVmaXggaWYgYWxsIHZpZGVvcyBpbiB0aGUgcmFuZ2UgPGNvZGU+MTwvY29kZT4gdG8gPGNvZGU+aTwvY29kZT4gKDxzdHJvbmc+aW5jbHVzaXZlPC9zdHJvbmc+KSBoYXZlIGJlZW4gdXBsb2FkZWQgdG8gdGhlIHNlcnZlci4gVGhlIGxvbmdlc3QgdXBsb2FkZWQgcHJlZml4IGlzIHRoZSA8c3Ryb25nPm1heGltdW0gPC9zdHJvbmc+dmFsdWUgb2YgPGNvZGU+aTwvY29kZT4gdGhhdCBzYXRpc2ZpZXMgdGhpcyBkZWZpbml0aW9uLjxici8+Cjxici8+CkltcGxlbWVudCB0aGUgPGNvZGU+TFVQcmVmaXggPC9jb2RlPmNsYXNzOjwvcD4KPHVsPgo8bGk+PGNvZGU+TFVQcmVmaXgoaW50IG4pPC9jb2RlPiBJbml0aWFsaXplcyB0aGUgb2JqZWN0IGZvciBhIHN0cmVhbSBvZiA8Y29kZT5uPC9jb2RlPiB2aWRlb3MuPC9saT4KPGxpPjxjb2RlPnZvaWQgdXBsb2FkKGludCB2aWRlbyk8L2NvZGU+IFVwbG9hZHMgPGNvZGU+dmlkZW88L2NvZGU+IHRvIHRoZSBzZXJ2ZXIuPC9saT4KPGxpPjxjb2RlPmludCBsb25nZXN0KCk8L2NvZGU+IFJldHVybnMgdGhlIGxlbmd0aCBvZiB0aGUgPHN0cm9uZz5sb25nZXN0IHVwbG9hZGVkIHByZWZpeDwvc3Ryb25nPiBkZWZpbmVkIGFib3ZlLjwvbGk+CjwvdWw+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ8L3N0cm9uZz4KWyJMVVByZWZpeCIsICJ1cGxvYWQiLCAibG9uZ2VzdCIsICJ1cGxvYWQiLCAibG9uZ2VzdCIsICJ1cGxvYWQiLCAibG9uZ2VzdCJdCltbNF0sIFszXSwgW10sIFsxXSwgW10sIFsyXSwgW11dCjxzdHJvbmc+T3V0cHV0PC9zdHJvbmc+CltudWxsLCBudWxsLCAwLCBudWxsLCAxLCBudWxsLCAzXQoKPHN0cm9uZz5FeHBsYW5hdGlvbjwvc3Ryb25nPgpMVVByZWZpeCBzZXJ2ZXIgPSBuZXcgTFVQcmVmaXgoNCk7ICAgLy8gSW5pdGlhbGl6ZSBhIHN0cmVhbSBvZiA0IHZpZGVvcy4Kc2VydmVyLnVwbG9hZCgzKTsgICAgICAgICAgICAgICAgICAgIC8vIFVwbG9hZCB2aWRlbyAzLgpzZXJ2ZXIubG9uZ2VzdCgpOyAgICAgICAgICAgICAgICAgICAgLy8gU2luY2UgdmlkZW8gMSBoYXMgbm90IGJlZW4gdXBsb2FkZWQgeWV0LCB0aGVyZSBpcyBubyBwcmVmaXguCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTbywgd2UgcmV0dXJuIDAuCnNlcnZlci51cGxvYWQoMSk7ICAgICAgICAgICAgICAgICAgICAvLyBVcGxvYWQgdmlkZW8gMS4Kc2VydmVyLmxvbmdlc3QoKTsgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwcmVmaXggWzFdIGlzIHRoZSBsb25nZXN0IHVwbG9hZGVkIHByZWZpeCwgc28gd2UgcmV0dXJuIDEuCnNlcnZlci51cGxvYWQoMik7ICAgICAgICAgICAgICAgICAgICAvLyBVcGxvYWQgdmlkZW8gMi4Kc2VydmVyLmxvbmdlc3QoKTsgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwcmVmaXggWzEsMiwzXSBpcyB0aGUgbG9uZ2VzdCB1cGxvYWRlZCBwcmVmaXgsIHNvIHdlIHJldHVybiAzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gdmlkZW8gJmx0Oz0gbjwvY29kZT48L2xpPgo8bGk+QWxsIHZhbHVlcyBvZiA8Y29kZT52aWRlbzwvY29kZT4gYXJlIDxzdHJvbmc+ZGlzdGluY3Q8L3N0cm9uZz4uPC9saT4KPGxpPkF0IG1vc3QgPGNvZGU+MiAqIDEwPHN1cD41PC9zdXA+PC9jb2RlPiBjYWxscyA8c3Ryb25nPmluIHRvdGFsPC9zdHJvbmc+IHdpbGwgYmUgbWFkZSB0byA8Y29kZT51cGxvYWQ8L2NvZGU+IGFuZCA8Y29kZT5sb25nZXN0PC9jb2RlPi48L2xpPgo8bGk+QXQgbGVhc3Qgb25lIGNhbGwgd2lsbCBiZSBtYWRlIHRvIDxjb2RlPmxvbmdlc3Q8L2NvZGU+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Binary Search",
+ "Union Find",
+ "Design",
+ "Binary Indexed Tree",
+ "Segment Tree",
+ "Heap (Priority Queue)",
+ "Ordered Set"
+ ]
+ },
+ {
+ "title": "2429. Minimize XOR",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIHR3byBwb3NpdGl2ZSBpbnRlZ2VycyA8Y29kZT5udW0xPC9jb2RlPiBhbmQgPGNvZGU+bnVtMjwvY29kZT4sIGZpbmQgdGhlIHBvc2l0aXZlIGludGVnZXIgPGNvZGU+eDwvY29kZT4gc3VjaCB0aGF0OjwvcD4KPHVsPgo8bGk+PGNvZGU+eDwvY29kZT4gaGFzIHRoZSBzYW1lIG51bWJlciBvZiBzZXQgYml0cyBhcyA8Y29kZT5udW0yPC9jb2RlPiwgYW5kPC9saT4KPGxpPlRoZSB2YWx1ZSA8Y29kZT54IFhPUiBudW0xPC9jb2RlPiBpcyA8c3Ryb25nPm1pbmltYWw8L3N0cm9uZz4uPC9saT4KPC91bD4KPHA+Tm90ZSB0aGF0IDxjb2RlPlhPUjwvY29kZT4gaXMgdGhlIGJpdHdpc2UgWE9SIG9wZXJhdGlvbi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIGludGVnZXIgPC9lbT48Y29kZT54PC9jb2RlPi4gVGhlIHRlc3QgY2FzZXMgYXJlIGdlbmVyYXRlZCBzdWNoIHRoYXQgPGNvZGU+eDwvY29kZT4gaXMgPHN0cm9uZz51bmlxdWVseSBkZXRlcm1pbmVkPC9zdHJvbmc+LjwvcD4KPHA+VGhlIG51bWJlciBvZiA8c3Ryb25nPnNldCBiaXRzPC9zdHJvbmc+IG9mIGFuIGludGVnZXIgaXMgdGhlIG51bWJlciBvZiA8Y29kZT4xPC9jb2RlPidzIGluIGl0cyBiaW5hcnkgcmVwcmVzZW50YXRpb24uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW0xID0gMywgbnVtMiA9IDUKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIGJpbmFyeSByZXByZXNlbnRhdGlvbnMgb2YgbnVtMSBhbmQgbnVtMiBhcmUgMDAxMSBhbmQgMDEwMSwgcmVzcGVjdGl2ZWx5LgpUaGUgaW50ZWdlciA8c3Ryb25nPjM8L3N0cm9uZz4gaGFzIHRoZSBzYW1lIG51bWJlciBvZiBzZXQgYml0cyBhcyBudW0yLCBhbmQgdGhlIHZhbHVlIDxjb2RlPjMgWE9SIDMgPSAwPC9jb2RlPiBpcyBtaW5pbWFsLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW0xID0gMSwgbnVtMiA9IDEyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBiaW5hcnkgcmVwcmVzZW50YXRpb25zIG9mIG51bTEgYW5kIG51bTIgYXJlIDAwMDEgYW5kIDExMDAsIHJlc3BlY3RpdmVseS4KVGhlIGludGVnZXIgPHN0cm9uZz4zPC9zdHJvbmc+IGhhcyB0aGUgc2FtZSBudW1iZXIgb2Ygc2V0IGJpdHMgYXMgbnVtMiwgYW5kIHRoZSB2YWx1ZSA8Y29kZT4zIFhPUiAxID0gMjwvY29kZT4gaXMgbWluaW1hbC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW0xLCBudW0yICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Greedy",
+ "Bit Manipulation"
+ ]
+ },
+ {
+ "title": "2428. Maximum Sum of an Hourglass",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gPGNvZGU+bSB4IG48L2NvZGU+IGludGVnZXIgbWF0cml4IDxjb2RlPmdyaWQ8L2NvZGU+LjwvcD4KPHA+V2UgZGVmaW5lIGFuIDxzdHJvbmc+aG91cmdsYXNzPC9zdHJvbmc+IGFzIGEgcGFydCBvZiB0aGUgbWF0cml4IHdpdGggdGhlIGZvbGxvd2luZyBmb3JtOjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA4LzIxL2ltZy5qcGciIHN0eWxlPSJ3aWR0aDogMjQzcHg7IGhlaWdodDogMjQzcHg7Ii8+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBzdW0gb2YgdGhlIGVsZW1lbnRzIG9mIGFuIGhvdXJnbGFzczwvZW0+LjwvcD4KPHA+PHN0cm9uZz5Ob3RlPC9zdHJvbmc+IHRoYXQgYW4gaG91cmdsYXNzIGNhbm5vdCBiZSByb3RhdGVkIGFuZCBtdXN0IGJlIGVudGlyZWx5IGNvbnRhaW5lZCB3aXRoaW4gdGhlIG1hdHJpeC48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDgvMjEvMS5qcGciIHN0eWxlPSJ3aWR0aDogMzIzcHg7IGhlaWdodDogMzIzcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbNiwyLDEsM10sWzQsMiwxLDVdLFs5LDIsOCw3XSxbNCwxLDIsOV1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgY2VsbHMgc2hvd24gYWJvdmUgcmVwcmVzZW50IHRoZSBob3VyZ2xhc3Mgd2l0aCB0aGUgbWF4aW11bSBzdW06IDYgKyAyICsgMSArIDIgKyA5ICsgMiArIDggPSAzMC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wOC8yMS8yLmpwZyIgc3R5bGU9IndpZHRoOiAyNDNweDsgaGVpZ2h0OiAyNDNweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBncmlkID0gW1sxLDIsM10sWzQsNSw2XSxbNyw4LDldXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMzUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgaXMgb25seSBvbmUgaG91cmdsYXNzIGluIHRoZSBtYXRyaXgsIHdpdGggdGhlIHN1bTogMSArIDIgKyAzICsgNSArIDcgKyA4ICsgOSA9IDM1Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5tID09IGdyaWQubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5uID09IGdyaWRbaV0ubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4zICZsdDs9IG0sIG4gJmx0Oz0gMTUwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IGdyaWRbaV1bal0gJmx0Oz0gMTA8c3VwPjY8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Matrix",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2420. Find All Good Indices",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IG9mIHNpemUgPGNvZGU+bjwvY29kZT4gYW5kIGEgcG9zaXRpdmUgaW50ZWdlciA8Y29kZT5rPC9jb2RlPi48L3A+CjxwPldlIGNhbGwgYW4gaW5kZXggPGNvZGU+aTwvY29kZT4gaW4gdGhlIHJhbmdlIDxjb2RlPmsgJmx0Oz0gaSAmbHQ7IG4gLSBrPC9jb2RlPiA8c3Ryb25nPmdvb2Q8L3N0cm9uZz4gaWYgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBzYXRpc2ZpZWQ6PC9wPgo8dWw+CjxsaT5UaGUgPGNvZGU+azwvY29kZT4gZWxlbWVudHMgdGhhdCBhcmUganVzdCA8c3Ryb25nPmJlZm9yZTwvc3Ryb25nPiB0aGUgaW5kZXggPGNvZGU+aTwvY29kZT4gYXJlIGluIDxzdHJvbmc+bm9uLWluY3JlYXNpbmc8L3N0cm9uZz4gb3JkZXIuPC9saT4KPGxpPlRoZSA8Y29kZT5rPC9jb2RlPiBlbGVtZW50cyB0aGF0IGFyZSBqdXN0IDxzdHJvbmc+YWZ0ZXI8L3N0cm9uZz4gdGhlIGluZGV4IDxjb2RlPmk8L2NvZGU+IGFyZSBpbiA8c3Ryb25nPm5vbi1kZWNyZWFzaW5nPC9zdHJvbmc+IG9yZGVyLjwvbGk+CjwvdWw+CjxwPlJldHVybiA8ZW0+YW4gYXJyYXkgb2YgYWxsIGdvb2QgaW5kaWNlcyBzb3J0ZWQgaW4gPHN0cm9uZz5pbmNyZWFzaW5nPC9zdHJvbmc+IG9yZGVyPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzIsMSwxLDEsMyw0LDFdLCBrID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzIsM10KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgYXJlIHR3byBnb29kIGluZGljZXMgaW4gdGhlIGFycmF5OgotIEluZGV4IDIuIFRoZSBzdWJhcnJheSBbMiwxXSBpcyBpbiBub24taW5jcmVhc2luZyBvcmRlciwgYW5kIHRoZSBzdWJhcnJheSBbMSwzXSBpcyBpbiBub24tZGVjcmVhc2luZyBvcmRlci4KLSBJbmRleCAzLiBUaGUgc3ViYXJyYXkgWzEsMV0gaXMgaW4gbm9uLWluY3JlYXNpbmcgb3JkZXIsIGFuZCB0aGUgc3ViYXJyYXkgWzMsNF0gaXMgaW4gbm9uLWRlY3JlYXNpbmcgb3JkZXIuCk5vdGUgdGhhdCB0aGUgaW5kZXggNCBpcyBub3QgZ29vZCBiZWNhdXNlIFs0LDFdIGlzIG5vdCBub24tZGVjcmVhc2luZy48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzIsMSwxLDJdLCBrID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gW10KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgYXJlIG5vIGdvb2QgaW5kaWNlcyBpbiB0aGlzIGFycmF5Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IG51bXMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4zICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+Njwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBrICZsdDs9IG4gLyAyPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Dynamic Programming",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2419. Longest Subarray With Maximum Bitwise AND",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBvZiBzaXplIDxjb2RlPm48L2NvZGU+LjwvcD4KPHA+Q29uc2lkZXIgYSA8c3Ryb25nPm5vbi1lbXB0eTwvc3Ryb25nPiBzdWJhcnJheSBmcm9tIDxjb2RlPm51bXM8L2NvZGU+IHRoYXQgaGFzIHRoZSA8c3Ryb25nPm1heGltdW08L3N0cm9uZz4gcG9zc2libGUgPHN0cm9uZz5iaXR3aXNlIEFORDwvc3Ryb25nPi48L3A+Cjx1bD4KPGxpPkluIG90aGVyIHdvcmRzLCBsZXQgPGNvZGU+azwvY29kZT4gYmUgdGhlIG1heGltdW0gdmFsdWUgb2YgdGhlIGJpdHdpc2UgQU5EIG9mIDxzdHJvbmc+YW55PC9zdHJvbmc+IHN1YmFycmF5IG9mIDxjb2RlPm51bXM8L2NvZGU+LiBUaGVuLCBvbmx5IHN1YmFycmF5cyB3aXRoIGEgYml0d2lzZSBBTkQgZXF1YWwgdG8gPGNvZGU+azwvY29kZT4gc2hvdWxkIGJlIGNvbnNpZGVyZWQuPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgbGVuZ3RoIG9mIHRoZSA8c3Ryb25nPmxvbmdlc3Q8L3N0cm9uZz4gc3VjaCBzdWJhcnJheTwvZW0+LjwvcD4KPHA+VGhlIGJpdHdpc2UgQU5EIG9mIGFuIGFycmF5IGlzIHRoZSBiaXR3aXNlIEFORCBvZiBhbGwgdGhlIG51bWJlcnMgaW4gaXQuPC9wPgo8cD5BIDxzdHJvbmc+c3ViYXJyYXk8L3N0cm9uZz4gaXMgYSBjb250aWd1b3VzIHNlcXVlbmNlIG9mIGVsZW1lbnRzIHdpdGhpbiBhbiBhcnJheS48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSwyLDMsMywyLDJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBtYXhpbXVtIHBvc3NpYmxlIGJpdHdpc2UgQU5EIG9mIGEgc3ViYXJyYXkgaXMgMy4KVGhlIGxvbmdlc3Qgc3ViYXJyYXkgd2l0aCB0aGF0IHZhbHVlIGlzIFszLDNdLCBzbyB3ZSByZXR1cm4gMi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDIsMyw0XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgbWF4aW11bSBwb3NzaWJsZSBiaXR3aXNlIEFORCBvZiBhIHN1YmFycmF5IGlzIDQuClRoZSBsb25nZXN0IHN1YmFycmF5IHdpdGggdGhhdCB2YWx1ZSBpcyBbNF0sIHNvIHdlIHJldHVybiAxLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0gJmx0Oz0gMTA8c3VwPjY8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Bit Manipulation",
+ "Brainteaser"
+ ]
+ },
+ {
+ "title": "2411. Smallest Subarrays With Maximum Bitwise OR",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4sIGNvbnNpc3Rpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzLiBGb3IgZWFjaCBpbmRleCA8Y29kZT5pPC9jb2RlPiBmcm9tIDxjb2RlPjA8L2NvZGU+IHRvIDxjb2RlPm4gLSAxPC9jb2RlPiwgeW91IG11c3QgZGV0ZXJtaW5lIHRoZSBzaXplIG9mIHRoZSA8c3Ryb25nPm1pbmltdW0gc2l6ZWQ8L3N0cm9uZz4gbm9uLWVtcHR5IHN1YmFycmF5IG9mIDxjb2RlPm51bXM8L2NvZGU+IHN0YXJ0aW5nIGF0IDxjb2RlPmk8L2NvZGU+ICg8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPikgdGhhdCBoYXMgdGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBwb3NzaWJsZSA8c3Ryb25nPmJpdHdpc2UgT1I8L3N0cm9uZz4uPC9wPgo8dWw+CjxsaT5JbiBvdGhlciB3b3JkcywgbGV0IDxjb2RlPkI8c3ViPmlqPC9zdWI+PC9jb2RlPiBiZSB0aGUgYml0d2lzZSBPUiBvZiB0aGUgc3ViYXJyYXkgPGNvZGU+bnVtc1tpLi4ual08L2NvZGU+LiBZb3UgbmVlZCB0byBmaW5kIHRoZSBzbWFsbGVzdCBzdWJhcnJheSBzdGFydGluZyBhdCA8Y29kZT5pPC9jb2RlPiwgc3VjaCB0aGF0IGJpdHdpc2UgT1Igb2YgdGhpcyBzdWJhcnJheSBpcyBlcXVhbCB0byA8Y29kZT5tYXgoQjxzdWI+aWs8L3N1Yj4pPC9jb2RlPiB3aGVyZSA8Y29kZT5pICZsdDs9IGsgJmx0Oz0gbiAtIDE8L2NvZGU+LjwvbGk+CjwvdWw+CjxwPlRoZSBiaXR3aXNlIE9SIG9mIGFuIGFycmF5IGlzIHRoZSBiaXR3aXNlIE9SIG9mIGFsbCB0aGUgbnVtYmVycyBpbiBpdC48L3A+CjxwPlJldHVybiA8ZW0+YW4gaW50ZWdlciBhcnJheSA8L2VtPjxjb2RlPmFuc3dlcjwvY29kZT48ZW0+IG9mIHNpemUgPC9lbT48Y29kZT5uPC9jb2RlPjxlbT4gd2hlcmUgPC9lbT48Y29kZT5hbnN3ZXJbaV08L2NvZGU+PGVtPiBpcyB0aGUgbGVuZ3RoIG9mIHRoZSA8c3Ryb25nPm1pbmltdW08L3N0cm9uZz4gc2l6ZWQgc3ViYXJyYXkgc3RhcnRpbmcgYXQgPC9lbT48Y29kZT5pPC9jb2RlPjxlbT4gd2l0aCA8c3Ryb25nPm1heGltdW08L3N0cm9uZz4gYml0d2lzZSBPUi48L2VtPjwvcD4KPHA+QSA8c3Ryb25nPnN1YmFycmF5PC9zdHJvbmc+IGlzIGEgY29udGlndW91cyBub24tZW1wdHkgc2VxdWVuY2Ugb2YgZWxlbWVudHMgd2l0aGluIGFuIGFycmF5LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDAsMiwxLDNdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMywzLDIsMiwxXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgbWF4aW11bSBwb3NzaWJsZSBiaXR3aXNlIE9SIHN0YXJ0aW5nIGF0IGFueSBpbmRleCBpcyAzLiAKLSBTdGFydGluZyBhdCBpbmRleCAwLCB0aGUgc2hvcnRlc3Qgc3ViYXJyYXkgdGhhdCB5aWVsZHMgaXQgaXMgWzEsMCwyXS4KLSBTdGFydGluZyBhdCBpbmRleCAxLCB0aGUgc2hvcnRlc3Qgc3ViYXJyYXkgdGhhdCB5aWVsZHMgdGhlIG1heGltdW0gYml0d2lzZSBPUiBpcyBbMCwyLDFdLgotIFN0YXJ0aW5nIGF0IGluZGV4IDIsIHRoZSBzaG9ydGVzdCBzdWJhcnJheSB0aGF0IHlpZWxkcyB0aGUgbWF4aW11bSBiaXR3aXNlIE9SIGlzIFsyLDFdLgotIFN0YXJ0aW5nIGF0IGluZGV4IDMsIHRoZSBzaG9ydGVzdCBzdWJhcnJheSB0aGF0IHlpZWxkcyB0aGUgbWF4aW11bSBiaXR3aXNlIE9SIGlzIFsxLDNdLgotIFN0YXJ0aW5nIGF0IGluZGV4IDQsIHRoZSBzaG9ydGVzdCBzdWJhcnJheSB0aGF0IHlpZWxkcyB0aGUgbWF4aW11bSBiaXR3aXNlIE9SIGlzIFszXS4KVGhlcmVmb3JlLCB3ZSByZXR1cm4gWzMsMywyLDIsMV0uIAo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsyLDFdCjxzdHJvbmc+RXhwbGFuYXRpb246Cjwvc3Ryb25nPlN0YXJ0aW5nIGF0IGluZGV4IDAsIHRoZSBzaG9ydGVzdCBzdWJhcnJheSB0aGF0IHlpZWxkcyB0aGUgbWF4aW11bSBiaXR3aXNlIE9SIGlzIG9mIGxlbmd0aCAyLgpTdGFydGluZyBhdCBpbmRleCAxLCB0aGUgc2hvcnRlc3Qgc3ViYXJyYXkgdGhhdCB5aWVsZHMgdGhlIG1heGltdW0gYml0d2lzZSBPUiBpcyBvZiBsZW5ndGggMS4KVGhlcmVmb3JlLCB3ZSByZXR1cm4gWzIsMV0uCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gbnVtcy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBudW1zW2ldICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Bit Manipulation",
+ "Sliding Window"
+ ]
+ },
+ {
+ "title": "2410. Maximum Matching of Players With Trainers",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPnBsYXllcnM8L2NvZGU+LCB3aGVyZSA8Y29kZT5wbGF5ZXJzW2ldPC9jb2RlPiByZXByZXNlbnRzIHRoZSA8c3Ryb25nPmFiaWxpdHk8L3N0cm9uZz4gb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBwbGF5ZXIuIFlvdSBhcmUgYWxzbyBnaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXkgPGNvZGU+dHJhaW5lcnM8L2NvZGU+LCB3aGVyZSA8Y29kZT50cmFpbmVyc1tqXTwvY29kZT4gcmVwcmVzZW50cyB0aGUgPHN0cm9uZz50cmFpbmluZyBjYXBhY2l0eSA8L3N0cm9uZz5vZiB0aGUgPGNvZGU+ajxzdXA+dGg8L3N1cD48L2NvZGU+IHRyYWluZXIuPC9wPgo8cD5UaGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHBsYXllciBjYW4gPHN0cm9uZz5tYXRjaDwvc3Ryb25nPiB3aXRoIHRoZSA8Y29kZT5qPHN1cD50aDwvc3VwPjwvY29kZT4gdHJhaW5lciBpZiB0aGUgcGxheWVyJ3MgYWJpbGl0eSBpcyA8c3Ryb25nPmxlc3MgdGhhbiBvciBlcXVhbCB0bzwvc3Ryb25nPiB0aGUgdHJhaW5lcidzIHRyYWluaW5nIGNhcGFjaXR5LiBBZGRpdGlvbmFsbHksIHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gcGxheWVyIGNhbiBiZSBtYXRjaGVkIHdpdGggYXQgbW9zdCBvbmUgdHJhaW5lciwgYW5kIHRoZSA8Y29kZT5qPHN1cD50aDwvc3VwPjwvY29kZT4gdHJhaW5lciBjYW4gYmUgbWF0Y2hlZCB3aXRoIGF0IG1vc3Qgb25lIHBsYXllci48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBudW1iZXIgb2YgbWF0Y2hpbmdzIGJldHdlZW4gPC9lbT48Y29kZT5wbGF5ZXJzPC9jb2RlPjxlbT4gYW5kIDwvZW0+PGNvZGU+dHJhaW5lcnM8L2NvZGU+PGVtPiB0aGF0IHNhdGlzZnkgdGhlc2UgY29uZGl0aW9ucy48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcGxheWVycyA9IFs0LDcsOV0sIHRyYWluZXJzID0gWzgsMiw1LDhdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ck9uZSBvZiB0aGUgd2F5cyB3ZSBjYW4gZm9ybSB0d28gbWF0Y2hpbmdzIGlzIGFzIGZvbGxvd3M6Ci0gcGxheWVyc1swXSBjYW4gYmUgbWF0Y2hlZCB3aXRoIHRyYWluZXJzWzBdIHNpbmNlIDQgJmx0Oz0gOC4KLSBwbGF5ZXJzWzFdIGNhbiBiZSBtYXRjaGVkIHdpdGggdHJhaW5lcnNbM10gc2luY2UgNyAmbHQ7PSA4LgpJdCBjYW4gYmUgcHJvdmVuIHRoYXQgMiBpcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgbWF0Y2hpbmdzIHRoYXQgY2FuIGJlIGZvcm1lZC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcGxheWVycyA9IFsxLDEsMV0sIHRyYWluZXJzID0gWzEwXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgdHJhaW5lciBjYW4gYmUgbWF0Y2hlZCB3aXRoIGFueSBvZiB0aGUgMyBwbGF5ZXJzLgpFYWNoIHBsYXllciBjYW4gb25seSBiZSBtYXRjaGVkIHdpdGggb25lIHRyYWluZXIsIHNvIHRoZSBtYXhpbXVtIGFuc3dlciBpcyAxLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHBsYXllcnMubGVuZ3RoLCB0cmFpbmVycy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gcGxheWVyc1tpXSwgdHJhaW5lcnNbal0gJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Two Pointers",
+ "Greedy",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2415. Reverse Odd Levels of Binary Tree",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIHRoZSA8Y29kZT5yb290PC9jb2RlPiBvZiBhIDxzdHJvbmc+cGVyZmVjdDwvc3Ryb25nPiBiaW5hcnkgdHJlZSwgcmV2ZXJzZSB0aGUgbm9kZSB2YWx1ZXMgYXQgZWFjaCA8c3Ryb25nPm9kZDwvc3Ryb25nPiBsZXZlbCBvZiB0aGUgdHJlZS48L3A+Cjx1bD4KPGxpPkZvciBleGFtcGxlLCBzdXBwb3NlIHRoZSBub2RlIHZhbHVlcyBhdCBsZXZlbCAzIGFyZSA8Y29kZT5bMiwxLDMsNCw3LDExLDI5LDE4XTwvY29kZT4sIHRoZW4gaXQgc2hvdWxkIGJlY29tZSA8Y29kZT5bMTgsMjksMTEsNyw0LDMsMSwyXTwvY29kZT4uPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgcm9vdCBvZiB0aGUgcmV2ZXJzZWQgdHJlZTwvZW0+LjwvcD4KPHA+QSBiaW5hcnkgdHJlZSBpcyA8c3Ryb25nPnBlcmZlY3Q8L3N0cm9uZz4gaWYgYWxsIHBhcmVudCBub2RlcyBoYXZlIHR3byBjaGlsZHJlbiBhbmQgYWxsIGxlYXZlcyBhcmUgb24gdGhlIHNhbWUgbGV2ZWwuPC9wPgo8cD5UaGUgPHN0cm9uZz5sZXZlbDwvc3Ryb25nPiBvZiBhIG5vZGUgaXMgdGhlIG51bWJlciBvZiBlZGdlcyBhbG9uZyB0aGUgcGF0aCBiZXR3ZWVuIGl0IGFuZCB0aGUgcm9vdCBub2RlLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wNy8yOC9maXJzdF9jYXNlMS5wbmciIHN0eWxlPSJ3aWR0aDogNjI2cHg7IGhlaWdodDogMTkxcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcm9vdCA9IFsyLDMsNSw4LDEzLDIxLDM0XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzIsNSwzLDgsMTMsMjEsMzRdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApUaGUgdHJlZSBoYXMgb25seSBvbmUgb2RkIGxldmVsLgpUaGUgbm9kZXMgYXQgbGV2ZWwgMSBhcmUgMywgNSByZXNwZWN0aXZlbHksIHdoaWNoIGFyZSByZXZlcnNlZCBhbmQgYmVjb21lIDUsIDMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDcvMjgvc2Vjb25kX2Nhc2UzLnBuZyIgc3R5bGU9IndpZHRoOiA1OTFweDsgaGVpZ2h0OiAxMTFweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiByb290ID0gWzcsMTMsMTFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbNywxMSwxM10KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gClRoZSBub2RlcyBhdCBsZXZlbCAxIGFyZSAxMywgMTEsIHdoaWNoIGFyZSByZXZlcnNlZCBhbmQgYmVjb21lIDExLCAxMy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcm9vdCA9IFswLDEsMiwwLDAsMCwwLDEsMSwxLDEsMiwyLDIsMl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFswLDIsMSwwLDAsMCwwLDIsMiwyLDIsMSwxLDEsMV0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gClRoZSBvZGQgbGV2ZWxzIGhhdmUgbm9uLXplcm8gdmFsdWVzLgpUaGUgbm9kZXMgYXQgbGV2ZWwgMSB3ZXJlIDEsIDIsIGFuZCBhcmUgMiwgMSBhZnRlciB0aGUgcmV2ZXJzYWwuClRoZSBub2RlcyBhdCBsZXZlbCAzIHdlcmUgMSwgMSwgMSwgMSwgMiwgMiwgMiwgMiwgYW5kIGFyZSAyLCAyLCAyLCAyLCAxLCAxLCAxLCAxIGFmdGVyIHRoZSByZXZlcnNhbC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+VGhlIG51bWJlciBvZiBub2RlcyBpbiB0aGUgdHJlZSBpcyBpbiB0aGUgcmFuZ2UgPGNvZGU+WzEsIDI8c3VwPjE0PC9zdXA+XTwvY29kZT4uPC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gTm9kZS52YWwgJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnJvb3Q8L2NvZGU+IGlzIGEgPHN0cm9uZz5wZXJmZWN0PC9zdHJvbmc+IGJpbmFyeSB0cmVlLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Tree",
+ "Depth-First Search",
+ "Breadth-First Search",
+ "Binary Tree"
+ ]
+ },
+ {
+ "title": "2414. Length of the Longest Alphabetical Continuous Substring",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkFuIDxzdHJvbmc+YWxwaGFiZXRpY2FsIGNvbnRpbnVvdXMgc3RyaW5nPC9zdHJvbmc+IGlzIGEgc3RyaW5nIGNvbnNpc3Rpbmcgb2YgY29uc2VjdXRpdmUgbGV0dGVycyBpbiB0aGUgYWxwaGFiZXQuIEluIG90aGVyIHdvcmRzLCBpdCBpcyBhbnkgc3Vic3RyaW5nIG9mIHRoZSBzdHJpbmcgPGNvZGU+ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IjwvY29kZT4uPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgPGNvZGU+ImFiYyI8L2NvZGU+IGlzIGFuIGFscGhhYmV0aWNhbCBjb250aW51b3VzIHN0cmluZywgd2hpbGUgPGNvZGU+ImFjYiI8L2NvZGU+IGFuZCA8Y29kZT4iemEiPC9jb2RlPiBhcmUgbm90LjwvbGk+CjwvdWw+CjxwPkdpdmVuIGEgc3RyaW5nIDxjb2RlPnM8L2NvZGU+IGNvbnNpc3Rpbmcgb2YgbG93ZXJjYXNlIGxldHRlcnMgb25seSwgcmV0dXJuIHRoZSA8ZW0+bGVuZ3RoIG9mIHRoZSA8c3Ryb25nPmxvbmdlc3Q8L3N0cm9uZz4gYWxwaGFiZXRpY2FsIGNvbnRpbnVvdXMgc3Vic3RyaW5nLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImFiYWNhYmEiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSA0IGRpc3RpbmN0IGNvbnRpbnVvdXMgc3Vic3RyaW5nczogImEiLCAiYiIsICJjIiBhbmQgImFiIi4KImFiIiBpcyB0aGUgbG9uZ2VzdCBjb250aW51b3VzIHN1YnN0cmluZy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJhYmNkZSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gImFiY2RlIiBpcyB0aGUgbG9uZ2VzdCBjb250aW51b3VzIHN1YnN0cmluZy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBzLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+czwvY29kZT4gY29uc2lzdHMgb2Ygb25seSBFbmdsaXNoIGxvd2VyY2FzZSBsZXR0ZXJzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "String"
+ ]
+ },
+ {
+ "title": "2406. Divide Intervals Into Minimum Number of Groups",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPmludGVydmFsczwvY29kZT4gd2hlcmUgPGNvZGU+aW50ZXJ2YWxzW2ldID0gW2xlZnQ8c3ViPmk8L3N1Yj4sIHJpZ2h0PHN1Yj5pPC9zdWI+XTwvY29kZT4gcmVwcmVzZW50cyB0aGUgPHN0cm9uZz5pbmNsdXNpdmU8L3N0cm9uZz4gaW50ZXJ2YWwgPGNvZGU+W2xlZnQ8c3ViPmk8L3N1Yj4sIHJpZ2h0PHN1Yj5pPC9zdWI+XTwvY29kZT4uPC9wPgo8cD5Zb3UgaGF2ZSB0byBkaXZpZGUgdGhlIGludGVydmFscyBpbnRvIG9uZSBvciBtb3JlIDxzdHJvbmc+Z3JvdXBzPC9zdHJvbmc+IHN1Y2ggdGhhdCBlYWNoIGludGVydmFsIGlzIGluIDxzdHJvbmc+ZXhhY3RseTwvc3Ryb25nPiBvbmUgZ3JvdXAsIGFuZCBubyB0d28gaW50ZXJ2YWxzIHRoYXQgYXJlIGluIHRoZSBzYW1lIGdyb3VwIDxzdHJvbmc+aW50ZXJzZWN0PC9zdHJvbmc+IGVhY2ggb3RoZXIuPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1pbmltdW08L3N0cm9uZz4gbnVtYmVyIG9mIGdyb3VwcyB5b3UgbmVlZCB0byBtYWtlPC9lbT4uPC9wPgo8cD5Ud28gaW50ZXJ2YWxzIDxzdHJvbmc+aW50ZXJzZWN0PC9zdHJvbmc+IGlmIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBjb21tb24gbnVtYmVyIGJldHdlZW4gdGhlbS4gRm9yIGV4YW1wbGUsIHRoZSBpbnRlcnZhbHMgPGNvZGU+WzEsIDVdPC9jb2RlPiBhbmQgPGNvZGU+WzUsIDhdPC9jb2RlPiBpbnRlcnNlY3QuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBpbnRlcnZhbHMgPSBbWzUsMTBdLFs2LDhdLFsxLDVdLFsyLDNdLFsxLDEwXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gV2UgY2FuIGRpdmlkZSB0aGUgaW50ZXJ2YWxzIGludG8gdGhlIGZvbGxvd2luZyBncm91cHM6Ci0gR3JvdXAgMTogWzEsIDVdLCBbNiwgOF0uCi0gR3JvdXAgMjogWzIsIDNdLCBbNSwgMTBdLgotIEdyb3VwIDM6IFsxLCAxMF0uCkl0IGNhbiBiZSBwcm92ZW4gdGhhdCBpdCBpcyBub3QgcG9zc2libGUgdG8gZGl2aWRlIHRoZSBpbnRlcnZhbHMgaW50byBmZXdlciB0aGFuIDMgZ3JvdXBzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBpbnRlcnZhbHMgPSBbWzEsM10sWzUsNl0sWzgsMTBdLFsxMSwxM11dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IE5vbmUgb2YgdGhlIGludGVydmFscyBvdmVybGFwLCBzbyB3ZSBjYW4gcHV0IGFsbCBvZiB0aGVtIGluIG9uZSBncm91cC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBpbnRlcnZhbHMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5pbnRlcnZhbHNbaV0ubGVuZ3RoID09IDI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbGVmdDxzdWI+aTwvc3ViPiAmbHQ7PSByaWdodDxzdWI+aTwvc3ViPiAmbHQ7PSAxMDxzdXA+Njwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Two Pointers",
+ "Greedy",
+ "Sorting",
+ "Heap (Priority Queue)",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2405. Optimal Partition of String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgc3RyaW5nIDxjb2RlPnM8L2NvZGU+LCBwYXJ0aXRpb24gdGhlIHN0cmluZyBpbnRvIG9uZSBvciBtb3JlIDxzdHJvbmc+c3Vic3RyaW5nczwvc3Ryb25nPiBzdWNoIHRoYXQgdGhlIGNoYXJhY3RlcnMgaW4gZWFjaCBzdWJzdHJpbmcgYXJlIDxzdHJvbmc+dW5pcXVlPC9zdHJvbmc+LiBUaGF0IGlzLCBubyBsZXR0ZXIgYXBwZWFycyBpbiBhIHNpbmdsZSBzdWJzdHJpbmcgbW9yZSB0aGFuIDxzdHJvbmc+b25jZTwvc3Ryb25nPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiBudW1iZXIgb2Ygc3Vic3RyaW5ncyBpbiBzdWNoIGEgcGFydGl0aW9uLjwvZW0+PC9wPgo8cD5Ob3RlIHRoYXQgZWFjaCBjaGFyYWN0ZXIgc2hvdWxkIGJlbG9uZyB0byBleGFjdGx5IG9uZSBzdWJzdHJpbmcgaW4gYSBwYXJ0aXRpb24uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImFiYWNhYmEiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClR3byBwb3NzaWJsZSBwYXJ0aXRpb25zIGFyZSAoImEiLCJiYSIsImNhYiIsImEiKSBhbmQgKCJhYiIsImEiLCJjYSIsImJhIikuCkl0IGNhbiBiZSBzaG93biB0aGF0IDQgaXMgdGhlIG1pbmltdW0gbnVtYmVyIG9mIHN1YnN0cmluZ3MgbmVlZGVkLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gInNzc3NzcyIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDYKPHN0cm9uZz5FeHBsYW5hdGlvbjoKPC9zdHJvbmc+VGhlIG9ubHkgdmFsaWQgcGFydGl0aW9uIGlzICgicyIsInMiLCJzIiwicyIsInMiLCJzIikuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnM8L2NvZGU+IGNvbnNpc3RzIG9mIG9ubHkgRW5nbGlzaCBsb3dlcmNhc2UgbGV0dGVycy48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Hash Table",
+ "String",
+ "Greedy"
+ ]
+ },
+ {
+ "title": "2365. Task Scheduler II",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBhcnJheSBvZiBwb3NpdGl2ZSBpbnRlZ2VycyA8Y29kZT50YXNrczwvY29kZT4sIHJlcHJlc2VudGluZyB0YXNrcyB0aGF0IG5lZWQgdG8gYmUgY29tcGxldGVkIDxzdHJvbmc+aW4gb3JkZXI8L3N0cm9uZz4sIHdoZXJlIDxjb2RlPnRhc2tzW2ldPC9jb2RlPiByZXByZXNlbnRzIHRoZSA8c3Ryb25nPnR5cGU8L3N0cm9uZz4gb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiB0YXNrLjwvcD4KPHA+WW91IGFyZSBhbHNvIGdpdmVuIGEgcG9zaXRpdmUgaW50ZWdlciA8Y29kZT5zcGFjZTwvY29kZT4sIHdoaWNoIHJlcHJlc2VudHMgdGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiBudW1iZXIgb2YgZGF5cyB0aGF0IG11c3QgcGFzcyA8c3Ryb25nPmFmdGVyPC9zdHJvbmc+IHRoZSBjb21wbGV0aW9uIG9mIGEgdGFzayBiZWZvcmUgYW5vdGhlciB0YXNrIG9mIHRoZSA8c3Ryb25nPnNhbWU8L3N0cm9uZz4gdHlwZSBjYW4gYmUgcGVyZm9ybWVkLjwvcD4KPHA+RWFjaCBkYXksIHVudGlsIGFsbCB0YXNrcyBoYXZlIGJlZW4gY29tcGxldGVkLCB5b3UgbXVzdCBlaXRoZXI6PC9wPgo8dWw+CjxsaT5Db21wbGV0ZSB0aGUgbmV4dCB0YXNrIGZyb20gPGNvZGU+dGFza3M8L2NvZGU+LCBvcjwvbGk+CjxsaT5UYWtlIGEgYnJlYWsuPC9saT4KPC91bD4KPHA+UmV0dXJuPGVtPiB0aGUgPHN0cm9uZz5taW5pbXVtPC9zdHJvbmc+IG51bWJlciBvZiBkYXlzIG5lZWRlZCB0byBjb21wbGV0ZSBhbGwgdGFza3M8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHRhc2tzID0gWzEsMiwxLDIsMywxXSwgc3BhY2UgPSAzCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA5CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ck9uZSB3YXkgdG8gY29tcGxldGUgYWxsIHRhc2tzIGluIDkgZGF5cyBpcyBhcyBmb2xsb3dzOgpEYXkgMTogQ29tcGxldGUgdGhlIDB0aCB0YXNrLgpEYXkgMjogQ29tcGxldGUgdGhlIDFzdCB0YXNrLgpEYXkgMzogVGFrZSBhIGJyZWFrLgpEYXkgNDogVGFrZSBhIGJyZWFrLgpEYXkgNTogQ29tcGxldGUgdGhlIDJuZCB0YXNrLgpEYXkgNjogQ29tcGxldGUgdGhlIDNyZCB0YXNrLgpEYXkgNzogVGFrZSBhIGJyZWFrLgpEYXkgODogQ29tcGxldGUgdGhlIDR0aCB0YXNrLgpEYXkgOTogQ29tcGxldGUgdGhlIDV0aCB0YXNrLgpJdCBjYW4gYmUgc2hvd24gdGhhdCB0aGUgdGFza3MgY2Fubm90IGJlIGNvbXBsZXRlZCBpbiBsZXNzIHRoYW4gOSBkYXlzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB0YXNrcyA9IFs1LDgsOCw1XSwgc3BhY2UgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA2CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ck9uZSB3YXkgdG8gY29tcGxldGUgYWxsIHRhc2tzIGluIDYgZGF5cyBpcyBhcyBmb2xsb3dzOgpEYXkgMTogQ29tcGxldGUgdGhlIDB0aCB0YXNrLgpEYXkgMjogQ29tcGxldGUgdGhlIDFzdCB0YXNrLgpEYXkgMzogVGFrZSBhIGJyZWFrLgpEYXkgNDogVGFrZSBhIGJyZWFrLgpEYXkgNTogQ29tcGxldGUgdGhlIDJuZCB0YXNrLgpEYXkgNjogQ29tcGxldGUgdGhlIDNyZCB0YXNrLgpJdCBjYW4gYmUgc2hvd24gdGhhdCB0aGUgdGFza3MgY2Fubm90IGJlIGNvbXBsZXRlZCBpbiBsZXNzIHRoYW4gNiBkYXlzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHRhc2tzLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSB0YXNrc1tpXSAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBzcGFjZSAmbHQ7PSB0YXNrcy5sZW5ndGg8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2397. Maximum Rows Covered by Columns",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiA8Y29kZT5tIHggbjwvY29kZT4gYmluYXJ5IG1hdHJpeCA8Y29kZT5tYXRyaXg8L2NvZGU+IGFuZCBhbiBpbnRlZ2VyIDxjb2RlPm51bVNlbGVjdDwvY29kZT4sIHdoaWNoIGRlbm90ZXMgdGhlIG51bWJlciBvZiA8c3Ryb25nPmRpc3RpbmN0PC9zdHJvbmc+IGNvbHVtbnMgeW91IG11c3Qgc2VsZWN0IGZyb20gPGNvZGU+bWF0cml4PC9jb2RlPi48L3A+CjxwPkxldCB1cyBjb25zaWRlciA8Y29kZT5zID0ge2M8c3ViPjE8L3N1Yj4sIGM8c3ViPjI8L3N1Yj4sIC4uLi4sIGM8c3ViPm51bVNlbGVjdDwvc3ViPn08L2NvZGU+IGFzIHRoZSBzZXQgb2YgY29sdW1ucyBzZWxlY3RlZCBieSB5b3UuIEEgcm93IDxjb2RlPnJvdzwvY29kZT4gaXMgPHN0cm9uZz5jb3ZlcmVkPC9zdHJvbmc+IGJ5IDxjb2RlPnM8L2NvZGU+IGlmOjwvcD4KPHVsPgo8bGk+Rm9yIGVhY2ggY2VsbCA8Y29kZT5tYXRyaXhbcm93XVtjb2xdPC9jb2RlPiAoPGNvZGU+MCAmbHQ7PSBjb2wgJmx0Oz0gbiAtIDE8L2NvZGU+KSB3aGVyZSA8Y29kZT5tYXRyaXhbcm93XVtjb2xdID09IDE8L2NvZGU+LCA8Y29kZT5jb2w8L2NvZGU+IGlzIHByZXNlbnQgaW4gPGNvZGU+czwvY29kZT4gb3IsPC9saT4KPGxpPjxzdHJvbmc+Tm8gY2VsbDwvc3Ryb25nPiBpbiA8Y29kZT5yb3c8L2NvZGU+IGhhcyBhIHZhbHVlIG9mIDxjb2RlPjE8L2NvZGU+LjwvbGk+CjwvdWw+CjxwPllvdSBuZWVkIHRvIGNob29zZSA8Y29kZT5udW1TZWxlY3Q8L2NvZGU+IGNvbHVtbnMgc3VjaCB0aGF0IHRoZSBudW1iZXIgb2Ygcm93cyB0aGF0IGFyZSBjb3ZlcmVkIGlzIDxzdHJvbmc+bWF4aW1pemVkPC9zdHJvbmc+LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5tYXhpbXVtPC9zdHJvbmc+IG51bWJlciBvZiByb3dzIHRoYXQgY2FuIGJlIDxzdHJvbmc+Y292ZXJlZDwvc3Ryb25nPiBieSBhIHNldCBvZiA8L2VtPjxjb2RlPm51bVNlbGVjdDwvY29kZT48ZW0+IGNvbHVtbnMuPC9lbT48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDcvMTQvcm93c2NvdmVyZWQucG5nIiBzdHlsZT0id2lkdGg6IDI0MHB4OyBoZWlnaHQ6IDQwMHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG1hdHJpeCA9IFtbMCwwLDBdLFsxLDAsMV0sWzAsMSwxXSxbMCwwLDFdXSwgbnVtU2VsZWN0ID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBPbmUgcG9zc2libGUgd2F5IHRvIGNvdmVyIDMgcm93cyBpcyBzaG93biBpbiB0aGUgZGlhZ3JhbSBhYm92ZS4KV2UgY2hvb3NlIHMgPSB7MCwgMn0uCi0gUm93IDAgaXMgY292ZXJlZCBiZWNhdXNlIGl0IGhhcyBubyBvY2N1cnJlbmNlcyBvZiAxLgotIFJvdyAxIGlzIGNvdmVyZWQgYmVjYXVzZSB0aGUgY29sdW1ucyB3aXRoIHZhbHVlIDEsIGkuZS4gMCBhbmQgMiBhcmUgcHJlc2VudCBpbiBzLgotIFJvdyAyIGlzIG5vdCBjb3ZlcmVkIGJlY2F1c2UgbWF0cml4WzJdWzFdID09IDEgYnV0IDEgaXMgbm90IHByZXNlbnQgaW4gcy4KLSBSb3cgMyBpcyBjb3ZlcmVkIGJlY2F1c2UgbWF0cml4WzJdWzJdID09IDEgYW5kIDIgaXMgcHJlc2VudCBpbiBzLgpUaHVzLCB3ZSBjYW4gY292ZXIgdGhyZWUgcm93cy4KTm90ZSB0aGF0IHMgPSB7MSwgMn0gd2lsbCBhbHNvIGNvdmVyIDMgcm93cywgYnV0IGl0IGNhbiBiZSBzaG93biB0aGF0IG5vIG1vcmUgdGhhbiB0aHJlZSByb3dzIGNhbiBiZSBjb3ZlcmVkLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA3LzE0L3Jvd3Njb3ZlcmVkMi5wbmciIHN0eWxlPSJoZWlnaHQ6IDI1MHB4OyB3aWR0aDogODRweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBtYXRyaXggPSBbWzFdLFswXV0sIG51bVNlbGVjdCA9IDEKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gU2VsZWN0aW5nIHRoZSBvbmx5IGNvbHVtbiB3aWxsIHJlc3VsdCBpbiBib3RoIHJvd3MgYmVpbmcgY292ZXJlZCBzaW5jZSB0aGUgZW50aXJlIG1hdHJpeCBpcyBzZWxlY3RlZC4KVGhlcmVmb3JlLCB3ZSByZXR1cm4gMi4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+bSA9PSBtYXRyaXgubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5uID09IG1hdHJpeFtpXS5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbSwgbiAmbHQ7PSAxMjwvY29kZT48L2xpPgo8bGk+PGNvZGU+bWF0cml4W2ldW2pdPC9jb2RlPiBpcyBlaXRoZXIgPGNvZGU+MDwvY29kZT4gb3IgPGNvZGU+MTwvY29kZT4uPC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtU2VsZWN0wqAmbHQ7PSBuPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Backtracking",
+ "Bit Manipulation",
+ "Matrix",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2396. Strictly Palindromic Number",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkFuIGludGVnZXIgPGNvZGU+bjwvY29kZT4gaXMgPHN0cm9uZz5zdHJpY3RseSBwYWxpbmRyb21pYzwvc3Ryb25nPiBpZiwgZm9yIDxzdHJvbmc+ZXZlcnk8L3N0cm9uZz4gYmFzZSA8Y29kZT5iPC9jb2RlPiBiZXR3ZWVuIDxjb2RlPjI8L2NvZGU+IGFuZCA8Y29kZT5uIC0gMjwvY29kZT4gKDxzdHJvbmc+aW5jbHVzaXZlPC9zdHJvbmc+KSwgdGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgaW50ZWdlciA8Y29kZT5uPC9jb2RlPiBpbiBiYXNlIDxjb2RlPmI8L2NvZGU+IGlzIDxzdHJvbmc+cGFsaW5kcm9taWM8L3N0cm9uZz4uPC9wPgo8cD5HaXZlbiBhbiBpbnRlZ2VyIDxjb2RlPm48L2NvZGU+LCByZXR1cm4gPGNvZGU+dHJ1ZTwvY29kZT4gPGVtPmlmIDwvZW0+PGNvZGU+bjwvY29kZT48ZW0+IGlzIDxzdHJvbmc+c3RyaWN0bHkgcGFsaW5kcm9taWM8L3N0cm9uZz4gYW5kIDwvZW0+PGNvZGU+ZmFsc2U8L2NvZGU+PGVtPiBvdGhlcndpc2U8L2VtPi48L3A+CjxwPkEgc3RyaW5nIGlzIDxzdHJvbmc+cGFsaW5kcm9taWM8L3N0cm9uZz4gaWYgaXQgcmVhZHMgdGhlIHNhbWUgZm9yd2FyZCBhbmQgYmFja3dhcmQuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gOQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gZmFsc2UKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gSW4gYmFzZSAyOiA5ID0gMTAwMSAoYmFzZSAyKSwgd2hpY2ggaXMgcGFsaW5kcm9taWMuCkluIGJhc2UgMzogOSA9IDEwMCAoYmFzZSAzKSwgd2hpY2ggaXMgbm90IHBhbGluZHJvbWljLgpUaGVyZWZvcmUsIDkgaXMgbm90IHN0cmljdGx5IHBhbGluZHJvbWljIHNvIHdlIHJldHVybiBmYWxzZS4KTm90ZSB0aGF0IGluIGJhc2VzIDQsIDUsIDYsIGFuZCA3LCBuID0gOSBpcyBhbHNvIG5vdCBwYWxpbmRyb21pYy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDQKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IGZhbHNlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFdlIG9ubHkgY29uc2lkZXIgYmFzZSAyOiA0ID0gMTAwIChiYXNlIDIpLCB3aGljaCBpcyBub3QgcGFsaW5kcm9taWMuClRoZXJlZm9yZSwgd2UgcmV0dXJuIGZhbHNlLgoKPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+NCAmbHQ7PSBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Math",
+ "Two Pointers",
+ "Brainteaser"
+ ]
+ },
+ {
+ "title": "2401. Longest Nice Subarray",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gYXJyYXkgPGNvZGU+bnVtczwvY29kZT4gY29uc2lzdGluZyBvZiA8c3Ryb25nPnBvc2l0aXZlPC9zdHJvbmc+IGludGVnZXJzLjwvcD4KPHA+V2UgY2FsbCBhIHN1YmFycmF5IG9mIDxjb2RlPm51bXM8L2NvZGU+IDxzdHJvbmc+bmljZTwvc3Ryb25nPiBpZiB0aGUgYml0d2lzZSA8c3Ryb25nPkFORDwvc3Ryb25nPiBvZiBldmVyeSBwYWlyIG9mIGVsZW1lbnRzIHRoYXQgYXJlIGluIDxzdHJvbmc+ZGlmZmVyZW50PC9zdHJvbmc+IHBvc2l0aW9ucyBpbiB0aGUgc3ViYXJyYXkgaXMgZXF1YWwgdG8gPGNvZGU+MDwvY29kZT4uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSBsZW5ndGggb2YgdGhlIDxzdHJvbmc+bG9uZ2VzdDwvc3Ryb25nPiBuaWNlIHN1YmFycmF5PC9lbT4uPC9wPgo8cD5BIDxzdHJvbmc+c3ViYXJyYXk8L3N0cm9uZz4gaXMgYSA8c3Ryb25nPmNvbnRpZ3VvdXM8L3N0cm9uZz4gcGFydCBvZiBhbiBhcnJheS48L3A+CjxwPjxzdHJvbmc+Tm90ZTwvc3Ryb25nPiB0aGF0IHN1YmFycmF5cyBvZiBsZW5ndGggPGNvZGU+MTwvY29kZT4gYXJlIGFsd2F5cyBjb25zaWRlcmVkIG5pY2UuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMyw4LDQ4LDEwXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgbG9uZ2VzdCBuaWNlIHN1YmFycmF5IGlzIFszLDgsNDhdLiBUaGlzIHN1YmFycmF5IHNhdGlzZmllcyB0aGUgY29uZGl0aW9uczoKLSAzIEFORCA4ID0gMC4KLSAzIEFORCA0OCA9IDAuCi0gOCBBTkQgNDggPSAwLgpJdCBjYW4gYmUgcHJvdmVuIHRoYXQgbm8gbG9uZ2VyIG5pY2Ugc3ViYXJyYXkgY2FuIGJlIG9idGFpbmVkLCBzbyB3ZSByZXR1cm4gMy48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzMsMSw1LDExLDEzXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgbGVuZ3RoIG9mIHRoZSBsb25nZXN0IG5pY2Ugc3ViYXJyYXkgaXMgMS4gQW55IHN1YmFycmF5IG9mIGxlbmd0aCAxIGNhbiBiZSBjaG9zZW4uCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Bit Manipulation",
+ "Sliding Window"
+ ]
+ },
+ {
+ "title": "2400. Number of Ways to Reach a Position After Exactly k Steps",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIDxzdHJvbmc+cG9zaXRpdmU8L3N0cm9uZz4gaW50ZWdlcnMgPGNvZGU+c3RhcnRQb3M8L2NvZGU+IGFuZCA8Y29kZT5lbmRQb3M8L2NvZGU+LiBJbml0aWFsbHksIHlvdSBhcmUgc3RhbmRpbmcgYXQgcG9zaXRpb24gPGNvZGU+c3RhcnRQb3M8L2NvZGU+IG9uIGFuIDxzdHJvbmc+aW5maW5pdGU8L3N0cm9uZz4gbnVtYmVyIGxpbmUuIFdpdGggb25lIHN0ZXAsIHlvdSBjYW4gbW92ZSBlaXRoZXIgb25lIHBvc2l0aW9uIHRvIHRoZSBsZWZ0LCBvciBvbmUgcG9zaXRpb24gdG8gdGhlIHJpZ2h0LjwvcD4KPHA+R2l2ZW4gYSBwb3NpdGl2ZSBpbnRlZ2VyIDxjb2RlPms8L2NvZGU+LCByZXR1cm4gPGVtPnRoZSBudW1iZXIgb2YgPHN0cm9uZz5kaWZmZXJlbnQ8L3N0cm9uZz4gd2F5cyB0byByZWFjaCB0aGUgcG9zaXRpb24gPC9lbT48Y29kZT5lbmRQb3M8L2NvZGU+PGVtPiBzdGFydGluZyBmcm9tIDwvZW0+PGNvZGU+c3RhcnRQb3M8L2NvZGU+PGVtPiwgc3VjaCB0aGF0IHlvdSBwZXJmb3JtIDxzdHJvbmc+ZXhhY3RseTwvc3Ryb25nPiA8L2VtPjxjb2RlPms8L2NvZGU+PGVtPiBzdGVwczwvZW0+LiBTaW5jZSB0aGUgYW5zd2VyIG1heSBiZSB2ZXJ5IGxhcmdlLCByZXR1cm4gaXQgPHN0cm9uZz5tb2R1bG88L3N0cm9uZz4gPGNvZGU+MTA8c3VwPjk8L3N1cD4gKyA3PC9jb2RlPi48L3A+CjxwPlR3byB3YXlzIGFyZSBjb25zaWRlcmVkIGRpZmZlcmVudCBpZiB0aGUgb3JkZXIgb2YgdGhlIHN0ZXBzIG1hZGUgaXMgbm90IGV4YWN0bHkgdGhlIHNhbWUuPC9wPgo8cD48c3Ryb25nPk5vdGU8L3N0cm9uZz4gdGhhdCB0aGUgbnVtYmVyIGxpbmUgaW5jbHVkZXMgbmVnYXRpdmUgaW50ZWdlcnMuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzdGFydFBvcyA9IDEsIGVuZFBvcyA9IDIsIGsgPSAzCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFdlIGNhbiByZWFjaCBwb3NpdGlvbiAyIGZyb20gMSBpbiBleGFjdGx5IDMgc3RlcHMgaW4gdGhyZWUgd2F5czoKLSAxIC0mZ3Q7IDIgLSZndDsgMyAtJmd0OyAyLgotIDEgLSZndDsgMiAtJmd0OyAxIC0mZ3Q7IDIuCi0gMSAtJmd0OyAwIC0mZ3Q7IDEgLSZndDsgMi4KSXQgY2FuIGJlIHByb3ZlbiB0aGF0IG5vIG90aGVyIHdheSBpcyBwb3NzaWJsZSwgc28gd2UgcmV0dXJuIDMuPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gc3RhcnRQb3MgPSAyLCBlbmRQb3MgPSA1LCBrID0gMTAKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gSXQgaXMgaW1wb3NzaWJsZSB0byByZWFjaCBwb3NpdGlvbiA1IGZyb20gcG9zaXRpb24gMiBpbiBleGFjdGx5IDEwIHN0ZXBzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHN0YXJ0UG9zLCBlbmRQb3MsIGsgJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Math",
+ "Dynamic Programming",
+ "Combinatorics"
+ ]
+ },
+ {
+ "title": "2384. Largest Palindromic Number",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+bnVtPC9jb2RlPiBjb25zaXN0aW5nIG9mIGRpZ2l0cyBvbmx5LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5sYXJnZXN0IHBhbGluZHJvbWljPC9zdHJvbmc+IGludGVnZXIgKGluIHRoZSBmb3JtIG9mIGEgc3RyaW5nKSB0aGF0IGNhbiBiZSBmb3JtZWQgdXNpbmcgZGlnaXRzIHRha2VuIGZyb20gPC9lbT48Y29kZT5udW08L2NvZGU+LiBJdCBzaG91bGQgbm90IGNvbnRhaW4gPHN0cm9uZz5sZWFkaW5nIHplcm9lczwvc3Ryb25nPi48L3A+CjxwPjxzdHJvbmc+Tm90ZXM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT5Zb3UgZG8gPHN0cm9uZz5ub3Q8L3N0cm9uZz4gbmVlZCB0byB1c2UgYWxsIHRoZSBkaWdpdHMgb2YgPGNvZGU+bnVtPC9jb2RlPiwgYnV0IHlvdSBtdXN0IHVzZSA8c3Ryb25nPmF0IGxlYXN0PC9zdHJvbmc+IG9uZSBkaWdpdC48L2xpPgo8bGk+VGhlIGRpZ2l0cyBjYW4gYmUgcmVvcmRlcmVkLjwvbGk+CjwvdWw+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bSA9ICI0NDQ5NDcxMzciCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiNzQ0OTQ0NyIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gClVzZSB0aGUgZGlnaXRzICI0NDQ5NDc3IiBmcm9tICI8dT48c3Ryb25nPjQ0NDk0PC9zdHJvbmc+PC91Pjx1PjxzdHJvbmc+Nzwvc3Ryb25nPjwvdT4xMzx1PjxzdHJvbmc+Nzwvc3Ryb25nPjwvdT4iIHRvIGZvcm0gdGhlIHBhbGluZHJvbWljIGludGVnZXIgIjc0NDk0NDciLgpJdCBjYW4gYmUgc2hvd24gdGhhdCAiNzQ0OTQ0NyIgaXMgdGhlIGxhcmdlc3QgcGFsaW5kcm9taWMgaW50ZWdlciB0aGF0IGNhbiBiZSBmb3JtZWQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bSA9ICIwMDAwOSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICI5Igo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKSXQgY2FuIGJlIHNob3duIHRoYXQgIjkiIGlzIHRoZSBsYXJnZXN0IHBhbGluZHJvbWljIGludGVnZXIgdGhhdCBjYW4gYmUgZm9ybWVkLgpOb3RlIHRoYXQgdGhlIGludGVnZXIgcmV0dXJuZWQgc2hvdWxkIG5vdCBjb250YWluIGxlYWRpbmcgemVyb2VzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bS5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPm51bTwvY29kZT4gY29uc2lzdHMgb2YgZGlnaXRzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Hash Table",
+ "String",
+ "Greedy"
+ ]
+ },
+ {
+ "title": "2342. Max Sum of a Pair With Equal Sum of Digits",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBjb25zaXN0aW5nIG9mIDxzdHJvbmc+cG9zaXRpdmU8L3N0cm9uZz4gaW50ZWdlcnMuIFlvdSBjYW4gY2hvb3NlIHR3byBpbmRpY2VzIDxjb2RlPmk8L2NvZGU+IGFuZCA8Y29kZT5qPC9jb2RlPiwgc3VjaCB0aGF0IDxjb2RlPmkgIT0gajwvY29kZT4sIGFuZCB0aGUgc3VtIG9mIGRpZ2l0cyBvZiB0aGUgbnVtYmVyIDxjb2RlPm51bXNbaV08L2NvZGU+IGlzIGVxdWFsIHRvIHRoYXQgb2YgPGNvZGU+bnVtc1tqXTwvY29kZT4uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1heGltdW08L3N0cm9uZz4gdmFsdWUgb2YgPC9lbT48Y29kZT5udW1zW2ldICsgbnVtc1tqXTwvY29kZT48ZW0+IHRoYXQgeW91IGNhbiBvYnRhaW4gb3ZlciBhbGwgcG9zc2libGUgaW5kaWNlcyA8L2VtPjxjb2RlPmk8L2NvZGU+PGVtPiBhbmQgPC9lbT48Y29kZT5qPC9jb2RlPjxlbT4gdGhhdCBzYXRpc2Z5IHRoZSBjb25kaXRpb25zLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzE4LDQzLDM2LDEzLDddCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA1NAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgcGFpcnMgKGksIGopIHRoYXQgc2F0aXNmeSB0aGUgY29uZGl0aW9ucyBhcmU6Ci0gKDAsIDIpLCBib3RoIG51bWJlcnMgaGF2ZSBhIHN1bSBvZiBkaWdpdHMgZXF1YWwgdG8gOSwgYW5kIHRoZWlyIHN1bSBpcyAxOCArIDM2ID0gNTQuCi0gKDEsIDQpLCBib3RoIG51bWJlcnMgaGF2ZSBhIHN1bSBvZiBkaWdpdHMgZXF1YWwgdG8gNywgYW5kIHRoZWlyIHN1bSBpcyA0MyArIDcgPSA1MC4KU28gdGhlIG1heGltdW0gc3VtIHRoYXQgd2UgY2FuIG9idGFpbiBpcyA1NC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxMCwxMiwxOSwxNF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IC0xCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSBubyB0d28gbnVtYmVycyB0aGF0IHNhdGlzZnkgdGhlIGNvbmRpdGlvbnMsIHNvIHdlIHJldHVybiAtMS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Sorting",
+ "Heap (Priority Queue)"
+ ]
+ },
+ {
+ "title": "2391. Minimum Amount of Time to Collect Garbage",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBhcnJheSBvZiBzdHJpbmdzIDxjb2RlPmdhcmJhZ2U8L2NvZGU+IHdoZXJlIDxjb2RlPmdhcmJhZ2VbaV08L2NvZGU+IHJlcHJlc2VudHMgdGhlIGFzc29ydG1lbnQgb2YgZ2FyYmFnZSBhdCB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGhvdXNlLiA8Y29kZT5nYXJiYWdlW2ldPC9jb2RlPiBjb25zaXN0cyBvbmx5IG9mIHRoZSBjaGFyYWN0ZXJzIDxjb2RlPidNJzwvY29kZT4sIDxjb2RlPidQJzwvY29kZT4gYW5kIDxjb2RlPidHJzwvY29kZT4gcmVwcmVzZW50aW5nIG9uZSB1bml0IG9mIG1ldGFsLCBwYXBlciBhbmQgZ2xhc3MgZ2FyYmFnZSByZXNwZWN0aXZlbHkuIFBpY2tpbmcgdXAgPHN0cm9uZz5vbmU8L3N0cm9uZz4gdW5pdCBvZiBhbnkgdHlwZSBvZiBnYXJiYWdlIHRha2VzIDxjb2RlPjE8L2NvZGU+IG1pbnV0ZS48L3A+CjxwPllvdSBhcmUgYWxzbyBnaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXkgPGNvZGU+dHJhdmVsPC9jb2RlPiB3aGVyZSA8Y29kZT50cmF2ZWxbaV08L2NvZGU+IGlzIHRoZSBudW1iZXIgb2YgbWludXRlcyBuZWVkZWQgdG8gZ28gZnJvbSBob3VzZSA8Y29kZT5pPC9jb2RlPiB0byBob3VzZSA8Y29kZT5pICsgMTwvY29kZT4uPC9wPgo8cD5UaGVyZSBhcmUgdGhyZWUgZ2FyYmFnZSB0cnVja3MgaW4gdGhlIGNpdHksIGVhY2ggcmVzcG9uc2libGUgZm9yIHBpY2tpbmcgdXAgb25lIHR5cGUgb2YgZ2FyYmFnZS4gRWFjaCBnYXJiYWdlIHRydWNrIHN0YXJ0cyBhdCBob3VzZSA8Y29kZT4wPC9jb2RlPiBhbmQgbXVzdCB2aXNpdCBlYWNoIGhvdXNlIDxzdHJvbmc+aW4gb3JkZXI8L3N0cm9uZz47IGhvd2V2ZXIsIHRoZXkgZG8gPHN0cm9uZz5ub3Q8L3N0cm9uZz4gbmVlZCB0byB2aXNpdCBldmVyeSBob3VzZS48L3A+CjxwPk9ubHkgPHN0cm9uZz5vbmU8L3N0cm9uZz4gZ2FyYmFnZSB0cnVjayBtYXkgYmUgdXNlZCBhdCBhbnkgZ2l2ZW4gbW9tZW50LiBXaGlsZSBvbmUgdHJ1Y2sgaXMgZHJpdmluZyBvciBwaWNraW5nIHVwIGdhcmJhZ2UsIHRoZSBvdGhlciB0d28gdHJ1Y2tzIDxzdHJvbmc+Y2Fubm90PC9zdHJvbmc+IGRvIGFueXRoaW5nLjwvcD4KPHA+UmV0dXJuPGVtPiB0aGUgPHN0cm9uZz5taW5pbXVtPC9zdHJvbmc+IG51bWJlciBvZiBtaW51dGVzIG5lZWRlZCB0byBwaWNrIHVwIGFsbCB0aGUgZ2FyYmFnZS48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ2FyYmFnZSA9IFsiRyIsIlAiLCJHUCIsIkdHIl0sIHRyYXZlbCA9IFsyLDQsM10KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBwYXBlciBnYXJiYWdlIHRydWNrOgoxLiBUcmF2ZWxzIGZyb20gaG91c2UgMCB0byBob3VzZSAxCjIuIENvbGxlY3RzIHRoZSBwYXBlciBnYXJiYWdlIGF0IGhvdXNlIDEKMy4gVHJhdmVscyBmcm9tIGhvdXNlIDEgdG8gaG91c2UgMgo0LiBDb2xsZWN0cyB0aGUgcGFwZXIgZ2FyYmFnZSBhdCBob3VzZSAyCkFsdG9nZXRoZXIsIGl0IHRha2VzIDggbWludXRlcyB0byBwaWNrIHVwIGFsbCB0aGUgcGFwZXIgZ2FyYmFnZS4KVGhlIGdsYXNzIGdhcmJhZ2UgdHJ1Y2s6CjEuIENvbGxlY3RzIHRoZSBnbGFzcyBnYXJiYWdlIGF0IGhvdXNlIDAKMi4gVHJhdmVscyBmcm9tIGhvdXNlIDAgdG8gaG91c2UgMQozLiBUcmF2ZWxzIGZyb20gaG91c2UgMSB0byBob3VzZSAyCjQuIENvbGxlY3RzIHRoZSBnbGFzcyBnYXJiYWdlIGF0IGhvdXNlIDIKNS4gVHJhdmVscyBmcm9tIGhvdXNlIDIgdG8gaG91c2UgMwo2LiBDb2xsZWN0cyB0aGUgZ2xhc3MgZ2FyYmFnZSBhdCBob3VzZSAzCkFsdG9nZXRoZXIsIGl0IHRha2VzIDEzIG1pbnV0ZXMgdG8gcGljayB1cCBhbGwgdGhlIGdsYXNzIGdhcmJhZ2UuClNpbmNlIHRoZXJlIGlzIG5vIG1ldGFsIGdhcmJhZ2UsIHdlIGRvIG5vdCBuZWVkIHRvIGNvbnNpZGVyIHRoZSBtZXRhbCBnYXJiYWdlIHRydWNrLgpUaGVyZWZvcmUsIGl0IHRha2VzIGEgdG90YWwgb2YgOCArIDEzID0gMjEgbWludXRlcyB0byBjb2xsZWN0IGFsbCB0aGUgZ2FyYmFnZS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ2FyYmFnZSA9IFsiTU1NIiwiUEdNIiwiR1AiXSwgdHJhdmVsID0gWzMsMTBdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzNwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgbWV0YWwgZ2FyYmFnZSB0cnVjayB0YWtlcyA3IG1pbnV0ZXMgdG8gcGljayB1cCBhbGwgdGhlIG1ldGFsIGdhcmJhZ2UuClRoZSBwYXBlciBnYXJiYWdlIHRydWNrIHRha2VzIDE1IG1pbnV0ZXMgdG8gcGljayB1cCBhbGwgdGhlIHBhcGVyIGdhcmJhZ2UuClRoZSBnbGFzcyBnYXJiYWdlIHRydWNrIHRha2VzIDE1IG1pbnV0ZXMgdG8gcGljayB1cCBhbGwgdGhlIGdsYXNzIGdhcmJhZ2UuCkl0IHRha2VzIGEgdG90YWwgb2YgNyArIDE1ICsgMTUgPSAzNyBtaW51dGVzIHRvIGNvbGxlY3QgYWxsIHRoZSBnYXJiYWdlLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4yICZsdDs9IGdhcmJhZ2UubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5nYXJiYWdlW2ldPC9jb2RlPiBjb25zaXN0cyBvZiBvbmx5IHRoZSBsZXR0ZXJzIDxjb2RlPidNJzwvY29kZT4sIDxjb2RlPidQJzwvY29kZT4sIGFuZCA8Y29kZT4nRyc8L2NvZGU+LjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGdhcmJhZ2VbaV0ubGVuZ3RoICZsdDs9IDEwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT50cmF2ZWwubGVuZ3RoID09IGdhcmJhZ2UubGVuZ3RoIC0gMTwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSB0cmF2ZWxbaV0gJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "String",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2390. Removing Stars From a String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4sIHdoaWNoIGNvbnRhaW5zIHN0YXJzIDxjb2RlPio8L2NvZGU+LjwvcD4KPHA+SW4gb25lIG9wZXJhdGlvbiwgeW91IGNhbjo8L3A+Cjx1bD4KPGxpPkNob29zZSBhIHN0YXIgaW4gPGNvZGU+czwvY29kZT4uPC9saT4KPGxpPlJlbW92ZSB0aGUgY2xvc2VzdCA8c3Ryb25nPm5vbi1zdGFyPC9zdHJvbmc+IGNoYXJhY3RlciB0byBpdHMgPHN0cm9uZz5sZWZ0PC9zdHJvbmc+LCBhcyB3ZWxsIGFzIHJlbW92ZSB0aGUgc3RhciBpdHNlbGYuPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgc3RyaW5nIGFmdGVyIDxzdHJvbmc+YWxsPC9zdHJvbmc+IHN0YXJzIGhhdmUgYmVlbiByZW1vdmVkPC9lbT4uPC9wPgo8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT5UaGUgaW5wdXQgd2lsbCBiZSBnZW5lcmF0ZWQgc3VjaCB0aGF0IHRoZSBvcGVyYXRpb24gaXMgYWx3YXlzIHBvc3NpYmxlLjwvbGk+CjxsaT5JdCBjYW4gYmUgc2hvd24gdGhhdCB0aGUgcmVzdWx0aW5nIHN0cmluZyB3aWxsIGFsd2F5cyBiZSB1bmlxdWUuPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJsZWV0Kipjb2QqZSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICJsZWNvZSIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gUGVyZm9ybWluZyB0aGUgcmVtb3ZhbHMgZnJvbSBsZWZ0IHRvIHJpZ2h0OgotIFRoZSBjbG9zZXN0IGNoYXJhY3RlciB0byB0aGUgMTxzdXA+c3Q8L3N1cD4gc3RhciBpcyAndCcgaW4gImxlZTxzdHJvbmc+PHU+dDwvdT48L3N0cm9uZz4qKmNvZCplIi4gcyBiZWNvbWVzICJsZWUqY29kKmUiLgotIFRoZSBjbG9zZXN0IGNoYXJhY3RlciB0byB0aGUgMjxzdXA+bmQ8L3N1cD4gc3RhciBpcyAnZScgaW4gImxlPHN0cm9uZz48dT5lPC91Pjwvc3Ryb25nPipjb2QqZSIuIHMgYmVjb21lcyAibGVjb2QqZSIuCi0gVGhlIGNsb3Nlc3QgY2hhcmFjdGVyIHRvIHRoZSAzPHN1cD5yZDwvc3VwPiBzdGFyIGlzICdkJyBpbiAibGVjbzxzdHJvbmc+PHU+ZDwvdT48L3N0cm9uZz4qZSIuIHMgYmVjb21lcyAibGVjb2UiLgpUaGVyZSBhcmUgbm8gbW9yZSBzdGFycywgc28gd2UgcmV0dXJuICJsZWNvZSIuPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJlcmFzZSoqKioqIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gIiIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGVudGlyZSBzdHJpbmcgaXMgcmVtb3ZlZCwgc28gd2UgcmV0dXJuIGFuIGVtcHR5IHN0cmluZy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBzLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+czwvY29kZT4gY29uc2lzdHMgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycyBhbmQgc3RhcnMgPGNvZGU+KjwvY29kZT4uPC9saT4KPGxpPlRoZSBvcGVyYXRpb24gYWJvdmUgY2FuIGJlIHBlcmZvcm1lZCBvbiA8Y29kZT5zPC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "String",
+ "Stack",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2381. Shifting Letters II",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4gb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycyBhbmQgYSAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPnNoaWZ0czwvY29kZT4gd2hlcmUgPGNvZGU+c2hpZnRzW2ldID0gW3N0YXJ0PHN1Yj5pPC9zdWI+LCBlbmQ8c3ViPmk8L3N1Yj4sIGRpcmVjdGlvbjxzdWI+aTwvc3ViPl08L2NvZGU+LiBGb3IgZXZlcnkgPGNvZGU+aTwvY29kZT4sIDxzdHJvbmc+c2hpZnQ8L3N0cm9uZz4gdGhlIGNoYXJhY3RlcnMgaW4gPGNvZGU+czwvY29kZT4gZnJvbSB0aGUgaW5kZXggPGNvZGU+c3RhcnQ8c3ViPmk8L3N1Yj48L2NvZGU+IHRvIHRoZSBpbmRleCA8Y29kZT5lbmQ8c3ViPmk8L3N1Yj48L2NvZGU+ICg8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPikgZm9yd2FyZCBpZiA8Y29kZT5kaXJlY3Rpb248c3ViPmk8L3N1Yj4gPSAxPC9jb2RlPiwgb3Igc2hpZnQgdGhlIGNoYXJhY3RlcnMgYmFja3dhcmQgaWYgPGNvZGU+ZGlyZWN0aW9uPHN1Yj5pPC9zdWI+ID0gMDwvY29kZT4uPC9wPgo8cD5TaGlmdGluZyBhIGNoYXJhY3RlciA8c3Ryb25nPmZvcndhcmQ8L3N0cm9uZz4gbWVhbnMgcmVwbGFjaW5nIGl0IHdpdGggdGhlIDxzdHJvbmc+bmV4dDwvc3Ryb25nPiBsZXR0ZXIgaW4gdGhlIGFscGhhYmV0ICh3cmFwcGluZyBhcm91bmQgc28gdGhhdCA8Y29kZT4neic8L2NvZGU+IGJlY29tZXMgPGNvZGU+J2EnPC9jb2RlPikuIFNpbWlsYXJseSwgc2hpZnRpbmcgYSBjaGFyYWN0ZXIgPHN0cm9uZz5iYWNrd2FyZDwvc3Ryb25nPiBtZWFucyByZXBsYWNpbmcgaXQgd2l0aCB0aGUgPHN0cm9uZz5wcmV2aW91czwvc3Ryb25nPiBsZXR0ZXIgaW4gdGhlIGFscGhhYmV0ICh3cmFwcGluZyBhcm91bmQgc28gdGhhdCA8Y29kZT4nYSc8L2NvZGU+IGJlY29tZXMgPGNvZGU+J3onPC9jb2RlPikuPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSBmaW5hbCBzdHJpbmcgYWZ0ZXIgYWxsIHN1Y2ggc2hpZnRzIHRvIDwvZW0+PGNvZGU+czwvY29kZT48ZW0+IGFyZSBhcHBsaWVkPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImFiYyIsIHNoaWZ0cyA9IFtbMCwxLDBdLFsxLDIsMV0sWzAsMiwxXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICJhY2UiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEZpcnN0bHksIHNoaWZ0IHRoZSBjaGFyYWN0ZXJzIGZyb20gaW5kZXggMCB0byBpbmRleCAxIGJhY2t3YXJkLiBOb3cgcyA9ICJ6YWMiLgpTZWNvbmRseSwgc2hpZnQgdGhlIGNoYXJhY3RlcnMgZnJvbSBpbmRleCAxIHRvIGluZGV4IDIgZm9yd2FyZC4gTm93IHMgPSAiemJkIi4KRmluYWxseSwgc2hpZnQgdGhlIGNoYXJhY3RlcnMgZnJvbSBpbmRleCAwIHRvIGluZGV4IDIgZm9yd2FyZC4gTm93IHMgPSAiYWNlIi48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImR6dHoiLCBzaGlmdHMgPSBbWzAsMCwwXSxbMSwxLDFdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gImNhdHoiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEZpcnN0bHksIHNoaWZ0IHRoZSBjaGFyYWN0ZXJzIGZyb20gaW5kZXggMCB0byBpbmRleCAwIGJhY2t3YXJkLiBOb3cgcyA9ICJjenR6Ii4KRmluYWxseSwgc2hpZnQgdGhlIGNoYXJhY3RlcnMgZnJvbSBpbmRleCAxIHRvIGluZGV4IDEgZm9yd2FyZC4gTm93IHMgPSAiY2F0eiIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gcy5sZW5ndGgsIHNoaWZ0cy5sZW5ndGggJmx0Oz0gNSAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zaGlmdHNbaV0ubGVuZ3RoID09IDM8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gc3RhcnQ8c3ViPmk8L3N1Yj4gJmx0Oz0gZW5kPHN1Yj5pPC9zdWI+ICZsdDsgcy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gZGlyZWN0aW9uPHN1Yj5pPC9zdWI+ICZsdDs9IDE8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnM8L2NvZGU+IGNvbnNpc3RzIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "String",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2380. Time Needed to Rearrange a Binary String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBiaW5hcnkgc3RyaW5nIDxjb2RlPnM8L2NvZGU+LiBJbiBvbmUgc2Vjb25kLCA8c3Ryb25nPmFsbDwvc3Ryb25nPiBvY2N1cnJlbmNlcyBvZiA8Y29kZT4iMDEiPC9jb2RlPiBhcmUgPHN0cm9uZz5zaW11bHRhbmVvdXNseTwvc3Ryb25nPiByZXBsYWNlZCB3aXRoIDxjb2RlPiIxMCI8L2NvZGU+LiBUaGlzIHByb2Nlc3MgPHN0cm9uZz5yZXBlYXRzPC9zdHJvbmc+IHVudGlsIG5vIG9jY3VycmVuY2VzIG9mIDxjb2RlPiIwMSI8L2NvZGU+IGV4aXN0LjwvcD4KPHA+UmV0dXJuPGVtPiB0aGUgbnVtYmVyIG9mIHNlY29uZHMgbmVlZGVkIHRvIGNvbXBsZXRlIHRoaXMgcHJvY2Vzcy48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICIwMTEwMTAxIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKQWZ0ZXIgb25lIHNlY29uZCwgcyBiZWNvbWVzICIxMDExMDEwIi4KQWZ0ZXIgYW5vdGhlciBzZWNvbmQsIHMgYmVjb21lcyAiMTEwMTEwMCIuCkFmdGVyIHRoZSB0aGlyZCBzZWNvbmQsIHMgYmVjb21lcyAiMTExMDEwMCIuCkFmdGVyIHRoZSBmb3VydGggc2Vjb25kLCBzIGJlY29tZXMgIjExMTEwMDAiLgpObyBvY2N1cnJlbmNlIG9mICIwMSIgZXhpc3RzIGFueSBsb25nZXIsIGFuZCB0aGUgcHJvY2VzcyBuZWVkZWQgNCBzZWNvbmRzIHRvIGNvbXBsZXRlLApzbyB3ZSByZXR1cm4gNC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICIxMTEwMCIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KTm8gb2NjdXJyZW5jZSBvZiAiMDEiIGV4aXN0cyBpbiBzLCBhbmQgdGhlIHByb2Nlc3NlcyBuZWVkZWQgMCBzZWNvbmRzIHRvIGNvbXBsZXRlLApzbyB3ZSByZXR1cm4gMC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBzLmxlbmd0aCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zW2ldPC9jb2RlPiBpcyBlaXRoZXIgPGNvZGU+JzAnPC9jb2RlPiBvciA8Y29kZT4nMSc8L2NvZGU+LjwvbGk+CjwvdWw+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkZvbGxvdyB1cDo8L3N0cm9uZz48L3A+CjxwPkNhbiB5b3Ugc29sdmUgdGhpcyBwcm9ibGVtIGluIE8obikgdGltZSBjb21wbGV4aXR5PzwvcD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "String",
+ "Dynamic Programming",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2385. Amount of Time for Binary Tree to Be Infected",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdGhlIDxjb2RlPnJvb3Q8L2NvZGU+IG9mIGEgYmluYXJ5IHRyZWUgd2l0aCA8c3Ryb25nPnVuaXF1ZTwvc3Ryb25nPiB2YWx1ZXMsIGFuZCBhbiBpbnRlZ2VyIDxjb2RlPnN0YXJ0PC9jb2RlPi4gQXQgbWludXRlIDxjb2RlPjA8L2NvZGU+LCBhbiA8c3Ryb25nPmluZmVjdGlvbjwvc3Ryb25nPiBzdGFydHMgZnJvbSB0aGUgbm9kZSB3aXRoIHZhbHVlIDxjb2RlPnN0YXJ0PC9jb2RlPi48L3A+CjxwPkVhY2ggbWludXRlLCBhIG5vZGUgYmVjb21lcyBpbmZlY3RlZCBpZjo8L3A+Cjx1bD4KPGxpPlRoZSBub2RlIGlzIGN1cnJlbnRseSB1bmluZmVjdGVkLjwvbGk+CjxsaT5UaGUgbm9kZSBpcyBhZGphY2VudCB0byBhbiBpbmZlY3RlZCBub2RlLjwvbGk+CjwvdWw+CjxwPlJldHVybiA8ZW0+dGhlIG51bWJlciBvZiBtaW51dGVzIG5lZWRlZCBmb3IgdGhlIGVudGlyZSB0cmVlIHRvIGJlIGluZmVjdGVkLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA2LzI1L2ltYWdlLTIwMjIwNjI1MjMxNzQ0LTEucG5nIiBzdHlsZT0id2lkdGg6IDQwMHB4OyBoZWlnaHQ6IDMwNnB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHJvb3QgPSBbMSw1LDMsbnVsbCw0LDEwLDYsOSwyXSwgc3RhcnQgPSAzCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBmb2xsb3dpbmcgbm9kZXMgYXJlIGluZmVjdGVkIGR1cmluZzoKLSBNaW51dGUgMDogTm9kZSAzCi0gTWludXRlIDE6IE5vZGVzIDEsIDEwIGFuZCA2Ci0gTWludXRlIDI6IE5vZGUgNQotIE1pbnV0ZSAzOiBOb2RlIDQKLSBNaW51dGUgNDogTm9kZXMgOSBhbmQgMgpJdCB0YWtlcyA0IG1pbnV0ZXMgZm9yIHRoZSB3aG9sZSB0cmVlIHRvIGJlIGluZmVjdGVkIHNvIHdlIHJldHVybiA0Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA2LzI1L2ltYWdlLTIwMjIwNjI1MjMxODEyLTIucG5nIiBzdHlsZT0id2lkdGg6IDc1cHg7IGhlaWdodDogNjZweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiByb290ID0gWzFdLCBzdGFydCA9IDEKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gQXQgbWludXRlIDAsIHRoZSBvbmx5IG5vZGUgaW4gdGhlIHRyZWUgaXMgaW5mZWN0ZWQgc28gd2UgcmV0dXJuIDAuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPlRoZSBudW1iZXIgb2Ygbm9kZXMgaW4gdGhlIHRyZWUgaXMgaW4gdGhlIHJhbmdlIDxjb2RlPlsxLCAxMDxzdXA+NTwvc3VwPl08L2NvZGU+LjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IE5vZGUudmFsICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT5FYWNoIG5vZGUgaGFzIGEgPHN0cm9uZz51bmlxdWU8L3N0cm9uZz4gdmFsdWUuPC9saT4KPGxpPkEgbm9kZSB3aXRoIGEgdmFsdWUgb2YgPGNvZGU+c3RhcnQ8L2NvZGU+IGV4aXN0cyBpbiB0aGUgdHJlZS48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Tree",
+ "Depth-First Search",
+ "Breadth-First Search",
+ "Binary Tree"
+ ]
+ },
+ {
+ "title": "2375. Construct Smallest Number From DI String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBzdHJpbmcgPGNvZGU+cGF0dGVybjwvY29kZT4gb2YgbGVuZ3RoIDxjb2RlPm48L2NvZGU+IGNvbnNpc3Rpbmcgb2YgdGhlIGNoYXJhY3RlcnMgPGNvZGU+J0knPC9jb2RlPiBtZWFuaW5nIDxzdHJvbmc+aW5jcmVhc2luZzwvc3Ryb25nPiBhbmQgPGNvZGU+J0QnPC9jb2RlPiBtZWFuaW5nIDxzdHJvbmc+ZGVjcmVhc2luZzwvc3Ryb25nPi48L3A+CjxwPkEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gc3RyaW5nIDxjb2RlPm51bTwvY29kZT4gb2YgbGVuZ3RoIDxjb2RlPm4gKyAxPC9jb2RlPiBpcyBjcmVhdGVkIHVzaW5nIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczo8L3A+Cjx1bD4KPGxpPjxjb2RlPm51bTwvY29kZT4gY29uc2lzdHMgb2YgdGhlIGRpZ2l0cyA8Y29kZT4nMSc8L2NvZGU+IHRvIDxjb2RlPic5JzwvY29kZT4sIHdoZXJlIGVhY2ggZGlnaXQgaXMgdXNlZCA8c3Ryb25nPmF0IG1vc3Q8L3N0cm9uZz4gb25jZS48L2xpPgo8bGk+SWYgPGNvZGU+cGF0dGVybltpXSA9PSAnSSc8L2NvZGU+LCB0aGVuIDxjb2RlPm51bVtpXSAmbHQ7IG51bVtpICsgMV08L2NvZGU+LjwvbGk+CjxsaT5JZiA8Y29kZT5wYXR0ZXJuW2ldID09ICdEJzwvY29kZT4sIHRoZW4gPGNvZGU+bnVtW2ldICZndDsgbnVtW2kgKyAxXTwvY29kZT4uPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgbGV4aWNvZ3JhcGhpY2FsbHkgPHN0cm9uZz5zbWFsbGVzdDwvc3Ryb25nPiBwb3NzaWJsZSBzdHJpbmcgPC9lbT48Y29kZT5udW08L2NvZGU+PGVtPiB0aGF0IG1lZXRzIHRoZSBjb25kaXRpb25zLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBwYXR0ZXJuID0gIklJSURJREREIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gIjEyMzU0OTg3NiIKPHN0cm9uZz5FeHBsYW5hdGlvbjoKPC9zdHJvbmc+QXQgaW5kaWNlcyAwLCAxLCAyLCBhbmQgNCB3ZSBtdXN0IGhhdmUgdGhhdCBudW1baV0gJmx0OyBudW1baSsxXS4KQXQgaW5kaWNlcyAzLCA1LCA2LCBhbmQgNyB3ZSBtdXN0IGhhdmUgdGhhdCBudW1baV0gJmd0OyBudW1baSsxXS4KU29tZSBwb3NzaWJsZSB2YWx1ZXMgb2YgbnVtIGFyZSAiMjQ1NjM5ODcxIiwgIjEzNTc0OTg2MiIsIGFuZCAiMTIzODQ5NzY1Ii4KSXQgY2FuIGJlIHByb3ZlbiB0aGF0ICIxMjM1NDk4NzYiIGlzIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSBudW0gdGhhdCBtZWV0cyB0aGUgY29uZGl0aW9ucy4KTm90ZSB0aGF0ICIxMjM0MTQzMjEiIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHRoZSBkaWdpdCAnMScgaXMgdXNlZCBtb3JlIHRoYW4gb25jZS48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBwYXR0ZXJuID0gIkRERCIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICI0MzIxIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpTb21lIHBvc3NpYmxlIHZhbHVlcyBvZiBudW0gYXJlICI5ODc2IiwgIjczMjEiLCBhbmQgIjg3NDIiLgpJdCBjYW4gYmUgcHJvdmVuIHRoYXQgIjQzMjEiIGlzIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSBudW0gdGhhdCBtZWV0cyB0aGUgY29uZGl0aW9ucy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBwYXR0ZXJuLmxlbmd0aCAmbHQ7PSA4PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5wYXR0ZXJuPC9jb2RlPiBjb25zaXN0cyBvZiBvbmx5IHRoZSBsZXR0ZXJzIDxjb2RlPidJJzwvY29kZT4gYW5kIDxjb2RlPidEJzwvY29kZT4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "String",
+ "Backtracking",
+ "Stack",
+ "Greedy"
+ ]
+ },
+ {
+ "title": "2374. Node With Highest Edge Score",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBkaXJlY3RlZCBncmFwaCB3aXRoIDxjb2RlPm48L2NvZGU+IG5vZGVzIGxhYmVsZWQgZnJvbSA8Y29kZT4wPC9jb2RlPiB0byA8Y29kZT5uIC0gMTwvY29kZT4sIHdoZXJlIGVhY2ggbm9kZSBoYXMgPHN0cm9uZz5leGFjdGx5IG9uZTwvc3Ryb25nPiBvdXRnb2luZyBlZGdlLjwvcD4KPHA+VGhlIGdyYXBoIGlzIHJlcHJlc2VudGVkIGJ5IGEgZ2l2ZW4gPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT5lZGdlczwvY29kZT4gb2YgbGVuZ3RoIDxjb2RlPm48L2NvZGU+LCB3aGVyZSA8Y29kZT5lZGdlc1tpXTwvY29kZT4gaW5kaWNhdGVzIHRoYXQgdGhlcmUgaXMgYSA8c3Ryb25nPmRpcmVjdGVkPC9zdHJvbmc+IGVkZ2UgZnJvbSBub2RlIDxjb2RlPmk8L2NvZGU+IHRvIG5vZGUgPGNvZGU+ZWRnZXNbaV08L2NvZGU+LjwvcD4KPHA+VGhlIDxzdHJvbmc+ZWRnZSBzY29yZTwvc3Ryb25nPiBvZiBhIG5vZGUgPGNvZGU+aTwvY29kZT4gaXMgZGVmaW5lZCBhcyB0aGUgc3VtIG9mIHRoZSA8c3Ryb25nPmxhYmVsczwvc3Ryb25nPiBvZiBhbGwgdGhlIG5vZGVzIHRoYXQgaGF2ZSBhbiBlZGdlIHBvaW50aW5nIHRvIDxjb2RlPmk8L2NvZGU+LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgbm9kZSB3aXRoIHRoZSBoaWdoZXN0IDxzdHJvbmc+ZWRnZSBzY29yZTwvc3Ryb25nPjwvZW0+LiBJZiBtdWx0aXBsZSBub2RlcyBoYXZlIHRoZSBzYW1lIDxzdHJvbmc+ZWRnZSBzY29yZTwvc3Ryb25nPiwgcmV0dXJuIHRoZSBub2RlIHdpdGggdGhlIDxzdHJvbmc+c21hbGxlc3Q8L3N0cm9uZz4gaW5kZXguPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDYvMjAvaW1hZ2UtMjAyMjA2MjAxOTU0MDMtMS5wbmciIHN0eWxlPSJ3aWR0aDogNDUwcHg7IGhlaWdodDogMjYwcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZWRnZXMgPSBbMSwwLDAsMCwwLDcsNyw1XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgotIFRoZSBub2RlcyAxLCAyLCAzIGFuZCA0IGhhdmUgYW4gZWRnZSBwb2ludGluZyB0byBub2RlIDAuIFRoZSBlZGdlIHNjb3JlIG9mIG5vZGUgMCBpcyAxICsgMiArIDMgKyA0ID0gMTAuCi0gVGhlIG5vZGUgMCBoYXMgYW4gZWRnZSBwb2ludGluZyB0byBub2RlIDEuIFRoZSBlZGdlIHNjb3JlIG9mIG5vZGUgMSBpcyAwLgotIFRoZSBub2RlIDcgaGFzIGFuIGVkZ2UgcG9pbnRpbmcgdG8gbm9kZSA1LiBUaGUgZWRnZSBzY29yZSBvZiBub2RlIDUgaXMgNy4KLSBUaGUgbm9kZXMgNSBhbmQgNiBoYXZlIGFuIGVkZ2UgcG9pbnRpbmcgdG8gbm9kZSA3LiBUaGUgZWRnZSBzY29yZSBvZiBub2RlIDcgaXMgNSArIDYgPSAxMS4KTm9kZSA3IGhhcyB0aGUgaGlnaGVzdCBlZGdlIHNjb3JlIHNvIHJldHVybiA3Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDYvMjAvaW1hZ2UtMjAyMjA2MjAyMDAyMTItMy5wbmciIHN0eWxlPSJ3aWR0aDogMTUwcHg7IGhlaWdodDogMTU1cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZWRnZXMgPSBbMiwwLDAsMl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KLSBUaGUgbm9kZXMgMSBhbmQgMiBoYXZlIGFuIGVkZ2UgcG9pbnRpbmcgdG8gbm9kZSAwLiBUaGUgZWRnZSBzY29yZSBvZiBub2RlIDAgaXMgMSArIDIgPSAzLgotIFRoZSBub2RlcyAwIGFuZCAzIGhhdmUgYW4gZWRnZSBwb2ludGluZyB0byBub2RlIDIuIFRoZSBlZGdlIHNjb3JlIG9mIG5vZGUgMiBpcyAwICsgMyA9IDMuCk5vZGVzIDAgYW5kIDIgYm90aCBoYXZlIGFuIGVkZ2Ugc2NvcmUgb2YgMy4gU2luY2Ugbm9kZSAwIGhhcyBhIHNtYWxsZXIgaW5kZXgsIHdlIHJldHVybiAwLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IGVkZ2VzLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MiAmbHQ7PSBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IGVkZ2VzW2ldICZsdDsgbjwvY29kZT48L2xpPgo8bGk+PGNvZGU+ZWRnZXNbaV0gIT0gaTwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Hash Table",
+ "Graph"
+ ]
+ },
+ {
+ "title": "2364. Count Number of Bad Pairs",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+LiBBIHBhaXIgb2YgaW5kaWNlcyA8Y29kZT4oaSwgaik8L2NvZGU+IGlzIGEgPHN0cm9uZz5iYWQgcGFpcjwvc3Ryb25nPiBpZiA8Y29kZT5pICZsdDsgajwvY29kZT4gYW5kIDxjb2RlPmogLSBpICE9IG51bXNbal0gLSBudW1zW2ldPC9jb2RlPi48L3A+CjxwPlJldHVybjxlbT4gdGhlIHRvdGFsIG51bWJlciBvZiA8c3Ryb25nPmJhZCBwYWlyczwvc3Ryb25nPiBpbiA8L2VtPjxjb2RlPm51bXM8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs0LDEsMywzXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgcGFpciAoMCwgMSkgaXMgYSBiYWQgcGFpciBzaW5jZSAxIC0gMCAhPSAxIC0gNC4KVGhlIHBhaXIgKDAsIDIpIGlzIGEgYmFkIHBhaXIgc2luY2UgMiAtIDAgIT0gMyAtIDQsIDIgIT0gLTEuClRoZSBwYWlyICgwLCAzKSBpcyBhIGJhZCBwYWlyIHNpbmNlIDMgLSAwICE9IDMgLSA0LCAzICE9IC0xLgpUaGUgcGFpciAoMSwgMikgaXMgYSBiYWQgcGFpciBzaW5jZSAyIC0gMSAhPSAzIC0gMSwgMSAhPSAyLgpUaGUgcGFpciAoMiwgMykgaXMgYSBiYWQgcGFpciBzaW5jZSAzIC0gMiAhPSAzIC0gMywgMSAhPSAwLgpUaGVyZSBhcmUgYSB0b3RhbCBvZiA1IGJhZCBwYWlycywgc28gd2UgcmV0dXJuIDUuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSwyLDMsNCw1XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGVyZSBhcmUgbm8gYmFkIHBhaXJzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0gJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table"
+ ]
+ },
+ {
+ "title": "2368. Reachable Nodes With Restrictions",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGFuIHVuZGlyZWN0ZWQgdHJlZSB3aXRoIDxjb2RlPm48L2NvZGU+IG5vZGVzIGxhYmVsZWQgZnJvbSA8Y29kZT4wPC9jb2RlPiB0byA8Y29kZT5uIC0gMTwvY29kZT4gYW5kIDxjb2RlPm4gLSAxPC9jb2RlPiBlZGdlcy48L3A+CjxwPllvdSBhcmUgZ2l2ZW4gYSAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPmVkZ2VzPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+biAtIDE8L2NvZGU+IHdoZXJlIDxjb2RlPmVkZ2VzW2ldID0gW2E8c3ViPmk8L3N1Yj4sIGI8c3ViPmk8L3N1Yj5dPC9jb2RlPiBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBpcyBhbiBlZGdlIGJldHdlZW4gbm9kZXMgPGNvZGU+YTxzdWI+aTwvc3ViPjwvY29kZT4gYW5kIDxjb2RlPmI8c3ViPmk8L3N1Yj48L2NvZGU+IGluIHRoZSB0cmVlLiBZb3UgYXJlIGFsc28gZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5yZXN0cmljdGVkPC9jb2RlPiB3aGljaCByZXByZXNlbnRzIDxzdHJvbmc+cmVzdHJpY3RlZDwvc3Ryb25nPiBub2Rlcy48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBudW1iZXIgb2Ygbm9kZXMgeW91IGNhbiByZWFjaCBmcm9tIG5vZGUgPC9lbT48Y29kZT4wPC9jb2RlPjxlbT4gd2l0aG91dCB2aXNpdGluZyBhIHJlc3RyaWN0ZWQgbm9kZS48L2VtPjwvcD4KPHA+Tm90ZSB0aGF0IG5vZGUgPGNvZGU+MDwvY29kZT4gd2lsbCA8c3Ryb25nPm5vdDwvc3Ryb25nPiBiZSBhIHJlc3RyaWN0ZWQgbm9kZS48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDYvMTUvZXgxZHJhd2lvLnBuZyIgc3R5bGU9IndpZHRoOiA0MDJweDsgaGVpZ2h0OiAzMjJweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gNywgZWRnZXMgPSBbWzAsMV0sWzEsMl0sWzMsMV0sWzQsMF0sWzAsNV0sWzUsNl1dLCByZXN0cmljdGVkID0gWzQsNV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGRpYWdyYW0gYWJvdmUgc2hvd3MgdGhlIHRyZWUuCldlIGhhdmUgdGhhdCBbMCwxLDIsM10gYXJlIHRoZSBvbmx5IG5vZGVzIHRoYXQgY2FuIGJlIHJlYWNoZWQgZnJvbSBub2RlIDAgd2l0aG91dCB2aXNpdGluZyBhIHJlc3RyaWN0ZWQgbm9kZS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wNi8xNS9leDJkcmF3aW8ucG5nIiBzdHlsZT0id2lkdGg6IDQxMnB4OyBoZWlnaHQ6IDMxMnB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSA3LCBlZGdlcyA9IFtbMCwxXSxbMCwyXSxbMCw1XSxbMCw0XSxbMywyXSxbNiw1XV0sIHJlc3RyaWN0ZWQgPSBbNCwyLDFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBkaWFncmFtIGFib3ZlIHNob3dzIHRoZSB0cmVlLgpXZSBoYXZlIHRoYXQgWzAsNSw2XSBhcmUgdGhlIG9ubHkgbm9kZXMgdGhhdCBjYW4gYmUgcmVhY2hlZCBmcm9tIG5vZGUgMCB3aXRob3V0IHZpc2l0aW5nIGEgcmVzdHJpY3RlZCBub2RlLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4yICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPmVkZ2VzLmxlbmd0aCA9PSBuIC0gMTwvY29kZT48L2xpPgo8bGk+PGNvZGU+ZWRnZXNbaV0ubGVuZ3RoID09IDI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gYTxzdWI+aTwvc3ViPiwgYjxzdWI+aTwvc3ViPiAmbHQ7IG48L2NvZGU+PC9saT4KPGxpPjxjb2RlPmE8c3ViPmk8L3N1Yj4gIT0gYjxzdWI+aTwvc3ViPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+ZWRnZXM8L2NvZGU+IHJlcHJlc2VudHMgYSB2YWxpZCB0cmVlLjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHJlc3RyaWN0ZWQubGVuZ3RoICZsdDsgbjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSByZXN0cmljdGVkW2ldICZsdDsgbjwvY29kZT48L2xpPgo8bGk+QWxsIHRoZSB2YWx1ZXMgb2YgPGNvZGU+cmVzdHJpY3RlZDwvY29kZT4gYXJlIDxzdHJvbmc+dW5pcXVlPC9zdHJvbmc+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Tree",
+ "Depth-First Search",
+ "Breadth-First Search",
+ "Graph"
+ ]
+ },
+ {
+ "title": "2370. Longest Ideal Subsequence",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4gY29uc2lzdGluZyBvZiBsb3dlcmNhc2UgbGV0dGVycyBhbmQgYW4gaW50ZWdlciA8Y29kZT5rPC9jb2RlPi4gV2UgY2FsbCBhIHN0cmluZyA8Y29kZT50PC9jb2RlPiA8c3Ryb25nPmlkZWFsPC9zdHJvbmc+IGlmIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgc2F0aXNmaWVkOjwvcD4KPHVsPgo8bGk+PGNvZGU+dDwvY29kZT4gaXMgYSA8c3Ryb25nPnN1YnNlcXVlbmNlPC9zdHJvbmc+IG9mIHRoZSBzdHJpbmcgPGNvZGU+czwvY29kZT4uPC9saT4KPGxpPlRoZSBhYnNvbHV0ZSBkaWZmZXJlbmNlIGluIHRoZSBhbHBoYWJldCBvcmRlciBvZiBldmVyeSB0d28gPHN0cm9uZz5hZGphY2VudDwvc3Ryb25nPiBsZXR0ZXJzIGluIDxjb2RlPnQ8L2NvZGU+IGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byA8Y29kZT5rPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPnRoZSBsZW5ndGggb2YgdGhlIDxzdHJvbmc+bG9uZ2VzdDwvc3Ryb25nPiBpZGVhbCBzdHJpbmc8L2VtPi48L3A+CjxwPkEgPHN0cm9uZz5zdWJzZXF1ZW5jZTwvc3Ryb25nPiBpcyBhIHN0cmluZyB0aGF0IGNhbiBiZSBkZXJpdmVkIGZyb20gYW5vdGhlciBzdHJpbmcgYnkgZGVsZXRpbmcgc29tZSBvciBubyBjaGFyYWN0ZXJzIHdpdGhvdXQgY2hhbmdpbmcgdGhlIG9yZGVyIG9mIHRoZSByZW1haW5pbmcgY2hhcmFjdGVycy48L3A+CjxwPjxzdHJvbmc+Tm90ZTwvc3Ryb25nPiB0aGF0IHRoZSBhbHBoYWJldCBvcmRlciBpcyBub3QgY3ljbGljLiBGb3IgZXhhbXBsZSwgdGhlIGFic29sdXRlIGRpZmZlcmVuY2UgaW4gdGhlIGFscGhhYmV0IG9yZGVyIG9mIDxjb2RlPidhJzwvY29kZT4gYW5kIDxjb2RlPid6JzwvY29kZT4gaXMgPGNvZGU+MjU8L2NvZGU+LCBub3QgPGNvZGU+MTwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImFjZmdiZCIsIGsgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBsb25nZXN0IGlkZWFsIHN0cmluZyBpcyAiYWNiZCIuIFRoZSBsZW5ndGggb2YgdGhpcyBzdHJpbmcgaXMgNCwgc28gNCBpcyByZXR1cm5lZC4KTm90ZSB0aGF0ICJhY2ZnYmQiIGlzIG5vdCBpZGVhbCBiZWNhdXNlICdjJyBhbmQgJ2YnIGhhdmUgYSBkaWZmZXJlbmNlIG9mIDMgaW4gYWxwaGFiZXQgb3JkZXIuPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJhYmNkIiwgayA9IDMKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGxvbmdlc3QgaWRlYWwgc3RyaW5nIGlzICJhYmNkIi4gVGhlIGxlbmd0aCBvZiB0aGlzIHN0cmluZyBpcyA0LCBzbyA0IGlzIHJldHVybmVkLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IGsgJmx0Oz0gMjU8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnM8L2NvZGU+IGNvbnNpc3RzIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Hash Table",
+ "String",
+ "Dynamic Programming"
+ ]
+ },
+ {
+ "title": "2369. Check if There is a Valid Partition For The Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+LiBZb3UgaGF2ZSB0byBwYXJ0aXRpb24gdGhlIGFycmF5IGludG8gb25lIG9yIG1vcmUgPHN0cm9uZz5jb250aWd1b3VzPC9zdHJvbmc+IHN1YmFycmF5cy48L3A+CjxwPldlIGNhbGwgYSBwYXJ0aXRpb24gb2YgdGhlIGFycmF5IDxzdHJvbmc+dmFsaWQ8L3N0cm9uZz4gaWYgZWFjaCBvZiB0aGUgb2J0YWluZWQgc3ViYXJyYXlzIHNhdGlzZmllcyA8c3Ryb25nPm9uZTwvc3Ryb25nPiBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6PC9wPgo8b2w+CjxsaT5UaGUgc3ViYXJyYXkgY29uc2lzdHMgb2YgPHN0cm9uZz5leGFjdGx5PC9zdHJvbmc+IDxjb2RlPjI8L2NvZGU+IGVxdWFsIGVsZW1lbnRzLiBGb3IgZXhhbXBsZSwgdGhlIHN1YmFycmF5IDxjb2RlPlsyLDJdPC9jb2RlPiBpcyBnb29kLjwvbGk+CjxsaT5UaGUgc3ViYXJyYXkgY29uc2lzdHMgb2YgPHN0cm9uZz5leGFjdGx5PC9zdHJvbmc+IDxjb2RlPjM8L2NvZGU+IGVxdWFsIGVsZW1lbnRzLiBGb3IgZXhhbXBsZSwgdGhlIHN1YmFycmF5IDxjb2RlPls0LDQsNF08L2NvZGU+IGlzIGdvb2QuPC9saT4KPGxpPlRoZSBzdWJhcnJheSBjb25zaXN0cyBvZiA8c3Ryb25nPmV4YWN0bHk8L3N0cm9uZz4gPGNvZGU+MzwvY29kZT4gY29uc2VjdXRpdmUgaW5jcmVhc2luZyBlbGVtZW50cywgdGhhdCBpcywgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhZGphY2VudCBlbGVtZW50cyBpcyA8Y29kZT4xPC9jb2RlPi4gRm9yIGV4YW1wbGUsIHRoZSBzdWJhcnJheSA8Y29kZT5bMyw0LDVdPC9jb2RlPiBpcyBnb29kLCBidXQgdGhlIHN1YmFycmF5IDxjb2RlPlsxLDMsNV08L2NvZGU+IGlzIG5vdC48L2xpPgo8L29sPgo8cD5SZXR1cm4gPGNvZGU+dHJ1ZTwvY29kZT48ZW0+IGlmIHRoZSBhcnJheSBoYXMgPHN0cm9uZz5hdCBsZWFzdDwvc3Ryb25nPiBvbmUgdmFsaWQgcGFydGl0aW9uPC9lbT4uIE90aGVyd2lzZSwgcmV0dXJuIDxjb2RlPmZhbHNlPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNCw0LDQsNSw2XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gdHJ1ZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgYXJyYXkgY2FuIGJlIHBhcnRpdGlvbmVkIGludG8gdGhlIHN1YmFycmF5cyBbNCw0XSBhbmQgWzQsNSw2XS4KVGhpcyBwYXJ0aXRpb24gaXMgdmFsaWQsIHNvIHdlIHJldHVybiB0cnVlLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMSwxLDJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBmYWxzZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGVyZSBpcyBubyB2YWxpZCBwYXJ0aXRpb24gZm9yIHRoaXMgYXJyYXkuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjIgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+Njwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Dynamic Programming"
+ ]
+ },
+ {
+ "title": "2359. Find Closest Node to Given Two Nodes",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPmRpcmVjdGVkPC9zdHJvbmc+IGdyYXBoIG9mIDxjb2RlPm48L2NvZGU+IG5vZGVzIG51bWJlcmVkIGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+biAtIDE8L2NvZGU+LCB3aGVyZSBlYWNoIG5vZGUgaGFzIDxzdHJvbmc+YXQgbW9zdCBvbmU8L3N0cm9uZz4gb3V0Z29pbmcgZWRnZS48L3A+CjxwPlRoZSBncmFwaCBpcyByZXByZXNlbnRlZCB3aXRoIGEgZ2l2ZW4gPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gYXJyYXkgPGNvZGU+ZWRnZXM8L2NvZGU+IG9mIHNpemUgPGNvZGU+bjwvY29kZT4sIGluZGljYXRpbmcgdGhhdCB0aGVyZSBpcyBhIGRpcmVjdGVkIGVkZ2UgZnJvbSBub2RlIDxjb2RlPmk8L2NvZGU+IHRvIG5vZGUgPGNvZGU+ZWRnZXNbaV08L2NvZGU+LiBJZiB0aGVyZSBpcyBubyBvdXRnb2luZyBlZGdlIGZyb20gPGNvZGU+aTwvY29kZT4sIHRoZW4gPGNvZGU+ZWRnZXNbaV0gPT0gLTE8L2NvZGU+LjwvcD4KPHA+WW91IGFyZSBhbHNvIGdpdmVuIHR3byBpbnRlZ2VycyA8Y29kZT5ub2RlMTwvY29kZT4gYW5kIDxjb2RlPm5vZGUyPC9jb2RlPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+aW5kZXg8L3N0cm9uZz4gb2YgdGhlIG5vZGUgdGhhdCBjYW4gYmUgcmVhY2hlZCBmcm9tIGJvdGggPC9lbT48Y29kZT5ub2RlMTwvY29kZT48ZW0+IGFuZCA8L2VtPjxjb2RlPm5vZGUyPC9jb2RlPjxlbT4sIHN1Y2ggdGhhdCB0aGUgPHN0cm9uZz5tYXhpbXVtPC9zdHJvbmc+IGJldHdlZW4gdGhlIGRpc3RhbmNlIGZyb20gPC9lbT48Y29kZT5ub2RlMTwvY29kZT48ZW0+IHRvIHRoYXQgbm9kZSwgYW5kIGZyb20gPC9lbT48Y29kZT5ub2RlMjwvY29kZT48ZW0+IHRvIHRoYXQgbm9kZSBpcyA8c3Ryb25nPm1pbmltaXplZDwvc3Ryb25nPjwvZW0+LiBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgYW5zd2VycywgcmV0dXJuIHRoZSBub2RlIHdpdGggdGhlIDxzdHJvbmc+c21hbGxlc3Q8L3N0cm9uZz4gaW5kZXgsIGFuZCBpZiBubyBwb3NzaWJsZSBhbnN3ZXIgZXhpc3RzLCByZXR1cm4gPGNvZGU+LTE8L2NvZGU+LjwvcD4KPHA+Tm90ZSB0aGF0IDxjb2RlPmVkZ2VzPC9jb2RlPiBtYXkgY29udGFpbiBjeWNsZXMuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA2LzA3L2dyYXBoNGRyYXdpby0yLnBuZyIgc3R5bGU9IndpZHRoOiAzMjFweDsgaGVpZ2h0OiAxNjFweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBlZGdlcyA9IFsyLDIsMywtMV0sIG5vZGUxID0gMCwgbm9kZTIgPSAxCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBkaXN0YW5jZSBmcm9tIG5vZGUgMCB0byBub2RlIDIgaXMgMSwgYW5kIHRoZSBkaXN0YW5jZSBmcm9tIG5vZGUgMSB0byBub2RlIDIgaXMgMS4KVGhlIG1heGltdW0gb2YgdGhvc2UgdHdvIGRpc3RhbmNlcyBpcyAxLiBJdCBjYW4gYmUgcHJvdmVuIHRoYXQgd2UgY2Fubm90IGdldCBhIG5vZGUgd2l0aCBhIHNtYWxsZXIgbWF4aW11bSBkaXN0YW5jZSB0aGFuIDEsIHNvIHdlIHJldHVybiBub2RlIDIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDYvMDcvZ3JhcGg0ZHJhd2lvLTQucG5nIiBzdHlsZT0id2lkdGg6IDE5NXB4OyBoZWlnaHQ6IDE2MXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGVkZ2VzID0gWzEsMiwtMV0sIG5vZGUxID0gMCwgbm9kZTIgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBkaXN0YW5jZSBmcm9tIG5vZGUgMCB0byBub2RlIDIgaXMgMiwgYW5kIHRoZSBkaXN0YW5jZSBmcm9tIG5vZGUgMiB0byBpdHNlbGYgaXMgMC4KVGhlIG1heGltdW0gb2YgdGhvc2UgdHdvIGRpc3RhbmNlcyBpcyAyLiBJdCBjYW4gYmUgcHJvdmVuIHRoYXQgd2UgY2Fubm90IGdldCBhIG5vZGUgd2l0aCBhIHNtYWxsZXIgbWF4aW11bSBkaXN0YW5jZSB0aGFuIDIsIHNvIHdlIHJldHVybiBub2RlIDIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gZWRnZXMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4yICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPi0xICZsdDs9IGVkZ2VzW2ldICZsdDsgbjwvY29kZT48L2xpPgo8bGk+PGNvZGU+ZWRnZXNbaV0gIT0gaTwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBub2RlMSwgbm9kZTIgJmx0OyBuPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Depth-First Search",
+ "Graph"
+ ]
+ },
+ {
+ "title": "2358. Maximum Number of Groups Entering a Competition",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBwb3NpdGl2ZSBpbnRlZ2VyIGFycmF5IDxjb2RlPmdyYWRlczwvY29kZT4gd2hpY2ggcmVwcmVzZW50cyB0aGUgZ3JhZGVzIG9mIHN0dWRlbnRzIGluIGEgdW5pdmVyc2l0eS4gWW91IHdvdWxkIGxpa2UgdG8gZW50ZXIgPHN0cm9uZz5hbGw8L3N0cm9uZz4gdGhlc2Ugc3R1ZGVudHMgaW50byBhIGNvbXBldGl0aW9uIGluIDxzdHJvbmc+b3JkZXJlZDwvc3Ryb25nPiBub24tZW1wdHkgZ3JvdXBzLCBzdWNoIHRoYXQgdGhlIG9yZGVyaW5nIG1lZXRzIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczo8L3A+Cjx1bD4KPGxpPlRoZSBzdW0gb2YgdGhlIGdyYWRlcyBvZiBzdHVkZW50cyBpbiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGdyb3VwIGlzIDxzdHJvbmc+bGVzcyB0aGFuPC9zdHJvbmc+IHRoZSBzdW0gb2YgdGhlIGdyYWRlcyBvZiBzdHVkZW50cyBpbiB0aGUgPGNvZGU+KGkgKyAxKTxzdXA+dGg8L3N1cD48L2NvZGU+IGdyb3VwLCBmb3IgYWxsIGdyb3VwcyAoZXhjZXB0IHRoZSBsYXN0KS48L2xpPgo8bGk+VGhlIHRvdGFsIG51bWJlciBvZiBzdHVkZW50cyBpbiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGdyb3VwIGlzIDxzdHJvbmc+bGVzcyB0aGFuPC9zdHJvbmc+IHRoZSB0b3RhbCBudW1iZXIgb2Ygc3R1ZGVudHMgaW4gdGhlIDxjb2RlPihpICsgMSk8c3VwPnRoPC9zdXA+PC9jb2RlPiBncm91cCwgZm9yIGFsbCBncm91cHMgKGV4Y2VwdCB0aGUgbGFzdCkuPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5tYXhpbXVtPC9zdHJvbmc+IG51bWJlciBvZiBncm91cHMgdGhhdCBjYW4gYmUgZm9ybWVkPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBncmFkZXMgPSBbMTAsNiwxMiw3LDMsNV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGZvbGxvd2luZyBpcyBhIHBvc3NpYmxlIHdheSB0byBmb3JtIDMgZ3JvdXBzIG9mIHN0dWRlbnRzOgotIDE8c3VwPnN0PC9zdXA+IGdyb3VwIGhhcyB0aGUgc3R1ZGVudHMgd2l0aCBncmFkZXMgPSBbMTJdLiBTdW0gb2YgZ3JhZGVzOiAxMi4gU3R1ZGVudCBjb3VudDogMQotIDI8c3VwPm5kPC9zdXA+IGdyb3VwIGhhcyB0aGUgc3R1ZGVudHMgd2l0aCBncmFkZXMgPSBbNiw3XS4gU3VtIG9mIGdyYWRlczogNiArIDcgPSAxMy4gU3R1ZGVudCBjb3VudDogMgotIDM8c3VwPnJkPC9zdXA+IGdyb3VwIGhhcyB0aGUgc3R1ZGVudHMgd2l0aCBncmFkZXMgPSBbMTAsMyw1XS4gU3VtIG9mIGdyYWRlczogMTAgKyAzICsgNSA9IDE4LiBTdHVkZW50IGNvdW50OiAzCkl0IGNhbiBiZSBzaG93biB0aGF0IGl0IGlzIG5vdCBwb3NzaWJsZSB0byBmb3JtIG1vcmUgdGhhbiAzIGdyb3Vwcy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JhZGVzID0gWzgsOF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gV2UgY2FuIG9ubHkgZm9ybSAxIGdyb3VwLCBzaW5jZSBmb3JtaW5nIDIgZ3JvdXBzIHdvdWxkIGxlYWQgdG8gYW4gZXF1YWwgbnVtYmVyIG9mIHN0dWRlbnRzIGluIGJvdGggZ3JvdXBzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IGdyYWRlcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gZ3JhZGVzW2ldICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Math",
+ "Binary Search",
+ "Greedy"
+ ]
+ },
+ {
+ "title": "2349. Design a Number Container System",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkRlc2lnbiBhIG51bWJlciBjb250YWluZXIgc3lzdGVtIHRoYXQgY2FuIGRvIHRoZSBmb2xsb3dpbmc6PC9wPgo8dWw+CjxsaT48c3Ryb25nPkluc2VydCA8L3N0cm9uZz5vciA8c3Ryb25nPlJlcGxhY2U8L3N0cm9uZz4gYSBudW1iZXIgYXQgdGhlIGdpdmVuIGluZGV4IGluIHRoZSBzeXN0ZW0uPC9saT4KPGxpPjxzdHJvbmc+UmV0dXJuIDwvc3Ryb25nPnRoZSBzbWFsbGVzdCBpbmRleCBmb3IgdGhlIGdpdmVuIG51bWJlciBpbiB0aGUgc3lzdGVtLjwvbGk+CjwvdWw+CjxwPkltcGxlbWVudCB0aGUgPGNvZGU+TnVtYmVyQ29udGFpbmVyczwvY29kZT4gY2xhc3M6PC9wPgo8dWw+CjxsaT48Y29kZT5OdW1iZXJDb250YWluZXJzKCk8L2NvZGU+IEluaXRpYWxpemVzIHRoZSBudW1iZXIgY29udGFpbmVyIHN5c3RlbS48L2xpPgo8bGk+PGNvZGU+dm9pZCBjaGFuZ2UoaW50IGluZGV4LCBpbnQgbnVtYmVyKTwvY29kZT4gRmlsbHMgdGhlIGNvbnRhaW5lciBhdCA8Y29kZT5pbmRleDwvY29kZT4gd2l0aCB0aGUgPGNvZGU+bnVtYmVyPC9jb2RlPi4gSWYgdGhlcmUgaXMgYWxyZWFkeSBhIG51bWJlciBhdCB0aGF0IDxjb2RlPmluZGV4PC9jb2RlPiwgcmVwbGFjZSBpdC48L2xpPgo8bGk+PGNvZGU+aW50IGZpbmQoaW50IG51bWJlcik8L2NvZGU+IFJldHVybnMgdGhlIHNtYWxsZXN0IGluZGV4IGZvciB0aGUgZ2l2ZW4gPGNvZGU+bnVtYmVyPC9jb2RlPiwgb3IgPGNvZGU+LTE8L2NvZGU+IGlmIHRoZXJlIGlzIG5vIGluZGV4IHRoYXQgaXMgZmlsbGVkIGJ5IDxjb2RlPm51bWJlcjwvY29kZT4gaW4gdGhlIHN5c3RlbS48L2xpPgo8L3VsPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0PC9zdHJvbmc+ClsiTnVtYmVyQ29udGFpbmVycyIsICJmaW5kIiwgImNoYW5nZSIsICJjaGFuZ2UiLCAiY2hhbmdlIiwgImNoYW5nZSIsICJmaW5kIiwgImNoYW5nZSIsICJmaW5kIl0KW1tdLCBbMTBdLCBbMiwgMTBdLCBbMSwgMTBdLCBbMywgMTBdLCBbNSwgMTBdLCBbMTBdLCBbMSwgMjBdLCBbMTBdXQo8c3Ryb25nPk91dHB1dDwvc3Ryb25nPgpbbnVsbCwgLTEsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIDEsIG51bGwsIDJdCgo8c3Ryb25nPkV4cGxhbmF0aW9uPC9zdHJvbmc+Ck51bWJlckNvbnRhaW5lcnMgbmMgPSBuZXcgTnVtYmVyQ29udGFpbmVycygpOwpuYy5maW5kKDEwKTsgLy8gVGhlcmUgaXMgbm8gaW5kZXggdGhhdCBpcyBmaWxsZWQgd2l0aCBudW1iZXIgMTAuIFRoZXJlZm9yZSwgd2UgcmV0dXJuIC0xLgpuYy5jaGFuZ2UoMiwgMTApOyAvLyBZb3VyIGNvbnRhaW5lciBhdCBpbmRleCAyIHdpbGwgYmUgZmlsbGVkIHdpdGggbnVtYmVyIDEwLgpuYy5jaGFuZ2UoMSwgMTApOyAvLyBZb3VyIGNvbnRhaW5lciBhdCBpbmRleCAxIHdpbGwgYmUgZmlsbGVkIHdpdGggbnVtYmVyIDEwLgpuYy5jaGFuZ2UoMywgMTApOyAvLyBZb3VyIGNvbnRhaW5lciBhdCBpbmRleCAzIHdpbGwgYmUgZmlsbGVkIHdpdGggbnVtYmVyIDEwLgpuYy5jaGFuZ2UoNSwgMTApOyAvLyBZb3VyIGNvbnRhaW5lciBhdCBpbmRleCA1IHdpbGwgYmUgZmlsbGVkIHdpdGggbnVtYmVyIDEwLgpuYy5maW5kKDEwKTsgLy8gTnVtYmVyIDEwIGlzIGF0IHRoZSBpbmRpY2VzIDEsIDIsIDMsIGFuZCA1LiBTaW5jZSB0aGUgc21hbGxlc3QgaW5kZXggdGhhdCBpcyBmaWxsZWQgd2l0aCAxMCBpcyAxLCB3ZSByZXR1cm4gMS4KbmMuY2hhbmdlKDEsIDIwKTsgLy8gWW91ciBjb250YWluZXIgYXQgaW5kZXggMSB3aWxsIGJlIGZpbGxlZCB3aXRoIG51bWJlciAyMC4gTm90ZSB0aGF0IGluZGV4IDEgd2FzIGZpbGxlZCB3aXRoIDEwIGFuZCB0aGVuIHJlcGxhY2VkIHdpdGggMjAuIApuYy5maW5kKDEwKTsgLy8gTnVtYmVyIDEwIGlzIGF0IHRoZSBpbmRpY2VzIDIsIDMsIGFuZCA1LiBUaGUgc21hbGxlc3QgaW5kZXggdGhhdCBpcyBmaWxsZWQgd2l0aCAxMCBpcyAyLiBUaGVyZWZvcmUsIHdlIHJldHVybiAyLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IGluZGV4LCBudW1iZXIgJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPGxpPkF0IG1vc3QgPGNvZGU+MTA8c3VwPjU8L3N1cD48L2NvZGU+IGNhbGxzIHdpbGwgYmUgbWFkZSA8c3Ryb25nPmluIHRvdGFsPC9zdHJvbmc+IHRvIDxjb2RlPmNoYW5nZTwvY29kZT4gYW5kIDxjb2RlPmZpbmQ8L2NvZGU+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Hash Table",
+ "Design",
+ "Heap (Priority Queue)",
+ "Ordered Set"
+ ]
+ },
+ {
+ "title": "2348. Number of Zero-Filled Subarrays",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGludGVnZXIgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4sIHJldHVybiA8ZW0+dGhlIG51bWJlciBvZiA8c3Ryb25nPnN1YmFycmF5czwvc3Ryb25nPiBmaWxsZWQgd2l0aCA8L2VtPjxjb2RlPjA8L2NvZGU+LjwvcD4KPHA+QSA8c3Ryb25nPnN1YmFycmF5PC9zdHJvbmc+IGlzIGEgY29udGlndW91cyBub24tZW1wdHkgc2VxdWVuY2Ugb2YgZWxlbWVudHMgd2l0aGluIGFuIGFycmF5LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDMsMCwwLDIsMCwwLDRdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA2CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApUaGVyZSBhcmUgNCBvY2N1cnJlbmNlcyBvZiBbMF0gYXMgYSBzdWJhcnJheS4KVGhlcmUgYXJlIDIgb2NjdXJyZW5jZXMgb2YgWzAsMF0gYXMgYSBzdWJhcnJheS4KVGhlcmUgaXMgbm8gb2NjdXJyZW5jZSBvZiBhIHN1YmFycmF5IHdpdGggYSBzaXplIG1vcmUgdGhhbiAyIGZpbGxlZCB3aXRoIDAuIFRoZXJlZm9yZSwgd2UgcmV0dXJuIDYuPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFswLDAsMCwyLDAsMF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDkKPHN0cm9uZz5FeHBsYW5hdGlvbjoKPC9zdHJvbmc+VGhlcmUgYXJlIDUgb2NjdXJyZW5jZXMgb2YgWzBdIGFzIGEgc3ViYXJyYXkuClRoZXJlIGFyZSAzIG9jY3VycmVuY2VzIG9mIFswLDBdIGFzIGEgc3ViYXJyYXkuClRoZXJlIGlzIDEgb2NjdXJyZW5jZSBvZiBbMCwwLDBdIGFzIGEgc3ViYXJyYXkuClRoZXJlIGlzIG5vIG9jY3VycmVuY2Ugb2YgYSBzdWJhcnJheSB3aXRoIGEgc2l6ZSBtb3JlIHRoYW4gMyBmaWxsZWQgd2l0aCAwLiBUaGVyZWZvcmUsIHdlIHJldHVybiA5Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzIsMTAsMjAxOV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgaXMgbm8gc3ViYXJyYXkgZmlsbGVkIHdpdGggMC4gVGhlcmVmb3JlLCB3ZSByZXR1cm4gMC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+LTEwPHN1cD45PC9zdXA+ICZsdDs9IG51bXNbaV0gJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Math"
+ ]
+ },
+ {
+ "title": "2353. Design a Food Rating System",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkRlc2lnbiBhIGZvb2QgcmF0aW5nIHN5c3RlbSB0aGF0IGNhbiBkbyB0aGUgZm9sbG93aW5nOjwvcD4KPHVsPgo8bGk+PHN0cm9uZz5Nb2RpZnk8L3N0cm9uZz4gdGhlIHJhdGluZyBvZiBhIGZvb2QgaXRlbSBsaXN0ZWQgaW4gdGhlIHN5c3RlbS48L2xpPgo8bGk+UmV0dXJuIHRoZSBoaWdoZXN0LXJhdGVkIGZvb2QgaXRlbSBmb3IgYSB0eXBlIG9mIGN1aXNpbmUgaW4gdGhlIHN5c3RlbS48L2xpPgo8L3VsPgo8cD5JbXBsZW1lbnQgdGhlIDxjb2RlPkZvb2RSYXRpbmdzPC9jb2RlPiBjbGFzczo8L3A+Cjx1bD4KPGxpPjxjb2RlPkZvb2RSYXRpbmdzKFN0cmluZ1tdIGZvb2RzLCBTdHJpbmdbXSBjdWlzaW5lcywgaW50W10gcmF0aW5ncyk8L2NvZGU+IEluaXRpYWxpemVzIHRoZSBzeXN0ZW0uIFRoZSBmb29kIGl0ZW1zIGFyZSBkZXNjcmliZWQgYnkgPGNvZGU+Zm9vZHM8L2NvZGU+LCA8Y29kZT5jdWlzaW5lczwvY29kZT4gYW5kIDxjb2RlPnJhdGluZ3M8L2NvZGU+LCBhbGwgb2Ygd2hpY2ggaGF2ZSBhIGxlbmd0aCBvZiA8Y29kZT5uPC9jb2RlPi4KCgk8dWw+CjxsaT48Y29kZT5mb29kc1tpXTwvY29kZT4gaXMgdGhlIG5hbWUgb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBmb29kLDwvbGk+CjxsaT48Y29kZT5jdWlzaW5lc1tpXTwvY29kZT4gaXMgdGhlIHR5cGUgb2YgY3Vpc2luZSBvZiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGZvb2QsIGFuZDwvbGk+CjxsaT48Y29kZT5yYXRpbmdzW2ldPC9jb2RlPiBpcyB0aGUgaW5pdGlhbCByYXRpbmcgb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBmb29kLjwvbGk+CjwvdWw+CjwvbGk+CjxsaT48Y29kZT52b2lkIGNoYW5nZVJhdGluZyhTdHJpbmcgZm9vZCwgaW50IG5ld1JhdGluZyk8L2NvZGU+IENoYW5nZXMgdGhlIHJhdGluZyBvZiB0aGUgZm9vZCBpdGVtIHdpdGggdGhlIG5hbWUgPGNvZGU+Zm9vZDwvY29kZT4uPC9saT4KPGxpPjxjb2RlPlN0cmluZyBoaWdoZXN0UmF0ZWQoU3RyaW5nIGN1aXNpbmUpPC9jb2RlPiBSZXR1cm5zIHRoZSBuYW1lIG9mIHRoZSBmb29kIGl0ZW0gdGhhdCBoYXMgdGhlIGhpZ2hlc3QgcmF0aW5nIGZvciB0aGUgZ2l2ZW4gdHlwZSBvZiA8Y29kZT5jdWlzaW5lPC9jb2RlPi4gSWYgdGhlcmUgaXMgYSB0aWUsIHJldHVybiB0aGUgaXRlbSB3aXRoIHRoZSA8c3Ryb25nPmxleGljb2dyYXBoaWNhbGx5IHNtYWxsZXI8L3N0cm9uZz4gbmFtZS48L2xpPgo8L3VsPgo8cD5Ob3RlIHRoYXQgYSBzdHJpbmcgPGNvZGU+eDwvY29kZT4gaXMgbGV4aWNvZ3JhcGhpY2FsbHkgc21hbGxlciB0aGFuIHN0cmluZyA8Y29kZT55PC9jb2RlPiBpZiA8Y29kZT54PC9jb2RlPiBjb21lcyBiZWZvcmUgPGNvZGU+eTwvY29kZT4gaW4gZGljdGlvbmFyeSBvcmRlciwgdGhhdCBpcywgZWl0aGVyIDxjb2RlPng8L2NvZGU+IGlzIGEgcHJlZml4IG9mIDxjb2RlPnk8L2NvZGU+LCBvciBpZiA8Y29kZT5pPC9jb2RlPiBpcyB0aGUgZmlyc3QgcG9zaXRpb24gc3VjaCB0aGF0IDxjb2RlPnhbaV0gIT0geVtpXTwvY29kZT4sIHRoZW4gPGNvZGU+eFtpXTwvY29kZT4gY29tZXMgYmVmb3JlIDxjb2RlPnlbaV08L2NvZGU+IGluIGFscGhhYmV0aWMgb3JkZXIuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0PC9zdHJvbmc+ClsiRm9vZFJhdGluZ3MiLCAiaGlnaGVzdFJhdGVkIiwgImhpZ2hlc3RSYXRlZCIsICJjaGFuZ2VSYXRpbmciLCAiaGlnaGVzdFJhdGVkIiwgImNoYW5nZVJhdGluZyIsICJoaWdoZXN0UmF0ZWQiXQpbW1sia2ltY2hpIiwgIm1pc28iLCAic3VzaGkiLCAibW91c3Nha2EiLCAicmFtZW4iLCAiYnVsZ29naSJdLCBbImtvcmVhbiIsICJqYXBhbmVzZSIsICJqYXBhbmVzZSIsICJncmVlayIsICJqYXBhbmVzZSIsICJrb3JlYW4iXSwgWzksIDEyLCA4LCAxNSwgMTQsIDddXSwgWyJrb3JlYW4iXSwgWyJqYXBhbmVzZSJdLCBbInN1c2hpIiwgMTZdLCBbImphcGFuZXNlIl0sIFsicmFtZW4iLCAxNl0sIFsiamFwYW5lc2UiXV0KPHN0cm9uZz5PdXRwdXQ8L3N0cm9uZz4KW251bGwsICJraW1jaGkiLCAicmFtZW4iLCBudWxsLCAic3VzaGkiLCBudWxsLCAicmFtZW4iXQoKPHN0cm9uZz5FeHBsYW5hdGlvbjwvc3Ryb25nPgpGb29kUmF0aW5ncyBmb29kUmF0aW5ncyA9IG5ldyBGb29kUmF0aW5ncyhbImtpbWNoaSIsICJtaXNvIiwgInN1c2hpIiwgIm1vdXNzYWthIiwgInJhbWVuIiwgImJ1bGdvZ2kiXSwgWyJrb3JlYW4iLCAiamFwYW5lc2UiLCAiamFwYW5lc2UiLCAiZ3JlZWsiLCAiamFwYW5lc2UiLCAia29yZWFuIl0sIFs5LCAxMiwgOCwgMTUsIDE0LCA3XSk7CmZvb2RSYXRpbmdzLmhpZ2hlc3RSYXRlZCgia29yZWFuIik7IC8vIHJldHVybiAia2ltY2hpIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAia2ltY2hpIiBpcyB0aGUgaGlnaGVzdCByYXRlZCBrb3JlYW4gZm9vZCB3aXRoIGEgcmF0aW5nIG9mIDkuCmZvb2RSYXRpbmdzLmhpZ2hlc3RSYXRlZCgiamFwYW5lc2UiKTsgLy8gcmV0dXJuICJyYW1lbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAicmFtZW4iIGlzIHRoZSBoaWdoZXN0IHJhdGVkIGphcGFuZXNlIGZvb2Qgd2l0aCBhIHJhdGluZyBvZiAxNC4KZm9vZFJhdGluZ3MuY2hhbmdlUmF0aW5nKCJzdXNoaSIsIDE2KTsgLy8gInN1c2hpIiBub3cgaGFzIGEgcmF0aW5nIG9mIDE2Lgpmb29kUmF0aW5ncy5oaWdoZXN0UmF0ZWQoImphcGFuZXNlIik7IC8vIHJldHVybiAic3VzaGkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gInN1c2hpIiBpcyB0aGUgaGlnaGVzdCByYXRlZCBqYXBhbmVzZSBmb29kIHdpdGggYSByYXRpbmcgb2YgMTYuCmZvb2RSYXRpbmdzLmNoYW5nZVJhdGluZygicmFtZW4iLCAxNik7IC8vICJyYW1lbiIgbm93IGhhcyBhIHJhdGluZyBvZiAxNi4KZm9vZFJhdGluZ3MuaGlnaGVzdFJhdGVkKCJqYXBhbmVzZSIpOyAvLyByZXR1cm4gInJhbWVuIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEJvdGggInN1c2hpIiBhbmQgInJhbWVuIiBoYXZlIGEgcmF0aW5nIG9mIDE2LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEhvd2V2ZXIsICJyYW1lbiIgaXMgbGV4aWNvZ3JhcGhpY2FsbHkgc21hbGxlciB0aGFuICJzdXNoaSIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAyICogMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPm4gPT0gZm9vZHMubGVuZ3RoID09IGN1aXNpbmVzLmxlbmd0aCA9PSByYXRpbmdzLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBmb29kc1tpXS5sZW5ndGgsIGN1aXNpbmVzW2ldLmxlbmd0aCAmbHQ7PSAxMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+Zm9vZHNbaV08L2NvZGU+LCA8Y29kZT5jdWlzaW5lc1tpXTwvY29kZT4gY29uc2lzdCBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHJhdGluZ3NbaV0gJmx0Oz0gMTA8c3VwPjg8L3N1cD48L2NvZGU+PC9saT4KPGxpPkFsbCB0aGUgc3RyaW5ncyBpbiA8Y29kZT5mb29kczwvY29kZT4gYXJlIDxzdHJvbmc+ZGlzdGluY3Q8L3N0cm9uZz4uPC9saT4KPGxpPjxjb2RlPmZvb2Q8L2NvZGU+IHdpbGwgYmUgdGhlIG5hbWUgb2YgYSBmb29kIGl0ZW0gaW4gdGhlIHN5c3RlbSBhY3Jvc3MgYWxsIGNhbGxzIHRvIDxjb2RlPmNoYW5nZVJhdGluZzwvY29kZT4uPC9saT4KPGxpPjxjb2RlPmN1aXNpbmU8L2NvZGU+IHdpbGwgYmUgYSB0eXBlIG9mIGN1aXNpbmUgb2YgPHN0cm9uZz5hdCBsZWFzdCBvbmU8L3N0cm9uZz4gZm9vZCBpdGVtIGluIHRoZSBzeXN0ZW0gYWNyb3NzIGFsbCBjYWxscyB0byA8Y29kZT5oaWdoZXN0UmF0ZWQ8L2NvZGU+LjwvbGk+CjxsaT5BdCBtb3N0IDxjb2RlPjIgKiAxMDxzdXA+NDwvc3VwPjwvY29kZT4gY2FsbHMgPHN0cm9uZz5pbiB0b3RhbDwvc3Ryb25nPiB3aWxsIGJlIG1hZGUgdG8gPGNvZGU+Y2hhbmdlUmF0aW5nPC9jb2RlPiBhbmQgPGNvZGU+aGlnaGVzdFJhdGVkPC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Hash Table",
+ "Design",
+ "Heap (Priority Queue)",
+ "Ordered Set"
+ ]
+ },
+ {
+ "title": "2352. Equal Row and Column Pairs",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gPGNvZGU+biB4IG48L2NvZGU+IGludGVnZXIgbWF0cml4IDxjb2RlPmdyaWQ8L2NvZGU+LCA8ZW0+cmV0dXJuIHRoZSBudW1iZXIgb2YgcGFpcnMgPC9lbT48Y29kZT4oUjxzdWI+aTwvc3ViPiwgQzxzdWI+ajwvc3ViPik8L2NvZGU+PGVtPiBzdWNoIHRoYXQgcm93IDwvZW0+PGNvZGU+UjxzdWI+aTwvc3ViPjwvY29kZT48ZW0+IGFuZCBjb2x1bW4gPC9lbT48Y29kZT5DPHN1Yj5qPC9zdWI+PC9jb2RlPjxlbT4gYXJlIGVxdWFsPC9lbT4uPC9wPgo8cD5BIHJvdyBhbmQgY29sdW1uIHBhaXIgaXMgY29uc2lkZXJlZCBlcXVhbCBpZiB0aGV5IGNvbnRhaW4gdGhlIHNhbWUgZWxlbWVudHMgaW4gdGhlIHNhbWUgb3JkZXIgKGkuZS4gYW4gZXF1YWwgYXJyYXkpLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wNi8wMS9leDEuanBnIiBzdHlsZT0id2lkdGg6IDE1MHB4OyBoZWlnaHQ6IDE1M3B4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGdyaWQgPSBbWzMsMiwxXSxbMSw3LDZdLFsyLDcsN11dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGlzIDEgZXF1YWwgcm93IGFuZCBjb2x1bW4gcGFpcjoKLSAoUm93IDIsIENvbHVtbiAxKTogWzIsNyw3XQo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA2LzAxL2V4Mi5qcGciIHN0eWxlPSJ3aWR0aDogMjAwcHg7IGhlaWdodDogMjA5cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbMywxLDIsMl0sWzEsNCw0LDVdLFsyLDQsMiwyXSxbMiw0LDIsMl1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSAzIGVxdWFsIHJvdyBhbmQgY29sdW1uIHBhaXJzOgotIChSb3cgMCwgQ29sdW1uIDApOiBbMywxLDIsMl0KLSAoUm93IDIsIENvbHVtbiAyKTogWzIsNCwyLDJdCi0gKFJvdyAzLCBDb2x1bW4gMik6IFsyLDQsMiwyXQo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IGdyaWQubGVuZ3RoID09IGdyaWRbaV0ubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMjAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGdyaWRbaV1bal0gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Matrix",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2343. Query Kth Smallest Trimmed Number",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBhcnJheSBvZiBzdHJpbmdzIDxjb2RlPm51bXM8L2NvZGU+LCB3aGVyZSBlYWNoIHN0cmluZyBpcyBvZiA8c3Ryb25nPmVxdWFsIGxlbmd0aDwvc3Ryb25nPiBhbmQgY29uc2lzdHMgb2Ygb25seSBkaWdpdHMuPC9wPgo8cD5Zb3UgYXJlIGFsc28gZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPnF1ZXJpZXM8L2NvZGU+IHdoZXJlIDxjb2RlPnF1ZXJpZXNbaV0gPSBbazxzdWI+aTwvc3ViPiwgdHJpbTxzdWI+aTwvc3ViPl08L2NvZGU+LiBGb3IgZWFjaCA8Y29kZT5xdWVyaWVzW2ldPC9jb2RlPiwgeW91IG5lZWQgdG86PC9wPgo8dWw+CjxsaT48c3Ryb25nPlRyaW08L3N0cm9uZz4gZWFjaCBudW1iZXIgaW4gPGNvZGU+bnVtczwvY29kZT4gdG8gaXRzIDxzdHJvbmc+cmlnaHRtb3N0PC9zdHJvbmc+IDxjb2RlPnRyaW08c3ViPmk8L3N1Yj48L2NvZGU+IGRpZ2l0cy48L2xpPgo8bGk+RGV0ZXJtaW5lIHRoZSA8c3Ryb25nPmluZGV4PC9zdHJvbmc+IG9mIHRoZSA8Y29kZT5rPHN1Yj5pPC9zdWI+PHN1cD50aDwvc3VwPjwvY29kZT4gc21hbGxlc3QgdHJpbW1lZCBudW1iZXIgaW4gPGNvZGU+bnVtczwvY29kZT4uIElmIHR3byB0cmltbWVkIG51bWJlcnMgYXJlIGVxdWFsLCB0aGUgbnVtYmVyIHdpdGggdGhlIDxzdHJvbmc+bG93ZXI8L3N0cm9uZz4gaW5kZXggaXMgY29uc2lkZXJlZCB0byBiZSBzbWFsbGVyLjwvbGk+CjxsaT5SZXNldCBlYWNoIG51bWJlciBpbiA8Y29kZT5udW1zPC9jb2RlPiB0byBpdHMgb3JpZ2luYWwgbGVuZ3RoLjwvbGk+CjwvdWw+CjxwPlJldHVybiA8ZW0+YW4gYXJyYXkgPC9lbT48Y29kZT5hbnN3ZXI8L2NvZGU+PGVtPiBvZiB0aGUgc2FtZSBsZW5ndGggYXMgPC9lbT48Y29kZT5xdWVyaWVzPC9jb2RlPiw8ZW0+IHdoZXJlIDwvZW0+PGNvZGU+YW5zd2VyW2ldPC9jb2RlPjxlbT4gaXMgdGhlIGFuc3dlciB0byB0aGUgPC9lbT48Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT48ZW0+IHF1ZXJ5LjwvZW0+PC9wPgo8cD48c3Ryb25nPk5vdGU8L3N0cm9uZz46PC9wPgo8dWw+CjxsaT5UbyB0cmltIHRvIHRoZSByaWdodG1vc3QgPGNvZGU+eDwvY29kZT4gZGlnaXRzIG1lYW5zIHRvIGtlZXAgcmVtb3ZpbmcgdGhlIGxlZnRtb3N0IGRpZ2l0LCB1bnRpbCBvbmx5IDxjb2RlPng8L2NvZGU+IGRpZ2l0cyByZW1haW4uPC9saT4KPGxpPlN0cmluZ3MgaW4gPGNvZGU+bnVtczwvY29kZT4gbWF5IGNvbnRhaW4gbGVhZGluZyB6ZXJvcy48L2xpPgo8L3VsPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWyIxMDIiLCI0NzMiLCIyNTEiLCI4MTQiXSwgcXVlcmllcyA9IFtbMSwxXSxbMiwzXSxbNCwyXSxbMSwyXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsyLDIsMSwwXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgoxLiBBZnRlciB0cmltbWluZyB0byB0aGUgbGFzdCBkaWdpdCwgbnVtcyA9IFsiMiIsIjMiLCIxIiwiNCJdLiBUaGUgc21hbGxlc3QgbnVtYmVyIGlzIDEgYXQgaW5kZXggMi4KMi4gVHJpbW1lZCB0byB0aGUgbGFzdCAzIGRpZ2l0cywgbnVtcyBpcyB1bmNoYW5nZWQuIFRoZSAyPHN1cD5uZDwvc3VwPiBzbWFsbGVzdCBudW1iZXIgaXMgMjUxIGF0IGluZGV4IDIuCjMuIFRyaW1tZWQgdG8gdGhlIGxhc3QgMiBkaWdpdHMsIG51bXMgPSBbIjAyIiwiNzMiLCI1MSIsIjE0Il0uIFRoZSA0PHN1cD50aDwvc3VwPiBzbWFsbGVzdCBudW1iZXIgaXMgNzMuCjQuIFRyaW1tZWQgdG8gdGhlIGxhc3QgMiBkaWdpdHMsIHRoZSBzbWFsbGVzdCBudW1iZXIgaXMgMiBhdCBpbmRleCAwLgogICBOb3RlIHRoYXQgdGhlIHRyaW1tZWQgbnVtYmVyICIwMiIgaXMgZXZhbHVhdGVkIGFzIDIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbIjI0IiwiMzciLCI5NiIsIjA0Il0sIHF1ZXJpZXMgPSBbWzIsMV0sWzIsMl1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMywwXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgoxLiBUcmltbWVkIHRvIHRoZSBsYXN0IGRpZ2l0LCBudW1zID0gWyI0IiwiNyIsIjYiLCI0Il0uIFRoZSAyPHN1cD5uZDwvc3VwPiBzbWFsbGVzdCBudW1iZXIgaXMgNCBhdCBpbmRleCAzLgogICBUaGVyZSBhcmUgdHdvIG9jY3VycmVuY2VzIG9mIDQsIGJ1dCB0aGUgb25lIGF0IGluZGV4IDAgaXMgY29uc2lkZXJlZCBzbWFsbGVyIHRoYW4gdGhlIG9uZSBhdCBpbmRleCAzLgoyLiBUcmltbWVkIHRvIHRoZSBsYXN0IDIgZGlnaXRzLCBudW1zIGlzIHVuY2hhbmdlZC4gVGhlIDI8c3VwPm5kPC9zdXA+IHNtYWxsZXN0IG51bWJlciBpcyAyNC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXS5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5udW1zW2ldPC9jb2RlPiBjb25zaXN0cyBvZiBvbmx5IGRpZ2l0cy48L2xpPgo8bGk+QWxsIDxjb2RlPm51bXNbaV0ubGVuZ3RoPC9jb2RlPiBhcmUgPHN0cm9uZz5lcXVhbDwvc3Ryb25nPi48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBxdWVyaWVzLmxlbmd0aCAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnF1ZXJpZXNbaV0ubGVuZ3RoID09IDI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gazxzdWI+aTwvc3ViPiAmbHQ7PSBudW1zLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSB0cmltPHN1Yj5pPC9zdWI+ICZsdDs9IG51bXNbaV0ubGVuZ3RoPC9jb2RlPjwvbGk+CjwvdWw+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkZvbGxvdyB1cDo8L3N0cm9uZz4gQ291bGQgeW91IHVzZSB0aGUgPHN0cm9uZz5SYWRpeCBTb3J0IEFsZ29yaXRobTwvc3Ryb25nPiB0byBzb2x2ZSB0aGlzIHByb2JsZW0/IFdoYXQgd2lsbCBiZSB0aGUgY29tcGxleGl0eSBvZiB0aGF0IHNvbHV0aW9uPzwvcD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "String",
+ "Divide and Conquer",
+ "Sorting",
+ "Heap (Priority Queue)",
+ "Radix Sort",
+ "Quickselect"
+ ]
+ },
+ {
+ "title": "2333. Minimum Sum of Squared Difference",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIHBvc2l0aXZlIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXlzIDxjb2RlPm51bXMxPC9jb2RlPiBhbmQgPGNvZGU+bnVtczI8L2NvZGU+LCBib3RoIG9mIGxlbmd0aCA8Y29kZT5uPC9jb2RlPi48L3A+CjxwPlRoZSA8c3Ryb25nPnN1bSBvZiBzcXVhcmVkIGRpZmZlcmVuY2U8L3N0cm9uZz4gb2YgYXJyYXlzIDxjb2RlPm51bXMxPC9jb2RlPiBhbmQgPGNvZGU+bnVtczI8L2NvZGU+IGlzIGRlZmluZWQgYXMgdGhlIDxzdHJvbmc+c3VtPC9zdHJvbmc+IG9mIDxjb2RlPihudW1zMVtpXSAtIG51bXMyW2ldKTxzdXA+Mjwvc3VwPjwvY29kZT4gZm9yIGVhY2ggPGNvZGU+MCAmbHQ7PSBpICZsdDsgbjwvY29kZT4uPC9wPgo8cD5Zb3UgYXJlIGFsc28gZ2l2ZW4gdHdvIHBvc2l0aXZlIGludGVnZXJzIDxjb2RlPmsxPC9jb2RlPiBhbmQgPGNvZGU+azI8L2NvZGU+LiBZb3UgY2FuIG1vZGlmeSBhbnkgb2YgdGhlIGVsZW1lbnRzIG9mIDxjb2RlPm51bXMxPC9jb2RlPiBieSA8Y29kZT4rMTwvY29kZT4gb3IgPGNvZGU+LTE8L2NvZGU+IGF0IG1vc3QgPGNvZGU+azE8L2NvZGU+IHRpbWVzLiBTaW1pbGFybHksIHlvdSBjYW4gbW9kaWZ5IGFueSBvZiB0aGUgZWxlbWVudHMgb2YgPGNvZGU+bnVtczI8L2NvZGU+IGJ5IDxjb2RlPisxPC9jb2RlPiBvciA8Y29kZT4tMTwvY29kZT4gYXQgbW9zdCA8Y29kZT5rMjwvY29kZT4gdGltZXMuPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSBtaW5pbXVtIDxzdHJvbmc+c3VtIG9mIHNxdWFyZWQgZGlmZmVyZW5jZTwvc3Ryb25nPiBhZnRlciBtb2RpZnlpbmcgYXJyYXkgPC9lbT48Y29kZT5udW1zMTwvY29kZT48ZW0+IGF0IG1vc3QgPC9lbT48Y29kZT5rMTwvY29kZT48ZW0+IHRpbWVzIGFuZCBtb2RpZnlpbmcgYXJyYXkgPC9lbT48Y29kZT5udW1zMjwvY29kZT48ZW0+IGF0IG1vc3QgPC9lbT48Y29kZT5rMjwvY29kZT48ZW0+IHRpbWVzPC9lbT4uPC9wPgo8cD48c3Ryb25nPk5vdGU8L3N0cm9uZz46IFlvdSBhcmUgYWxsb3dlZCB0byBtb2RpZnkgdGhlIGFycmF5IGVsZW1lbnRzIHRvIGJlY29tZSA8c3Ryb25nPm5lZ2F0aXZlPC9zdHJvbmc+IGludGVnZXJzLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtczEgPSBbMSwyLDMsNF0sIG51bXMyID0gWzIsMTAsMjAsMTldLCBrMSA9IDAsIGsyID0gMAo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNTc5CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBlbGVtZW50cyBpbiBudW1zMSBhbmQgbnVtczIgY2Fubm90IGJlIG1vZGlmaWVkIGJlY2F1c2UgazEgPSAwIGFuZCBrMiA9IDAuIApUaGUgc3VtIG9mIHNxdWFyZSBkaWZmZXJlbmNlIHdpbGwgYmU6ICgxIC0gMik8c3VwPjIgPC9zdXA+KyAoMiAtIDEwKTxzdXA+MiA8L3N1cD4rICgzIC0gMjApPHN1cD4yIDwvc3VwPisgKDQgLSAxOSk8c3VwPjI8L3N1cD7CoD0gNTc5Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zMSA9IFsxLDQsMTAsMTJdLCBudW1zMiA9IFs1LDgsNiw5XSwgazEgPSAxLCBrMiA9IDEKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IE9uZSB3YXkgdG8gb2J0YWluIHRoZSBtaW5pbXVtIHN1bSBvZiBzcXVhcmUgZGlmZmVyZW5jZSBpczogCi0gSW5jcmVhc2UgbnVtczFbMF0gb25jZS4KLSBJbmNyZWFzZSBudW1zMlsyXSBvbmNlLgpUaGUgbWluaW11bSBvZiB0aGUgc3VtIG9mIHNxdWFyZSBkaWZmZXJlbmNlIHdpbGwgYmU6IAooMiAtIDUpPHN1cD4yIDwvc3VwPisgKDQgLSA4KTxzdXA+MiA8L3N1cD4rICgxMCAtIDcpPHN1cD4yIDwvc3VwPisgKDEyIC0gOSk8c3VwPjI8L3N1cD7CoD0gNDMuCk5vdGUgdGhhdCwgdGhlcmUgYXJlIG90aGVyIHdheXMgdG8gb2J0YWluIHRoZSBtaW5pbXVtIG9mIHRoZSBzdW0gb2Ygc3F1YXJlIGRpZmZlcmVuY2UsIGJ1dCB0aGVyZSBpcyBubyB3YXkgdG8gb2J0YWluIGEgc3VtIHNtYWxsZXIgdGhhbiA0My48L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IG51bXMxLmxlbmd0aCA9PSBudW1zMi5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBudW1zMVtpXSwgbnVtczJbaV0gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gazEsIGsyICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Math",
+ "Sorting",
+ "Heap (Priority Queue)"
+ ]
+ },
+ {
+ "title": "2332. The Latest Time to Catch a Bus",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPmJ1c2VzPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4sIHdoZXJlIDxjb2RlPmJ1c2VzW2ldPC9jb2RlPiByZXByZXNlbnRzIHRoZSBkZXBhcnR1cmUgdGltZSBvZiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGJ1cy4gWW91IGFyZSBhbHNvIGdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT5wYXNzZW5nZXJzPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bTwvY29kZT4sIHdoZXJlIDxjb2RlPnBhc3NlbmdlcnNbal08L2NvZGU+IHJlcHJlc2VudHMgdGhlIGFycml2YWwgdGltZSBvZiB0aGUgPGNvZGU+ajxzdXA+dGg8L3N1cD48L2NvZGU+IHBhc3Nlbmdlci4gQWxsIGJ1cyBkZXBhcnR1cmUgdGltZXMgYXJlIHVuaXF1ZS4gQWxsIHBhc3NlbmdlciBhcnJpdmFsIHRpbWVzIGFyZSB1bmlxdWUuPC9wPgo8cD5Zb3UgYXJlIGdpdmVuIGFuIGludGVnZXIgPGNvZGU+Y2FwYWNpdHk8L2NvZGU+LCB3aGljaCByZXByZXNlbnRzIHRoZSA8c3Ryb25nPm1heGltdW08L3N0cm9uZz4gbnVtYmVyIG9mIHBhc3NlbmdlcnMgdGhhdCBjYW4gZ2V0IG9uIGVhY2ggYnVzLjwvcD4KPHA+V2hlbiBhIHBhc3NlbmdlciBhcnJpdmVzLCB0aGV5IHdpbGwgd2FpdCBpbiBsaW5lIGZvciB0aGUgbmV4dCBhdmFpbGFibGUgYnVzLiBZb3UgY2FuIGdldCBvbiBhIGJ1cyB0aGF0IGRlcGFydHMgYXQgPGNvZGU+eDwvY29kZT4gbWludXRlcyBpZiB5b3UgYXJyaXZlIGF0IDxjb2RlPnk8L2NvZGU+IG1pbnV0ZXMgd2hlcmUgPGNvZGU+eSAmbHQ7PSB4PC9jb2RlPiwgYW5kIHRoZSBidXMgaXMgbm90IGZ1bGwuIFBhc3NlbmdlcnMgd2l0aCB0aGUgPHN0cm9uZz5lYXJsaWVzdDwvc3Ryb25nPiBhcnJpdmFsIHRpbWVzIGdldCBvbiB0aGUgYnVzIGZpcnN0LjwvcD4KPHA+TW9yZSBmb3JtYWxseSB3aGVuIGEgYnVzIGFycml2ZXMsIGVpdGhlcjo8L3A+Cjx1bD4KPGxpPklmIDxjb2RlPmNhcGFjaXR5PC9jb2RlPiBvciBmZXdlciBwYXNzZW5nZXJzIGFyZSB3YWl0aW5nIGZvciBhIGJ1cywgdGhleSB3aWxsIDxzdHJvbmc+YWxsPC9zdHJvbmc+IGdldCBvbiB0aGUgYnVzLCBvcjwvbGk+CjxsaT5UaGUgPGNvZGU+Y2FwYWNpdHk8L2NvZGU+IHBhc3NlbmdlcnMgd2l0aCB0aGUgPHN0cm9uZz5lYXJsaWVzdDwvc3Ryb25nPiBhcnJpdmFsIHRpbWVzIHdpbGwgZ2V0IG9uIHRoZSBidXMuPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgbGF0ZXN0IHRpbWUgeW91IG1heSBhcnJpdmUgYXQgdGhlIGJ1cyBzdGF0aW9uIHRvIGNhdGNoIGEgYnVzPC9lbT4uIFlvdSA8c3Ryb25nPmNhbm5vdDwvc3Ryb25nPiBhcnJpdmUgYXQgdGhlIHNhbWUgdGltZSBhcyBhbm90aGVyIHBhc3Nlbmdlci48L3A+CjxwPjxzdHJvbmc+Tm90ZTogPC9zdHJvbmc+VGhlIGFycmF5cyA8Y29kZT5idXNlczwvY29kZT4gYW5kIDxjb2RlPnBhc3NlbmdlcnM8L2NvZGU+IGFyZSBub3QgbmVjZXNzYXJpbHkgc29ydGVkLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gYnVzZXMgPSBbMTAsMjBdLCBwYXNzZW5nZXJzID0gWzIsMTcsMTgsMTldLCBjYXBhY2l0eSA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDE2CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFN1cHBvc2UgeW91IGFycml2ZSBhdCB0aW1lIDE2LgpBdCB0aW1lIDEwLCB0aGUgZmlyc3QgYnVzIGRlcGFydHMgd2l0aCB0aGUgMDxzdXA+dGg8L3N1cD4gcGFzc2VuZ2VyLiAKQXQgdGltZSAyMCwgdGhlIHNlY29uZCBidXMgZGVwYXJ0cyB3aXRoIHlvdSBhbmQgdGhlIDE8c3VwPnN0PC9zdXA+IHBhc3Nlbmdlci4KTm90ZSB0aGF0IHlvdSBtYXkgbm90IGFycml2ZSBhdCB0aGUgc2FtZSB0aW1lIGFzIGFub3RoZXIgcGFzc2VuZ2VyLCB3aGljaCBpcyB3aHkgeW91IG11c3QgYXJyaXZlIGJlZm9yZSB0aGUgMTxzdXA+c3Q8L3N1cD4gcGFzc2VuZ2VyIHRvIGNhdGNoIHRoZSBidXMuPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gYnVzZXMgPSBbMjAsMzAsMTBdLCBwYXNzZW5nZXJzID0gWzE5LDEzLDI2LDQsMjUsMTEsMjFdLCBjYXBhY2l0eSA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFN1cHBvc2UgeW91IGFycml2ZSBhdCB0aW1lIDIwLgpBdCB0aW1lIDEwLCB0aGUgZmlyc3QgYnVzIGRlcGFydHMgd2l0aCB0aGUgMzxzdXA+cmQ8L3N1cD4gcGFzc2VuZ2VyLiAKQXQgdGltZSAyMCwgdGhlIHNlY29uZCBidXMgZGVwYXJ0cyB3aXRoIHRoZSA1PHN1cD50aDwvc3VwPiBhbmQgMTxzdXA+c3Q8L3N1cD4gcGFzc2VuZ2Vycy4KQXQgdGltZSAzMCwgdGhlIHRoaXJkIGJ1cyBkZXBhcnRzIHdpdGggdGhlIDA8c3VwPnRoPC9zdXA+IHBhc3NlbmdlciBhbmQgeW91LgpOb3RpY2UgaWYgeW91IGhhZCBhcnJpdmVkIGFueSBsYXRlciwgdGhlbiB0aGUgNjxzdXA+dGg8L3N1cD4gcGFzc2VuZ2VyIHdvdWxkIGhhdmUgdGFrZW4geW91ciBzZWF0IG9uIHRoZSB0aGlyZCBidXMuPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBidXNlcy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPm0gPT0gcGFzc2VuZ2Vycy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiwgbSwgY2FwYWNpdHkgJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjIgJmx0Oz0gYnVzZXNbaV0sIHBhc3NlbmdlcnNbaV0gJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPGxpPkVhY2ggZWxlbWVudCBpbiA8Y29kZT5idXNlczwvY29kZT4gaXMgPHN0cm9uZz51bmlxdWU8L3N0cm9uZz4uPC9saT4KPGxpPkVhY2ggZWxlbWVudCBpbiA8Y29kZT5wYXNzZW5nZXJzPC9jb2RlPiBpcyA8c3Ryb25nPnVuaXF1ZTwvc3Ryb25nPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Two Pointers",
+ "Binary Search",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2337. Move Pieces to Obtain a String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIHN0cmluZ3MgPGNvZGU+c3RhcnQ8L2NvZGU+IGFuZCA8Y29kZT50YXJnZXQ8L2NvZGU+LCBib3RoIG9mIGxlbmd0aCA8Y29kZT5uPC9jb2RlPi4gRWFjaCBzdHJpbmcgY29uc2lzdHMgPHN0cm9uZz5vbmx5PC9zdHJvbmc+IG9mIHRoZSBjaGFyYWN0ZXJzIDxjb2RlPidMJzwvY29kZT4sIDxjb2RlPidSJzwvY29kZT4sIGFuZCA8Y29kZT4nXyc8L2NvZGU+IHdoZXJlOjwvcD4KPHVsPgo8bGk+VGhlIGNoYXJhY3RlcnMgPGNvZGU+J0wnPC9jb2RlPiBhbmQgPGNvZGU+J1InPC9jb2RlPiByZXByZXNlbnQgcGllY2VzLCB3aGVyZSBhIHBpZWNlIDxjb2RlPidMJzwvY29kZT4gY2FuIG1vdmUgdG8gdGhlIDxzdHJvbmc+bGVmdDwvc3Ryb25nPiBvbmx5IGlmIHRoZXJlIGlzIGEgPHN0cm9uZz5ibGFuazwvc3Ryb25nPiBzcGFjZSBkaXJlY3RseSB0byBpdHMgbGVmdCwgYW5kIGEgcGllY2UgPGNvZGU+J1InPC9jb2RlPiBjYW4gbW92ZSB0byB0aGUgPHN0cm9uZz5yaWdodDwvc3Ryb25nPiBvbmx5IGlmIHRoZXJlIGlzIGEgPHN0cm9uZz5ibGFuazwvc3Ryb25nPiBzcGFjZSBkaXJlY3RseSB0byBpdHMgcmlnaHQuPC9saT4KPGxpPlRoZSBjaGFyYWN0ZXIgPGNvZGU+J18nPC9jb2RlPiByZXByZXNlbnRzIGEgYmxhbmsgc3BhY2UgdGhhdCBjYW4gYmUgb2NjdXBpZWQgYnkgPHN0cm9uZz5hbnk8L3N0cm9uZz4gb2YgdGhlIDxjb2RlPidMJzwvY29kZT4gb3IgPGNvZGU+J1InPC9jb2RlPiBwaWVjZXMuPC9saT4KPC91bD4KPHA+UmV0dXJuIDxjb2RlPnRydWU8L2NvZGU+IDxlbT5pZiBpdCBpcyBwb3NzaWJsZSB0byBvYnRhaW4gdGhlIHN0cmluZzwvZW0+IDxjb2RlPnRhcmdldDwvY29kZT48ZW0+IGJ5IG1vdmluZyB0aGUgcGllY2VzIG9mIHRoZSBzdHJpbmcgPC9lbT48Y29kZT5zdGFydDwvY29kZT48ZW0+IDxzdHJvbmc+YW55PC9zdHJvbmc+IG51bWJlciBvZiB0aW1lczwvZW0+LiBPdGhlcndpc2UsIHJldHVybiA8Y29kZT5mYWxzZTwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzdGFydCA9ICJfTF9fUl9fUl8iLCB0YXJnZXQgPSAiTF9fX19fX1JSIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gdHJ1ZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSBjYW4gb2J0YWluIHRoZSBzdHJpbmcgdGFyZ2V0IGZyb20gc3RhcnQgYnkgZG9pbmcgdGhlIGZvbGxvd2luZyBtb3ZlczoKLSBNb3ZlIHRoZSBmaXJzdCBwaWVjZSBvbmUgc3RlcCB0byB0aGUgbGVmdCwgc3RhcnQgYmVjb21lcyBlcXVhbCB0byAiPHN0cm9uZz5MPC9zdHJvbmc+X19fUl9fUl8iLgotIE1vdmUgdGhlIGxhc3QgcGllY2Ugb25lIHN0ZXAgdG8gdGhlIHJpZ2h0LCBzdGFydCBiZWNvbWVzIGVxdWFsIHRvICJMX19fUl9fXzxzdHJvbmc+Ujwvc3Ryb25nPiIuCi0gTW92ZSB0aGUgc2Vjb25kIHBpZWNlIHRocmVlIHN0ZXBzIHRvIHRoZSByaWdodCwgc3RhcnQgYmVjb21lcyBlcXVhbCB0byAiTF9fX19fXzxzdHJvbmc+Ujwvc3Ryb25nPlIiLgpTaW5jZSBpdCBpcyBwb3NzaWJsZSB0byBnZXQgdGhlIHN0cmluZyB0YXJnZXQgZnJvbSBzdGFydCwgd2UgcmV0dXJuIHRydWUuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHN0YXJ0ID0gIlJfTF8iLCB0YXJnZXQgPSAiX19MUiIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IGZhbHNlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSAnUicgcGllY2UgaW4gdGhlIHN0cmluZyBzdGFydCBjYW4gbW92ZSBvbmUgc3RlcCB0byB0aGUgcmlnaHQgdG8gb2J0YWluICJfPHN0cm9uZz5SPC9zdHJvbmc+TF8iLgpBZnRlciB0aGF0LCBubyBwaWVjZXMgY2FuIG1vdmUgYW55bW9yZSwgc28gaXQgaXMgaW1wb3NzaWJsZSB0byBvYnRhaW4gdGhlIHN0cmluZyB0YXJnZXQgZnJvbSBzdGFydC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gc3RhcnQgPSAiX1IiLCB0YXJnZXQgPSAiUl8iCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBmYWxzZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgcGllY2UgaW4gdGhlIHN0cmluZyBzdGFydCBjYW4gbW92ZSBvbmx5IHRvIHRoZSByaWdodCwgc28gaXQgaXMgaW1wb3NzaWJsZSB0byBvYnRhaW4gdGhlIHN0cmluZyB0YXJnZXQgZnJvbSBzdGFydC48L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IHN0YXJ0Lmxlbmd0aCA9PSB0YXJnZXQubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnN0YXJ0PC9jb2RlPiBhbmQgPGNvZGU+dGFyZ2V0PC9jb2RlPiBjb25zaXN0IG9mIHRoZSBjaGFyYWN0ZXJzIDxjb2RlPidMJzwvY29kZT4sIDxjb2RlPidSJzwvY29kZT4sIGFuZCA8Y29kZT4nXyc8L2NvZGU+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Two Pointers",
+ "String"
+ ]
+ },
+ {
+ "title": "2336. Smallest Number in Infinite Set",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBoYXZlIGEgc2V0IHdoaWNoIGNvbnRhaW5zIGFsbCBwb3NpdGl2ZSBpbnRlZ2VycyA8Y29kZT5bMSwgMiwgMywgNCwgNSwgLi4uXTwvY29kZT4uPC9wPgo8cD5JbXBsZW1lbnQgdGhlIDxjb2RlPlNtYWxsZXN0SW5maW5pdGVTZXQ8L2NvZGU+IGNsYXNzOjwvcD4KPHVsPgo8bGk+PGNvZGU+U21hbGxlc3RJbmZpbml0ZVNldCgpPC9jb2RlPiBJbml0aWFsaXplcyB0aGUgPHN0cm9uZz5TbWFsbGVzdEluZmluaXRlU2V0PC9zdHJvbmc+IG9iamVjdCB0byBjb250YWluIDxzdHJvbmc+YWxsPC9zdHJvbmc+IHBvc2l0aXZlIGludGVnZXJzLjwvbGk+CjxsaT48Y29kZT5pbnQgcG9wU21hbGxlc3QoKTwvY29kZT4gPHN0cm9uZz5SZW1vdmVzPC9zdHJvbmc+IGFuZCByZXR1cm5zIHRoZSBzbWFsbGVzdCBpbnRlZ2VyIGNvbnRhaW5lZCBpbiB0aGUgaW5maW5pdGUgc2V0LjwvbGk+CjxsaT48Y29kZT52b2lkIGFkZEJhY2soaW50IG51bSk8L2NvZGU+IDxzdHJvbmc+QWRkczwvc3Ryb25nPiBhIHBvc2l0aXZlIGludGVnZXIgPGNvZGU+bnVtPC9jb2RlPiBiYWNrIGludG8gdGhlIGluZmluaXRlIHNldCwgaWYgaXQgaXMgPHN0cm9uZz5ub3Q8L3N0cm9uZz4gYWxyZWFkeSBpbiB0aGUgaW5maW5pdGUgc2V0LjwvbGk+CjwvdWw+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ8L3N0cm9uZz4KWyJTbWFsbGVzdEluZmluaXRlU2V0IiwgImFkZEJhY2siLCAicG9wU21hbGxlc3QiLCAicG9wU21hbGxlc3QiLCAicG9wU21hbGxlc3QiLCAiYWRkQmFjayIsICJwb3BTbWFsbGVzdCIsICJwb3BTbWFsbGVzdCIsICJwb3BTbWFsbGVzdCJdCltbXSwgWzJdLCBbXSwgW10sIFtdLCBbMV0sIFtdLCBbXSwgW11dCjxzdHJvbmc+T3V0cHV0PC9zdHJvbmc+CltudWxsLCBudWxsLCAxLCAyLCAzLCBudWxsLCAxLCA0LCA1XQoKPHN0cm9uZz5FeHBsYW5hdGlvbjwvc3Ryb25nPgpTbWFsbGVzdEluZmluaXRlU2V0IHNtYWxsZXN0SW5maW5pdGVTZXQgPSBuZXcgU21hbGxlc3RJbmZpbml0ZVNldCgpOwpzbWFsbGVzdEluZmluaXRlU2V0LmFkZEJhY2soMik7ICAgIC8vIDIgaXMgYWxyZWFkeSBpbiB0aGUgc2V0LCBzbyBubyBjaGFuZ2UgaXMgbWFkZS4Kc21hbGxlc3RJbmZpbml0ZVNldC5wb3BTbWFsbGVzdCgpOyAvLyByZXR1cm4gMSwgc2luY2UgMSBpcyB0aGUgc21hbGxlc3QgbnVtYmVyLCBhbmQgcmVtb3ZlIGl0IGZyb20gdGhlIHNldC4Kc21hbGxlc3RJbmZpbml0ZVNldC5wb3BTbWFsbGVzdCgpOyAvLyByZXR1cm4gMiwgYW5kIHJlbW92ZSBpdCBmcm9tIHRoZSBzZXQuCnNtYWxsZXN0SW5maW5pdGVTZXQucG9wU21hbGxlc3QoKTsgLy8gcmV0dXJuIDMsIGFuZCByZW1vdmUgaXQgZnJvbSB0aGUgc2V0LgpzbWFsbGVzdEluZmluaXRlU2V0LmFkZEJhY2soMSk7ICAgIC8vIDEgaXMgYWRkZWQgYmFjayB0byB0aGUgc2V0LgpzbWFsbGVzdEluZmluaXRlU2V0LnBvcFNtYWxsZXN0KCk7IC8vIHJldHVybiAxLCBzaW5jZSAxIHdhcyBhZGRlZCBiYWNrIHRvIHRoZSBzZXQgYW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaXMgdGhlIHNtYWxsZXN0IG51bWJlciwgYW5kIHJlbW92ZSBpdCBmcm9tIHRoZSBzZXQuCnNtYWxsZXN0SW5maW5pdGVTZXQucG9wU21hbGxlc3QoKTsgLy8gcmV0dXJuIDQsIGFuZCByZW1vdmUgaXQgZnJvbSB0aGUgc2V0LgpzbWFsbGVzdEluZmluaXRlU2V0LnBvcFNtYWxsZXN0KCk7IC8vIHJldHVybiA1LCBhbmQgcmVtb3ZlIGl0IGZyb20gdGhlIHNldC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW0gJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8bGk+QXQgbW9zdCA8Y29kZT4xMDAwPC9jb2RlPiBjYWxscyB3aWxsIGJlIG1hZGUgPHN0cm9uZz5pbiB0b3RhbDwvc3Ryb25nPiB0byA8Y29kZT5wb3BTbWFsbGVzdDwvY29kZT4gYW5kIDxjb2RlPmFkZEJhY2s8L2NvZGU+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Hash Table",
+ "Design",
+ "Heap (Priority Queue)"
+ ]
+ },
+ {
+ "title": "2326. Spiral Matrix IV",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIGludGVnZXJzIDxjb2RlPm08L2NvZGU+IGFuZCA8Y29kZT5uPC9jb2RlPiwgd2hpY2ggcmVwcmVzZW50IHRoZSBkaW1lbnNpb25zIG9mIGEgbWF0cml4LjwvcD4KPHA+WW91IGFyZSBhbHNvIGdpdmVuIHRoZSA8Y29kZT5oZWFkPC9jb2RlPiBvZiBhIGxpbmtlZCBsaXN0IG9mIGludGVnZXJzLjwvcD4KPHA+R2VuZXJhdGUgYW4gPGNvZGU+bSB4IG48L2NvZGU+IG1hdHJpeCB0aGF0IGNvbnRhaW5zIHRoZSBpbnRlZ2VycyBpbiB0aGUgbGlua2VkIGxpc3QgcHJlc2VudGVkIGluIDxzdHJvbmc+c3BpcmFsPC9zdHJvbmc+IG9yZGVyIDxzdHJvbmc+KGNsb2Nrd2lzZSk8L3N0cm9uZz4sIHN0YXJ0aW5nIGZyb20gdGhlIDxzdHJvbmc+dG9wLWxlZnQ8L3N0cm9uZz4gb2YgdGhlIG1hdHJpeC4gSWYgdGhlcmUgYXJlIHJlbWFpbmluZyBlbXB0eSBzcGFjZXMsIGZpbGwgdGhlbSB3aXRoIDxjb2RlPi0xPC9jb2RlPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIGdlbmVyYXRlZCBtYXRyaXg8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDUvMDkvZXgxbmV3LmpwZyIgc3R5bGU9IndpZHRoOiAyNDBweDsgaGVpZ2h0OiAxNTBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBtID0gMywgbiA9IDUsIGhlYWQgPSBbMywwLDIsNiw4LDEsNyw5LDQsMiw1LDUsMF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFtbMywwLDIsNiw4XSxbNSwwLC0xLC0xLDFdLFs1LDIsNCw5LDddXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgZGlhZ3JhbSBhYm92ZSBzaG93cyBob3cgdGhlIHZhbHVlcyBhcmUgcHJpbnRlZCBpbiB0aGUgbWF0cml4LgpOb3RlIHRoYXQgdGhlIHJlbWFpbmluZyBzcGFjZXMgaW4gdGhlIG1hdHJpeCBhcmUgZmlsbGVkIHdpdGggLTEuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDUvMTEvZXgyLmpwZyIgc3R5bGU9IndpZHRoOiAyMjFweDsgaGVpZ2h0OiA2MHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG0gPSAxLCBuID0gNCwgaGVhZCA9IFswLDEsMl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFtbMCwxLDIsLTFdXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgZGlhZ3JhbSBhYm92ZSBzaG93cyBob3cgdGhlIHZhbHVlcyBhcmUgcHJpbnRlZCBmcm9tIGxlZnQgdG8gcmlnaHQgaW4gdGhlIG1hdHJpeC4KVGhlIGxhc3Qgc3BhY2UgaW4gdGhlIG1hdHJpeCBpcyBzZXQgdG8gLTEuPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBtLCBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG0gKiBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT5UaGUgbnVtYmVyIG9mIG5vZGVzIGluIHRoZSBsaXN0IGlzIGluIHRoZSByYW5nZSA8Y29kZT5bMSwgbSAqIG5dPC9jb2RlPi48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBOb2RlLnZhbCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Linked List",
+ "Matrix",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2327. Number of People Aware of a Secret",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPk9uIGRheSA8Y29kZT4xPC9jb2RlPiwgb25lIHBlcnNvbiBkaXNjb3ZlcnMgYSBzZWNyZXQuPC9wPgo8cD5Zb3UgYXJlIGdpdmVuIGFuIGludGVnZXIgPGNvZGU+ZGVsYXk8L2NvZGU+LCB3aGljaCBtZWFucyB0aGF0IGVhY2ggcGVyc29uIHdpbGwgPHN0cm9uZz5zaGFyZTwvc3Ryb25nPiB0aGUgc2VjcmV0IHdpdGggYSBuZXcgcGVyc29uIDxzdHJvbmc+ZXZlcnkgZGF5PC9zdHJvbmc+LCBzdGFydGluZyBmcm9tIDxjb2RlPmRlbGF5PC9jb2RlPiBkYXlzIGFmdGVyIGRpc2NvdmVyaW5nIHRoZSBzZWNyZXQuIFlvdSBhcmUgYWxzbyBnaXZlbiBhbiBpbnRlZ2VyIDxjb2RlPmZvcmdldDwvY29kZT4sIHdoaWNoIG1lYW5zIHRoYXQgZWFjaCBwZXJzb24gd2lsbCA8c3Ryb25nPmZvcmdldDwvc3Ryb25nPiB0aGUgc2VjcmV0IDxjb2RlPmZvcmdldDwvY29kZT4gZGF5cyBhZnRlciBkaXNjb3ZlcmluZyBpdC4gQSBwZXJzb24gPHN0cm9uZz5jYW5ub3Q8L3N0cm9uZz4gc2hhcmUgdGhlIHNlY3JldCBvbiB0aGUgc2FtZSBkYXkgdGhleSBmb3Jnb3QgaXQsIG9yIG9uIGFueSBkYXkgYWZ0ZXJ3YXJkcy48L3A+CjxwPkdpdmVuIGFuIGludGVnZXIgPGNvZGU+bjwvY29kZT4sIHJldHVybjxlbT4gdGhlIG51bWJlciBvZiBwZW9wbGUgd2hvIGtub3cgdGhlIHNlY3JldCBhdCB0aGUgZW5kIG9mIGRheSA8L2VtPjxjb2RlPm48L2NvZGU+LiBTaW5jZSB0aGUgYW5zd2VyIG1heSBiZSB2ZXJ5IGxhcmdlLCByZXR1cm4gaXQgPHN0cm9uZz5tb2R1bG88L3N0cm9uZz4gPGNvZGU+MTA8c3VwPjk8L3N1cD4gKyA3PC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSA2LCBkZWxheSA9IDIsIGZvcmdldCA9IDQKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KRGF5IDE6IFN1cHBvc2UgdGhlIGZpcnN0IHBlcnNvbiBpcyBuYW1lZCBBLiAoMSBwZXJzb24pCkRheSAyOiBBIGlzIHRoZSBvbmx5IHBlcnNvbiB3aG8ga25vd3MgdGhlIHNlY3JldC4gKDEgcGVyc29uKQpEYXkgMzogQSBzaGFyZXMgdGhlIHNlY3JldCB3aXRoIGEgbmV3IHBlcnNvbiwgQi4gKDIgcGVvcGxlKQpEYXkgNDogQSBzaGFyZXMgdGhlIHNlY3JldCB3aXRoIGEgbmV3IHBlcnNvbiwgQy4gKDMgcGVvcGxlKQpEYXkgNTogQSBmb3JnZXRzIHRoZSBzZWNyZXQsIGFuZCBCIHNoYXJlcyB0aGUgc2VjcmV0IHdpdGggYSBuZXcgcGVyc29uLCBELiAoMyBwZW9wbGUpCkRheSA2OiBCIHNoYXJlcyB0aGUgc2VjcmV0IHdpdGggRSwgYW5kIEMgc2hhcmVzIHRoZSBzZWNyZXQgd2l0aCBGLiAoNSBwZW9wbGUpCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSA0LCBkZWxheSA9IDEsIGZvcmdldCA9IDMKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDYKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KRGF5IDE6IFRoZSBmaXJzdCBwZXJzb24gaXMgbmFtZWQgQS4gKDEgcGVyc29uKQpEYXkgMjogQSBzaGFyZXMgdGhlIHNlY3JldCB3aXRoIEIuICgyIHBlb3BsZSkKRGF5IDM6IEEgYW5kIEIgc2hhcmUgdGhlIHNlY3JldCB3aXRoIDIgbmV3IHBlb3BsZSwgQyBhbmQgRC4gKDQgcGVvcGxlKQpEYXkgNDogQSBmb3JnZXRzIHRoZSBzZWNyZXQuIEIsIEMsIGFuZCBEIHNoYXJlIHRoZSBzZWNyZXQgd2l0aCAzIG5ldyBwZW9wbGUuICg2IHBlb3BsZSkKPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MiAmbHQ7PSBuICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gZGVsYXkgJmx0OyBmb3JnZXQgJmx0Oz0gbjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Dynamic Programming",
+ "Queue",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2316. Count Unreachable Pairs of Nodes in an Undirected Graph",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5uPC9jb2RlPi4gVGhlcmUgaXMgYW4gPHN0cm9uZz51bmRpcmVjdGVkPC9zdHJvbmc+IGdyYXBoIHdpdGggPGNvZGU+bjwvY29kZT4gbm9kZXMsIG51bWJlcmVkIGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+biAtIDE8L2NvZGU+LiBZb3UgYXJlIGdpdmVuIGEgMkQgaW50ZWdlciBhcnJheSA8Y29kZT5lZGdlczwvY29kZT4gd2hlcmUgPGNvZGU+ZWRnZXNbaV0gPSBbYTxzdWI+aTwvc3ViPiwgYjxzdWI+aTwvc3ViPl08L2NvZGU+IGRlbm90ZXMgdGhhdCB0aGVyZSBleGlzdHMgYW4gPHN0cm9uZz51bmRpcmVjdGVkPC9zdHJvbmc+IGVkZ2UgY29ubmVjdGluZyBub2RlcyA8Y29kZT5hPHN1Yj5pPC9zdWI+PC9jb2RlPiBhbmQgPGNvZGU+YjxzdWI+aTwvc3ViPjwvY29kZT4uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm51bWJlciBvZiBwYWlyczwvc3Ryb25nPiBvZiBkaWZmZXJlbnQgbm9kZXMgdGhhdCBhcmUgPHN0cm9uZz51bnJlYWNoYWJsZTwvc3Ryb25nPiBmcm9tIGVhY2ggb3RoZXI8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDUvMDUvdGMtMy5wbmciIHN0eWxlPSJ3aWR0aDogMjY3cHg7IGhlaWdodDogMTY5cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDMsIGVkZ2VzID0gW1swLDFdLFswLDJdLFsxLDJdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGVyZSBhcmUgbm8gcGFpcnMgb2Ygbm9kZXMgdGhhdCBhcmUgdW5yZWFjaGFibGUgZnJvbSBlYWNoIG90aGVyLiBUaGVyZWZvcmUsIHdlIHJldHVybiAwLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA1LzA1L3RjLTIucG5nIiBzdHlsZT0id2lkdGg6IDI5NXB4OyBoZWlnaHQ6IDI2OXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSA3LCBlZGdlcyA9IFtbMCwyXSxbMCw1XSxbMiw0XSxbMSw2XSxbNSw0XV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDE0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSAxNCBwYWlycyBvZiBub2RlcyB0aGF0IGFyZSB1bnJlYWNoYWJsZSBmcm9tIGVhY2ggb3RoZXI6CltbMCwxXSxbMCwzXSxbMCw2XSxbMSwyXSxbMSwzXSxbMSw0XSxbMSw1XSxbMiwzXSxbMiw2XSxbMyw0XSxbMyw1XSxbMyw2XSxbNCw2XSxbNSw2XV0uClRoZXJlZm9yZSwgd2UgcmV0dXJuIDE0Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gZWRnZXMubGVuZ3RoICZsdDs9IDIgKiAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+ZWRnZXNbaV0ubGVuZ3RoID09IDI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gYTxzdWI+aTwvc3ViPiwgYjxzdWI+aTwvc3ViPiAmbHQ7IG48L2NvZGU+PC9saT4KPGxpPjxjb2RlPmE8c3ViPmk8L3N1Yj4gIT0gYjxzdWI+aTwvc3ViPjwvY29kZT48L2xpPgo8bGk+VGhlcmUgYXJlIG5vIHJlcGVhdGVkIGVkZ2VzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Depth-First Search",
+ "Breadth-First Search",
+ "Union Find",
+ "Graph"
+ ]
+ },
+ {
+ "title": "2317. Maximum XOR After Operations ",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+LiBJbiBvbmUgb3BlcmF0aW9uLCBzZWxlY3QgPHN0cm9uZz5hbnk8L3N0cm9uZz4gbm9uLW5lZ2F0aXZlIGludGVnZXIgPGNvZGU+eDwvY29kZT4gYW5kIGFuIGluZGV4IDxjb2RlPmk8L2NvZGU+LCB0aGVuIDxzdHJvbmc+dXBkYXRlPC9zdHJvbmc+IDxjb2RlPm51bXNbaV08L2NvZGU+IHRvIGJlIGVxdWFsIHRvIDxjb2RlPm51bXNbaV0gQU5EIChudW1zW2ldIFhPUiB4KTwvY29kZT4uPC9wPgo8cD5Ob3RlIHRoYXQgPGNvZGU+QU5EPC9jb2RlPiBpcyB0aGUgYml0d2lzZSBBTkQgb3BlcmF0aW9uIGFuZCA8Y29kZT5YT1I8L2NvZGU+IGlzIHRoZSBiaXR3aXNlIFhPUiBvcGVyYXRpb24uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1heGltdW08L3N0cm9uZz4gcG9zc2libGUgYml0d2lzZSBYT1Igb2YgYWxsIGVsZW1lbnRzIG9mIDwvZW0+PGNvZGU+bnVtczwvY29kZT48ZW0+IGFmdGVyIGFwcGx5aW5nIHRoZSBvcGVyYXRpb24gPHN0cm9uZz5hbnkgbnVtYmVyPC9zdHJvbmc+IG9mIHRpbWVzPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzMsMiw0LDZdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA3CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEFwcGx5IHRoZSBvcGVyYXRpb24gd2l0aCB4ID0gNCBhbmQgaSA9IDMsIG51bVszXSA9IDYgQU5EICg2IFhPUiA0KSA9IDYgQU5EIDIgPSAyLgpOb3csIG51bXMgPSBbMywgMiwgNCwgMl0gYW5kIHRoZSBiaXR3aXNlIFhPUiBvZiBhbGwgdGhlIGVsZW1lbnRzID0gMyBYT1IgMiBYT1IgNCBYT1IgMiA9IDcuCkl0IGNhbiBiZSBzaG93biB0aGF0IDcgaXMgdGhlIG1heGltdW0gcG9zc2libGUgYml0d2lzZSBYT1IuCk5vdGUgdGhhdCBvdGhlciBvcGVyYXRpb25zIG1heSBiZSB1c2VkIHRvIGFjaGlldmUgYSBiaXR3aXNlIFhPUiBvZiA3LjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSwyLDMsOSwyXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gQXBwbHkgdGhlIG9wZXJhdGlvbiB6ZXJvIHRpbWVzLgpUaGUgYml0d2lzZSBYT1Igb2YgYWxsIHRoZSBlbGVtZW50cyA9IDEgWE9SIDIgWE9SIDMgWE9SIDkgWE9SIDIgPSAxMS4KSXQgY2FuIGJlIHNob3duIHRoYXQgMTEgaXMgdGhlIG1heGltdW0gcG9zc2libGUgYml0d2lzZSBYT1IuPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBudW1zW2ldICZsdDs9IDEwPHN1cD44PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Math",
+ "Bit Manipulation"
+ ]
+ },
+ {
+ "title": "2320. Count Number of Ways to Place Houses",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGEgc3RyZWV0IHdpdGggPGNvZGU+biAqIDI8L2NvZGU+IDxzdHJvbmc+cGxvdHM8L3N0cm9uZz4sIHdoZXJlIHRoZXJlIGFyZSA8Y29kZT5uPC9jb2RlPiBwbG90cyBvbiBlYWNoIHNpZGUgb2YgdGhlIHN0cmVldC4gVGhlIHBsb3RzIG9uIGVhY2ggc2lkZSBhcmUgbnVtYmVyZWQgZnJvbSA8Y29kZT4xPC9jb2RlPiB0byA8Y29kZT5uPC9jb2RlPi4gT24gZWFjaCBwbG90LCBhIGhvdXNlIGNhbiBiZSBwbGFjZWQuPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSBudW1iZXIgb2Ygd2F5cyBob3VzZXMgY2FuIGJlIHBsYWNlZCBzdWNoIHRoYXQgbm8gdHdvIGhvdXNlcyBhcmUgYWRqYWNlbnQgdG8gZWFjaCBvdGhlciBvbiB0aGUgc2FtZSBzaWRlIG9mIHRoZSBzdHJlZXQ8L2VtPi4gU2luY2UgdGhlIGFuc3dlciBtYXkgYmUgdmVyeSBsYXJnZSwgcmV0dXJuIGl0IDxzdHJvbmc+bW9kdWxvPC9zdHJvbmc+IDxjb2RlPjEwPHN1cD45PC9zdXA+ICsgNzwvY29kZT4uPC9wPgo8cD5Ob3RlIHRoYXQgaWYgYSBob3VzZSBpcyBwbGFjZWQgb24gdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBwbG90IG9uIG9uZSBzaWRlIG9mIHRoZSBzdHJlZXQsIGEgaG91c2UgY2FuIGFsc28gYmUgcGxhY2VkIG9uIHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gcGxvdCBvbiB0aGUgb3RoZXIgc2lkZSBvZiB0aGUgc3RyZWV0LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDEKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gClBvc3NpYmxlIGFycmFuZ2VtZW50czoKMS4gQWxsIHBsb3RzIGFyZSBlbXB0eS4KMi4gQSBob3VzZSBpcyBwbGFjZWQgb24gb25lIHNpZGUgb2YgdGhlIHN0cmVldC4KMy4gQSBob3VzZSBpcyBwbGFjZWQgb24gdGhlIG90aGVyIHNpZGUgb2YgdGhlIHN0cmVldC4KNC4gVHdvIGhvdXNlcyBhcmUgcGxhY2VkLCBvbmUgb24gZWFjaCBzaWRlIG9mIHRoZSBzdHJlZXQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDUvMTIvYXJyYW5nZW1lbnRzLnBuZyIgc3R5bGU9IndpZHRoOiA1MDBweDsgaGVpZ2h0OiA1MDBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gOQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgOSBwb3NzaWJsZSBhcnJhbmdlbWVudHMgYXJlIHNob3duIGluIHRoZSBkaWFncmFtIGFib3ZlLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Dynamic Programming"
+ ]
+ },
+ {
+ "title": "2311. Longest Binary Subsequence Less Than or Equal to K",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBiaW5hcnkgc3RyaW5nIDxjb2RlPnM8L2NvZGU+IGFuZCBhIHBvc2l0aXZlIGludGVnZXIgPGNvZGU+azwvY29kZT4uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSBsZW5ndGggb2YgdGhlIDxzdHJvbmc+bG9uZ2VzdDwvc3Ryb25nPiBzdWJzZXF1ZW5jZSBvZiA8L2VtPjxjb2RlPnM8L2NvZGU+PGVtPiB0aGF0IG1ha2VzIHVwIGEgPHN0cm9uZz5iaW5hcnk8L3N0cm9uZz4gbnVtYmVyIGxlc3MgdGhhbiBvciBlcXVhbCB0bzwvZW0+IDxjb2RlPms8L2NvZGU+LjwvcD4KPHA+Tm90ZTo8L3A+Cjx1bD4KPGxpPlRoZSBzdWJzZXF1ZW5jZSBjYW4gY29udGFpbiA8c3Ryb25nPmxlYWRpbmcgemVyb2VzPC9zdHJvbmc+LjwvbGk+CjxsaT5UaGUgZW1wdHkgc3RyaW5nIGlzIGNvbnNpZGVyZWQgdG8gYmUgZXF1YWwgdG8gPGNvZGU+MDwvY29kZT4uPC9saT4KPGxpPkEgPHN0cm9uZz5zdWJzZXF1ZW5jZTwvc3Ryb25nPiBpcyBhIHN0cmluZyB0aGF0IGNhbiBiZSBkZXJpdmVkIGZyb20gYW5vdGhlciBzdHJpbmcgYnkgZGVsZXRpbmcgc29tZSBvciBubyBjaGFyYWN0ZXJzIHdpdGhvdXQgY2hhbmdpbmcgdGhlIG9yZGVyIG9mIHRoZSByZW1haW5pbmcgY2hhcmFjdGVycy48L2xpPgo8L3VsPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gIjEwMDEwMTAiLCBrID0gNQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgbG9uZ2VzdCBzdWJzZXF1ZW5jZSBvZiBzIHRoYXQgbWFrZXMgdXAgYSBiaW5hcnkgbnVtYmVyIGxlc3MgdGhhbiBvciBlcXVhbCB0byA1IGlzICIwMDAxMCIsIGFzIHRoaXMgbnVtYmVyIGlzIGVxdWFsIHRvIDIgaW4gZGVjaW1hbC4KTm90ZSB0aGF0ICIwMDEwMCIgYW5kICIwMDEwMSIgYXJlIGFsc28gcG9zc2libGUsIHdoaWNoIGFyZSBlcXVhbCB0byA0IGFuZCA1IGluIGRlY2ltYWwsIHJlc3BlY3RpdmVseS4KVGhlIGxlbmd0aCBvZiB0aGlzIHN1YnNlcXVlbmNlIGlzIDUsIHNvIDUgaXMgcmV0dXJuZWQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiMDAxMDEwMDEiLCBrID0gMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAiMDAwMDAxIiBpcyB0aGUgbG9uZ2VzdCBzdWJzZXF1ZW5jZSBvZiBzIHRoYXQgbWFrZXMgdXAgYSBiaW5hcnkgbnVtYmVyIGxlc3MgdGhhbiBvciBlcXVhbCB0byAxLCBhcyB0aGlzIG51bWJlciBpcyBlcXVhbCB0byAxIGluIGRlY2ltYWwuClRoZSBsZW5ndGggb2YgdGhpcyBzdWJzZXF1ZW5jZSBpcyA2LCBzbyA2IGlzIHJldHVybmVkLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHMubGVuZ3RoICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnNbaV08L2NvZGU+IGlzIGVpdGhlciA8Y29kZT4nMCc8L2NvZGU+IG9yIDxjb2RlPicxJzwvY29kZT4uPC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gayAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "String",
+ "Dynamic Programming",
+ "Greedy",
+ "Memoization"
+ ]
+ },
+ {
+ "title": "2300. Successful Pairs of Spells and Potions",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIHBvc2l0aXZlIGludGVnZXIgYXJyYXlzIDxjb2RlPnNwZWxsczwvY29kZT4gYW5kIDxjb2RlPnBvdGlvbnM8L2NvZGU+LCBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4gYW5kIDxjb2RlPm08L2NvZGU+IHJlc3BlY3RpdmVseSwgd2hlcmUgPGNvZGU+c3BlbGxzW2ldPC9jb2RlPiByZXByZXNlbnRzIHRoZSBzdHJlbmd0aCBvZiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHNwZWxsIGFuZCA8Y29kZT5wb3Rpb25zW2pdPC9jb2RlPiByZXByZXNlbnRzIHRoZSBzdHJlbmd0aCBvZiB0aGUgPGNvZGU+ajxzdXA+dGg8L3N1cD48L2NvZGU+IHBvdGlvbi48L3A+CjxwPllvdSBhcmUgYWxzbyBnaXZlbiBhbiBpbnRlZ2VyIDxjb2RlPnN1Y2Nlc3M8L2NvZGU+LiBBIHNwZWxsIGFuZCBwb3Rpb24gcGFpciBpcyBjb25zaWRlcmVkIDxzdHJvbmc+c3VjY2Vzc2Z1bDwvc3Ryb25nPiBpZiB0aGUgPHN0cm9uZz5wcm9kdWN0PC9zdHJvbmc+IG9mIHRoZWlyIHN0cmVuZ3RocyBpcyA8c3Ryb25nPmF0IGxlYXN0PC9zdHJvbmc+IDxjb2RlPnN1Y2Nlc3M8L2NvZGU+LjwvcD4KPHA+UmV0dXJuIDxlbT5hbiBpbnRlZ2VyIGFycmF5IDwvZW0+PGNvZGU+cGFpcnM8L2NvZGU+PGVtPiBvZiBsZW5ndGggPC9lbT48Y29kZT5uPC9jb2RlPjxlbT4gd2hlcmUgPC9lbT48Y29kZT5wYWlyc1tpXTwvY29kZT48ZW0+IGlzIHRoZSBudW1iZXIgb2YgPHN0cm9uZz5wb3Rpb25zPC9zdHJvbmc+IHRoYXQgd2lsbCBmb3JtIGEgc3VjY2Vzc2Z1bCBwYWlyIHdpdGggdGhlIDwvZW0+PGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+PGVtPiBzcGVsbC48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gc3BlbGxzID0gWzUsMSwzXSwgcG90aW9ucyA9IFsxLDIsMyw0LDVdLCBzdWNjZXNzID0gNwo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzQsMCwzXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgotIDA8c3VwPnRoPC9zdXA+IHNwZWxsOiA1ICogWzEsMiwzLDQsNV0gPSBbNSw8dT48c3Ryb25nPjEwPC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjE1PC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjIwPC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjI1PC9zdHJvbmc+PC91Pl0uIDQgcGFpcnMgYXJlIHN1Y2Nlc3NmdWwuCi0gMTxzdXA+c3Q8L3N1cD4gc3BlbGw6IDEgKiBbMSwyLDMsNCw1XSA9IFsxLDIsMyw0LDVdLiAwIHBhaXJzIGFyZSBzdWNjZXNzZnVsLgotIDI8c3VwPm5kPC9zdXA+IHNwZWxsOiAzICogWzEsMiwzLDQsNV0gPSBbMyw2LDx1PjxzdHJvbmc+OTwvc3Ryb25nPjwvdT4sPHU+PHN0cm9uZz4xMjwvc3Ryb25nPjwvdT4sPHU+PHN0cm9uZz4xNTwvc3Ryb25nPjwvdT5dLiAzIHBhaXJzIGFyZSBzdWNjZXNzZnVsLgpUaHVzLCBbNCwwLDNdIGlzIHJldHVybmVkLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzcGVsbHMgPSBbMywxLDJdLCBwb3Rpb25zID0gWzgsNSw4XSwgc3VjY2VzcyA9IDE2CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMiwwLDJdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ci0gMDxzdXA+dGg8L3N1cD4gc3BlbGw6IDMgKiBbOCw1LDhdID0gWzx1PjxzdHJvbmc+MjQ8L3N0cm9uZz48L3U+LDE1LDx1PjxzdHJvbmc+MjQ8L3N0cm9uZz48L3U+XS4gMiBwYWlycyBhcmUgc3VjY2Vzc2Z1bC4KLSAxPHN1cD5zdDwvc3VwPiBzcGVsbDogMSAqIFs4LDUsOF0gPSBbOCw1LDhdLiAwIHBhaXJzIGFyZSBzdWNjZXNzZnVsLiAKLSAyPHN1cD5uZDwvc3VwPiBzcGVsbDogMiAqIFs4LDUsOF0gPSBbPHN0cm9uZz48dT4xNjwvdT48L3N0cm9uZz4sMTAsPHU+PHN0cm9uZz4xNjwvc3Ryb25nPjwvdT5dLiAyIHBhaXJzIGFyZSBzdWNjZXNzZnVsLiAKVGh1cywgWzIsMCwyXSBpcyByZXR1cm5lZC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBzcGVsbHMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5tID09IHBvdGlvbnMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4sIG0gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gc3BlbGxzW2ldLCBwb3Rpb25zW2ldICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHN1Y2Nlc3MgJmx0Oz0gMTA8c3VwPjEwPC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Two Pointers",
+ "Binary Search",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2295. Replace Elements in an Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiB0aGF0IGNvbnNpc3RzIG9mIDxjb2RlPm48L2NvZGU+IDxzdHJvbmc+ZGlzdGluY3Q8L3N0cm9uZz4gcG9zaXRpdmUgaW50ZWdlcnMuIEFwcGx5IDxjb2RlPm08L2NvZGU+IG9wZXJhdGlvbnMgdG8gdGhpcyBhcnJheSwgd2hlcmUgaW4gdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBvcGVyYXRpb24geW91IHJlcGxhY2UgdGhlIG51bWJlciA8Y29kZT5vcGVyYXRpb25zW2ldWzBdPC9jb2RlPiB3aXRoIDxjb2RlPm9wZXJhdGlvbnNbaV1bMV08L2NvZGU+LjwvcD4KPHA+SXQgaXMgZ3VhcmFudGVlZCB0aGF0IGluIHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gb3BlcmF0aW9uOjwvcD4KPHVsPgo8bGk+PGNvZGU+b3BlcmF0aW9uc1tpXVswXTwvY29kZT4gPHN0cm9uZz5leGlzdHM8L3N0cm9uZz4gaW4gPGNvZGU+bnVtczwvY29kZT4uPC9saT4KPGxpPjxjb2RlPm9wZXJhdGlvbnNbaV1bMV08L2NvZGU+IGRvZXMgPHN0cm9uZz5ub3Q8L3N0cm9uZz4gZXhpc3QgaW4gPGNvZGU+bnVtczwvY29kZT4uPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgYXJyYXkgb2J0YWluZWQgYWZ0ZXIgYXBwbHlpbmcgYWxsIHRoZSBvcGVyYXRpb25zPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMiw0LDZdLCBvcGVyYXRpb25zID0gW1sxLDNdLFs0LDddLFs2LDFdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzMsMiw3LDFdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFdlIHBlcmZvcm0gdGhlIGZvbGxvd2luZyBvcGVyYXRpb25zIG9uIG51bXM6Ci0gUmVwbGFjZSB0aGUgbnVtYmVyIDEgd2l0aCAzLiBudW1zIGJlY29tZXMgWzx1PjxzdHJvbmc+Mzwvc3Ryb25nPjwvdT4sMiw0LDZdLgotIFJlcGxhY2UgdGhlIG51bWJlciA0IHdpdGggNy4gbnVtcyBiZWNvbWVzIFszLDIsPHU+PHN0cm9uZz43PC9zdHJvbmc+PC91Piw2XS4KLSBSZXBsYWNlIHRoZSBudW1iZXIgNiB3aXRoIDEuIG51bXMgYmVjb21lcyBbMywyLDcsPHU+PHN0cm9uZz4xPC9zdHJvbmc+PC91Pl0uCldlIHJldHVybiB0aGUgZmluYWwgYXJyYXkgWzMsMiw3LDFdLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMl0sIG9wZXJhdGlvbnMgPSBbWzEsM10sWzIsMV0sWzMsMl1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMiwxXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSBwZXJmb3JtIHRoZSBmb2xsb3dpbmcgb3BlcmF0aW9ucyB0byBudW1zOgotIFJlcGxhY2UgdGhlIG51bWJlciAxIHdpdGggMy4gbnVtcyBiZWNvbWVzIFs8dT48c3Ryb25nPjM8L3N0cm9uZz48L3U+LDJdLgotIFJlcGxhY2UgdGhlIG51bWJlciAyIHdpdGggMS4gbnVtcyBiZWNvbWVzIFszLDx1PjxzdHJvbmc+MTwvc3Ryb25nPjwvdT5dLgotIFJlcGxhY2UgdGhlIG51bWJlciAzIHdpdGggMi4gbnVtcyBiZWNvbWVzIFs8dT48c3Ryb25nPjI8L3N0cm9uZz48L3U+LDFdLgpXZSByZXR1cm4gdGhlIGFycmF5IFsyLDFdLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IG51bXMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5tID09IG9wZXJhdGlvbnMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4sIG0gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPkFsbCB0aGUgdmFsdWVzIG9mIDxjb2RlPm51bXM8L2NvZGU+IGFyZSA8c3Ryb25nPmRpc3RpbmN0PC9zdHJvbmc+LjwvbGk+CjxsaT48Y29kZT5vcGVyYXRpb25zW2ldLmxlbmd0aCA9PSAyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0sIG9wZXJhdGlvbnNbaV1bMF0sIG9wZXJhdGlvbnNbaV1bMV0gJmx0Oz0gMTA8c3VwPjY8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPm9wZXJhdGlvbnNbaV1bMF08L2NvZGU+IHdpbGwgZXhpc3QgaW4gPGNvZGU+bnVtczwvY29kZT4gd2hlbiBhcHBseWluZyB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IG9wZXJhdGlvbi48L2xpPgo8bGk+PGNvZGU+b3BlcmF0aW9uc1tpXVsxXTwvY29kZT4gd2lsbCBub3QgZXhpc3QgaW4gPGNvZGU+bnVtczwvY29kZT4gd2hlbiBhcHBseWluZyB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IG9wZXJhdGlvbi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2294. Partition Array Such That Maximum Difference Is K",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBhbmQgYW4gaW50ZWdlciA8Y29kZT5rPC9jb2RlPi4gWW91IG1heSBwYXJ0aXRpb24gPGNvZGU+bnVtczwvY29kZT4gaW50byBvbmUgb3IgbW9yZSA8c3Ryb25nPnN1YnNlcXVlbmNlczwvc3Ryb25nPiBzdWNoIHRoYXQgZWFjaCBlbGVtZW50IGluIDxjb2RlPm51bXM8L2NvZGU+IGFwcGVhcnMgaW4gPHN0cm9uZz5leGFjdGx5PC9zdHJvbmc+IG9uZSBvZiB0aGUgc3Vic2VxdWVuY2VzLjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5taW5pbXVtIDwvc3Ryb25nPm51bWJlciBvZiBzdWJzZXF1ZW5jZXMgbmVlZGVkIHN1Y2ggdGhhdCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBtYXhpbXVtIGFuZCBtaW5pbXVtIHZhbHVlcyBpbiBlYWNoIHN1YnNlcXVlbmNlIGlzIDxzdHJvbmc+YXQgbW9zdDwvc3Ryb25nPiA8L2VtPjxjb2RlPms8L2NvZGU+PGVtPi48L2VtPjwvcD4KPHA+QSA8c3Ryb25nPnN1YnNlcXVlbmNlPC9zdHJvbmc+IGlzIGEgc2VxdWVuY2UgdGhhdCBjYW4gYmUgZGVyaXZlZCBmcm9tIGFub3RoZXIgc2VxdWVuY2UgYnkgZGVsZXRpbmcgc29tZSBvciBubyBlbGVtZW50cyB3aXRob3V0IGNoYW5naW5nIHRoZSBvcmRlciBvZiB0aGUgcmVtYWluaW5nIGVsZW1lbnRzLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFszLDYsMSwyLDVdLCBrID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpXZSBjYW4gcGFydGl0aW9uIG51bXMgaW50byB0aGUgdHdvIHN1YnNlcXVlbmNlcyBbMywxLDJdIGFuZCBbNiw1XS4KVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgbWF4aW11bSBhbmQgbWluaW11bSB2YWx1ZSBpbiB0aGUgZmlyc3Qgc3Vic2VxdWVuY2UgaXMgMyAtIDEgPSAyLgpUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBtYXhpbXVtIGFuZCBtaW5pbXVtIHZhbHVlIGluIHRoZSBzZWNvbmQgc3Vic2VxdWVuY2UgaXMgNiAtIDUgPSAxLgpTaW5jZSB0d28gc3Vic2VxdWVuY2VzIHdlcmUgY3JlYXRlZCwgd2UgcmV0dXJuIDIuIEl0IGNhbiBiZSBzaG93biB0aGF0IDIgaXMgdGhlIG1pbmltdW0gbnVtYmVyIG9mIHN1YnNlcXVlbmNlcyBuZWVkZWQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSwyLDNdLCBrID0gMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpXZSBjYW4gcGFydGl0aW9uIG51bXMgaW50byB0aGUgdHdvIHN1YnNlcXVlbmNlcyBbMSwyXSBhbmQgWzNdLgpUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBtYXhpbXVtIGFuZCBtaW5pbXVtIHZhbHVlIGluIHRoZSBmaXJzdCBzdWJzZXF1ZW5jZSBpcyAyIC0gMSA9IDEuClRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIG1heGltdW0gYW5kIG1pbmltdW0gdmFsdWUgaW4gdGhlIHNlY29uZCBzdWJzZXF1ZW5jZSBpcyAzIC0gMyA9IDAuClNpbmNlIHR3byBzdWJzZXF1ZW5jZXMgd2VyZSBjcmVhdGVkLCB3ZSByZXR1cm4gMi4gTm90ZSB0aGF0IGFub3RoZXIgb3B0aW1hbCBzb2x1dGlvbiBpcyB0byBwYXJ0aXRpb24gbnVtcyBpbnRvIHRoZSB0d28gc3Vic2VxdWVuY2VzIFsxXSBhbmQgWzIsM10uCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMiwyLDQsNV0sIGsgPSAwCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+CldlIGNhbiBwYXJ0aXRpb24gbnVtcyBpbnRvIHRoZSB0aHJlZSBzdWJzZXF1ZW5jZXMgWzIsMl0sIFs0XSwgYW5kIFs1XS4KVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgbWF4aW11bSBhbmQgbWluaW11bSB2YWx1ZSBpbiB0aGUgZmlyc3Qgc3Vic2VxdWVuY2VzIGlzIDIgLSAyID0gMC4KVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgbWF4aW11bSBhbmQgbWluaW11bSB2YWx1ZSBpbiB0aGUgc2Vjb25kIHN1YnNlcXVlbmNlcyBpcyA0IC0gNCA9IDAuClRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIG1heGltdW0gYW5kIG1pbmltdW0gdmFsdWUgaW4gdGhlIHRoaXJkIHN1YnNlcXVlbmNlcyBpcyA1IC0gNSA9IDAuClNpbmNlIHRocmVlIHN1YnNlcXVlbmNlcyB3ZXJlIGNyZWF0ZWQsIHdlIHJldHVybiAzLiBJdCBjYW4gYmUgc2hvd24gdGhhdCAzIGlzIHRoZSBtaW5pbXVtIG51bWJlciBvZiBzdWJzZXF1ZW5jZXMgbmVlZGVkLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IG51bXNbaV0gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gayAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Greedy",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2285. Maximum Total Importance of Roads",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5uPC9jb2RlPiBkZW5vdGluZyB0aGUgbnVtYmVyIG9mIGNpdGllcyBpbiBhIGNvdW50cnkuIFRoZSBjaXRpZXMgYXJlIG51bWJlcmVkIGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+biAtIDE8L2NvZGU+LjwvcD4KPHA+WW91IGFyZSBhbHNvIGdpdmVuIGEgMkQgaW50ZWdlciBhcnJheSA8Y29kZT5yb2FkczwvY29kZT4gd2hlcmUgPGNvZGU+cm9hZHNbaV0gPSBbYTxzdWI+aTwvc3ViPiwgYjxzdWI+aTwvc3ViPl08L2NvZGU+IGRlbm90ZXMgdGhhdCB0aGVyZSBleGlzdHMgYSA8c3Ryb25nPmJpZGlyZWN0aW9uYWw8L3N0cm9uZz4gcm9hZCBjb25uZWN0aW5nIGNpdGllcyA8Y29kZT5hPHN1Yj5pPC9zdWI+PC9jb2RlPiBhbmQgPGNvZGU+YjxzdWI+aTwvc3ViPjwvY29kZT4uPC9wPgo8cD5Zb3UgbmVlZCB0byBhc3NpZ24gZWFjaCBjaXR5IHdpdGggYW4gaW50ZWdlciB2YWx1ZSBmcm9tIDxjb2RlPjE8L2NvZGU+IHRvIDxjb2RlPm48L2NvZGU+LCB3aGVyZSBlYWNoIHZhbHVlIGNhbiBvbmx5IGJlIHVzZWQgPHN0cm9uZz5vbmNlPC9zdHJvbmc+LiBUaGUgPHN0cm9uZz5pbXBvcnRhbmNlPC9zdHJvbmc+IG9mIGEgcm9hZCBpcyB0aGVuIGRlZmluZWQgYXMgdGhlIDxzdHJvbmc+c3VtPC9zdHJvbmc+IG9mIHRoZSB2YWx1ZXMgb2YgdGhlIHR3byBjaXRpZXMgaXQgY29ubmVjdHMuPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1heGltdW0gdG90YWwgaW1wb3J0YW5jZTwvc3Ryb25nPiBvZiBhbGwgcm9hZHMgcG9zc2libGUgYWZ0ZXIgYXNzaWduaW5nIHRoZSB2YWx1ZXMgb3B0aW1hbGx5LjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA0LzA3L2V4MWRyYXdpby5wbmciIHN0eWxlPSJ3aWR0aDogMjkwcHg7IGhlaWdodDogMjE1cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDUsIHJvYWRzID0gW1swLDFdLFsxLDJdLFsyLDNdLFswLDJdLFsxLDNdLFsyLDRdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGZpZ3VyZSBhYm92ZSBzaG93cyB0aGUgY291bnRyeSBhbmQgdGhlIGFzc2lnbmVkIHZhbHVlcyBvZiBbMiw0LDUsMywxXS4KLSBUaGUgcm9hZCAoMCwxKSBoYXMgYW4gaW1wb3J0YW5jZSBvZiAyICsgNCA9IDYuCi0gVGhlIHJvYWQgKDEsMikgaGFzIGFuIGltcG9ydGFuY2Ugb2YgNCArIDUgPSA5LgotIFRoZSByb2FkICgyLDMpIGhhcyBhbiBpbXBvcnRhbmNlIG9mIDUgKyAzID0gOC4KLSBUaGUgcm9hZCAoMCwyKSBoYXMgYW4gaW1wb3J0YW5jZSBvZiAyICsgNSA9IDcuCi0gVGhlIHJvYWQgKDEsMykgaGFzIGFuIGltcG9ydGFuY2Ugb2YgNCArIDMgPSA3LgotIFRoZSByb2FkICgyLDQpIGhhcyBhbiBpbXBvcnRhbmNlIG9mIDUgKyAxID0gNi4KVGhlIHRvdGFsIGltcG9ydGFuY2Ugb2YgYWxsIHJvYWRzIGlzIDYgKyA5ICsgOCArIDcgKyA3ICsgNiA9IDQzLgpJdCBjYW4gYmUgc2hvd24gdGhhdCB3ZSBjYW5ub3Qgb2J0YWluIGEgZ3JlYXRlciB0b3RhbCBpbXBvcnRhbmNlIHRoYW4gNDMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDQvMDcvZXgyZHJhd2lvLnBuZyIgc3R5bGU9IndpZHRoOiAyODFweDsgaGVpZ2h0OiAxNTFweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gNSwgcm9hZHMgPSBbWzAsM10sWzIsNF0sWzEsM11dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgZmlndXJlIGFib3ZlIHNob3dzIHRoZSBjb3VudHJ5IGFuZCB0aGUgYXNzaWduZWQgdmFsdWVzIG9mIFs0LDMsMiw1LDFdLgotIFRoZSByb2FkICgwLDMpIGhhcyBhbiBpbXBvcnRhbmNlIG9mIDQgKyA1ID0gOS4KLSBUaGUgcm9hZCAoMiw0KSBoYXMgYW4gaW1wb3J0YW5jZSBvZiAyICsgMSA9IDMuCi0gVGhlIHJvYWQgKDEsMykgaGFzIGFuIGltcG9ydGFuY2Ugb2YgMyArIDUgPSA4LgpUaGUgdG90YWwgaW1wb3J0YW5jZSBvZiBhbGwgcm9hZHMgaXMgOSArIDMgKyA4ID0gMjAuCkl0IGNhbiBiZSBzaG93biB0aGF0IHdlIGNhbm5vdCBvYnRhaW4gYSBncmVhdGVyIHRvdGFsIGltcG9ydGFuY2UgdGhhbiAyMC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MiAmbHQ7PSBuICZsdDs9IDUgKiAxMDxzdXA+NDwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSByb2Fkcy5sZW5ndGggJmx0Oz0gNSAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5yb2Fkc1tpXS5sZW5ndGggPT0gMjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBhPHN1Yj5pPC9zdWI+LCBiPHN1Yj5pPC9zdWI+ICZsdDs9IG4gLSAxPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5hPHN1Yj5pPC9zdWI+ICE9IGI8c3ViPmk8L3N1Yj48L2NvZGU+PC9saT4KPGxpPlRoZXJlIGFyZSBubyBkdXBsaWNhdGUgcm9hZHMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Greedy",
+ "Graph",
+ "Sorting",
+ "Heap (Priority Queue)"
+ ]
+ },
+ {
+ "title": "2284. Sender With Largest Word Count",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBoYXZlIGEgY2hhdCBsb2cgb2YgPGNvZGU+bjwvY29kZT4gbWVzc2FnZXMuIFlvdSBhcmUgZ2l2ZW4gdHdvIHN0cmluZyBhcnJheXMgPGNvZGU+bWVzc2FnZXM8L2NvZGU+IGFuZCA8Y29kZT5zZW5kZXJzPC9jb2RlPiB3aGVyZSA8Y29kZT5tZXNzYWdlc1tpXTwvY29kZT4gaXMgYSA8c3Ryb25nPm1lc3NhZ2U8L3N0cm9uZz4gc2VudCBieSA8Y29kZT5zZW5kZXJzW2ldPC9jb2RlPi48L3A+CjxwPkEgPHN0cm9uZz5tZXNzYWdlPC9zdHJvbmc+IGlzIGxpc3Qgb2YgPHN0cm9uZz53b3Jkczwvc3Ryb25nPiB0aGF0IGFyZSBzZXBhcmF0ZWQgYnkgYSBzaW5nbGUgc3BhY2Ugd2l0aCBubyBsZWFkaW5nIG9yIHRyYWlsaW5nIHNwYWNlcy4gVGhlIDxzdHJvbmc+d29yZCBjb3VudDwvc3Ryb25nPiBvZiBhIHNlbmRlciBpcyB0aGUgdG90YWwgbnVtYmVyIG9mIDxzdHJvbmc+d29yZHM8L3N0cm9uZz4gc2VudCBieSB0aGUgc2VuZGVyLiBOb3RlIHRoYXQgYSBzZW5kZXIgbWF5IHNlbmQgbW9yZSB0aGFuIG9uZSBtZXNzYWdlLjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgc2VuZGVyIHdpdGggdGhlIDxzdHJvbmc+bGFyZ2VzdDwvc3Ryb25nPiB3b3JkIGNvdW50PC9lbT4uIElmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgc2VuZGVyIHdpdGggdGhlIGxhcmdlc3Qgd29yZCBjb3VudCwgcmV0dXJuIDxlbT50aGUgb25lIHdpdGggdGhlIDxzdHJvbmc+bGV4aWNvZ3JhcGhpY2FsbHkgbGFyZ2VzdDwvc3Ryb25nPiBuYW1lPC9lbT4uPC9wPgo8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT5VcHBlcmNhc2UgbGV0dGVycyBjb21lIGJlZm9yZSBsb3dlcmNhc2UgbGV0dGVycyBpbiBsZXhpY29ncmFwaGljYWwgb3JkZXIuPC9saT4KPGxpPjxjb2RlPiJBbGljZSI8L2NvZGU+IGFuZCA8Y29kZT4iYWxpY2UiPC9jb2RlPiBhcmUgZGlzdGluY3QuPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbWVzc2FnZXMgPSBbIkhlbGxvIHVzZXJUd29vbyIsIkhpIHVzZXJUaHJlZSIsIldvbmRlcmZ1bCBkYXkgQWxpY2UiLCJOaWNlIGRheSB1c2VyVGhyZWUiXSwgc2VuZGVycyA9IFsiQWxpY2UiLCJ1c2VyVHdvIiwidXNlclRocmVlIiwiQWxpY2UiXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gIkFsaWNlIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBBbGljZSBzZW5kcyBhIHRvdGFsIG9mIDIgKyAzID0gNSB3b3Jkcy4KdXNlclR3byBzZW5kcyBhIHRvdGFsIG9mIDIgd29yZHMuCnVzZXJUaHJlZSBzZW5kcyBhIHRvdGFsIG9mIDMgd29yZHMuClNpbmNlIEFsaWNlIGhhcyB0aGUgbGFyZ2VzdCB3b3JkIGNvdW50LCB3ZSByZXR1cm4gIkFsaWNlIi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbWVzc2FnZXMgPSBbIkhvdyBpcyBsZWV0Y29kZSBmb3IgZXZlcnlvbmUiLCJMZWV0Y29kZSBpcyB1c2VmdWwgZm9yIHByYWN0aWNlIl0sIHNlbmRlcnMgPSBbIkJvYiIsIkNoYXJsaWUiXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gIkNoYXJsaWUiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEJvYiBzZW5kcyBhIHRvdGFsIG9mIDUgd29yZHMuCkNoYXJsaWUgc2VuZHMgYSB0b3RhbCBvZiA1IHdvcmRzLgpTaW5jZSB0aGVyZSBpcyBhIHRpZSBmb3IgdGhlIGxhcmdlc3Qgd29yZCBjb3VudCwgd2UgcmV0dXJuIHRoZSBzZW5kZXIgd2l0aCB0aGUgbGV4aWNvZ3JhcGhpY2FsbHkgbGFyZ2VyIG5hbWUsIENoYXJsaWUuPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBtZXNzYWdlcy5sZW5ndGggPT0gc2VuZGVycy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDxzdXA+NDwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBtZXNzYWdlc1tpXS5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHNlbmRlcnNbaV0ubGVuZ3RoICZsdDs9IDEwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5tZXNzYWdlc1tpXTwvY29kZT4gY29uc2lzdHMgb2YgdXBwZXJjYXNlIGFuZCBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzIGFuZCA8Y29kZT4nICc8L2NvZGU+LjwvbGk+CjxsaT5BbGwgdGhlIHdvcmRzIGluIDxjb2RlPm1lc3NhZ2VzW2ldPC9jb2RlPiBhcmUgc2VwYXJhdGVkIGJ5IDxzdHJvbmc+YSBzaW5nbGUgc3BhY2U8L3N0cm9uZz4uPC9saT4KPGxpPjxjb2RlPm1lc3NhZ2VzW2ldPC9jb2RlPiBkb2VzIG5vdCBoYXZlIGxlYWRpbmcgb3IgdHJhaWxpbmcgc3BhY2VzLjwvbGk+CjxsaT48Y29kZT5zZW5kZXJzW2ldPC9jb2RlPiBjb25zaXN0cyBvZiB1cHBlcmNhc2UgYW5kIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMgb25seS48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "String",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2289. Steps to Make Array Non-decreasing",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+LiBJbiBvbmUgc3RlcCwgPHN0cm9uZz5yZW1vdmU8L3N0cm9uZz4gYWxsIGVsZW1lbnRzIDxjb2RlPm51bXNbaV08L2NvZGU+IHdoZXJlIDxjb2RlPm51bXNbaSAtIDFdICZndDsgbnVtc1tpXTwvY29kZT4gZm9yIGFsbCA8Y29kZT4wICZsdDsgaSAmbHQ7IG51bXMubGVuZ3RoPC9jb2RlPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIG51bWJlciBvZiBzdGVwcyBwZXJmb3JtZWQgdW50aWwgPC9lbT48Y29kZT5udW1zPC9jb2RlPjxlbT4gYmVjb21lcyBhIDxzdHJvbmc+bm9uLWRlY3JlYXNpbmc8L3N0cm9uZz4gYXJyYXk8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNSwzLDQsNCw3LDMsNiwxMSw4LDUsMTFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBmb2xsb3dpbmcgYXJlIHRoZSBzdGVwcyBwZXJmb3JtZWQ6Ci0gU3RlcCAxOiBbNSw8c3Ryb25nPjx1PjM8L3U+PC9zdHJvbmc+LDQsNCw3LDx1PjxzdHJvbmc+Mzwvc3Ryb25nPjwvdT4sNiwxMSw8dT48c3Ryb25nPjg8L3N0cm9uZz48L3U+LDx1PjxzdHJvbmc+NTwvc3Ryb25nPjwvdT4sMTFdIGJlY29tZXMgWzUsNCw0LDcsNiwxMSwxMV0KLSBTdGVwIDI6IFs1LDx1PjxzdHJvbmc+NDwvc3Ryb25nPjwvdT4sNCw3LDx1PjxzdHJvbmc+Njwvc3Ryb25nPjwvdT4sMTEsMTFdIGJlY29tZXMgWzUsNCw3LDExLDExXQotIFN0ZXAgMzogWzUsPHU+PHN0cm9uZz40PC9zdHJvbmc+PC91Piw3LDExLDExXSBiZWNvbWVzIFs1LDcsMTEsMTFdCls1LDcsMTEsMTFdIGlzIGEgbm9uLWRlY3JlYXNpbmcgYXJyYXkuIFRoZXJlZm9yZSwgd2UgcmV0dXJuIDMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNCw1LDcsNywxM10KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gbnVtcyBpcyBhbHJlYWR5IGEgbm9uLWRlY3JlYXNpbmcgYXJyYXkuIFRoZXJlZm9yZSwgd2UgcmV0dXJuIDAuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Linked List",
+ "Stack",
+ "Monotonic Stack"
+ ]
+ },
+ {
+ "title": "2288. Apply Discount to Prices",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgPHN0cm9uZz5zZW50ZW5jZTwvc3Ryb25nPiBpcyBhIHN0cmluZyBvZiBzaW5nbGUtc3BhY2Ugc2VwYXJhdGVkIHdvcmRzIHdoZXJlIGVhY2ggd29yZCBjYW4gY29udGFpbiBkaWdpdHMsIGxvd2VyY2FzZSBsZXR0ZXJzLCBhbmQgdGhlIGRvbGxhciBzaWduIDxjb2RlPickJzwvY29kZT4uIEEgd29yZCByZXByZXNlbnRzIGEgPHN0cm9uZz5wcmljZTwvc3Ryb25nPiBpZiBpdCBpcyBhIHNlcXVlbmNlIG9mIGRpZ2l0cyBwcmVjZWRlZCBieSBhIGRvbGxhciBzaWduLjwvcD4KPHVsPgo8bGk+Rm9yIGV4YW1wbGUsIDxjb2RlPiIkMTAwIjwvY29kZT4sIDxjb2RlPiIkMjMiPC9jb2RlPiwgYW5kIDxjb2RlPiIkNiI8L2NvZGU+IHJlcHJlc2VudCBwcmljZXMgd2hpbGUgPGNvZGU+IjEwMCI8L2NvZGU+LCA8Y29kZT4iJCI8L2NvZGU+LCBhbmQgPGNvZGU+IiQxZTUiPC9jb2RlPiBkbyBub3QuPC9saT4KPC91bD4KPHA+WW91IGFyZSBnaXZlbiBhIHN0cmluZyA8Y29kZT5zZW50ZW5jZTwvY29kZT4gcmVwcmVzZW50aW5nIGEgc2VudGVuY2UgYW5kIGFuIGludGVnZXIgPGNvZGU+ZGlzY291bnQ8L2NvZGU+LiBGb3IgZWFjaCB3b3JkIHJlcHJlc2VudGluZyBhIHByaWNlLCBhcHBseSBhIGRpc2NvdW50IG9mIDxjb2RlPmRpc2NvdW50JTwvY29kZT4gb24gdGhlIHByaWNlIGFuZCA8c3Ryb25nPnVwZGF0ZTwvc3Ryb25nPiB0aGUgd29yZCBpbiB0aGUgc2VudGVuY2UuIEFsbCB1cGRhdGVkIHByaWNlcyBzaG91bGQgYmUgcmVwcmVzZW50ZWQgd2l0aCA8c3Ryb25nPmV4YWN0bHkgdHdvPC9zdHJvbmc+IGRlY2ltYWwgcGxhY2VzLjwvcD4KPHA+UmV0dXJuIDxlbT5hIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIG1vZGlmaWVkIHNlbnRlbmNlPC9lbT4uPC9wPgo8cD5Ob3RlIHRoYXQgYWxsIHByaWNlcyB3aWxsIGNvbnRhaW4gPHN0cm9uZz5hdCBtb3N0PC9zdHJvbmc+IDxjb2RlPjEwPC9jb2RlPiBkaWdpdHMuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzZW50ZW5jZSA9ICJ0aGVyZSBhcmUgJDEgJDIgYW5kIDUkIGNhbmRpZXMgaW4gdGhlIHNob3AiLCBkaXNjb3VudCA9IDUwCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAidGhlcmUgYXJlICQwLjUwICQxLjAwIGFuZCA1JCBjYW5kaWVzIGluIHRoZSBzaG9wIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKVGhlIHdvcmRzIHdoaWNoIHJlcHJlc2VudCBwcmljZXMgYXJlICIkMSIgYW5kICIkMiIuIAotIEEgNTAlIGRpc2NvdW50IG9uICIkMSIgeWllbGRzICIkMC41MCIsIHNvICIkMSIgaXMgcmVwbGFjZWQgYnkgIiQwLjUwIi4KLSBBIDUwJSBkaXNjb3VudCBvbiAiJDIiIHlpZWxkcyAiJDEiLiBTaW5jZSB3ZSBuZWVkIHRvIGhhdmUgZXhhY3RseSAyIGRlY2ltYWwgcGxhY2VzIGFmdGVyIGEgcHJpY2UsIHdlIHJlcGxhY2UgIiQyIiB3aXRoICIkMS4wMCIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHNlbnRlbmNlID0gIjEgMiAkMyA0ICQ1ICQ2IDcgOCQgJDkgJDEwJCIsIGRpc2NvdW50ID0gMTAwCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiMSAyICQwLjAwIDQgJDAuMDAgJDAuMDAgNyA4JCAkMC4wMCAkMTAkIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKQXBwbHlpbmcgYSAxMDAlIGRpc2NvdW50IG9uIGFueSBwcmljZSB3aWxsIHJlc3VsdCBpbiAwLgpUaGUgd29yZHMgcmVwcmVzZW50aW5nIHByaWNlcyBhcmUgIiQzIiwgIiQ1IiwgIiQ2IiwgYW5kICIkOSIuCkVhY2ggb2YgdGhlbSBpcyByZXBsYWNlZCBieSAiJDAuMDAiLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHNlbnRlbmNlLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+c2VudGVuY2U8L2NvZGU+IGNvbnNpc3RzIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMsIGRpZ2l0cywgPGNvZGU+JyAnPC9jb2RlPiwgYW5kIDxjb2RlPickJzwvY29kZT4uPC9saT4KPGxpPjxjb2RlPnNlbnRlbmNlPC9jb2RlPiBkb2VzIG5vdCBoYXZlIGxlYWRpbmcgb3IgdHJhaWxpbmcgc3BhY2VzLjwvbGk+CjxsaT5BbGwgd29yZHMgaW4gPGNvZGU+c2VudGVuY2U8L2NvZGU+IGFyZSBzZXBhcmF0ZWQgYnkgYSBzaW5nbGUgc3BhY2UuPC9saT4KPGxpPkFsbCBwcmljZXMgd2lsbCBiZSA8c3Ryb25nPnBvc2l0aXZlPC9zdHJvbmc+IG51bWJlcnMgd2l0aG91dCBsZWFkaW5nIHplcm9zLjwvbGk+CjxsaT5BbGwgcHJpY2VzIHdpbGwgaGF2ZSA8c3Ryb25nPmF0IG1vc3Q8L3N0cm9uZz4gPGNvZGU+MTA8L2NvZGU+IGRpZ2l0cy48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBkaXNjb3VudCAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "String"
+ ]
+ },
+ {
+ "title": "2280. Minimum Lines to Represent a Line Chart",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPnN0b2NrUHJpY2VzPC9jb2RlPiB3aGVyZSA8Y29kZT5zdG9ja1ByaWNlc1tpXSA9IFtkYXk8c3ViPmk8L3N1Yj4sIHByaWNlPHN1Yj5pPC9zdWI+XTwvY29kZT4gaW5kaWNhdGVzIHRoZSBwcmljZSBvZiB0aGUgc3RvY2sgb24gZGF5IDxjb2RlPmRheTxzdWI+aTwvc3ViPjwvY29kZT4gaXMgPGNvZGU+cHJpY2U8c3ViPmk8L3N1Yj48L2NvZGU+LiBBIDxzdHJvbmc+bGluZSBjaGFydDwvc3Ryb25nPiBpcyBjcmVhdGVkIGZyb20gdGhlIGFycmF5IGJ5IHBsb3R0aW5nIHRoZSBwb2ludHMgb24gYW4gWFkgcGxhbmUgd2l0aCB0aGUgWC1heGlzIHJlcHJlc2VudGluZyB0aGUgZGF5IGFuZCB0aGUgWS1heGlzIHJlcHJlc2VudGluZyB0aGUgcHJpY2UgYW5kIGNvbm5lY3RpbmcgYWRqYWNlbnQgcG9pbnRzLiBPbmUgc3VjaCBleGFtcGxlIGlzIHNob3duIGJlbG93OjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAzLzMwLzE5MjBweC1wdXNoa2luX3BvcHVsYXRpb25faGlzdG9yeXN2Zy5wbmciIHN0eWxlPSJ3aWR0aDogNTAwcHg7IGhlaWdodDogMzEzcHg7Ii8+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWluaW11bSBudW1iZXIgb2YgbGluZXM8L3N0cm9uZz4gbmVlZGVkIHRvIHJlcHJlc2VudCB0aGUgbGluZSBjaGFydDwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMy8zMC9leDAucG5nIiBzdHlsZT0id2lkdGg6IDQwMHB4OyBoZWlnaHQ6IDQwMHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHN0b2NrUHJpY2VzID0gW1sxLDddLFsyLDZdLFszLDVdLFs0LDRdLFs1LDRdLFs2LDNdLFs3LDJdLFs4LDFdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgZGlhZ3JhbSBhYm92ZSByZXByZXNlbnRzIHRoZSBpbnB1dCwgd2l0aCB0aGUgWC1heGlzIHJlcHJlc2VudGluZyB0aGUgZGF5IGFuZCBZLWF4aXMgcmVwcmVzZW50aW5nIHRoZSBwcmljZS4KVGhlIGZvbGxvd2luZyAzIGxpbmVzIGNhbiBiZSBkcmF3biB0byByZXByZXNlbnQgdGhlIGxpbmUgY2hhcnQ6Ci0gTGluZSAxIChpbiByZWQpIGZyb20gKDEsNykgdG8gKDQsNCkgcGFzc2luZyB0aHJvdWdoICgxLDcpLCAoMiw2KSwgKDMsNSksIGFuZCAoNCw0KS4KLSBMaW5lIDIgKGluIGJsdWUpIGZyb20gKDQsNCkgdG8gKDUsNCkuCi0gTGluZSAzIChpbiBncmVlbikgZnJvbSAoNSw0KSB0byAoOCwxKSBwYXNzaW5nIHRocm91Z2ggKDUsNCksICg2LDMpLCAoNywyKSwgYW5kICg4LDEpLgpJdCBjYW4gYmUgc2hvd24gdGhhdCBpdCBpcyBub3QgcG9zc2libGUgdG8gcmVwcmVzZW50IHRoZSBsaW5lIGNoYXJ0IHVzaW5nIGxlc3MgdGhhbiAzIGxpbmVzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAzLzMwL2V4MS5wbmciIHN0eWxlPSJ3aWR0aDogMzI1cHg7IGhlaWdodDogMzI1cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gc3RvY2tQcmljZXMgPSBbWzMsNF0sWzEsMl0sWzcsOF0sWzIsM11dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+CkFzIHNob3duIGluIHRoZSBkaWFncmFtIGFib3ZlLCB0aGUgbGluZSBjaGFydCBjYW4gYmUgcmVwcmVzZW50ZWQgd2l0aCBhIHNpbmdsZSBsaW5lLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHN0b2NrUHJpY2VzLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+c3RvY2tQcmljZXNbaV0ubGVuZ3RoID09IDI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gZGF5PHN1Yj5pPC9zdWI+LCBwcmljZTxzdWI+aTwvc3ViPiAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8bGk+QWxsIDxjb2RlPmRheTxzdWI+aTwvc3ViPjwvY29kZT4gYXJlIDxzdHJvbmc+ZGlzdGluY3Q8L3N0cm9uZz4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Math",
+ "Geometry",
+ "Sorting",
+ "Number Theory"
+ ]
+ },
+ {
+ "title": "2279. Maximum Bags With Full Capacity of Rocks",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBoYXZlIDxjb2RlPm48L2NvZGU+IGJhZ3MgbnVtYmVyZWQgZnJvbSA8Y29kZT4wPC9jb2RlPiB0byA8Y29kZT5uIC0gMTwvY29kZT4uIFlvdSBhcmUgZ2l2ZW4gdHdvIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXlzIDxjb2RlPmNhcGFjaXR5PC9jb2RlPiBhbmQgPGNvZGU+cm9ja3M8L2NvZGU+LiBUaGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGJhZyBjYW4gaG9sZCBhIG1heGltdW0gb2YgPGNvZGU+Y2FwYWNpdHlbaV08L2NvZGU+IHJvY2tzIGFuZCBjdXJyZW50bHkgY29udGFpbnMgPGNvZGU+cm9ja3NbaV08L2NvZGU+IHJvY2tzLiBZb3UgYXJlIGFsc28gZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5hZGRpdGlvbmFsUm9ja3M8L2NvZGU+LCB0aGUgbnVtYmVyIG9mIGFkZGl0aW9uYWwgcm9ja3MgeW91IGNhbiBwbGFjZSBpbiA8c3Ryb25nPmFueTwvc3Ryb25nPiBvZiB0aGUgYmFncy48L3A+CjxwPlJldHVybjxlbT4gdGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBudW1iZXIgb2YgYmFncyB0aGF0IGNvdWxkIGhhdmUgZnVsbCBjYXBhY2l0eSBhZnRlciBwbGFjaW5nIHRoZSBhZGRpdGlvbmFsIHJvY2tzIGluIHNvbWUgYmFncy48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gY2FwYWNpdHkgPSBbMiwzLDQsNV0sIHJvY2tzID0gWzEsMiw0LDRdLCBhZGRpdGlvbmFsUm9ja3MgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClBsYWNlIDEgcm9jayBpbiBiYWcgMCBhbmQgMSByb2NrIGluIGJhZyAxLgpUaGUgbnVtYmVyIG9mIHJvY2tzIGluIGVhY2ggYmFnIGFyZSBub3cgWzIsMyw0LDRdLgpCYWdzIDAsIDEsIGFuZCAyIGhhdmUgZnVsbCBjYXBhY2l0eS4KVGhlcmUgYXJlIDMgYmFncyBhdCBmdWxsIGNhcGFjaXR5LCBzbyB3ZSByZXR1cm4gMy4KSXQgY2FuIGJlIHNob3duIHRoYXQgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGhhdmUgbW9yZSB0aGFuIDMgYmFncyBhdCBmdWxsIGNhcGFjaXR5LgpOb3RlIHRoYXQgdGhlcmUgbWF5IGJlIG90aGVyIHdheXMgb2YgcGxhY2luZyB0aGUgcm9ja3MgdGhhdCByZXN1bHQgaW4gYW4gYW5zd2VyIG9mIDMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGNhcGFjaXR5ID0gWzEwLDIsMl0sIHJvY2tzID0gWzIsMiwwXSwgYWRkaXRpb25hbFJvY2tzID0gMTAwCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClBsYWNlIDggcm9ja3MgaW4gYmFnIDAgYW5kIDIgcm9ja3MgaW4gYmFnIDIuClRoZSBudW1iZXIgb2Ygcm9ja3MgaW4gZWFjaCBiYWcgYXJlIG5vdyBbMTAsMiwyXS4KQmFncyAwLCAxLCBhbmQgMiBoYXZlIGZ1bGwgY2FwYWNpdHkuClRoZXJlIGFyZSAzIGJhZ3MgYXQgZnVsbCBjYXBhY2l0eSwgc28gd2UgcmV0dXJuIDMuCkl0IGNhbiBiZSBzaG93biB0aGF0IGl0IGlzIG5vdCBwb3NzaWJsZSB0byBoYXZlIG1vcmUgdGhhbiAzIGJhZ3MgYXQgZnVsbCBjYXBhY2l0eS4KTm90ZSB0aGF0IHdlIGRpZCBub3QgdXNlIGFsbCBvZiB0aGUgYWRkaXRpb25hbCByb2Nrcy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBjYXBhY2l0eS5sZW5ndGggPT0gcm9ja3MubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gNSAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGNhcGFjaXR5W2ldICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IHJvY2tzW2ldICZsdDs9IGNhcGFjaXR5W2ldPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGFkZGl0aW9uYWxSb2NrcyAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Greedy",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2245. Maximum Trailing Zeros in a Cornered Path",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPmdyaWQ8L2NvZGU+IG9mIHNpemUgPGNvZGU+bSB4IG48L2NvZGU+LCB3aGVyZSBlYWNoIGNlbGwgY29udGFpbnMgYSBwb3NpdGl2ZSBpbnRlZ2VyLjwvcD4KPHA+QSA8c3Ryb25nPmNvcm5lcmVkIHBhdGg8L3N0cm9uZz4gaXMgZGVmaW5lZCBhcyBhIHNldCBvZiBhZGphY2VudCBjZWxscyB3aXRoIDxzdHJvbmc+YXQgbW9zdDwvc3Ryb25nPiBvbmUgdHVybi4gTW9yZSBzcGVjaWZpY2FsbHksIHRoZSBwYXRoIHNob3VsZCBleGNsdXNpdmVseSBtb3ZlIGVpdGhlciA8c3Ryb25nPmhvcml6b250YWxseTwvc3Ryb25nPiBvciA8c3Ryb25nPnZlcnRpY2FsbHk8L3N0cm9uZz4gdXAgdG8gdGhlIHR1cm4gKGlmIHRoZXJlIGlzIG9uZSksIHdpdGhvdXQgcmV0dXJuaW5nIHRvIGEgcHJldmlvdXNseSB2aXNpdGVkIGNlbGwuIEFmdGVyIHRoZSB0dXJuLCB0aGUgcGF0aCB3aWxsIHRoZW4gbW92ZSBleGNsdXNpdmVseSBpbiB0aGUgPHN0cm9uZz5hbHRlcm5hdGU8L3N0cm9uZz4gZGlyZWN0aW9uOiBtb3ZlIHZlcnRpY2FsbHkgaWYgaXQgbW92ZWQgaG9yaXpvbnRhbGx5LCBhbmQgdmljZSB2ZXJzYSwgYWxzbyB3aXRob3V0IHJldHVybmluZyB0byBhIHByZXZpb3VzbHkgdmlzaXRlZCBjZWxsLjwvcD4KPHA+VGhlIDxzdHJvbmc+cHJvZHVjdDwvc3Ryb25nPiBvZiBhIHBhdGggaXMgZGVmaW5lZCBhcyB0aGUgcHJvZHVjdCBvZiBhbGwgdGhlIHZhbHVlcyBpbiB0aGUgcGF0aC48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBudW1iZXIgb2YgPHN0cm9uZz50cmFpbGluZyB6ZXJvczwvc3Ryb25nPiBpbiB0aGUgcHJvZHVjdCBvZiBhIGNvcm5lcmVkIHBhdGggZm91bmQgaW4gPC9lbT48Y29kZT5ncmlkPC9jb2RlPi48L3A+CjxwPk5vdGU6PC9wPgo8dWw+CjxsaT48c3Ryb25nPkhvcml6b250YWw8L3N0cm9uZz4gbW92ZW1lbnQgbWVhbnMgbW92aW5nIGluIGVpdGhlciB0aGUgbGVmdCBvciByaWdodCBkaXJlY3Rpb24uPC9saT4KPGxpPjxzdHJvbmc+VmVydGljYWw8L3N0cm9uZz4gbW92ZW1lbnQgbWVhbnMgbW92aW5nIGluIGVpdGhlciB0aGUgdXAgb3IgZG93biBkaXJlY3Rpb24uPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMy8yMy9leDFuZXcyLmpwZyIgc3R5bGU9IndpZHRoOiA1NzdweDsgaGVpZ2h0OiAxOTBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBncmlkID0gW1syMywxNywxNSwzLDIwXSxbOCwxLDIwLDI3LDExXSxbOSw0LDYsMiwyMV0sWzQwLDksMSwxMCw2XSxbMjIsNyw0LDUsM11dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBncmlkIG9uIHRoZSBsZWZ0IHNob3dzIGEgdmFsaWQgY29ybmVyZWQgcGF0aC4KSXQgaGFzIGEgcHJvZHVjdCBvZiAxNSAqIDIwICogNiAqIDEgKiAxMCA9IDE4MDAwIHdoaWNoIGhhcyAzIHRyYWlsaW5nIHplcm9zLgpJdCBjYW4gYmUgc2hvd24gdGhhdCB0aGlzIGlzIHRoZSBtYXhpbXVtIHRyYWlsaW5nIHplcm9zIGluIHRoZSBwcm9kdWN0IG9mIGEgY29ybmVyZWQgcGF0aC4KClRoZSBncmlkIGluIHRoZSBtaWRkbGUgaXMgbm90IGEgY29ybmVyZWQgcGF0aCBhcyBpdCBoYXMgbW9yZSB0aGFuIG9uZSB0dXJuLgpUaGUgZ3JpZCBvbiB0aGUgcmlnaHQgaXMgbm90IGEgY29ybmVyZWQgcGF0aCBhcyBpdCByZXF1aXJlcyBhIHJldHVybiB0byBhIHByZXZpb3VzbHkgdmlzaXRlZCBjZWxsLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAzLzI1L2V4Mi5qcGciIHN0eWxlPSJ3aWR0aDogMTUwcHg7IGhlaWdodDogMTU3cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbNCwzLDJdLFs3LDYsMV0sWzgsOCw4XV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGdyaWQgaXMgc2hvd24gaW4gdGhlIGZpZ3VyZSBhYm92ZS4KVGhlcmUgYXJlIG5vIGNvcm5lcmVkIHBhdGhzIGluIHRoZSBncmlkIHRoYXQgcmVzdWx0IGluIGEgcHJvZHVjdCB3aXRoIGEgdHJhaWxpbmcgemVyby4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+bSA9PSBncmlkLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+biA9PSBncmlkW2ldLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBtLCBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG0gKiBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGdyaWRbaV1bal0gJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Matrix",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2244. Minimum Rounds to Complete All Tasks",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPnRhc2tzPC9jb2RlPiwgd2hlcmUgPGNvZGU+dGFza3NbaV08L2NvZGU+IHJlcHJlc2VudHMgdGhlIGRpZmZpY3VsdHkgbGV2ZWwgb2YgYSB0YXNrLiBJbiBlYWNoIHJvdW5kLCB5b3UgY2FuIGNvbXBsZXRlIGVpdGhlciAyIG9yIDMgdGFza3Mgb2YgdGhlIDxzdHJvbmc+c2FtZSBkaWZmaWN1bHR5IGxldmVsPC9zdHJvbmc+LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5taW5pbXVtPC9zdHJvbmc+IHJvdW5kcyByZXF1aXJlZCB0byBjb21wbGV0ZSBhbGwgdGhlIHRhc2tzLCBvciA8L2VtPjxjb2RlPi0xPC9jb2RlPjxlbT4gaWYgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGNvbXBsZXRlIGFsbCB0aGUgdGFza3MuPC9lbT48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHRhc2tzID0gWzIsMiwzLDMsMiw0LDQsNCw0LDRdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRvIGNvbXBsZXRlIGFsbCB0aGUgdGFza3MsIGEgcG9zc2libGUgcGxhbiBpczoKLSBJbiB0aGUgZmlyc3Qgcm91bmQsIHlvdSBjb21wbGV0ZSAzIHRhc2tzIG9mIGRpZmZpY3VsdHkgbGV2ZWwgMi4gCi0gSW4gdGhlIHNlY29uZCByb3VuZCwgeW91IGNvbXBsZXRlIDIgdGFza3Mgb2YgZGlmZmljdWx0eSBsZXZlbCAzLiAKLSBJbiB0aGUgdGhpcmQgcm91bmQsIHlvdSBjb21wbGV0ZSAzIHRhc2tzIG9mIGRpZmZpY3VsdHkgbGV2ZWwgNC4gCi0gSW4gdGhlIGZvdXJ0aCByb3VuZCwgeW91IGNvbXBsZXRlIDIgdGFza3Mgb2YgZGlmZmljdWx0eSBsZXZlbCA0LiAgCkl0IGNhbiBiZSBzaG93biB0aGF0IGFsbCB0aGUgdGFza3MgY2Fubm90IGJlIGNvbXBsZXRlZCBpbiBmZXdlciB0aGFuIDQgcm91bmRzLCBzbyB0aGUgYW5zd2VyIGlzIDQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHRhc2tzID0gWzIsMywzXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gLTEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgaXMgb25seSAxIHRhc2sgb2YgZGlmZmljdWx0eSBsZXZlbCAyLCBidXQgaW4gZWFjaCByb3VuZCwgeW91IGNhbiBvbmx5IGNvbXBsZXRlIGVpdGhlciAyIG9yIDMgdGFza3Mgb2YgdGhlIHNhbWUgZGlmZmljdWx0eSBsZXZlbC4gSGVuY2UsIHlvdSBjYW5ub3QgY29tcGxldGUgYWxsIHRoZSB0YXNrcywgYW5kIHRoZSBhbnN3ZXIgaXMgLTEuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gdGFza3MubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHRhc2tzW2ldICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Greedy",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2271. Maximum White Tiles Covered by a Carpet",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPnRpbGVzPC9jb2RlPiB3aGVyZSA8Y29kZT50aWxlc1tpXSA9IFtsPHN1Yj5pPC9zdWI+LCByPHN1Yj5pPC9zdWI+XTwvY29kZT4gcmVwcmVzZW50cyB0aGF0IGV2ZXJ5IHRpbGUgPGNvZGU+ajwvY29kZT4gaW4gdGhlIHJhbmdlIDxjb2RlPmw8c3ViPmk8L3N1Yj4gJmx0Oz0gaiAmbHQ7PSByPHN1Yj5pPC9zdWI+PC9jb2RlPiBpcyBjb2xvcmVkIHdoaXRlLjwvcD4KPHA+WW91IGFyZSBhbHNvIGdpdmVuIGFuIGludGVnZXIgPGNvZGU+Y2FycGV0TGVuPC9jb2RlPiwgdGhlIGxlbmd0aCBvZiBhIHNpbmdsZSBjYXJwZXQgdGhhdCBjYW4gYmUgcGxhY2VkIDxzdHJvbmc+YW55d2hlcmU8L3N0cm9uZz4uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1heGltdW08L3N0cm9uZz4gbnVtYmVyIG9mIHdoaXRlIHRpbGVzIHRoYXQgY2FuIGJlIGNvdmVyZWQgYnkgdGhlIGNhcnBldDwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMy8yNS9leGFtcGxlMWRyYXdpbzMucG5nIiBzdHlsZT0id2lkdGg6IDY0NHB4OyBoZWlnaHQ6IDE1OHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHRpbGVzID0gW1sxLDVdLFsxMCwxMV0sWzEyLDE4XSxbMjAsMjVdLFszMCwzMl1dLCBjYXJwZXRMZW4gPSAxMAo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gOQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBQbGFjZSB0aGUgY2FycGV0IHN0YXJ0aW5nIG9uIHRpbGUgMTAuIApJdCBjb3ZlcnMgOSB3aGl0ZSB0aWxlcywgc28gd2UgcmV0dXJuIDkuCk5vdGUgdGhhdCB0aGVyZSBtYXkgYmUgb3RoZXIgcGxhY2VzIHdoZXJlIHRoZSBjYXJwZXQgY292ZXJzIDkgd2hpdGUgdGlsZXMuCkl0IGNhbiBiZSBzaG93biB0aGF0IHRoZSBjYXJwZXQgY2Fubm90IGNvdmVyIG1vcmUgdGhhbiA5IHdoaXRlIHRpbGVzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAzLzI0L2V4YW1wbGUyZHJhd2lvLnBuZyIgc3R5bGU9IndpZHRoOiAyMzFweDsgaGVpZ2h0OiAxNjhweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB0aWxlcyA9IFtbMTAsMTFdLFsxLDFdXSwgY2FycGV0TGVuID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBQbGFjZSB0aGUgY2FycGV0IHN0YXJ0aW5nIG9uIHRpbGUgMTAuIApJdCBjb3ZlcnMgMiB3aGl0ZSB0aWxlcywgc28gd2UgcmV0dXJuIDIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gdGlsZXMubGVuZ3RoICZsdDs9IDUgKiAxMDxzdXA+NDwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+dGlsZXNbaV0ubGVuZ3RoID09IDI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbDxzdWI+aTwvc3ViPiAmbHQ7PSByPHN1Yj5pPC9zdWI+ICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGNhcnBldExlbiAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8bGk+VGhlIDxjb2RlPnRpbGVzPC9jb2RlPiBhcmUgPHN0cm9uZz5ub24tb3ZlcmxhcHBpbmc8L3N0cm9uZz4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Greedy",
+ "Sorting",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2270. Number of Ways to Split Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT5uPC9jb2RlPi48L3A+CjxwPjxjb2RlPm51bXM8L2NvZGU+IGNvbnRhaW5zIGEgPHN0cm9uZz52YWxpZCBzcGxpdDwvc3Ryb25nPiBhdCBpbmRleCA8Y29kZT5pPC9jb2RlPiBpZiB0aGUgZm9sbG93aW5nIGFyZSB0cnVlOjwvcD4KPHVsPgo8bGk+VGhlIHN1bSBvZiB0aGUgZmlyc3QgPGNvZGU+aSArIDE8L2NvZGU+IGVsZW1lbnRzIGlzIDxzdHJvbmc+Z3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvPC9zdHJvbmc+IHRoZSBzdW0gb2YgdGhlIGxhc3QgPGNvZGU+biAtIGkgLSAxPC9jb2RlPiBlbGVtZW50cy48L2xpPgo8bGk+VGhlcmUgaXMgPHN0cm9uZz5hdCBsZWFzdCBvbmU8L3N0cm9uZz4gZWxlbWVudCB0byB0aGUgcmlnaHQgb2YgPGNvZGU+aTwvY29kZT4uIFRoYXQgaXMsIDxjb2RlPjAgJmx0Oz0gaSAmbHQ7IG4gLSAxPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPnRoZSBudW1iZXIgb2YgPHN0cm9uZz52YWxpZCBzcGxpdHM8L3N0cm9uZz4gaW48L2VtPiA8Y29kZT5udW1zPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMTAsNCwtOCw3XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKVGhlcmUgYXJlIHRocmVlIHdheXMgb2Ygc3BsaXR0aW5nIG51bXMgaW50byB0d28gbm9uLWVtcHR5IHBhcnRzOgotIFNwbGl0IG51bXMgYXQgaW5kZXggMC4gVGhlbiwgdGhlIGZpcnN0IHBhcnQgaXMgWzEwXSwgYW5kIGl0cyBzdW0gaXMgMTAuIFRoZSBzZWNvbmQgcGFydCBpcyBbNCwtOCw3XSwgYW5kIGl0cyBzdW0gaXMgMy4gU2luY2UgMTAgJmd0Oz0gMywgaSA9IDAgaXMgYSB2YWxpZCBzcGxpdC4KLSBTcGxpdCBudW1zIGF0IGluZGV4IDEuIFRoZW4sIHRoZSBmaXJzdCBwYXJ0IGlzIFsxMCw0XSwgYW5kIGl0cyBzdW0gaXMgMTQuIFRoZSBzZWNvbmQgcGFydCBpcyBbLTgsN10sIGFuZCBpdHMgc3VtIGlzIC0xLiBTaW5jZSAxNCAmZ3Q7PSAtMSwgaSA9IDEgaXMgYSB2YWxpZCBzcGxpdC4KLSBTcGxpdCBudW1zIGF0IGluZGV4IDIuIFRoZW4sIHRoZSBmaXJzdCBwYXJ0IGlzIFsxMCw0LC04XSwgYW5kIGl0cyBzdW0gaXMgNi4gVGhlIHNlY29uZCBwYXJ0IGlzIFs3XSwgYW5kIGl0cyBzdW0gaXMgNy4gU2luY2UgNiAmbHQ7IDcsIGkgPSAyIGlzIG5vdCBhIHZhbGlkIHNwbGl0LgpUaHVzLCB0aGUgbnVtYmVyIG9mIHZhbGlkIHNwbGl0cyBpbiBudW1zIGlzIDIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMiwzLDEsMF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gClRoZXJlIGFyZSB0d28gdmFsaWQgc3BsaXRzIGluIG51bXM6Ci0gU3BsaXQgbnVtcyBhdCBpbmRleCAxLiBUaGVuLCB0aGUgZmlyc3QgcGFydCBpcyBbMiwzXSwgYW5kIGl0cyBzdW0gaXMgNS4gVGhlIHNlY29uZCBwYXJ0IGlzIFsxLDBdLCBhbmQgaXRzIHN1bSBpcyAxLiBTaW5jZSA1ICZndDs9IDEsIGkgPSAxIGlzIGEgdmFsaWQgc3BsaXQuIAotIFNwbGl0IG51bXMgYXQgaW5kZXggMi4gVGhlbiwgdGhlIGZpcnN0IHBhcnQgaXMgWzIsMywxXSwgYW5kIGl0cyBzdW0gaXMgNi4gVGhlIHNlY29uZCBwYXJ0IGlzIFswXSwgYW5kIGl0cyBzdW0gaXMgMC4gU2luY2UgNiAmZ3Q7PSAwLCBpID0gMiBpcyBhIHZhbGlkIHNwbGl0Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4yICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4tMTA8c3VwPjU8L3N1cD4gJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2275. Largest Combination With Bitwise AND Greater Than Zero",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZSA8c3Ryb25nPmJpdHdpc2UgQU5EPC9zdHJvbmc+IG9mIGFuIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IGlzIHRoZSBiaXR3aXNlIEFORCBvZiBhbGwgaW50ZWdlcnMgaW4gPGNvZGU+bnVtczwvY29kZT4uPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgZm9yIDxjb2RlPm51bXMgPSBbMSwgNSwgM108L2NvZGU+LCB0aGUgYml0d2lzZSBBTkQgaXMgZXF1YWwgdG8gPGNvZGU+MSAmYW1wOyA1ICZhbXA7IDMgPSAxPC9jb2RlPi48L2xpPgo8bGk+QWxzbywgZm9yIDxjb2RlPm51bXMgPSBbN108L2NvZGU+LCB0aGUgYml0d2lzZSBBTkQgaXMgPGNvZGU+NzwvY29kZT4uPC9saT4KPC91bD4KPHA+WW91IGFyZSBnaXZlbiBhbiBhcnJheSBvZiBwb3NpdGl2ZSBpbnRlZ2VycyA8Y29kZT5jYW5kaWRhdGVzPC9jb2RlPi4gRXZhbHVhdGUgdGhlIDxzdHJvbmc+Yml0d2lzZSBBTkQ8L3N0cm9uZz4gb2YgZXZlcnkgPHN0cm9uZz5jb21iaW5hdGlvbjwvc3Ryb25nPiBvZiBudW1iZXJzIG9mIDxjb2RlPmNhbmRpZGF0ZXM8L2NvZGU+LiBFYWNoIG51bWJlciBpbiA8Y29kZT5jYW5kaWRhdGVzPC9jb2RlPiBtYXkgb25seSBiZSB1c2VkIDxzdHJvbmc+b25jZTwvc3Ryb25nPiBpbiBlYWNoIGNvbWJpbmF0aW9uLjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgc2l6ZSBvZiB0aGUgPHN0cm9uZz5sYXJnZXN0PC9zdHJvbmc+IGNvbWJpbmF0aW9uIG9mIDwvZW0+PGNvZGU+Y2FuZGlkYXRlczwvY29kZT48ZW0+IHdpdGggYSBiaXR3aXNlIEFORCA8c3Ryb25nPmdyZWF0ZXI8L3N0cm9uZz4gdGhhbiA8L2VtPjxjb2RlPjA8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gY2FuZGlkYXRlcyA9IFsxNiwxNyw3MSw2MiwxMiwyNCwxNF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGNvbWJpbmF0aW9uIFsxNiwxNyw2MiwyNF0gaGFzIGEgYml0d2lzZSBBTkQgb2YgMTYgJmFtcDsgMTcgJmFtcDsgNjIgJmFtcDsgMjQgPSAxNiAmZ3Q7IDAuClRoZSBzaXplIG9mIHRoZSBjb21iaW5hdGlvbiBpcyA0LgpJdCBjYW4gYmUgc2hvd24gdGhhdCBubyBjb21iaW5hdGlvbiB3aXRoIGEgc2l6ZSBncmVhdGVyIHRoYW4gNCBoYXMgYSBiaXR3aXNlIEFORCBncmVhdGVyIHRoYW4gMC4KTm90ZSB0aGF0IG1vcmUgdGhhbiBvbmUgY29tYmluYXRpb24gbWF5IGhhdmUgdGhlIGxhcmdlc3Qgc2l6ZS4KRm9yIGV4YW1wbGUsIHRoZSBjb21iaW5hdGlvbiBbNjIsMTIsMjQsMTRdIGhhcyBhIGJpdHdpc2UgQU5EIG9mIDYyICZhbXA7IDEyICZhbXA7IDI0ICZhbXA7IDE0ID0gOCAmZ3Q7IDAuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGNhbmRpZGF0ZXMgPSBbOCw4XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgbGFyZ2VzdCBjb21iaW5hdGlvbiBbOCw4XSBoYXMgYSBiaXR3aXNlIEFORCBvZiA4ICZhbXA7IDggPSA4ICZndDsgMC4KVGhlIHNpemUgb2YgdGhlIGNvbWJpbmF0aW9uIGlzIDIsIHNvIHdlIHJldHVybiAyLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IGNhbmRpZGF0ZXMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGNhbmRpZGF0ZXNbaV0gJmx0Oz0gMTA8c3VwPjc8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Bit Manipulation",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2274. Maximum Consecutive Floors Without Special Floors",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkFsaWNlIG1hbmFnZXMgYSBjb21wYW55IGFuZCBoYXMgcmVudGVkIHNvbWUgZmxvb3JzIG9mIGEgYnVpbGRpbmcgYXMgb2ZmaWNlIHNwYWNlLiBBbGljZSBoYXMgZGVjaWRlZCBzb21lIG9mIHRoZXNlIGZsb29ycyBzaG91bGQgYmUgPHN0cm9uZz5zcGVjaWFsIGZsb29yczwvc3Ryb25nPiwgdXNlZCBmb3IgcmVsYXhhdGlvbiBvbmx5LjwvcD4KPHA+WW91IGFyZSBnaXZlbiB0d28gaW50ZWdlcnMgPGNvZGU+Ym90dG9tPC9jb2RlPiBhbmQgPGNvZGU+dG9wPC9jb2RlPiwgd2hpY2ggZGVub3RlIHRoYXQgQWxpY2UgaGFzIHJlbnRlZCBhbGwgdGhlIGZsb29ycyBmcm9tIDxjb2RlPmJvdHRvbTwvY29kZT4gdG8gPGNvZGU+dG9wPC9jb2RlPiAoPHN0cm9uZz5pbmNsdXNpdmU8L3N0cm9uZz4pLiBZb3UgYXJlIGFsc28gZ2l2ZW4gdGhlIGludGVnZXIgYXJyYXkgPGNvZGU+c3BlY2lhbDwvY29kZT4sIHdoZXJlIDxjb2RlPnNwZWNpYWxbaV08L2NvZGU+IGRlbm90ZXMgYSBzcGVjaWFsIGZsb29yIHRoYXQgQWxpY2UgaGFzIGRlc2lnbmF0ZWQgZm9yIHJlbGF4YXRpb24uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1heGltdW08L3N0cm9uZz4gbnVtYmVyIG9mIGNvbnNlY3V0aXZlIGZsb29ycyB3aXRob3V0IGEgc3BlY2lhbCBmbG9vcjwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gYm90dG9tID0gMiwgdG9wID0gOSwgc3BlY2lhbCA9IFs0LDZdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBmb2xsb3dpbmcgYXJlIHRoZSByYW5nZXMgKGluY2x1c2l2ZSkgb2YgY29uc2VjdXRpdmUgZmxvb3JzIHdpdGhvdXQgYSBzcGVjaWFsIGZsb29yOgotICgyLCAzKSB3aXRoIGEgdG90YWwgYW1vdW50IG9mIDIgZmxvb3JzLgotICg1LCA1KSB3aXRoIGEgdG90YWwgYW1vdW50IG9mIDEgZmxvb3IuCi0gKDcsIDkpIHdpdGggYSB0b3RhbCBhbW91bnQgb2YgMyBmbG9vcnMuClRoZXJlZm9yZSwgd2UgcmV0dXJuIHRoZSBtYXhpbXVtIG51bWJlciB3aGljaCBpcyAzIGZsb29ycy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gYm90dG9tID0gNiwgdG9wID0gOCwgc3BlY2lhbCA9IFs3LDYsOF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gRXZlcnkgZmxvb3IgcmVudGVkIGlzIGEgc3BlY2lhbCBmbG9vciwgc28gd2UgcmV0dXJuIDAuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gc3BlY2lhbC5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gYm90dG9tICZsdDs9IHNwZWNpYWxbaV0gJmx0Oz0gdG9wICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT5BbGwgdGhlIHZhbHVlcyBvZiA8Y29kZT5zcGVjaWFsPC9jb2RlPiBhcmUgPHN0cm9uZz51bmlxdWU8L3N0cm9uZz4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2241. Design an ATM Machine",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGFuIEFUTSBtYWNoaW5lIHRoYXQgc3RvcmVzIGJhbmtub3RlcyBvZiA8Y29kZT41PC9jb2RlPiBkZW5vbWluYXRpb25zOiA8Y29kZT4yMDwvY29kZT4sIDxjb2RlPjUwPC9jb2RlPiwgPGNvZGU+MTAwPC9jb2RlPiwgPGNvZGU+MjAwPC9jb2RlPiwgYW5kIDxjb2RlPjUwMDwvY29kZT4gZG9sbGFycy4gSW5pdGlhbGx5IHRoZSBBVE0gaXMgZW1wdHkuIFRoZSB1c2VyIGNhbiB1c2UgdGhlIG1hY2hpbmUgdG8gZGVwb3NpdCBvciB3aXRoZHJhdyBhbnkgYW1vdW50IG9mIG1vbmV5LjwvcD4KPHA+V2hlbiB3aXRoZHJhd2luZywgdGhlIG1hY2hpbmUgcHJpb3JpdGl6ZXMgdXNpbmcgYmFua25vdGVzIG9mIDxzdHJvbmc+bGFyZ2VyPC9zdHJvbmc+IHZhbHVlcy48L3A+Cjx1bD4KPGxpPkZvciBleGFtcGxlLCBpZiB5b3Ugd2FudCB0byB3aXRoZHJhdyA8Y29kZT4kMzAwPC9jb2RlPiBhbmQgdGhlcmUgYXJlIDxjb2RlPjI8L2NvZGU+IDxjb2RlPiQ1MDwvY29kZT4gYmFua25vdGVzLCA8Y29kZT4xPC9jb2RlPiA8Y29kZT4kMTAwPC9jb2RlPiBiYW5rbm90ZSwgYW5kIDxjb2RlPjE8L2NvZGU+IDxjb2RlPiQyMDA8L2NvZGU+IGJhbmtub3RlLCB0aGVuIHRoZSBtYWNoaW5lIHdpbGwgdXNlIHRoZSA8Y29kZT4kMTAwPC9jb2RlPiBhbmQgPGNvZGU+JDIwMDwvY29kZT4gYmFua25vdGVzLjwvbGk+CjxsaT5Ib3dldmVyLCBpZiB5b3UgdHJ5IHRvIHdpdGhkcmF3IDxjb2RlPiQ2MDA8L2NvZGU+IGFuZCB0aGVyZSBhcmUgPGNvZGU+MzwvY29kZT4gPGNvZGU+JDIwMDwvY29kZT4gYmFua25vdGVzIGFuZCA8Y29kZT4xPC9jb2RlPiA8Y29kZT4kNTAwPC9jb2RlPiBiYW5rbm90ZSwgdGhlbiB0aGUgd2l0aGRyYXcgcmVxdWVzdCB3aWxsIGJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIG1hY2hpbmUgd2lsbCBmaXJzdCB0cnkgdG8gdXNlIHRoZSA8Y29kZT4kNTAwPC9jb2RlPiBiYW5rbm90ZSBhbmQgdGhlbiBiZSB1bmFibGUgdG8gdXNlIGJhbmtub3RlcyB0byBjb21wbGV0ZSB0aGUgcmVtYWluaW5nIDxjb2RlPiQxMDA8L2NvZGU+LiBOb3RlIHRoYXQgdGhlIG1hY2hpbmUgaXMgPHN0cm9uZz5ub3Q8L3N0cm9uZz4gYWxsb3dlZCB0byB1c2UgdGhlIDxjb2RlPiQyMDA8L2NvZGU+IGJhbmtub3RlcyBpbnN0ZWFkIG9mIHRoZSA8Y29kZT4kNTAwPC9jb2RlPiBiYW5rbm90ZS48L2xpPgo8L3VsPgo8cD5JbXBsZW1lbnQgdGhlIEFUTSBjbGFzczo8L3A+Cjx1bD4KPGxpPjxjb2RlPkFUTSgpPC9jb2RlPiBJbml0aWFsaXplcyB0aGUgQVRNIG9iamVjdC48L2xpPgo8bGk+PGNvZGU+dm9pZCBkZXBvc2l0KGludFtdIGJhbmtub3Rlc0NvdW50KTwvY29kZT4gRGVwb3NpdHMgbmV3IGJhbmtub3RlcyBpbiB0aGUgb3JkZXIgPGNvZGU+JDIwPC9jb2RlPiwgPGNvZGU+JDUwPC9jb2RlPiwgPGNvZGU+JDEwMDwvY29kZT4sIDxjb2RlPiQyMDA8L2NvZGU+LCBhbmQgPGNvZGU+JDUwMDwvY29kZT4uPC9saT4KPGxpPjxjb2RlPmludFtdIHdpdGhkcmF3KGludCBhbW91bnQpPC9jb2RlPiBSZXR1cm5zIGFuIGFycmF5IG9mIGxlbmd0aCA8Y29kZT41PC9jb2RlPiBvZiB0aGUgbnVtYmVyIG9mIGJhbmtub3RlcyB0aGF0IHdpbGwgYmUgaGFuZGVkIHRvIHRoZSB1c2VyIGluIHRoZSBvcmRlciA8Y29kZT4kMjA8L2NvZGU+LCA8Y29kZT4kNTA8L2NvZGU+LCA8Y29kZT4kMTAwPC9jb2RlPiwgPGNvZGU+JDIwMDwvY29kZT4sIGFuZCA8Y29kZT4kNTAwPC9jb2RlPiwgYW5kIHVwZGF0ZSB0aGUgbnVtYmVyIG9mIGJhbmtub3RlcyBpbiB0aGUgQVRNIGFmdGVyIHdpdGhkcmF3aW5nLiBSZXR1cm5zIDxjb2RlPlstMV08L2NvZGU+IGlmIGl0IGlzIG5vdCBwb3NzaWJsZSAoZG8gPHN0cm9uZz5ub3Q8L3N0cm9uZz4gd2l0aGRyYXcgYW55IGJhbmtub3RlcyBpbiB0aGlzIGNhc2UpLjwvbGk+CjwvdWw+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ8L3N0cm9uZz4KWyJBVE0iLCAiZGVwb3NpdCIsICJ3aXRoZHJhdyIsICJkZXBvc2l0IiwgIndpdGhkcmF3IiwgIndpdGhkcmF3Il0KW1tdLCBbWzAsMCwxLDIsMV1dLCBbNjAwXSwgW1swLDEsMCwxLDFdXSwgWzYwMF0sIFs1NTBdXQo8c3Ryb25nPk91dHB1dDwvc3Ryb25nPgpbbnVsbCwgbnVsbCwgWzAsMCwxLDAsMV0sIG51bGwsIFstMV0sIFswLDEsMCwwLDFdXQoKPHN0cm9uZz5FeHBsYW5hdGlvbjwvc3Ryb25nPgpBVE0gYXRtID0gbmV3IEFUTSgpOwphdG0uZGVwb3NpdChbMCwwLDEsMiwxXSk7IC8vIERlcG9zaXRzIDEgJDEwMCBiYW5rbm90ZSwgMiAkMjAwIGJhbmtub3RlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhbmQgMSAkNTAwIGJhbmtub3RlLgphdG0ud2l0aGRyYXcoNjAwKTsgICAgICAgIC8vIFJldHVybnMgWzAsMCwxLDAsMV0uIFRoZSBtYWNoaW5lIHVzZXMgMSAkMTAwIGJhbmtub3RlCiAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYW5kIDEgJDUwMCBiYW5rbm90ZS4gVGhlIGJhbmtub3RlcyBsZWZ0IG92ZXIgaW4gdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWFjaGluZSBhcmUgWzAsMCwwLDIsMF0uCmF0bS5kZXBvc2l0KFswLDEsMCwxLDFdKTsgLy8gRGVwb3NpdHMgMSAkNTAsICQyMDAsIGFuZCAkNTAwIGJhbmtub3RlLgogICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBiYW5rbm90ZXMgaW4gdGhlIG1hY2hpbmUgYXJlIG5vdyBbMCwxLDAsMywxXS4KYXRtLndpdGhkcmF3KDYwMCk7ICAgICAgICAvLyBSZXR1cm5zIFstMV0uIFRoZSBtYWNoaW5lIHdpbGwgdHJ5IHRvIHVzZSBhICQ1MDAgYmFua25vdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhbmQgdGhlbiBiZSB1bmFibGUgdG8gY29tcGxldGUgdGhlIHJlbWFpbmluZyAkMTAwLAogICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNvIHRoZSB3aXRoZHJhdyByZXF1ZXN0IHdpbGwgYmUgcmVqZWN0ZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2luY2UgdGhlIHJlcXVlc3QgaXMgcmVqZWN0ZWQsIHRoZSBudW1iZXIgb2YgYmFua25vdGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaW4gdGhlIG1hY2hpbmUgaXMgbm90IG1vZGlmaWVkLgphdG0ud2l0aGRyYXcoNTUwKTsgICAgICAgIC8vIFJldHVybnMgWzAsMSwwLDAsMV0uIFRoZSBtYWNoaW5lIHVzZXMgMSAkNTAgYmFua25vdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhbmQgMSAkNTAwIGJhbmtub3RlLjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPmJhbmtub3Rlc0NvdW50Lmxlbmd0aCA9PSA1PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IGJhbmtub3Rlc0NvdW50W2ldICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGFtb3VudCAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8bGk+QXQgbW9zdCA8Y29kZT41MDAwPC9jb2RlPiBjYWxscyA8c3Ryb25nPmluIHRvdGFsPC9zdHJvbmc+IHdpbGwgYmUgbWFkZSB0byA8Y29kZT53aXRoZHJhdzwvY29kZT4gYW5kIDxjb2RlPmRlcG9zaXQ8L2NvZGU+LjwvbGk+CjxsaT5BdCBsZWFzdCA8c3Ryb25nPm9uZTwvc3Ryb25nPiBjYWxsIHdpbGwgYmUgbWFkZSB0byBlYWNoIGZ1bmN0aW9uIDxjb2RlPndpdGhkcmF3PC9jb2RlPiBhbmQgPGNvZGU+ZGVwb3NpdDwvY29kZT4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Greedy",
+ "Design"
+ ]
+ },
+ {
+ "title": "2240. Number of Ways to Buy Pens and Pencils",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT50b3RhbDwvY29kZT4gaW5kaWNhdGluZyB0aGUgYW1vdW50IG9mIG1vbmV5IHlvdSBoYXZlLiBZb3UgYXJlIGFsc28gZ2l2ZW4gdHdvIGludGVnZXJzIDxjb2RlPmNvc3QxPC9jb2RlPiBhbmQgPGNvZGU+Y29zdDI8L2NvZGU+IGluZGljYXRpbmcgdGhlIHByaWNlIG9mIGEgcGVuIGFuZCBwZW5jaWwgcmVzcGVjdGl2ZWx5LiBZb3UgY2FuIHNwZW5kIDxzdHJvbmc+cGFydCBvciBhbGw8L3N0cm9uZz4gb2YgeW91ciBtb25leSB0byBidXkgbXVsdGlwbGUgcXVhbnRpdGllcyAob3Igbm9uZSkgb2YgZWFjaCBraW5kIG9mIHdyaXRpbmcgdXRlbnNpbC48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bnVtYmVyIG9mIGRpc3RpbmN0IHdheXM8L3N0cm9uZz4geW91IGNhbiBidXkgc29tZSBudW1iZXIgb2YgcGVucyBhbmQgcGVuY2lscy48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gdG90YWwgPSAyMCwgY29zdDEgPSAxMCwgY29zdDIgPSA1CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA5CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBwcmljZSBvZiBhIHBlbiBpcyAxMCBhbmQgdGhlIHByaWNlIG9mIGEgcGVuY2lsIGlzIDUuCi0gSWYgeW91IGJ1eSAwIHBlbnMsIHlvdSBjYW4gYnV5IDAsIDEsIDIsIDMsIG9yIDQgcGVuY2lscy4KLSBJZiB5b3UgYnV5IDEgcGVuLCB5b3UgY2FuIGJ1eSAwLCAxLCBvciAyIHBlbmNpbHMuCi0gSWYgeW91IGJ1eSAyIHBlbnMsIHlvdSBjYW5ub3QgYnV5IGFueSBwZW5jaWxzLgpUaGUgdG90YWwgbnVtYmVyIG9mIHdheXMgdG8gYnV5IHBlbnMgYW5kIHBlbmNpbHMgaXMgNSArIDMgKyAxID0gOS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gdG90YWwgPSA1LCBjb3N0MSA9IDEwLCBjb3N0MiA9IDEwCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBwcmljZSBvZiBib3RoIHBlbnMgYW5kIHBlbmNpbHMgYXJlIDEwLCB3aGljaCBjb3N0IG1vcmUgdGhhbiB0b3RhbCwgc28geW91IGNhbm5vdCBidXkgYW55IHdyaXRpbmcgdXRlbnNpbHMuIFRoZXJlZm9yZSwgdGhlcmUgaXMgb25seSAxIHdheTogYnV5IDAgcGVucyBhbmQgMCBwZW5jaWxzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHRvdGFsLCBjb3N0MSwgY29zdDIgJmx0Oz0gMTA8c3VwPjY8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Math",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2266. Count Number of Texts",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkFsaWNlIGlzIHRleHRpbmcgQm9iIHVzaW5nIGhlciBwaG9uZS4gVGhlIDxzdHJvbmc+bWFwcGluZzwvc3Ryb25nPiBvZiBkaWdpdHMgdG8gbGV0dGVycyBpcyBzaG93biBpbiB0aGUgZmlndXJlIGJlbG93LjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAzLzE1LzEyMDBweC10ZWxlcGhvbmUta2V5cGFkMnN2Zy5wbmciIHN0eWxlPSJ3aWR0aDogMjAwcHg7IGhlaWdodDogMTYycHg7Ii8+CjxwPkluIG9yZGVyIHRvIDxzdHJvbmc+YWRkPC9zdHJvbmc+IGEgbGV0dGVyLCBBbGljZSBoYXMgdG8gPHN0cm9uZz5wcmVzczwvc3Ryb25nPiB0aGUga2V5IG9mIHRoZSBjb3JyZXNwb25kaW5nIGRpZ2l0IDxjb2RlPmk8L2NvZGU+IHRpbWVzLCB3aGVyZSA8Y29kZT5pPC9jb2RlPiBpcyB0aGUgcG9zaXRpb24gb2YgdGhlIGxldHRlciBpbiB0aGUga2V5LjwvcD4KPHVsPgo8bGk+Rm9yIGV4YW1wbGUsIHRvIGFkZCB0aGUgbGV0dGVyIDxjb2RlPidzJzwvY29kZT4sIEFsaWNlIGhhcyB0byBwcmVzcyA8Y29kZT4nNyc8L2NvZGU+IGZvdXIgdGltZXMuIFNpbWlsYXJseSwgdG8gYWRkIHRoZSBsZXR0ZXIgPGNvZGU+J2snPC9jb2RlPiwgQWxpY2UgaGFzIHRvIHByZXNzIDxjb2RlPic1JzwvY29kZT4gdHdpY2UuPC9saT4KPGxpPk5vdGUgdGhhdCB0aGUgZGlnaXRzIDxjb2RlPicwJzwvY29kZT4gYW5kIDxjb2RlPicxJzwvY29kZT4gZG8gbm90IG1hcCB0byBhbnkgbGV0dGVycywgc28gQWxpY2UgPHN0cm9uZz5kb2VzIG5vdDwvc3Ryb25nPiB1c2UgdGhlbS48L2xpPgo8L3VsPgo8cD5Ib3dldmVyLCBkdWUgdG8gYW4gZXJyb3IgaW4gdHJhbnNtaXNzaW9uLCBCb2IgZGlkIG5vdCByZWNlaXZlIEFsaWNlJ3MgdGV4dCBtZXNzYWdlIGJ1dCByZWNlaXZlZCBhIDxzdHJvbmc+c3RyaW5nIG9mIHByZXNzZWQga2V5czwvc3Ryb25nPiBpbnN0ZWFkLjwvcD4KPHVsPgo8bGk+Rm9yIGV4YW1wbGUsIHdoZW4gQWxpY2Ugc2VudCB0aGUgbWVzc2FnZSA8Y29kZT4iYm9iIjwvY29kZT4sIEJvYiByZWNlaXZlZCB0aGUgc3RyaW5nIDxjb2RlPiIyMjY2NjIyIjwvY29kZT4uPC9saT4KPC91bD4KPHA+R2l2ZW4gYSBzdHJpbmcgPGNvZGU+cHJlc3NlZEtleXM8L2NvZGU+IHJlcHJlc2VudGluZyB0aGUgc3RyaW5nIHJlY2VpdmVkIGJ5IEJvYiwgcmV0dXJuIDxlbT50aGUgPHN0cm9uZz50b3RhbCBudW1iZXIgb2YgcG9zc2libGUgdGV4dCBtZXNzYWdlczwvc3Ryb25nPiBBbGljZSBjb3VsZCBoYXZlIHNlbnQ8L2VtPi48L3A+CjxwPlNpbmNlIHRoZSBhbnN3ZXIgbWF5IGJlIHZlcnkgbGFyZ2UsIHJldHVybiBpdCA8c3Ryb25nPm1vZHVsbzwvc3Ryb25nPiA8Y29kZT4xMDxzdXA+OTwvc3VwPiArIDc8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcHJlc3NlZEtleXMgPSAiMjIyMzMiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA4CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBwb3NzaWJsZSB0ZXh0IG1lc3NhZ2VzIEFsaWNlIGNvdWxkIGhhdmUgc2VudCBhcmU6CiJhYWFkZCIsICJhYmRkIiwgImJhZGQiLCAiY2RkIiwgImFhYWUiLCAiYWJlIiwgImJhZSIsIGFuZCAiY2UiLgpTaW5jZSB0aGVyZSBhcmUgOCBwb3NzaWJsZSBtZXNzYWdlcywgd2UgcmV0dXJuIDguCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHByZXNzZWRLZXlzID0gIjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMiIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDgyODc2MDg5CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZXJlIGFyZSAyMDgyODc2MTAzIHBvc3NpYmxlIHRleHQgbWVzc2FnZXMgQWxpY2UgY291bGQgaGF2ZSBzZW50LgpTaW5jZSB3ZSBuZWVkIHRvIHJldHVybiB0aGUgYW5zd2VyIG1vZHVsbyAxMDxzdXA+OTwvc3VwPiArIDcsIHdlIHJldHVybiAyMDgyODc2MTAzICUgKDEwPHN1cD45PC9zdXA+ICsgNykgPSA4Mjg3NjA4OS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBwcmVzc2VkS2V5cy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnByZXNzZWRLZXlzPC9jb2RlPiBvbmx5IGNvbnNpc3RzIG9mIGRpZ2l0cyBmcm9tIDxjb2RlPicyJzwvY29kZT4gLSA8Y29kZT4nOSc8L2NvZGU+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Hash Table",
+ "Math",
+ "String",
+ "Dynamic Programming"
+ ]
+ },
+ {
+ "title": "2265. Count Nodes Equal to Average of Subtree",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIHRoZSA8Y29kZT5yb290PC9jb2RlPiBvZiBhIGJpbmFyeSB0cmVlLCByZXR1cm4gPGVtPnRoZSBudW1iZXIgb2Ygbm9kZXMgd2hlcmUgdGhlIHZhbHVlIG9mIHRoZSBub2RlIGlzIGVxdWFsIHRvIHRoZSA8c3Ryb25nPmF2ZXJhZ2U8L3N0cm9uZz4gb2YgdGhlIHZhbHVlcyBpbiBpdHMgPHN0cm9uZz5zdWJ0cmVlPC9zdHJvbmc+PC9lbT4uPC9wPgo8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT5UaGUgPHN0cm9uZz5hdmVyYWdlPC9zdHJvbmc+IG9mIDxjb2RlPm48L2NvZGU+IGVsZW1lbnRzIGlzIHRoZSA8c3Ryb25nPnN1bTwvc3Ryb25nPiBvZiB0aGUgPGNvZGU+bjwvY29kZT4gZWxlbWVudHMgZGl2aWRlZCBieSA8Y29kZT5uPC9jb2RlPiBhbmQgPHN0cm9uZz5yb3VuZGVkIGRvd248L3N0cm9uZz4gdG8gdGhlIG5lYXJlc3QgaW50ZWdlci48L2xpPgo8bGk+QSA8c3Ryb25nPnN1YnRyZWU8L3N0cm9uZz4gb2YgPGNvZGU+cm9vdDwvY29kZT4gaXMgYSB0cmVlIGNvbnNpc3Rpbmcgb2YgPGNvZGU+cm9vdDwvY29kZT4gYW5kIGFsbCBvZiBpdHMgZGVzY2VuZGFudHMuPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAzLzE1L2ltYWdlLTIwMjIwMzE1MjAzOTI1LTEucG5nIiBzdHlsZT0id2lkdGg6IDMwMHB4OyBoZWlnaHQ6IDIxMnB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHJvb3QgPSBbNCw4LDUsMCwxLG51bGwsNl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCkZvciB0aGUgbm9kZSB3aXRoIHZhbHVlIDQ6IFRoZSBhdmVyYWdlIG9mIGl0cyBzdWJ0cmVlIGlzICg0ICsgOCArIDUgKyAwICsgMSArIDYpIC8gNiA9IDI0IC8gNiA9IDQuCkZvciB0aGUgbm9kZSB3aXRoIHZhbHVlIDU6IFRoZSBhdmVyYWdlIG9mIGl0cyBzdWJ0cmVlIGlzICg1ICsgNikgLyAyID0gMTEgLyAyID0gNS4KRm9yIHRoZSBub2RlIHdpdGggdmFsdWUgMDogVGhlIGF2ZXJhZ2Ugb2YgaXRzIHN1YnRyZWUgaXMgMCAvIDEgPSAwLgpGb3IgdGhlIG5vZGUgd2l0aCB2YWx1ZSAxOiBUaGUgYXZlcmFnZSBvZiBpdHMgc3VidHJlZSBpcyAxIC8gMSA9IDEuCkZvciB0aGUgbm9kZSB3aXRoIHZhbHVlIDY6IFRoZSBhdmVyYWdlIG9mIGl0cyBzdWJ0cmVlIGlzIDYgLyAxID0gNi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAzLzI2L2ltYWdlLTIwMjIwMzI2MTMzOTIwLTEucG5nIiBzdHlsZT0id2lkdGg6IDgwcHg7IGhlaWdodDogNzZweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiByb290ID0gWzFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEZvciB0aGUgbm9kZSB3aXRoIHZhbHVlIDE6IFRoZSBhdmVyYWdlIG9mIGl0cyBzdWJ0cmVlIGlzIDEgLyAxID0gMS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+VGhlIG51bWJlciBvZiBub2RlcyBpbiB0aGUgdHJlZSBpcyBpbiB0aGUgcmFuZ2UgPGNvZGU+WzEsIDEwMDBdPC9jb2RlPi48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBOb2RlLnZhbCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Tree",
+ "Depth-First Search",
+ "Binary Tree"
+ ]
+ },
+ {
+ "title": "2257. Count Unguarded Cells in the Grid",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIGludGVnZXJzIDxjb2RlPm08L2NvZGU+IGFuZCA8Y29kZT5uPC9jb2RlPiByZXByZXNlbnRpbmcgYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiA8Y29kZT5tIHggbjwvY29kZT4gZ3JpZC4gWW91IGFyZSBhbHNvIGdpdmVuIHR3byAyRCBpbnRlZ2VyIGFycmF5cyA8Y29kZT5ndWFyZHM8L2NvZGU+IGFuZCA8Y29kZT53YWxsczwvY29kZT4gd2hlcmUgPGNvZGU+Z3VhcmRzW2ldID0gW3JvdzxzdWI+aTwvc3ViPiwgY29sPHN1Yj5pPC9zdWI+XTwvY29kZT4gYW5kIDxjb2RlPndhbGxzW2pdID0gW3JvdzxzdWI+ajwvc3ViPiwgY29sPHN1Yj5qPC9zdWI+XTwvY29kZT4gcmVwcmVzZW50IHRoZSBwb3NpdGlvbnMgb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBndWFyZCBhbmQgPGNvZGU+ajxzdXA+dGg8L3N1cD48L2NvZGU+IHdhbGwgcmVzcGVjdGl2ZWx5LjwvcD4KPHA+QSBndWFyZCBjYW4gc2VlIDxiPmV2ZXJ5PC9iPiBjZWxsIGluIHRoZSBmb3VyIGNhcmRpbmFsIGRpcmVjdGlvbnMgKG5vcnRoLCBlYXN0LCBzb3V0aCwgb3Igd2VzdCkgc3RhcnRpbmcgZnJvbSB0aGVpciBwb3NpdGlvbiB1bmxlc3MgPHN0cm9uZz5vYnN0cnVjdGVkPC9zdHJvbmc+IGJ5IGEgd2FsbCBvciBhbm90aGVyIGd1YXJkLiBBIGNlbGwgaXMgPHN0cm9uZz5ndWFyZGVkPC9zdHJvbmc+IGlmIHRoZXJlIGlzIDxzdHJvbmc+YXQgbGVhc3Q8L3N0cm9uZz4gb25lIGd1YXJkIHRoYXQgY2FuIHNlZSBpdC48L3A+CjxwPlJldHVybjxlbT4gdGhlIG51bWJlciBvZiB1bm9jY3VwaWVkIGNlbGxzIHRoYXQgYXJlIDxzdHJvbmc+bm90PC9zdHJvbmc+IDxzdHJvbmc+Z3VhcmRlZDwvc3Ryb25nPi48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMy8xMC9leGFtcGxlMWRyYXdpbzIucG5nIiBzdHlsZT0id2lkdGg6IDMwMHB4OyBoZWlnaHQ6IDIwNHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG0gPSA0LCBuID0gNiwgZ3VhcmRzID0gW1swLDBdLFsxLDFdLFsyLDNdXSwgd2FsbHMgPSBbWzAsMV0sWzIsMl0sWzEsNF1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA3CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBndWFyZGVkIGFuZCB1bmd1YXJkZWQgY2VsbHMgYXJlIHNob3duIGluIHJlZCBhbmQgZ3JlZW4gcmVzcGVjdGl2ZWx5IGluIHRoZSBhYm92ZSBkaWFncmFtLgpUaGVyZSBhcmUgYSB0b3RhbCBvZiA3IHVuZ3VhcmRlZCBjZWxscywgc28gd2UgcmV0dXJuIDcuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDMvMTAvZXhhbXBsZTJkcmF3aW8ucG5nIiBzdHlsZT0id2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDIwMXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG0gPSAzLCBuID0gMywgZ3VhcmRzID0gW1sxLDFdXSwgd2FsbHMgPSBbWzAsMV0sWzEsMF0sWzIsMV0sWzEsMl1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSB1bmd1YXJkZWQgY2VsbHMgYXJlIHNob3duIGluIGdyZWVuIGluIHRoZSBhYm92ZSBkaWFncmFtLgpUaGVyZSBhcmUgYSB0b3RhbCBvZiA0IHVuZ3VhcmRlZCBjZWxscywgc28gd2UgcmV0dXJuIDQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbSwgbiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MiAmbHQ7PSBtICogbiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBndWFyZHMubGVuZ3RoLCB3YWxscy5sZW5ndGggJmx0Oz0gNSAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4yICZsdDs9IGd1YXJkcy5sZW5ndGggKyB3YWxscy5sZW5ndGggJmx0Oz0gbSAqIG48L2NvZGU+PC9saT4KPGxpPjxjb2RlPmd1YXJkc1tpXS5sZW5ndGggPT0gd2FsbHNbal0ubGVuZ3RoID09IDI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gcm93PHN1Yj5pPC9zdWI+LCByb3c8c3ViPmo8L3N1Yj4gJmx0OyBtPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IGNvbDxzdWI+aTwvc3ViPiwgY29sPHN1Yj5qPC9zdWI+ICZsdDsgbjwvY29kZT48L2xpPgo8bGk+QWxsIHRoZSBwb3NpdGlvbnMgaW4gPGNvZGU+Z3VhcmRzPC9jb2RlPiBhbmQgPGNvZGU+d2FsbHM8L2NvZGU+IGFyZSA8c3Ryb25nPnVuaXF1ZTwvc3Ryb25nPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Matrix",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2256. Minimum Average Difference",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT5uPC9jb2RlPi48L3A+CjxwPlRoZSA8c3Ryb25nPmF2ZXJhZ2UgZGlmZmVyZW5jZTwvc3Ryb25nPiBvZiB0aGUgaW5kZXggPGNvZGU+aTwvY29kZT4gaXMgdGhlIDxzdHJvbmc+YWJzb2x1dGU8L3N0cm9uZz4gPHN0cm9uZz5kaWZmZXJlbmNlPC9zdHJvbmc+IGJldHdlZW4gdGhlIGF2ZXJhZ2Ugb2YgdGhlIDxzdHJvbmc+Zmlyc3Q8L3N0cm9uZz4gPGNvZGU+aSArIDE8L2NvZGU+IGVsZW1lbnRzIG9mIDxjb2RlPm51bXM8L2NvZGU+IGFuZCB0aGUgYXZlcmFnZSBvZiB0aGUgPHN0cm9uZz5sYXN0PC9zdHJvbmc+IDxjb2RlPm4gLSBpIC0gMTwvY29kZT4gZWxlbWVudHMuIEJvdGggYXZlcmFnZXMgc2hvdWxkIGJlIDxzdHJvbmc+cm91bmRlZCBkb3duPC9zdHJvbmc+IHRvIHRoZSBuZWFyZXN0IGludGVnZXIuPC9wPgo8cD5SZXR1cm48ZW0+IHRoZSBpbmRleCB3aXRoIHRoZSA8c3Ryb25nPm1pbmltdW0gYXZlcmFnZSBkaWZmZXJlbmNlPC9zdHJvbmc+PC9lbT4uIElmIHRoZXJlIGFyZSBtdWx0aXBsZSBzdWNoIGluZGljZXMsIHJldHVybiB0aGUgPHN0cm9uZz5zbWFsbGVzdDwvc3Ryb25nPiBvbmUuPC9wPgo8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT5UaGUgPHN0cm9uZz5hYnNvbHV0ZSBkaWZmZXJlbmNlPC9zdHJvbmc+IG9mIHR3byBudW1iZXJzIGlzIHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB0aGVpciBkaWZmZXJlbmNlLjwvbGk+CjxsaT5UaGUgPHN0cm9uZz5hdmVyYWdlPC9zdHJvbmc+IG9mIDxjb2RlPm48L2NvZGU+IGVsZW1lbnRzIGlzIHRoZSA8c3Ryb25nPnN1bTwvc3Ryb25nPiBvZiB0aGUgPGNvZGU+bjwvY29kZT4gZWxlbWVudHMgZGl2aWRlZCAoPHN0cm9uZz5pbnRlZ2VyIGRpdmlzaW9uPC9zdHJvbmc+KSBieSA8Y29kZT5uPC9jb2RlPi48L2xpPgo8bGk+VGhlIGF2ZXJhZ2Ugb2YgPGNvZGU+MDwvY29kZT4gZWxlbWVudHMgaXMgY29uc2lkZXJlZCB0byBiZSA8Y29kZT4wPC9jb2RlPi48L2xpPgo8L3VsPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzIsNSwzLDksNSwzXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgotIFRoZSBhdmVyYWdlIGRpZmZlcmVuY2Ugb2YgaW5kZXggMCBpczogfDIgLyAxIC0gKDUgKyAzICsgOSArIDUgKyAzKSAvIDV8ID0gfDIgLyAxIC0gMjUgLyA1fCA9IHwyIC0gNXwgPSAzLgotIFRoZSBhdmVyYWdlIGRpZmZlcmVuY2Ugb2YgaW5kZXggMSBpczogfCgyICsgNSkgLyAyIC0gKDMgKyA5ICsgNSArIDMpIC8gNHwgPSB8NyAvIDIgLSAyMCAvIDR8ID0gfDMgLSA1fCA9IDIuCi0gVGhlIGF2ZXJhZ2UgZGlmZmVyZW5jZSBvZiBpbmRleCAyIGlzOiB8KDIgKyA1ICsgMykgLyAzIC0gKDkgKyA1ICsgMykgLyAzfCA9IHwxMCAvIDMgLSAxNyAvIDN8ID0gfDMgLSA1fCA9IDIuCi0gVGhlIGF2ZXJhZ2UgZGlmZmVyZW5jZSBvZiBpbmRleCAzIGlzOiB8KDIgKyA1ICsgMyArIDkpIC8gNCAtICg1ICsgMykgLyAyfCA9IHwxOSAvIDQgLSA4IC8gMnwgPSB8NCAtIDR8ID0gMC4KLSBUaGUgYXZlcmFnZSBkaWZmZXJlbmNlIG9mIGluZGV4IDQgaXM6IHwoMiArIDUgKyAzICsgOSArIDUpIC8gNSAtIDMgLyAxfCA9IHwyNCAvIDUgLSAzIC8gMXwgPSB8NCAtIDN8ID0gMS4KLSBUaGUgYXZlcmFnZSBkaWZmZXJlbmNlIG9mIGluZGV4IDUgaXM6IHwoMiArIDUgKyAzICsgOSArIDUgKyAzKSAvIDYgLSAwfCA9IHwyNyAvIDYgLSAwfCA9IHw0IC0gMHwgPSA0LgpUaGUgYXZlcmFnZSBkaWZmZXJlbmNlIG9mIGluZGV4IDMgaXMgdGhlIG1pbmltdW0gYXZlcmFnZSBkaWZmZXJlbmNlIHNvIHJldHVybiAzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzBdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBvbmx5IGluZGV4IGlzIDAgc28gcmV0dXJuIDAuClRoZSBhdmVyYWdlIGRpZmZlcmVuY2Ugb2YgaW5kZXggMCBpczogfDAgLyAxIC0gMHwgPSB8MCAtIDB8ID0gMC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBudW1zW2ldICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2261. K Divisible Elements Subarrays",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGludGVnZXIgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4gYW5kIHR3byBpbnRlZ2VycyA8Y29kZT5rPC9jb2RlPiBhbmQgPGNvZGU+cDwvY29kZT4sIHJldHVybiA8ZW0+dGhlIG51bWJlciBvZiA8c3Ryb25nPmRpc3RpbmN0IHN1YmFycmF5czwvc3Ryb25nPiB3aGljaCBoYXZlIDxzdHJvbmc+YXQgbW9zdDwvc3Ryb25nPjwvZW0+IDxjb2RlPms8L2NvZGU+IDxlbT5lbGVtZW50cyBkaXZpc2libGUgYnk8L2VtPiA8Y29kZT5wPC9jb2RlPi48L3A+CjxwPlR3byBhcnJheXMgPGNvZGU+bnVtczE8L2NvZGU+IGFuZCA8Y29kZT5udW1zMjwvY29kZT4gYXJlIHNhaWQgdG8gYmUgPHN0cm9uZz5kaXN0aW5jdDwvc3Ryb25nPiBpZjo8L3A+Cjx1bD4KPGxpPlRoZXkgYXJlIG9mIDxzdHJvbmc+ZGlmZmVyZW50PC9zdHJvbmc+IGxlbmd0aHMsIG9yPC9saT4KPGxpPlRoZXJlIGV4aXN0cyA8c3Ryb25nPmF0IGxlYXN0PC9zdHJvbmc+IG9uZSBpbmRleCA8Y29kZT5pPC9jb2RlPiB3aGVyZSA8Y29kZT5udW1zMVtpXSAhPSBudW1zMltpXTwvY29kZT4uPC9saT4KPC91bD4KPHA+QSA8c3Ryb25nPnN1YmFycmF5PC9zdHJvbmc+IGlzIGRlZmluZWQgYXMgYSA8c3Ryb25nPm5vbi1lbXB0eTwvc3Ryb25nPiBjb250aWd1b3VzIHNlcXVlbmNlIG9mIGVsZW1lbnRzIGluIGFuIGFycmF5LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs8dT48c3Ryb25nPjI8L3N0cm9uZz48L3U+LDMsMyw8dT48c3Ryb25nPjI8L3N0cm9uZz48L3U+LDx1PjxzdHJvbmc+Mjwvc3Ryb25nPjwvdT5dLCBrID0gMiwgcCA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDExCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBlbGVtZW50cyBhdCBpbmRpY2VzIDAsIDMsIGFuZCA0IGFyZSBkaXZpc2libGUgYnkgcCA9IDIuClRoZSAxMSBkaXN0aW5jdCBzdWJhcnJheXMgd2hpY2ggaGF2ZSBhdCBtb3N0IGsgPSAyIGVsZW1lbnRzIGRpdmlzaWJsZSBieSAyIGFyZToKWzJdLCBbMiwzXSwgWzIsMywzXSwgWzIsMywzLDJdLCBbM10sIFszLDNdLCBbMywzLDJdLCBbMywzLDIsMl0sIFszLDJdLCBbMywyLDJdLCBhbmQgWzIsMl0uCk5vdGUgdGhhdCB0aGUgc3ViYXJyYXlzIFsyXSBhbmQgWzNdIG9jY3VyIG1vcmUgdGhhbiBvbmNlIGluIG51bXMsIGJ1dCB0aGV5IHNob3VsZCBlYWNoIGJlIGNvdW50ZWQgb25seSBvbmNlLgpUaGUgc3ViYXJyYXkgWzIsMywzLDIsMl0gc2hvdWxkIG5vdCBiZSBjb3VudGVkIGJlY2F1c2UgaXQgaGFzIDMgZWxlbWVudHMgdGhhdCBhcmUgZGl2aXNpYmxlIGJ5IDIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSwyLDMsNF0sIGsgPSA0LCBwID0gMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KQWxsIGVsZW1lbnQgb2YgbnVtcyBhcmUgZGl2aXNpYmxlIGJ5IHAgPSAxLgpBbHNvLCBldmVyeSBzdWJhcnJheSBvZiBudW1zIHdpbGwgaGF2ZSBhdCBtb3N0IDQgZWxlbWVudHMgdGhhdCBhcmUgZGl2aXNpYmxlIGJ5IDEuClNpbmNlIGFsbCBzdWJhcnJheXMgYXJlIGRpc3RpbmN0LCB0aGUgdG90YWwgbnVtYmVyIG9mIHN1YmFycmF5cyBzYXRpc2Z5aW5nIGFsbCB0aGUgY29uc3RyYWludHMgaXMgMTAuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMjAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0sIHAgJmx0Oz0gMjAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGsgJmx0Oz0gbnVtcy5sZW5ndGg8L2NvZGU+PC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Rm9sbG93IHVwOjwvc3Ryb25nPjwvcD4KPHA+Q2FuIHlvdSBzb2x2ZSB0aGlzIHByb2JsZW0gaW4gTyhuPHN1cD4yPC9zdXA+KSB0aW1lIGNvbXBsZXhpdHk/PC9wPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Trie",
+ "Rolling Hash",
+ "Hash Function",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2260. Minimum Consecutive Cards to Pick Up",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5jYXJkczwvY29kZT4gd2hlcmUgPGNvZGU+Y2FyZHNbaV08L2NvZGU+IHJlcHJlc2VudHMgdGhlIDxzdHJvbmc+dmFsdWU8L3N0cm9uZz4gb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBjYXJkLiBBIHBhaXIgb2YgY2FyZHMgYXJlIDxzdHJvbmc+bWF0Y2hpbmc8L3N0cm9uZz4gaWYgdGhlIGNhcmRzIGhhdmUgdGhlIDxzdHJvbmc+c2FtZTwvc3Ryb25nPiB2YWx1ZS48L3A+CjxwPlJldHVybjxlbT4gdGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiBudW1iZXIgb2YgPHN0cm9uZz5jb25zZWN1dGl2ZTwvc3Ryb25nPiBjYXJkcyB5b3UgaGF2ZSB0byBwaWNrIHVwIHRvIGhhdmUgYSBwYWlyIG9mIDxzdHJvbmc+bWF0Y2hpbmc8L3N0cm9uZz4gY2FyZHMgYW1vbmcgdGhlIHBpY2tlZCBjYXJkcy48L2VtPiBJZiBpdCBpcyBpbXBvc3NpYmxlIHRvIGhhdmUgbWF0Y2hpbmcgY2FyZHMsIHJldHVybiA8Y29kZT4tMTwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBjYXJkcyA9IFszLDQsMiwzLDQsN10KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gV2UgY2FuIHBpY2sgdXAgdGhlIGNhcmRzIFszLDQsMiwzXSB3aGljaCBjb250YWluIGEgbWF0Y2hpbmcgcGFpciBvZiBjYXJkcyB3aXRoIHZhbHVlIDMuIE5vdGUgdGhhdCBwaWNraW5nIHVwIHRoZSBjYXJkcyBbNCwyLDMsNF0gaXMgYWxzbyBvcHRpbWFsLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBjYXJkcyA9IFsxLDAsNSwzXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gLTEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgaXMgbm8gd2F5IHRvIHBpY2sgdXAgYSBzZXQgb2YgY29uc2VjdXRpdmUgY2FyZHMgdGhhdCBjb250YWluIGEgcGFpciBvZiBtYXRjaGluZyBjYXJkcy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBjYXJkcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gY2FyZHNbaV0gJmx0Oz0gMTA8c3VwPjY8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Sliding Window"
+ ]
+ },
+ {
+ "title": "2250. Count Number of Rectangles Containing Each Point",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPnJlY3RhbmdsZXM8L2NvZGU+IHdoZXJlIDxjb2RlPnJlY3RhbmdsZXNbaV0gPSBbbDxzdWI+aTwvc3ViPiwgaDxzdWI+aTwvc3ViPl08L2NvZGU+IGluZGljYXRlcyB0aGF0IDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiByZWN0YW5nbGUgaGFzIGEgbGVuZ3RoIG9mIDxjb2RlPmw8c3ViPmk8L3N1Yj48L2NvZGU+IGFuZCBhIGhlaWdodCBvZiA8Y29kZT5oPHN1Yj5pPC9zdWI+PC9jb2RlPi4gWW91IGFyZSBhbHNvIGdpdmVuIGEgMkQgaW50ZWdlciBhcnJheSA8Y29kZT5wb2ludHM8L2NvZGU+IHdoZXJlIDxjb2RlPnBvaW50c1tqXSA9IFt4PHN1Yj5qPC9zdWI+LCB5PHN1Yj5qPC9zdWI+XTwvY29kZT4gaXMgYSBwb2ludCB3aXRoIGNvb3JkaW5hdGVzIDxjb2RlPih4PHN1Yj5qPC9zdWI+LCB5PHN1Yj5qPC9zdWI+KTwvY29kZT4uPC9wPgo8cD5UaGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHJlY3RhbmdsZSBoYXMgaXRzIDxzdHJvbmc+Ym90dG9tLWxlZnQgY29ybmVyPC9zdHJvbmc+IHBvaW50IGF0IHRoZSBjb29yZGluYXRlcyA8Y29kZT4oMCwgMCk8L2NvZGU+IGFuZCBpdHMgPHN0cm9uZz50b3AtcmlnaHQgY29ybmVyPC9zdHJvbmc+IHBvaW50IGF0IDxjb2RlPihsPHN1Yj5pPC9zdWI+LCBoPHN1Yj5pPC9zdWI+KTwvY29kZT4uPC9wPgo8cD5SZXR1cm48ZW0+IGFuIGludGVnZXIgYXJyYXkgPC9lbT48Y29kZT5jb3VudDwvY29kZT48ZW0+IG9mIGxlbmd0aCA8L2VtPjxjb2RlPnBvaW50cy5sZW5ndGg8L2NvZGU+PGVtPiB3aGVyZSA8L2VtPjxjb2RlPmNvdW50W2pdPC9jb2RlPjxlbT4gaXMgdGhlIG51bWJlciBvZiByZWN0YW5nbGVzIHRoYXQgPHN0cm9uZz5jb250YWluPC9zdHJvbmc+IHRoZSA8L2VtPjxjb2RlPmo8c3VwPnRoPC9zdXA+PC9jb2RlPjxlbT4gcG9pbnQuPC9lbT48L3A+CjxwPlRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gcmVjdGFuZ2xlIDxzdHJvbmc+Y29udGFpbnM8L3N0cm9uZz4gdGhlIDxjb2RlPmo8c3VwPnRoPC9zdXA+PC9jb2RlPiBwb2ludCBpZiA8Y29kZT4wICZsdDs9IHg8c3ViPmo8L3N1Yj4gJmx0Oz0gbDxzdWI+aTwvc3ViPjwvY29kZT4gYW5kIDxjb2RlPjAgJmx0Oz0geTxzdWI+ajwvc3ViPiAmbHQ7PSBoPHN1Yj5pPC9zdWI+PC9jb2RlPi4gTm90ZSB0aGF0IHBvaW50cyB0aGF0IGxpZSBvbiB0aGUgPHN0cm9uZz5lZGdlczwvc3Ryb25nPiBvZiBhIHJlY3RhbmdsZSBhcmUgYWxzbyBjb25zaWRlcmVkIHRvIGJlIGNvbnRhaW5lZCBieSB0aGF0IHJlY3RhbmdsZS48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDMvMDIvZXhhbXBsZTEucG5nIiBzdHlsZT0id2lkdGg6IDMwMHB4OyBoZWlnaHQ6IDUwOXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHJlY3RhbmdsZXMgPSBbWzEsMl0sWzIsM10sWzIsNV1dLCBwb2ludHMgPSBbWzIsMV0sWzEsNF1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMiwxXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKVGhlIGZpcnN0IHJlY3RhbmdsZSBjb250YWlucyBubyBwb2ludHMuClRoZSBzZWNvbmQgcmVjdGFuZ2xlIGNvbnRhaW5zIG9ubHkgdGhlIHBvaW50ICgyLCAxKS4KVGhlIHRoaXJkIHJlY3RhbmdsZSBjb250YWlucyB0aGUgcG9pbnRzICgyLCAxKSBhbmQgKDEsIDQpLgpUaGUgbnVtYmVyIG9mIHJlY3RhbmdsZXMgdGhhdCBjb250YWluIHRoZSBwb2ludCAoMiwgMSkgaXMgMi4KVGhlIG51bWJlciBvZiByZWN0YW5nbGVzIHRoYXQgY29udGFpbiB0aGUgcG9pbnQgKDEsIDQpIGlzIDEuClRoZXJlZm9yZSwgd2UgcmV0dXJuIFsyLCAxXS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMy8wMi9leGFtcGxlMi5wbmciIHN0eWxlPSJ3aWR0aDogMzAwcHg7IGhlaWdodDogMzEycHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcmVjdGFuZ2xlcyA9IFtbMSwxXSxbMiwyXSxbMywzXV0sIHBvaW50cyA9IFtbMSwzXSxbMSwxXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsxLDNdCjxzdHJvbmc+RXhwbGFuYXRpb246Cjwvc3Ryb25nPlRoZSBmaXJzdCByZWN0YW5nbGUgY29udGFpbnMgb25seSB0aGUgcG9pbnQgKDEsIDEpLgpUaGUgc2Vjb25kIHJlY3RhbmdsZSBjb250YWlucyBvbmx5IHRoZSBwb2ludCAoMSwgMSkuClRoZSB0aGlyZCByZWN0YW5nbGUgY29udGFpbnMgdGhlIHBvaW50cyAoMSwgMykgYW5kICgxLCAxKS4KVGhlIG51bWJlciBvZiByZWN0YW5nbGVzIHRoYXQgY29udGFpbiB0aGUgcG9pbnQgKDEsIDMpIGlzIDEuClRoZSBudW1iZXIgb2YgcmVjdGFuZ2xlcyB0aGF0IGNvbnRhaW4gdGhlIHBvaW50ICgxLCAxKSBpcyAzLgpUaGVyZWZvcmUsIHdlIHJldHVybiBbMSwgM10uCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gcmVjdGFuZ2xlcy5sZW5ndGgsIHBvaW50cy5sZW5ndGggJmx0Oz0gNSAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5yZWN0YW5nbGVzW2ldLmxlbmd0aCA9PSBwb2ludHNbal0ubGVuZ3RoID09IDI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbDxzdWI+aTwvc3ViPiwgeDxzdWI+ajwvc3ViPiAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBoPHN1Yj5pPC9zdWI+LCB5PHN1Yj5qPC9zdWI+ICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+QWxsIHRoZSA8Y29kZT5yZWN0YW5nbGVzPC9jb2RlPiBhcmUgPHN0cm9uZz51bmlxdWU8L3N0cm9uZz4uPC9saT4KPGxpPkFsbCB0aGUgPGNvZGU+cG9pbnRzPC9jb2RlPiBhcmUgPHN0cm9uZz51bmlxdWU8L3N0cm9uZz4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Binary Indexed Tree",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2249. Count Lattice Points Inside a Circle",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgMkQgaW50ZWdlciBhcnJheSA8Y29kZT5jaXJjbGVzPC9jb2RlPiB3aGVyZSA8Y29kZT5jaXJjbGVzW2ldID0gW3g8c3ViPmk8L3N1Yj4sIHk8c3ViPmk8L3N1Yj4sIHI8c3ViPmk8L3N1Yj5dPC9jb2RlPiByZXByZXNlbnRzIHRoZSBjZW50ZXIgPGNvZGU+KHg8c3ViPmk8L3N1Yj4sIHk8c3ViPmk8L3N1Yj4pPC9jb2RlPiBhbmQgcmFkaXVzIDxjb2RlPnI8c3ViPmk8L3N1Yj48L2NvZGU+IG9mIHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gY2lyY2xlIGRyYXduIG9uIGEgZ3JpZCwgcmV0dXJuIDxlbT50aGUgPHN0cm9uZz5udW1iZXIgb2YgbGF0dGljZSBwb2ludHM8L3N0cm9uZz4gPC9lbT48ZW0+dGhhdCBhcmUgcHJlc2VudCBpbnNpZGUgPHN0cm9uZz5hdCBsZWFzdCBvbmU8L3N0cm9uZz4gY2lyY2xlPC9lbT4uPC9wPgo8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT5BIDxzdHJvbmc+bGF0dGljZSBwb2ludDwvc3Ryb25nPiBpcyBhIHBvaW50IHdpdGggaW50ZWdlciBjb29yZGluYXRlcy48L2xpPgo8bGk+UG9pbnRzIHRoYXQgbGllIDxzdHJvbmc+b24gdGhlIGNpcmN1bWZlcmVuY2Ugb2YgYSBjaXJjbGU8L3N0cm9uZz4gYXJlIGFsc28gY29uc2lkZXJlZCB0byBiZSBpbnNpZGUgaXQuPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMy8wMi9leGEtMTEucG5nIiBzdHlsZT0id2lkdGg6IDMwMHB4OyBoZWlnaHQ6IDMwMHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGNpcmNsZXMgPSBbWzIsMiwxXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIGZpZ3VyZSBhYm92ZSBzaG93cyB0aGUgZ2l2ZW4gY2lyY2xlLgpUaGUgbGF0dGljZSBwb2ludHMgcHJlc2VudCBpbnNpZGUgdGhlIGNpcmNsZSBhcmUgKDEsIDIpLCAoMiwgMSksICgyLCAyKSwgKDIsIDMpLCBhbmQgKDMsIDIpIGFuZCBhcmUgc2hvd24gaW4gZ3JlZW4uCk90aGVyIHBvaW50cyBzdWNoIGFzICgxLCAxKSBhbmQgKDEsIDMpLCB3aGljaCBhcmUgc2hvd24gaW4gcmVkLCBhcmUgbm90IGNvbnNpZGVyZWQgaW5zaWRlIHRoZSBjaXJjbGUuCkhlbmNlLCB0aGUgbnVtYmVyIG9mIGxhdHRpY2UgcG9pbnRzIHByZXNlbnQgaW5zaWRlIGF0IGxlYXN0IG9uZSBjaXJjbGUgaXMgNS48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAzLzAyL2V4YS0yMi5wbmciIHN0eWxlPSJ3aWR0aDogMzAwcHg7IGhlaWdodDogMzAwcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gY2lyY2xlcyA9IFtbMiwyLDJdLFszLDQsMV1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxNgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgZmlndXJlIGFib3ZlIHNob3dzIHRoZSBnaXZlbiBjaXJjbGVzLgpUaGVyZSBhcmUgZXhhY3RseSAxNiBsYXR0aWNlIHBvaW50cyB3aGljaCBhcmUgcHJlc2VudCBpbnNpZGUgYXQgbGVhc3Qgb25lIGNpcmNsZS4gClNvbWUgb2YgdGhlbSBhcmUgKDAsIDIpLCAoMiwgMCksICgyLCA0KSwgKDMsIDIpLCBhbmQgKDQsIDQpLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IGNpcmNsZXMubGVuZ3RoICZsdDs9IDIwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+Y2lyY2xlc1tpXS5sZW5ndGggPT0gMzwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSB4PHN1Yj5pPC9zdWI+LCB5PHN1Yj5pPC9zdWI+ICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSByPHN1Yj5pPC9zdWI+ICZsdDs9IG1pbih4PHN1Yj5pPC9zdWI+LCB5PHN1Yj5pPC9zdWI+KTwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Math",
+ "Geometry",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2233. Maximum Product After K Increments",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gYXJyYXkgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIDxjb2RlPm51bXM8L2NvZGU+IGFuZCBhbiBpbnRlZ2VyIDxjb2RlPms8L2NvZGU+LiBJbiBvbmUgb3BlcmF0aW9uLCB5b3UgbWF5IGNob29zZSA8c3Ryb25nPmFueTwvc3Ryb25nPiBlbGVtZW50IGZyb20gPGNvZGU+bnVtczwvY29kZT4gYW5kIDxzdHJvbmc+aW5jcmVtZW50PC9zdHJvbmc+IGl0IGJ5IDxjb2RlPjE8L2NvZGU+LjwvcD4KPHA+UmV0dXJuPGVtPiB0aGUgPHN0cm9uZz5tYXhpbXVtPC9zdHJvbmc+IDxzdHJvbmc+cHJvZHVjdDwvc3Ryb25nPiBvZiA8L2VtPjxjb2RlPm51bXM8L2NvZGU+PGVtPiBhZnRlciA8c3Ryb25nPmF0IG1vc3Q8L3N0cm9uZz4gPC9lbT48Y29kZT5rPC9jb2RlPjxlbT4gb3BlcmF0aW9ucy4gPC9lbT5TaW5jZSB0aGUgYW5zd2VyIG1heSBiZSB2ZXJ5IGxhcmdlLCByZXR1cm4gaXQgPGI+bW9kdWxvPC9iPiA8Y29kZT4xMDxzdXA+OTwvc3VwPiArIDc8L2NvZGU+LiBOb3RlIHRoYXQgeW91IHNob3VsZCBtYXhpbWl6ZSB0aGUgcHJvZHVjdCBiZWZvcmUgdGFraW5nIHRoZSBtb2R1bG8uwqA8L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMCw0XSwgayA9IDUKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEluY3JlbWVudCB0aGUgZmlyc3QgbnVtYmVyIDUgdGltZXMuCk5vdyBudW1zID0gWzUsIDRdLCB3aXRoIGEgcHJvZHVjdCBvZiA1ICogNCA9IDIwLgpJdCBjYW4gYmUgc2hvd24gdGhhdCAyMCBpcyBtYXhpbXVtIHByb2R1Y3QgcG9zc2libGUsIHNvIHdlIHJldHVybiAyMC4KTm90ZSB0aGF0IHRoZXJlIG1heSBiZSBvdGhlciB3YXlzIHRvIGluY3JlbWVudCBudW1zIHRvIGhhdmUgdGhlIG1heGltdW0gcHJvZHVjdC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs2LDMsMywyXSwgayA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIxNgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBJbmNyZW1lbnQgdGhlIHNlY29uZCBudW1iZXIgMSB0aW1lIGFuZCBpbmNyZW1lbnQgdGhlIGZvdXJ0aCBudW1iZXIgMSB0aW1lLgpOb3cgbnVtcyA9IFs2LCA0LCAzLCAzXSwgd2l0aCBhIHByb2R1Y3Qgb2YgNiAqIDQgKiAzICogMyA9IDIxNi4KSXQgY2FuIGJlIHNob3duIHRoYXQgMjE2IGlzIG1heGltdW0gcHJvZHVjdCBwb3NzaWJsZSwgc28gd2UgcmV0dXJuIDIxNi4KTm90ZSB0aGF0IHRoZXJlIG1heSBiZSBvdGhlciB3YXlzIHRvIGluY3JlbWVudCBudW1zIHRvIGhhdmUgdGhlIG1heGltdW0gcHJvZHVjdC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCwgayAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBudW1zW2ldICZsdDs9IDEwPHN1cD42PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Greedy",
+ "Heap (Priority Queue)"
+ ]
+ },
+ {
+ "title": "2232. Minimize Result by Adding Parentheses to Expression",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBzdHJpbmcgPGNvZGU+ZXhwcmVzc2lvbjwvY29kZT4gb2YgdGhlIGZvcm0gPGNvZGU+IiZsdDtudW0xJmd0OysmbHQ7bnVtMiZndDsiPC9jb2RlPiB3aGVyZSA8Y29kZT4mbHQ7bnVtMSZndDs8L2NvZGU+IGFuZCA8Y29kZT4mbHQ7bnVtMiZndDs8L2NvZGU+IHJlcHJlc2VudCBwb3NpdGl2ZSBpbnRlZ2Vycy48L3A+CjxwPkFkZCBhIHBhaXIgb2YgcGFyZW50aGVzZXMgdG8gPGNvZGU+ZXhwcmVzc2lvbjwvY29kZT4gc3VjaCB0aGF0IGFmdGVyIHRoZSBhZGRpdGlvbiBvZiBwYXJlbnRoZXNlcywgPGNvZGU+ZXhwcmVzc2lvbjwvY29kZT4gaXMgYSA8c3Ryb25nPnZhbGlkPC9zdHJvbmc+IG1hdGhlbWF0aWNhbCBleHByZXNzaW9uIGFuZCBldmFsdWF0ZXMgdG8gdGhlIDxzdHJvbmc+c21hbGxlc3Q8L3N0cm9uZz4gcG9zc2libGUgdmFsdWUuIFRoZSBsZWZ0IHBhcmVudGhlc2lzIDxzdHJvbmc+bXVzdDwvc3Ryb25nPiBiZSBhZGRlZCB0byB0aGUgbGVmdCBvZiA8Y29kZT4nKyc8L2NvZGU+IGFuZCB0aGUgcmlnaHQgcGFyZW50aGVzaXMgPHN0cm9uZz5tdXN0PC9zdHJvbmc+IGJlIGFkZGVkIHRvIHRoZSByaWdodCBvZiA8Y29kZT4nKyc8L2NvZGU+LjwvcD4KPHA+UmV0dXJuIDxjb2RlPmV4cHJlc3Npb248L2NvZGU+PGVtPiBhZnRlciBhZGRpbmcgYSBwYWlyIG9mIHBhcmVudGhlc2VzIHN1Y2ggdGhhdCA8L2VtPjxjb2RlPmV4cHJlc3Npb248L2NvZGU+PGVtPiBldmFsdWF0ZXMgdG8gdGhlIDxzdHJvbmc+c21hbGxlc3Q8L3N0cm9uZz4gcG9zc2libGUgdmFsdWUuPC9lbT4gSWYgdGhlcmUgYXJlIG11bHRpcGxlIGFuc3dlcnMgdGhhdCB5aWVsZCB0aGUgc2FtZSByZXN1bHQsIHJldHVybiBhbnkgb2YgdGhlbS48L3A+CjxwPlRoZSBpbnB1dCBoYXMgYmVlbiBnZW5lcmF0ZWQgc3VjaCB0aGF0IHRoZSBvcmlnaW5hbCB2YWx1ZSBvZiA8Y29kZT5leHByZXNzaW9uPC9jb2RlPiwgYW5kIHRoZSB2YWx1ZSBvZiA8Y29kZT5leHByZXNzaW9uPC9jb2RlPiBhZnRlciBhZGRpbmcgYW55IHBhaXIgb2YgcGFyZW50aGVzZXMgdGhhdCBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZpdHMgd2l0aGluIGEgc2lnbmVkIDMyLWJpdCBpbnRlZ2VyLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZXhwcmVzc2lvbiA9ICIyNDcrMzgiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiMig0NyszOCkiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSA8Y29kZT5leHByZXNzaW9uPC9jb2RlPiBldmFsdWF0ZXMgdG8gMiAqICg0NyArIDM4KSA9IDIgKiA4NSA9IDE3MC4KTm90ZSB0aGF0ICIyKDQpNyszOCIgaXMgaW52YWxpZCBiZWNhdXNlIHRoZSByaWdodCBwYXJlbnRoZXNpcyBtdXN0IGJlIHRvIHRoZSByaWdodCBvZiB0aGUgPGNvZGU+JysnPC9jb2RlPi4KSXQgY2FuIGJlIHNob3duIHRoYXQgMTcwIGlzIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSB2YWx1ZS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZXhwcmVzc2lvbiA9ICIxMiszNCIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICIxKDIrMyk0Igo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgZXhwcmVzc2lvbiBldmFsdWF0ZXMgdG8gMSAqICgyICsgMykgKiA0ID0gMSAqIDUgKiA0ID0gMjAuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGV4cHJlc3Npb24gPSAiOTk5Kzk5OSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICIoOTk5Kzk5OSkiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSA8Y29kZT5leHByZXNzaW9uPC9jb2RlPiBldmFsdWF0ZXMgdG8gOTk5ICsgOTk5ID0gMTk5OC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MyAmbHQ7PSBleHByZXNzaW9uLmxlbmd0aCAmbHQ7PSAxMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+ZXhwcmVzc2lvbjwvY29kZT4gY29uc2lzdHMgb2YgZGlnaXRzIGZyb20gPGNvZGU+JzEnPC9jb2RlPiB0byA8Y29kZT4nOSc8L2NvZGU+IGFuZCA8Y29kZT4nKyc8L2NvZGU+LjwvbGk+CjxsaT48Y29kZT5leHByZXNzaW9uPC9jb2RlPiBzdGFydHMgYW5kIGVuZHMgd2l0aCBkaWdpdHMuPC9saT4KPGxpPjxjb2RlPmV4cHJlc3Npb248L2NvZGU+IGNvbnRhaW5zIGV4YWN0bHkgb25lIDxjb2RlPicrJzwvY29kZT4uPC9saT4KPGxpPlRoZSBvcmlnaW5hbCB2YWx1ZSBvZiA8Y29kZT5leHByZXNzaW9uPC9jb2RlPiwgYW5kIHRoZSB2YWx1ZSBvZiA8Y29kZT5leHByZXNzaW9uPC9jb2RlPiBhZnRlciBhZGRpbmcgYW55IHBhaXIgb2YgcGFyZW50aGVzZXMgdGhhdCBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZpdHMgd2l0aGluIGEgc2lnbmVkIDMyLWJpdCBpbnRlZ2VyLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "String",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2222. Number of Ways to Select Buildings",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBiaW5hcnkgc3RyaW5nIDxjb2RlPnM8L2NvZGU+IHdoaWNoIHJlcHJlc2VudHMgdGhlIHR5cGVzIG9mIGJ1aWxkaW5ncyBhbG9uZyBhIHN0cmVldCB3aGVyZTo8L3A+Cjx1bD4KPGxpPjxjb2RlPnNbaV0gPSAnMCc8L2NvZGU+IGRlbm90ZXMgdGhhdCB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGJ1aWxkaW5nIGlzIGFuIG9mZmljZSBhbmQ8L2xpPgo8bGk+PGNvZGU+c1tpXSA9ICcxJzwvY29kZT4gZGVub3RlcyB0aGF0IHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gYnVpbGRpbmcgaXMgYSByZXN0YXVyYW50LjwvbGk+CjwvdWw+CjxwPkFzIGEgY2l0eSBvZmZpY2lhbCwgeW91IHdvdWxkIGxpa2UgdG8gPHN0cm9uZz5zZWxlY3Q8L3N0cm9uZz4gMyBidWlsZGluZ3MgZm9yIHJhbmRvbSBpbnNwZWN0aW9uLiBIb3dldmVyLCB0byBlbnN1cmUgdmFyaWV0eSwgPHN0cm9uZz5ubyB0d28gY29uc2VjdXRpdmU8L3N0cm9uZz4gYnVpbGRpbmdzIG91dCBvZiB0aGUgPHN0cm9uZz5zZWxlY3RlZDwvc3Ryb25nPiBidWlsZGluZ3MgY2FuIGJlIG9mIHRoZSBzYW1lIHR5cGUuPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgZ2l2ZW4gPGNvZGU+cyA9ICIwPHU+PHN0cm9uZz4wPC9zdHJvbmc+PC91PjE8dT48c3Ryb25nPjE8L3N0cm9uZz48L3U+MDx1PjxzdHJvbmc+MTwvc3Ryb25nPjwvdT4iPC9jb2RlPiwgd2UgY2Fubm90IHNlbGVjdCB0aGUgPGNvZGU+MTxzdXA+c3Q8L3N1cD48L2NvZGU+LCA8Y29kZT4zPHN1cD5yZDwvc3VwPjwvY29kZT4sIGFuZCA8Y29kZT41PHN1cD50aDwvc3VwPjwvY29kZT4gYnVpbGRpbmdzIGFzIHRoYXQgd291bGQgZm9ybSA8Y29kZT4iMDxzdHJvbmc+PHU+MTE8L3U+PC9zdHJvbmc+IjwvY29kZT4gd2hpY2ggaXMgPHN0cm9uZz5ub3Q8L3N0cm9uZz4gYWxsb3dlZCBkdWUgdG8gaGF2aW5nIHR3byBjb25zZWN1dGl2ZSBidWlsZGluZ3Mgb2YgdGhlIHNhbWUgdHlwZS48L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPnRoZSA8Yj5udW1iZXIgb2YgdmFsaWQgd2F5czwvYj4gdG8gc2VsZWN0IDMgYnVpbGRpbmdzLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gIjAwMTEwMSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDYKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gClRoZSBmb2xsb3dpbmcgc2V0cyBvZiBpbmRpY2VzIHNlbGVjdGVkIGFyZSB2YWxpZDoKLSBbMCwyLDRdIGZyb20gIjx1PjxzdHJvbmc+MDwvc3Ryb25nPjwvdT4wPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPjE8c3Ryb25nPjx1PjA8L3U+PC9zdHJvbmc+MSIgZm9ybXMgIjAxMCIKLSBbMCwzLDRdIGZyb20gIjx1PjxzdHJvbmc+MDwvc3Ryb25nPjwvdT4wMTx1PjxzdHJvbmc+MTA8L3N0cm9uZz48L3U+MSIgZm9ybXMgIjAxMCIKLSBbMSwyLDRdIGZyb20gIjA8dT48c3Ryb25nPjAxPC9zdHJvbmc+PC91PjE8dT48c3Ryb25nPjA8L3N0cm9uZz48L3U+MSIgZm9ybXMgIjAxMCIKLSBbMSwzLDRdIGZyb20gIjA8dT48c3Ryb25nPjA8L3N0cm9uZz48L3U+MTx1PjxzdHJvbmc+MTA8L3N0cm9uZz48L3U+MSIgZm9ybXMgIjAxMCIKLSBbMiw0LDVdIGZyb20gIjAwPHU+PHN0cm9uZz4xPC9zdHJvbmc+PC91PjE8dT48c3Ryb25nPjAxPC9zdHJvbmc+PC91PiIgZm9ybXMgIjEwMSIKLSBbMyw0LDVdIGZyb20gIjAwMTx1PjxzdHJvbmc+MTAxPC9zdHJvbmc+PC91PiIgZm9ybXMgIjEwMSIKTm8gb3RoZXIgc2VsZWN0aW9uIGlzIHZhbGlkLiBUaHVzLCB0aGVyZSBhcmUgNiB0b3RhbCB3YXlzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gIjExMTAwIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBJdCBjYW4gYmUgc2hvd24gdGhhdCB0aGVyZSBhcmUgbm8gdmFsaWQgc2VsZWN0aW9ucy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MyAmbHQ7PSBzLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+c1tpXTwvY29kZT4gaXMgZWl0aGVyIDxjb2RlPicwJzwvY29kZT4gb3IgPGNvZGU+JzEnPC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "String",
+ "Dynamic Programming",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2221. Find Triangular Sum of an Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+LCB3aGVyZSA8Y29kZT5udW1zW2ldPC9jb2RlPiBpcyBhIGRpZ2l0IGJldHdlZW4gPGNvZGU+MDwvY29kZT4gYW5kIDxjb2RlPjk8L2NvZGU+ICg8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPikuPC9wPgo8cD5UaGUgPHN0cm9uZz50cmlhbmd1bGFyIHN1bTwvc3Ryb25nPiBvZiA8Y29kZT5udW1zPC9jb2RlPiBpcyB0aGUgdmFsdWUgb2YgdGhlIG9ubHkgZWxlbWVudCBwcmVzZW50IGluIDxjb2RlPm51bXM8L2NvZGU+IGFmdGVyIHRoZSBmb2xsb3dpbmcgcHJvY2VzcyB0ZXJtaW5hdGVzOjwvcD4KPG9sPgo8bGk+TGV0IDxjb2RlPm51bXM8L2NvZGU+IGNvbXByaXNlIG9mIDxjb2RlPm48L2NvZGU+IGVsZW1lbnRzLiBJZiA8Y29kZT5uID09IDE8L2NvZGU+LCA8c3Ryb25nPmVuZDwvc3Ryb25nPiB0aGUgcHJvY2Vzcy4gT3RoZXJ3aXNlLCA8c3Ryb25nPmNyZWF0ZTwvc3Ryb25nPiBhIG5ldyA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm5ld051bXM8L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT5uIC0gMTwvY29kZT4uPC9saT4KPGxpPkZvciBlYWNoIGluZGV4IDxjb2RlPmk8L2NvZGU+LCB3aGVyZSA8Y29kZT4wICZsdDs9IGkgJmx0O8KgbiAtIDE8L2NvZGU+LCA8c3Ryb25nPmFzc2lnbjwvc3Ryb25nPiB0aGUgdmFsdWUgb2YgPGNvZGU+bmV3TnVtc1tpXTwvY29kZT4gYXMgPGNvZGU+KG51bXNbaV0gKyBudW1zW2krMV0pICUgMTA8L2NvZGU+LCB3aGVyZSA8Y29kZT4lPC9jb2RlPiBkZW5vdGVzIG1vZHVsbyBvcGVyYXRvci48L2xpPgo8bGk+PHN0cm9uZz5SZXBsYWNlPC9zdHJvbmc+IHRoZSBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiB3aXRoIDxjb2RlPm5ld051bXM8L2NvZGU+LjwvbGk+CjxsaT48c3Ryb25nPlJlcGVhdDwvc3Ryb25nPiB0aGUgZW50aXJlIHByb2Nlc3Mgc3RhcnRpbmcgZnJvbSBzdGVwIDEuPC9saT4KPC9vbD4KPHA+UmV0dXJuIDxlbT50aGUgdHJpYW5ndWxhciBzdW0gb2Y8L2VtPiA8Y29kZT5udW1zPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDIvMjIvZXgxZHJhd2lvLnBuZyIgc3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMiwzLDQsNV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDgKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIGFib3ZlIGRpYWdyYW0gZGVwaWN0cyB0aGUgcHJvY2VzcyBmcm9tIHdoaWNoIHdlIG9idGFpbiB0aGUgdHJpYW5ndWxhciBzdW0gb2YgdGhlIGFycmF5LjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KU2luY2UgdGhlcmUgaXMgb25seSBvbmUgZWxlbWVudCBpbiBudW1zLCB0aGUgdHJpYW5ndWxhciBzdW0gaXMgdGhlIHZhbHVlIG9mIHRoYXQgZWxlbWVudCBpdHNlbGYuPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IG51bXNbaV0gJmx0Oz0gOTwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Math",
+ "Simulation",
+ "Combinatorics"
+ ]
+ },
+ {
+ "title": "2212. Maximum Points in an Archery Competition",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkFsaWNlIGFuZCBCb2IgYXJlIG9wcG9uZW50cyBpbiBhbiBhcmNoZXJ5IGNvbXBldGl0aW9uLiBUaGUgY29tcGV0aXRpb24gaGFzIHNldCB0aGUgZm9sbG93aW5nIHJ1bGVzOjwvcD4KPG9sPgo8bGk+QWxpY2UgZmlyc3Qgc2hvb3RzIDxjb2RlPm51bUFycm93czwvY29kZT4gYXJyb3dzIGFuZCB0aGVuIEJvYiBzaG9vdHMgPGNvZGU+bnVtQXJyb3dzPC9jb2RlPiBhcnJvd3MuPC9saT4KPGxpPlRoZSBwb2ludHMgYXJlIHRoZW4gY2FsY3VsYXRlZCBhcyBmb2xsb3dzOgoJPG9sPgo8bGk+VGhlIHRhcmdldCBoYXMgaW50ZWdlciBzY29yaW5nIHNlY3Rpb25zIHJhbmdpbmcgZnJvbSA8Y29kZT4wPC9jb2RlPiB0byA8Y29kZT4xMTwvY29kZT4gPHN0cm9uZz5pbmNsdXNpdmU8L3N0cm9uZz4uPC9saT4KPGxpPkZvciA8c3Ryb25nPmVhY2g8L3N0cm9uZz4gc2VjdGlvbiBvZiB0aGUgdGFyZ2V0IHdpdGggc2NvcmUgPGNvZGU+azwvY29kZT4gKGluIGJldHdlZW4gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+MTE8L2NvZGU+KSwgc2F5IEFsaWNlIGFuZCBCb2IgaGF2ZSBzaG90IDxjb2RlPmE8c3ViPms8L3N1Yj48L2NvZGU+IGFuZCA8Y29kZT5iPHN1Yj5rPC9zdWI+PC9jb2RlPiBhcnJvd3Mgb24gdGhhdCBzZWN0aW9uIHJlc3BlY3RpdmVseS4gSWYgPGNvZGU+YTxzdWI+azwvc3ViPiAmZ3Q7PSBiPHN1Yj5rPC9zdWI+PC9jb2RlPiwgdGhlbiBBbGljZSB0YWtlcyA8Y29kZT5rPC9jb2RlPiBwb2ludHMuIElmIDxjb2RlPmE8c3ViPms8L3N1Yj4gJmx0OyBiPHN1Yj5rPC9zdWI+PC9jb2RlPiwgdGhlbiBCb2IgdGFrZXMgPGNvZGU+azwvY29kZT4gcG9pbnRzLjwvbGk+CjxsaT5Ib3dldmVyLCBpZiA8Y29kZT5hPHN1Yj5rPC9zdWI+ID09IGI8c3ViPms8L3N1Yj4gPT0gMDwvY29kZT4sIHRoZW4gPHN0cm9uZz5ub2JvZHk8L3N0cm9uZz4gdGFrZXMgPGNvZGU+azwvY29kZT4gcG9pbnRzLjwvbGk+Cjwvb2w+CjwvbGk+Cjwvb2w+Cjx1bD4KPGxpPgo8cD5Gb3IgZXhhbXBsZSwgaWYgQWxpY2UgYW5kIEJvYiBib3RoIHNob3QgPGNvZGU+MjwvY29kZT4gYXJyb3dzIG9uIHRoZSBzZWN0aW9uIHdpdGggc2NvcmUgPGNvZGU+MTE8L2NvZGU+LCB0aGVuIEFsaWNlIHRha2VzIDxjb2RlPjExPC9jb2RlPiBwb2ludHMuIE9uIHRoZSBvdGhlciBoYW5kLCBpZiBBbGljZSBzaG90IDxjb2RlPjA8L2NvZGU+IGFycm93cyBvbiB0aGUgc2VjdGlvbiB3aXRoIHNjb3JlIDxjb2RlPjExPC9jb2RlPiBhbmQgQm9iIHNob3QgPGNvZGU+MjwvY29kZT4gYXJyb3dzIG9uIHRoYXQgc2FtZSBzZWN0aW9uLCB0aGVuIEJvYiB0YWtlcyA8Y29kZT4xMTwvY29kZT4gcG9pbnRzLjwvcD4KPC9saT4KPC91bD4KPHA+WW91IGFyZSBnaXZlbiB0aGUgaW50ZWdlciA8Y29kZT5udW1BcnJvd3M8L2NvZGU+IGFuZCBhbiBpbnRlZ2VyIGFycmF5IDxjb2RlPmFsaWNlQXJyb3dzPC9jb2RlPiBvZiBzaXplIDxjb2RlPjEyPC9jb2RlPiwgd2hpY2ggcmVwcmVzZW50cyB0aGUgbnVtYmVyIG9mIGFycm93cyBBbGljZSBzaG90IG9uIGVhY2ggc2NvcmluZyBzZWN0aW9uIGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+MTE8L2NvZGU+LiBOb3csIEJvYiB3YW50cyB0byA8c3Ryb25nPm1heGltaXplPC9zdHJvbmc+IHRoZSB0b3RhbCBudW1iZXIgb2YgcG9pbnRzIGhlIGNhbiBvYnRhaW4uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSBhcnJheSA8L2VtPjxjb2RlPmJvYkFycm93czwvY29kZT48ZW0+IHdoaWNoIHJlcHJlc2VudHMgdGhlIG51bWJlciBvZiBhcnJvd3MgQm9iIHNob3Qgb24gPHN0cm9uZz5lYWNoPC9zdHJvbmc+IHNjb3Jpbmcgc2VjdGlvbiBmcm9tIDwvZW0+PGNvZGU+MDwvY29kZT48ZW0+IHRvIDwvZW0+PGNvZGU+MTE8L2NvZGU+LiBUaGUgc3VtIG9mIHRoZSB2YWx1ZXMgaW4gPGNvZGU+Ym9iQXJyb3dzPC9jb2RlPiBzaG91bGQgZXF1YWwgPGNvZGU+bnVtQXJyb3dzPC9jb2RlPi48L3A+CjxwPklmIHRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIGZvciBCb2IgdG8gZWFybiB0aGUgbWF4aW11bSB0b3RhbCBwb2ludHMsIHJldHVybiA8c3Ryb25nPmFueTwvc3Ryb25nPiBvbmUgb2YgdGhlbS48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDIvMjQvZXgxLmpwZyIgc3R5bGU9IndpZHRoOiA2MDBweDsgaGVpZ2h0OiAxMjBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1BcnJvd3MgPSA5LCBhbGljZUFycm93cyA9IFsxLDEsMCwxLDAsMCwyLDEsMCwxLDIsMF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFswLDAsMCwwLDEsMSwwLDAsMSwyLDMsMV0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHRhYmxlIGFib3ZlIHNob3dzIGhvdyB0aGUgY29tcGV0aXRpb24gaXMgc2NvcmVkLiAKQm9iIGVhcm5zIGEgdG90YWwgcG9pbnQgb2YgNCArIDUgKyA4ICsgOSArIDEwICsgMTEgPSA0Ny4KSXQgY2FuIGJlIHNob3duIHRoYXQgQm9iIGNhbm5vdCBvYnRhaW4gYSBzY29yZSBoaWdoZXIgdGhhbiA0NyBwb2ludHMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDIvMjQvZXgybmV3LmpwZyIgc3R5bGU9IndpZHRoOiA2MDBweDsgaGVpZ2h0OiAxMTdweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1BcnJvd3MgPSAzLCBhbGljZUFycm93cyA9IFswLDAsMSwwLDAsMCwwLDAsMCwwLDAsMl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFswLDAsMCwwLDAsMCwwLDAsMSwxLDEsMF0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHRhYmxlIGFib3ZlIHNob3dzIGhvdyB0aGUgY29tcGV0aXRpb24gaXMgc2NvcmVkLgpCb2IgZWFybnMgYSB0b3RhbCBwb2ludCBvZiA4ICsgOSArIDEwID0gMjcuCkl0IGNhbiBiZSBzaG93biB0aGF0IEJvYiBjYW5ub3Qgb2J0YWluIGEgc2NvcmUgaGlnaGVyIHRoYW4gMjcgcG9pbnRzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bUFycm93cyAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+YWxpY2VBcnJvd3MubGVuZ3RoID09IGJvYkFycm93cy5sZW5ndGggPT0gMTI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gYWxpY2VBcnJvd3NbaV0sIGJvYkFycm93c1tpXSAmbHQ7PSBudW1BcnJvd3M8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnN1bShhbGljZUFycm93c1tpXSkgPT0gbnVtQXJyb3dzPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Bit Manipulation",
+ "Recursion",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2211. Count Collisions on a Road",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGFyZSA8Y29kZT5uPC9jb2RlPiBjYXJzIG9uIGFuIGluZmluaXRlbHkgbG9uZyByb2FkLiBUaGUgY2FycyBhcmUgbnVtYmVyZWQgZnJvbSA8Y29kZT4wPC9jb2RlPiB0byA8Y29kZT5uIC0gMTwvY29kZT4gZnJvbSBsZWZ0IHRvIHJpZ2h0IGFuZCBlYWNoIGNhciBpcyBwcmVzZW50IGF0IGEgPHN0cm9uZz51bmlxdWU8L3N0cm9uZz4gcG9pbnQuPC9wPgo8cD5Zb3UgYXJlIGdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gc3RyaW5nIDxjb2RlPmRpcmVjdGlvbnM8L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT5uPC9jb2RlPi4gPGNvZGU+ZGlyZWN0aW9uc1tpXTwvY29kZT4gY2FuIGJlIGVpdGhlciA8Y29kZT4nTCc8L2NvZGU+LCA8Y29kZT4nUic8L2NvZGU+LCBvciA8Y29kZT4nUyc8L2NvZGU+IGRlbm90aW5nIHdoZXRoZXIgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBjYXIgaXMgbW92aW5nIHRvd2FyZHMgdGhlIDxzdHJvbmc+bGVmdDwvc3Ryb25nPiwgdG93YXJkcyB0aGUgPHN0cm9uZz5yaWdodDwvc3Ryb25nPiwgb3IgPHN0cm9uZz5zdGF5aW5nPC9zdHJvbmc+IGF0IGl0cyBjdXJyZW50IHBvaW50IHJlc3BlY3RpdmVseS4gRWFjaCBtb3ZpbmcgY2FyIGhhcyB0aGUgPHN0cm9uZz5zYW1lIHNwZWVkPC9zdHJvbmc+LjwvcD4KPHA+VGhlIG51bWJlciBvZiBjb2xsaXNpb25zIGNhbiBiZSBjYWxjdWxhdGVkIGFzIGZvbGxvd3M6PC9wPgo8dWw+CjxsaT5XaGVuIHR3byBjYXJzIG1vdmluZyBpbiA8c3Ryb25nPm9wcG9zaXRlPC9zdHJvbmc+IGRpcmVjdGlvbnMgY29sbGlkZSB3aXRoIGVhY2ggb3RoZXIsIHRoZSBudW1iZXIgb2YgY29sbGlzaW9ucyBpbmNyZWFzZXMgYnkgPGNvZGU+MjwvY29kZT4uPC9saT4KPGxpPldoZW4gYSBtb3ZpbmcgY2FyIGNvbGxpZGVzIHdpdGggYSBzdGF0aW9uYXJ5IGNhciwgdGhlIG51bWJlciBvZiBjb2xsaXNpb25zIGluY3JlYXNlcyBieSA8Y29kZT4xPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5BZnRlciBhIGNvbGxpc2lvbiwgdGhlIGNhcnMgaW52b2x2ZWQgY2FuIG5vIGxvbmdlciBtb3ZlIGFuZCB3aWxsIHN0YXkgYXQgdGhlIHBvaW50IHdoZXJlIHRoZXkgY29sbGlkZWQuIE90aGVyIHRoYW4gdGhhdCwgY2FycyBjYW5ub3QgY2hhbmdlIHRoZWlyIHN0YXRlIG9yIGRpcmVjdGlvbiBvZiBtb3Rpb24uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPnRvdGFsIG51bWJlciBvZiBjb2xsaXNpb25zPC9zdHJvbmc+IHRoYXQgd2lsbCBoYXBwZW4gb24gdGhlIHJvYWQ8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGRpcmVjdGlvbnMgPSAiUkxSU0xMIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgY29sbGlzaW9ucyB0aGF0IHdpbGwgaGFwcGVuIG9uIHRoZSByb2FkIGFyZToKLSBDYXJzIDAgYW5kIDEgd2lsbCBjb2xsaWRlIHdpdGggZWFjaCBvdGhlci4gU2luY2UgdGhleSBhcmUgbW92aW5nIGluIG9wcG9zaXRlIGRpcmVjdGlvbnMsIHRoZSBudW1iZXIgb2YgY29sbGlzaW9ucyBiZWNvbWVzIDAgKyAyID0gMi4KLSBDYXJzIDIgYW5kIDMgd2lsbCBjb2xsaWRlIHdpdGggZWFjaCBvdGhlci4gU2luY2UgY2FyIDMgaXMgc3RhdGlvbmFyeSwgdGhlIG51bWJlciBvZiBjb2xsaXNpb25zIGJlY29tZXMgMiArIDEgPSAzLgotIENhcnMgMyBhbmQgNCB3aWxsIGNvbGxpZGUgd2l0aCBlYWNoIG90aGVyLiBTaW5jZSBjYXIgMyBpcyBzdGF0aW9uYXJ5LCB0aGUgbnVtYmVyIG9mIGNvbGxpc2lvbnMgYmVjb21lcyAzICsgMSA9IDQuCi0gQ2FycyA0IGFuZCA1IHdpbGwgY29sbGlkZSB3aXRoIGVhY2ggb3RoZXIuIEFmdGVyIGNhciA0IGNvbGxpZGVzIHdpdGggY2FyIDMsIGl0IHdpbGwgc3RheSBhdCB0aGUgcG9pbnQgb2YgY29sbGlzaW9uIGFuZCBnZXQgaGl0IGJ5IGNhciA1LiBUaGUgbnVtYmVyIG9mIGNvbGxpc2lvbnMgYmVjb21lcyA0ICsgMSA9IDUuClRodXMsIHRoZSB0b3RhbCBudW1iZXIgb2YgY29sbGlzaW9ucyB0aGF0IHdpbGwgaGFwcGVuIG9uIHRoZSByb2FkIGlzIDUuIAo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBkaXJlY3Rpb25zID0gIkxMUlIiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ck5vIGNhcnMgd2lsbCBjb2xsaWRlIHdpdGggZWFjaCBvdGhlci4gVGh1cywgdGhlIHRvdGFsIG51bWJlciBvZiBjb2xsaXNpb25zIHRoYXQgd2lsbCBoYXBwZW4gb24gdGhlIHJvYWQgaXMgMC48L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IGRpcmVjdGlvbnMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5kaXJlY3Rpb25zW2ldPC9jb2RlPiBpcyBlaXRoZXIgPGNvZGU+J0wnPC9jb2RlPiwgPGNvZGU+J1InPC9jb2RlPiwgb3IgPGNvZGU+J1MnPC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "String",
+ "Stack"
+ ]
+ },
+ {
+ "title": "2208. Minimum Operations to Halve Array Sum",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gYXJyYXkgPGNvZGU+bnVtczwvY29kZT4gb2YgcG9zaXRpdmUgaW50ZWdlcnMuIEluIG9uZSBvcGVyYXRpb24sIHlvdSBjYW4gY2hvb3NlIDxzdHJvbmc+YW55PC9zdHJvbmc+IG51bWJlciBmcm9tIDxjb2RlPm51bXM8L2NvZGU+IGFuZCByZWR1Y2UgaXQgdG8gPHN0cm9uZz5leGFjdGx5PC9zdHJvbmc+IGhhbGYgdGhlIG51bWJlci4gKE5vdGUgdGhhdCB5b3UgbWF5IGNob29zZSB0aGlzIHJlZHVjZWQgbnVtYmVyIGluIGZ1dHVyZSBvcGVyYXRpb25zLik8L3A+CjxwPlJldHVybjxlbT4gdGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiBudW1iZXIgb2Ygb3BlcmF0aW9ucyB0byByZWR1Y2UgdGhlIHN1bSBvZiA8L2VtPjxjb2RlPm51bXM8L2NvZGU+PGVtPiBieSA8c3Ryb25nPmF0IGxlYXN0PC9zdHJvbmc+IGhhbGYuPC9lbT48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNSwxOSw4LDFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBpbml0aWFsIHN1bSBvZiBudW1zIGlzIGVxdWFsIHRvIDUgKyAxOSArIDggKyAxID0gMzMuClRoZSBmb2xsb3dpbmcgaXMgb25lIG9mIHRoZSB3YXlzIHRvIHJlZHVjZSB0aGUgc3VtIGJ5IGF0IGxlYXN0IGhhbGY6ClBpY2sgdGhlIG51bWJlciAxOSBhbmQgcmVkdWNlIGl0IHRvIDkuNS4KUGljayB0aGUgbnVtYmVyIDkuNSBhbmQgcmVkdWNlIGl0IHRvIDQuNzUuClBpY2sgdGhlIG51bWJlciA4IGFuZCByZWR1Y2UgaXQgdG8gNC4KVGhlIGZpbmFsIGFycmF5IGlzIFs1LCA0Ljc1LCA0LCAxXSB3aXRoIGEgdG90YWwgc3VtIG9mIDUgKyA0Ljc1ICsgNCArIDEgPSAxNC43NS4gClRoZSBzdW0gb2YgbnVtcyBoYXMgYmVlbiByZWR1Y2VkIGJ5IDMzIC0gMTQuNzUgPSAxOC4yNSwgd2hpY2ggaXMgYXQgbGVhc3QgaGFsZiBvZiB0aGUgaW5pdGlhbCBzdW0sIDE4LjI1ICZndDs9IDMzLzIgPSAxNi41LgpPdmVyYWxsLCAzIG9wZXJhdGlvbnMgd2VyZSB1c2VkIHNvIHdlIHJldHVybiAzLgpJdCBjYW4gYmUgc2hvd24gdGhhdCB3ZSBjYW5ub3QgcmVkdWNlIHRoZSBzdW0gYnkgYXQgbGVhc3QgaGFsZiBpbiBsZXNzIHRoYW4gMyBvcGVyYXRpb25zLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzMsOCwyMF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGluaXRpYWwgc3VtIG9mIG51bXMgaXMgZXF1YWwgdG8gMyArIDggKyAyMCA9IDMxLgpUaGUgZm9sbG93aW5nIGlzIG9uZSBvZiB0aGUgd2F5cyB0byByZWR1Y2UgdGhlIHN1bSBieSBhdCBsZWFzdCBoYWxmOgpQaWNrIHRoZSBudW1iZXIgMjAgYW5kIHJlZHVjZSBpdCB0byAxMC4KUGljayB0aGUgbnVtYmVyIDEwIGFuZCByZWR1Y2UgaXQgdG8gNS4KUGljayB0aGUgbnVtYmVyIDMgYW5kIHJlZHVjZSBpdCB0byAxLjUuClRoZSBmaW5hbCBhcnJheSBpcyBbMS41LCA4LCA1XSB3aXRoIGEgdG90YWwgc3VtIG9mIDEuNSArIDggKyA1ID0gMTQuNS4gClRoZSBzdW0gb2YgbnVtcyBoYXMgYmVlbiByZWR1Y2VkIGJ5IDMxIC0gMTQuNSA9IDE2LjUsIHdoaWNoIGlzIGF0IGxlYXN0IGhhbGYgb2YgdGhlIGluaXRpYWwgc3VtLCAxNi41ICZndDs9IDMxLzIgPSAxNi41LgpPdmVyYWxsLCAzIG9wZXJhdGlvbnMgd2VyZSB1c2VkIHNvIHdlIHJldHVybiAzLgpJdCBjYW4gYmUgc2hvd24gdGhhdCB3ZSBjYW5ub3QgcmVkdWNlIHRoZSBzdW0gYnkgYXQgbGVhc3QgaGFsZiBpbiBsZXNzIHRoYW4gMyBvcGVyYXRpb25zLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0gJmx0Oz0gMTA8c3VwPjc8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Greedy",
+ "Heap (Priority Queue)"
+ ]
+ },
+ {
+ "title": "2207. Maximize Number of Subsequences in a String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBzdHJpbmcgPGNvZGU+dGV4dDwvY29kZT4gYW5kIGFub3RoZXIgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gc3RyaW5nIDxjb2RlPnBhdHRlcm48L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT4yPC9jb2RlPiwgYm90aCBvZiB3aGljaCBjb25zaXN0IG9mIG9ubHkgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycy48L3A+CjxwPllvdSBjYW4gYWRkIDxzdHJvbmc+ZWl0aGVyPC9zdHJvbmc+IDxjb2RlPnBhdHRlcm5bMF08L2NvZGU+IDxzdHJvbmc+b3I8L3N0cm9uZz4gPGNvZGU+cGF0dGVyblsxXTwvY29kZT4gYW55d2hlcmUgaW4gPGNvZGU+dGV4dDwvY29kZT4gPHN0cm9uZz5leGFjdGx5IG9uY2U8L3N0cm9uZz4uIE5vdGUgdGhhdCB0aGUgY2hhcmFjdGVyIGNhbiBiZSBhZGRlZCBldmVuIGF0IHRoZSBiZWdpbm5pbmcgb3IgYXQgdGhlIGVuZCBvZiA8Y29kZT50ZXh0PC9jb2RlPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBudW1iZXIgb2YgdGltZXM8L2VtPiA8Y29kZT5wYXR0ZXJuPC9jb2RlPiA8ZW0+Y2FuIG9jY3VyIGFzIGEgPHN0cm9uZz5zdWJzZXF1ZW5jZTwvc3Ryb25nPiBvZiB0aGUgbW9kaWZpZWQgPC9lbT48Y29kZT50ZXh0PC9jb2RlPi48L3A+CjxwPkEgPGI+c3Vic2VxdWVuY2U8L2I+IGlzIGEgc3RyaW5nIHRoYXQgY2FuIGJlIGRlcml2ZWQgZnJvbSBhbm90aGVyIHN0cmluZyBieSBkZWxldGluZyBzb21lIG9yIG5vIGNoYXJhY3RlcnMgd2l0aG91dCBjaGFuZ2luZyB0aGUgb3JkZXIgb2YgdGhlIHJlbWFpbmluZyBjaGFyYWN0ZXJzLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gdGV4dCA9ICJhYmRjZGJjIiwgcGF0dGVybiA9ICJhYyIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KSWYgd2UgYWRkIHBhdHRlcm5bMF0gPSAnYScgaW4gYmV0d2VlbiB0ZXh0WzFdIGFuZCB0ZXh0WzJdLCB3ZSBnZXQgImFiPHU+PHN0cm9uZz5hPC9zdHJvbmc+PC91PmRjZGJjIi4gTm93LCB0aGUgbnVtYmVyIG9mIHRpbWVzICJhYyIgb2NjdXJzIGFzIGEgc3Vic2VxdWVuY2UgaXMgNC4KU29tZSBvdGhlciBzdHJpbmdzIHdoaWNoIGhhdmUgNCBzdWJzZXF1ZW5jZXMgImFjIiBhZnRlciBhZGRpbmcgYSBjaGFyYWN0ZXIgdG8gdGV4dCBhcmUgIjx1PjxzdHJvbmc+YTwvc3Ryb25nPjwvdT5hYmRjZGJjIiBhbmQgImFiZDx1PjxzdHJvbmc+YTwvc3Ryb25nPjwvdT5jZGJjIi4KSG93ZXZlciwgc3RyaW5ncyBzdWNoIGFzICJhYmRjPHU+PHN0cm9uZz5hPC9zdHJvbmc+PC91PmRiYyIsICJhYmQ8dT48c3Ryb25nPmM8L3N0cm9uZz48L3U+Y2RiYyIsIGFuZCAiYWJkY2RiYzx1PjxzdHJvbmc+Yzwvc3Ryb25nPjwvdT4iLCBhbHRob3VnaCBvYnRhaW5hYmxlLCBoYXZlIG9ubHkgMyBzdWJzZXF1ZW5jZXMgImFjIiBhbmQgYXJlIHRodXMgc3Vib3B0aW1hbC4KSXQgY2FuIGJlIHNob3duIHRoYXQgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGdldCBtb3JlIHRoYW4gNCBzdWJzZXF1ZW5jZXMgImFjIiBieSBhZGRpbmcgb25seSBvbmUgY2hhcmFjdGVyLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB0ZXh0ID0gImFhYmIiLCBwYXR0ZXJuID0gImFiIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpTb21lIG9mIHRoZSBzdHJpbmdzIHdoaWNoIGNhbiBiZSBvYnRhaW5lZCBmcm9tIHRleHQgYW5kIGhhdmUgNiBzdWJzZXF1ZW5jZXMgImFiIiBhcmUgIjx1PjxzdHJvbmc+YTwvc3Ryb25nPjwvdT5hYWJiIiwgImFhPHU+PHN0cm9uZz5hPC9zdHJvbmc+PC91PmJiIiwgYW5kICJhYWI8dT48c3Ryb25nPmI8L3N0cm9uZz48L3U+YiIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gdGV4dC5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnBhdHRlcm4ubGVuZ3RoID09IDI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnRleHQ8L2NvZGU+IGFuZCA8Y29kZT5wYXR0ZXJuPC9jb2RlPiBjb25zaXN0IG9ubHkgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycy48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "String",
+ "Greedy",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2196. Create Binary Tree From Descriptions",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPmRlc2NyaXB0aW9uczwvY29kZT4gd2hlcmUgPGNvZGU+ZGVzY3JpcHRpb25zW2ldID0gW3BhcmVudDxzdWI+aTwvc3ViPiwgY2hpbGQ8c3ViPmk8L3N1Yj4sIGlzTGVmdDxzdWI+aTwvc3ViPl08L2NvZGU+IGluZGljYXRlcyB0aGF0IDxjb2RlPnBhcmVudDxzdWI+aTwvc3ViPjwvY29kZT4gaXMgdGhlIDxzdHJvbmc+cGFyZW50PC9zdHJvbmc+IG9mIDxjb2RlPmNoaWxkPHN1Yj5pPC9zdWI+PC9jb2RlPiBpbiBhIDxzdHJvbmc+YmluYXJ5PC9zdHJvbmc+IHRyZWUgb2YgPHN0cm9uZz51bmlxdWU8L3N0cm9uZz4gdmFsdWVzLiBGdXJ0aGVybW9yZSw8L3A+Cjx1bD4KPGxpPklmIDxjb2RlPmlzTGVmdDxzdWI+aTwvc3ViPiA9PSAxPC9jb2RlPiwgdGhlbiA8Y29kZT5jaGlsZDxzdWI+aTwvc3ViPjwvY29kZT4gaXMgdGhlIGxlZnQgY2hpbGQgb2YgPGNvZGU+cGFyZW50PHN1Yj5pPC9zdWI+PC9jb2RlPi48L2xpPgo8bGk+SWYgPGNvZGU+aXNMZWZ0PHN1Yj5pPC9zdWI+ID09IDA8L2NvZGU+LCB0aGVuIDxjb2RlPmNoaWxkPHN1Yj5pPC9zdWI+PC9jb2RlPiBpcyB0aGUgcmlnaHQgY2hpbGQgb2YgPGNvZGU+cGFyZW50PHN1Yj5pPC9zdWI+PC9jb2RlPi48L2xpPgo8L3VsPgo8cD5Db25zdHJ1Y3QgdGhlIGJpbmFyeSB0cmVlIGRlc2NyaWJlZCBieSA8Y29kZT5kZXNjcmlwdGlvbnM8L2NvZGU+IGFuZCByZXR1cm4gPGVtPml0cyA8c3Ryb25nPnJvb3Q8L3N0cm9uZz48L2VtPi48L3A+CjxwPlRoZSB0ZXN0IGNhc2VzIHdpbGwgYmUgZ2VuZXJhdGVkIHN1Y2ggdGhhdCB0aGUgYmluYXJ5IHRyZWUgaXMgPHN0cm9uZz52YWxpZDwvc3Ryb25nPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDIvMDkvZXhhbXBsZTFkcmF3aW8ucG5nIiBzdHlsZT0id2lkdGg6IDMwMHB4OyBoZWlnaHQ6IDIzNnB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGRlc2NyaXB0aW9ucyA9IFtbMjAsMTUsMV0sWzIwLDE3LDBdLFs1MCwyMCwxXSxbNTAsODAsMF0sWzgwLDE5LDFdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzUwLDIwLDgwLDE1LDE3LDE5XQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgcm9vdCBub2RlIGlzIHRoZSBub2RlIHdpdGggdmFsdWUgNTAgc2luY2UgaXQgaGFzIG5vIHBhcmVudC4KVGhlIHJlc3VsdGluZyBiaW5hcnkgdHJlZSBpcyBzaG93biBpbiB0aGUgZGlhZ3JhbS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMi8wOS9leGFtcGxlMmRyYXdpby5wbmciIHN0eWxlPSJ3aWR0aDogMTMxcHg7IGhlaWdodDogMzAwcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZGVzY3JpcHRpb25zID0gW1sxLDIsMV0sWzIsMywwXSxbMyw0LDFdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzEsMixudWxsLG51bGwsMyw0XQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgcm9vdCBub2RlIGlzIHRoZSBub2RlIHdpdGggdmFsdWUgMSBzaW5jZSBpdCBoYXMgbm8gcGFyZW50LgpUaGUgcmVzdWx0aW5nIGJpbmFyeSB0cmVlIGlzIHNob3duIGluIHRoZSBkaWFncmFtLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IGRlc2NyaXB0aW9ucy5sZW5ndGggJmx0Oz0gMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPmRlc2NyaXB0aW9uc1tpXS5sZW5ndGggPT0gMzwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBwYXJlbnQ8c3ViPmk8L3N1Yj4sIGNoaWxkPHN1Yj5pPC9zdWI+ICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IGlzTGVmdDxzdWI+aTwvc3ViPiAmbHQ7PSAxPC9jb2RlPjwvbGk+CjxsaT5UaGUgYmluYXJ5IHRyZWUgZGVzY3JpYmVkIGJ5IDxjb2RlPmRlc2NyaXB0aW9uczwvY29kZT4gaXMgdmFsaWQuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Tree",
+ "Depth-First Search",
+ "Breadth-First Search",
+ "Binary Tree"
+ ]
+ },
+ {
+ "title": "2195. Append K Integers With Minimal Sum",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBhbmQgYW4gaW50ZWdlciA8Y29kZT5rPC9jb2RlPi4gQXBwZW5kIDxjb2RlPms8L2NvZGU+IDxzdHJvbmc+dW5pcXVlIHBvc2l0aXZlPC9zdHJvbmc+IGludGVnZXJzIHRoYXQgZG8gPHN0cm9uZz5ub3Q8L3N0cm9uZz4gYXBwZWFyIGluIDxjb2RlPm51bXM8L2NvZGU+IHRvIDxjb2RlPm51bXM8L2NvZGU+IHN1Y2ggdGhhdCB0aGUgcmVzdWx0aW5nIHRvdGFsIHN1bSBpcyA8c3Ryb25nPm1pbmltdW08L3N0cm9uZz4uPC9wPgo8cD5SZXR1cm48ZW0+IHRoZSBzdW0gb2YgdGhlPC9lbT4gPGNvZGU+azwvY29kZT4gPGVtPmludGVnZXJzIGFwcGVuZGVkIHRvPC9lbT4gPGNvZGU+bnVtczwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsNCwyNSwxMCwyNV0sIGsgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA1CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSB0d28gdW5pcXVlIHBvc2l0aXZlIGludGVnZXJzIHRoYXQgZG8gbm90IGFwcGVhciBpbiBudW1zIHdoaWNoIHdlIGFwcGVuZCBhcmUgMiBhbmQgMy4KVGhlIHJlc3VsdGluZyBzdW0gb2YgbnVtcyBpcyAxICsgNCArIDI1ICsgMTAgKyAyNSArIDIgKyAzID0gNzAsIHdoaWNoIGlzIHRoZSBtaW5pbXVtLgpUaGUgc3VtIG9mIHRoZSB0d28gaW50ZWdlcnMgYXBwZW5kZWQgaXMgMiArIDMgPSA1LCBzbyB3ZSByZXR1cm4gNS48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzUsNl0sIGsgPSA2CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyNQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgc2l4IHVuaXF1ZSBwb3NpdGl2ZSBpbnRlZ2VycyB0aGF0IGRvIG5vdCBhcHBlYXIgaW4gbnVtcyB3aGljaCB3ZSBhcHBlbmQgYXJlIDEsIDIsIDMsIDQsIDcsIGFuZCA4LgpUaGUgcmVzdWx0aW5nIHN1bSBvZiBudW1zIGlzIDUgKyA2ICsgMSArIDIgKyAzICsgNCArIDcgKyA4ID0gMzYsIHdoaWNoIGlzIHRoZSBtaW5pbXVtLiAKVGhlIHN1bSBvZiB0aGUgc2l4IGludGVnZXJzIGFwcGVuZGVkIGlzIDEgKyAyICsgMyArIDQgKyA3ICsgOCA9IDI1LCBzbyB3ZSByZXR1cm4gMjUuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBrICZsdDs9IDEwPHN1cD44PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Math",
+ "Greedy",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2182. Construct String With Repeat Limit",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4gYW5kIGFuIGludGVnZXIgPGNvZGU+cmVwZWF0TGltaXQ8L2NvZGU+LiBDb25zdHJ1Y3QgYSBuZXcgc3RyaW5nIDxjb2RlPnJlcGVhdExpbWl0ZWRTdHJpbmc8L2NvZGU+IHVzaW5nIHRoZSBjaGFyYWN0ZXJzIG9mIDxjb2RlPnM8L2NvZGU+IHN1Y2ggdGhhdCBubyBsZXR0ZXIgYXBwZWFycyA8c3Ryb25nPm1vcmUgdGhhbjwvc3Ryb25nPiA8Y29kZT5yZXBlYXRMaW1pdDwvY29kZT4gdGltZXMgPHN0cm9uZz5pbiBhIHJvdzwvc3Ryb25nPi4gWW91IGRvIDxzdHJvbmc+bm90PC9zdHJvbmc+IGhhdmUgdG8gdXNlIGFsbCBjaGFyYWN0ZXJzIGZyb20gPGNvZGU+czwvY29kZT4uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPmxleGljb2dyYXBoaWNhbGx5IGxhcmdlc3Q8L3N0cm9uZz4gPC9lbT48Y29kZT5yZXBlYXRMaW1pdGVkU3RyaW5nPC9jb2RlPiA8ZW0+cG9zc2libGU8L2VtPi48L3A+CjxwPkEgc3RyaW5nIDxjb2RlPmE8L2NvZGU+IGlzIDxzdHJvbmc+bGV4aWNvZ3JhcGhpY2FsbHkgbGFyZ2VyPC9zdHJvbmc+IHRoYW4gYSBzdHJpbmcgPGNvZGU+YjwvY29kZT4gaWYgaW4gdGhlIGZpcnN0IHBvc2l0aW9uIHdoZXJlIDxjb2RlPmE8L2NvZGU+IGFuZCA8Y29kZT5iPC9jb2RlPiBkaWZmZXIsIHN0cmluZyA8Y29kZT5hPC9jb2RlPiBoYXMgYSBsZXR0ZXIgdGhhdCBhcHBlYXJzIGxhdGVyIGluIHRoZSBhbHBoYWJldCB0aGFuIHRoZSBjb3JyZXNwb25kaW5nIGxldHRlciBpbiA8Y29kZT5iPC9jb2RlPi4gSWYgdGhlIGZpcnN0IDxjb2RlPm1pbihhLmxlbmd0aCwgYi5sZW5ndGgpPC9jb2RlPiBjaGFyYWN0ZXJzIGRvIG5vdCBkaWZmZXIsIHRoZW4gdGhlIGxvbmdlciBzdHJpbmcgaXMgdGhlIGxleGljb2dyYXBoaWNhbGx5IGxhcmdlciBvbmUuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImNjemF6Y2MiLCByZXBlYXRMaW1pdCA9IDMKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICJ6emNjY2FjIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSB1c2UgYWxsIG9mIHRoZSBjaGFyYWN0ZXJzIGZyb20gcyB0byBjb25zdHJ1Y3QgdGhlIHJlcGVhdExpbWl0ZWRTdHJpbmcgInp6Y2NjYWMiLgpUaGUgbGV0dGVyICdhJyBhcHBlYXJzIGF0IG1vc3QgMSB0aW1lIGluIGEgcm93LgpUaGUgbGV0dGVyICdjJyBhcHBlYXJzIGF0IG1vc3QgMyB0aW1lcyBpbiBhIHJvdy4KVGhlIGxldHRlciAneicgYXBwZWFycyBhdCBtb3N0IDIgdGltZXMgaW4gYSByb3cuCkhlbmNlLCBubyBsZXR0ZXIgYXBwZWFycyBtb3JlIHRoYW4gcmVwZWF0TGltaXQgdGltZXMgaW4gYSByb3cgYW5kIHRoZSBzdHJpbmcgaXMgYSB2YWxpZCByZXBlYXRMaW1pdGVkU3RyaW5nLgpUaGUgc3RyaW5nIGlzIHRoZSBsZXhpY29ncmFwaGljYWxseSBsYXJnZXN0IHJlcGVhdExpbWl0ZWRTdHJpbmcgcG9zc2libGUgc28gd2UgcmV0dXJuICJ6emNjY2FjIi4KTm90ZSB0aGF0IHRoZSBzdHJpbmcgInp6Y2NjY2EiIGlzIGxleGljb2dyYXBoaWNhbGx5IGxhcmdlciBidXQgdGhlIGxldHRlciAnYycgYXBwZWFycyBtb3JlIHRoYW4gMyB0aW1lcyBpbiBhIHJvdywgc28gaXQgaXMgbm90IGEgdmFsaWQgcmVwZWF0TGltaXRlZFN0cmluZy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJhYWJhYmFiIiwgcmVwZWF0TGltaXQgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiYmJhYmFhIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSB1c2Ugb25seSBzb21lIG9mIHRoZSBjaGFyYWN0ZXJzIGZyb20gcyB0byBjb25zdHJ1Y3QgdGhlIHJlcGVhdExpbWl0ZWRTdHJpbmcgImJiYWJhYSIuIApUaGUgbGV0dGVyICdhJyBhcHBlYXJzIGF0IG1vc3QgMiB0aW1lcyBpbiBhIHJvdy4KVGhlIGxldHRlciAnYicgYXBwZWFycyBhdCBtb3N0IDIgdGltZXMgaW4gYSByb3cuCkhlbmNlLCBubyBsZXR0ZXIgYXBwZWFycyBtb3JlIHRoYW4gcmVwZWF0TGltaXQgdGltZXMgaW4gYSByb3cgYW5kIHRoZSBzdHJpbmcgaXMgYSB2YWxpZCByZXBlYXRMaW1pdGVkU3RyaW5nLgpUaGUgc3RyaW5nIGlzIHRoZSBsZXhpY29ncmFwaGljYWxseSBsYXJnZXN0IHJlcGVhdExpbWl0ZWRTdHJpbmcgcG9zc2libGUgc28gd2UgcmV0dXJuICJiYmFiYWEiLgpOb3RlIHRoYXQgdGhlIHN0cmluZyAiYmJhYmFhYSIgaXMgbGV4aWNvZ3JhcGhpY2FsbHkgbGFyZ2VyIGJ1dCB0aGUgbGV0dGVyICdhJyBhcHBlYXJzIG1vcmUgdGhhbiAyIHRpbWVzIGluIGEgcm93LCBzbyBpdCBpcyBub3QgYSB2YWxpZCByZXBlYXRMaW1pdGVkU3RyaW5nLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHJlcGVhdExpbWl0ICZsdDs9IHMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zPC9jb2RlPiBjb25zaXN0cyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "String",
+ "Greedy",
+ "Heap (Priority Queue)",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2181. Merge Nodes in Between Zeros",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdGhlIDxjb2RlPmhlYWQ8L2NvZGU+IG9mIGEgbGlua2VkIGxpc3QsIHdoaWNoIGNvbnRhaW5zIGEgc2VyaWVzIG9mIGludGVnZXJzIDxzdHJvbmc+c2VwYXJhdGVkPC9zdHJvbmc+IGJ5IDxjb2RlPjA8L2NvZGU+J3MuIFRoZSA8c3Ryb25nPmJlZ2lubmluZzwvc3Ryb25nPiBhbmQgPHN0cm9uZz5lbmQ8L3N0cm9uZz4gb2YgdGhlIGxpbmtlZCBsaXN0IHdpbGwgaGF2ZSA8Y29kZT5Ob2RlLnZhbCA9PSAwPC9jb2RlPi48L3A+CjxwPkZvciA8c3Ryb25nPmV2ZXJ5IDwvc3Ryb25nPnR3byBjb25zZWN1dGl2ZSA8Y29kZT4wPC9jb2RlPidzLCA8c3Ryb25nPm1lcmdlPC9zdHJvbmc+IGFsbCB0aGUgbm9kZXMgbHlpbmcgaW4gYmV0d2VlbiB0aGVtIGludG8gYSBzaW5nbGUgbm9kZSB3aG9zZSB2YWx1ZSBpcyB0aGUgPHN0cm9uZz5zdW08L3N0cm9uZz4gb2YgYWxsIHRoZSBtZXJnZWQgbm9kZXMuIFRoZSBtb2RpZmllZCBsaXN0IHNob3VsZCBub3QgY29udGFpbiBhbnkgPGNvZGU+MDwvY29kZT4ncy48L3A+CjxwPlJldHVybiA8ZW0+dGhlPC9lbT4gPGNvZGU+aGVhZDwvY29kZT4gPGVtPm9mIHRoZSBtb2RpZmllZCBsaW5rZWQgbGlzdDwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMi8wMi9leDEtMS5wbmciIHN0eWxlPSJ3aWR0aDogNjAwcHg7IGhlaWdodDogNDFweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBoZWFkID0gWzAsMywxLDAsNCw1LDIsMF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFs0LDExXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKVGhlIGFib3ZlIGZpZ3VyZSByZXByZXNlbnRzIHRoZSBnaXZlbiBsaW5rZWQgbGlzdC4gVGhlIG1vZGlmaWVkIGxpc3QgY29udGFpbnMKLSBUaGUgc3VtIG9mIHRoZSBub2RlcyBtYXJrZWQgaW4gZ3JlZW46IDMgKyAxID0gNC4KLSBUaGUgc3VtIG9mIHRoZSBub2RlcyBtYXJrZWQgaW4gcmVkOiA0ICsgNSArIDIgPSAxMS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMi8wMi9leDItMS5wbmciIHN0eWxlPSJ3aWR0aDogNjAwcHg7IGhlaWdodDogNDFweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBoZWFkID0gWzAsMSwwLDMsMCwyLDIsMF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsxLDMsNF0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gClRoZSBhYm92ZSBmaWd1cmUgcmVwcmVzZW50cyB0aGUgZ2l2ZW4gbGlua2VkIGxpc3QuIFRoZSBtb2RpZmllZCBsaXN0IGNvbnRhaW5zCi0gVGhlIHN1bSBvZiB0aGUgbm9kZXMgbWFya2VkIGluIGdyZWVuOiAxID0gMS4KLSBUaGUgc3VtIG9mIHRoZSBub2RlcyBtYXJrZWQgaW4gcmVkOiAzID0gMy4KLSBUaGUgc3VtIG9mIHRoZSBub2RlcyBtYXJrZWQgaW4geWVsbG93OiAyICsgMiA9IDQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPlRoZSBudW1iZXIgb2Ygbm9kZXMgaW4gdGhlIGxpc3QgaXMgaW4gdGhlIHJhbmdlIDxjb2RlPlszLCAyICogMTA8c3VwPjU8L3N1cD5dPC9jb2RlPi48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBOb2RlLnZhbCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT5UaGVyZSBhcmUgPHN0cm9uZz5ubzwvc3Ryb25nPiB0d28gY29uc2VjdXRpdmUgbm9kZXMgd2l0aCA8Y29kZT5Ob2RlLnZhbCA9PSAwPC9jb2RlPi48L2xpPgo8bGk+VGhlIDxzdHJvbmc+YmVnaW5uaW5nPC9zdHJvbmc+IGFuZCA8c3Ryb25nPmVuZDwvc3Ryb25nPiBvZiB0aGUgbGlua2VkIGxpc3QgaGF2ZSA8Y29kZT5Ob2RlLnZhbCA9PSAwPC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Linked List",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2187. Minimum Time to Complete Trips",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gYXJyYXkgPGNvZGU+dGltZTwvY29kZT4gd2hlcmUgPGNvZGU+dGltZVtpXTwvY29kZT4gZGVub3RlcyB0aGUgdGltZSB0YWtlbiBieSB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGJ1cyB0byBjb21wbGV0ZSA8c3Ryb25nPm9uZSB0cmlwPC9zdHJvbmc+LjwvcD4KPHA+RWFjaCBidXMgY2FuIG1ha2UgbXVsdGlwbGUgdHJpcHMgPHN0cm9uZz5zdWNjZXNzaXZlbHk8L3N0cm9uZz47IHRoYXQgaXMsIHRoZSBuZXh0IHRyaXAgY2FuIHN0YXJ0IDxzdHJvbmc+aW1tZWRpYXRlbHkgYWZ0ZXI8L3N0cm9uZz4gY29tcGxldGluZyB0aGUgY3VycmVudCB0cmlwLiBBbHNvLCBlYWNoIGJ1cyBvcGVyYXRlcyA8c3Ryb25nPmluZGVwZW5kZW50bHk8L3N0cm9uZz47IHRoYXQgaXMsIHRoZSB0cmlwcyBvZiBvbmUgYnVzIGRvIG5vdCBpbmZsdWVuY2UgdGhlIHRyaXBzIG9mIGFueSBvdGhlciBidXMuPC9wPgo8cD5Zb3UgYXJlIGFsc28gZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT50b3RhbFRyaXBzPC9jb2RlPiwgd2hpY2ggZGVub3RlcyB0aGUgbnVtYmVyIG9mIHRyaXBzIGFsbCBidXNlcyBzaG91bGQgbWFrZSA8c3Ryb25nPmluIHRvdGFsPC9zdHJvbmc+LiBSZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1pbmltdW0gdGltZTwvc3Ryb25nPiByZXF1aXJlZCBmb3IgYWxsIGJ1c2VzIHRvIGNvbXBsZXRlIDxzdHJvbmc+YXQgbGVhc3Q8L3N0cm9uZz4gPC9lbT48Y29kZT50b3RhbFRyaXBzPC9jb2RlPjxlbT4gdHJpcHM8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHRpbWUgPSBbMSwyLDNdLCB0b3RhbFRyaXBzID0gNQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgotIEF0IHRpbWUgdCA9IDEsIHRoZSBudW1iZXIgb2YgdHJpcHMgY29tcGxldGVkIGJ5IGVhY2ggYnVzIGFyZSBbMSwwLDBdLiAKICBUaGUgdG90YWwgbnVtYmVyIG9mIHRyaXBzIGNvbXBsZXRlZCBpcyAxICsgMCArIDAgPSAxLgotIEF0IHRpbWUgdCA9IDIsIHRoZSBudW1iZXIgb2YgdHJpcHMgY29tcGxldGVkIGJ5IGVhY2ggYnVzIGFyZSBbMiwxLDBdLiAKICBUaGUgdG90YWwgbnVtYmVyIG9mIHRyaXBzIGNvbXBsZXRlZCBpcyAyICsgMSArIDAgPSAzLgotIEF0IHRpbWUgdCA9IDMsIHRoZSBudW1iZXIgb2YgdHJpcHMgY29tcGxldGVkIGJ5IGVhY2ggYnVzIGFyZSBbMywxLDFdLiAKICBUaGUgdG90YWwgbnVtYmVyIG9mIHRyaXBzIGNvbXBsZXRlZCBpcyAzICsgMSArIDEgPSA1LgpTbyB0aGUgbWluaW11bSB0aW1lIG5lZWRlZCBmb3IgYWxsIGJ1c2VzIHRvIGNvbXBsZXRlIGF0IGxlYXN0IDUgdHJpcHMgaXMgMy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gdGltZSA9IFsyXSwgdG90YWxUcmlwcyA9IDEKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlcmUgaXMgb25seSBvbmUgYnVzLCBhbmQgaXQgd2lsbCBjb21wbGV0ZSBpdHMgZmlyc3QgdHJpcCBhdCB0ID0gMi4KU28gdGhlIG1pbmltdW0gdGltZSBuZWVkZWQgdG8gY29tcGxldGUgMSB0cmlwIGlzIDIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gdGltZS5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gdGltZVtpXSwgdG90YWxUcmlwcyAmbHQ7PSAxMDxzdXA+Nzwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Binary Search"
+ ]
+ },
+ {
+ "title": "2186. Minimum Number of Steps to Make Two Strings Anagram II",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIHN0cmluZ3MgPGNvZGU+czwvY29kZT4gYW5kIDxjb2RlPnQ8L2NvZGU+LiBJbiBvbmUgc3RlcCwgeW91IGNhbiBhcHBlbmQgPHN0cm9uZz5hbnkgY2hhcmFjdGVyPC9zdHJvbmc+IHRvIGVpdGhlciA8Y29kZT5zPC9jb2RlPiBvciA8Y29kZT50PC9jb2RlPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIG1pbmltdW0gbnVtYmVyIG9mIHN0ZXBzIHRvIG1ha2UgPC9lbT48Y29kZT5zPC9jb2RlPjxlbT4gYW5kIDwvZW0+PGNvZGU+dDwvY29kZT48ZW0+IDxzdHJvbmc+YW5hZ3JhbXM8L3N0cm9uZz4gb2YgZWFjaCBvdGhlci48L2VtPjwvcD4KPHA+QW4gPHN0cm9uZz5hbmFncmFtPC9zdHJvbmc+IG9mIGEgc3RyaW5nIGlzIGEgc3RyaW5nIHRoYXQgY29udGFpbnMgdGhlIHNhbWUgY2hhcmFjdGVycyB3aXRoIGEgZGlmZmVyZW50IChvciB0aGUgc2FtZSkgb3JkZXJpbmcuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gIjxzdHJvbmc+PHU+bGVlPC91Pjwvc3Ryb25nPnRjbzx1PjxzdHJvbmc+ZGU8L3N0cm9uZz48L3U+IiwgdCA9ICJjbzx1PjxzdHJvbmc+YTwvc3Ryb25nPjwvdT50PHU+PHN0cm9uZz5zPC9zdHJvbmc+PC91PiIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDcKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCi0gSW4gMiBzdGVwcywgd2UgY2FuIGFwcGVuZCB0aGUgbGV0dGVycyBpbiAiYXMiIG9udG8gcyA9ICJsZWV0Y29kZSIsIGZvcm1pbmcgcyA9ICJsZWV0Y29kZTxzdHJvbmc+PHU+YXM8L3U+PC9zdHJvbmc+Ii4KLSBJbiA1IHN0ZXBzLCB3ZSBjYW4gYXBwZW5kIHRoZSBsZXR0ZXJzIGluICJsZWVkZSIgb250byB0ID0gImNvYXRzIiwgZm9ybWluZyB0ID0gImNvYXRzPHU+PHN0cm9uZz5sZWVkZTwvc3Ryb25nPjwvdT4iLgoibGVldGNvZGVhcyIgYW5kICJjb2F0c2xlZWRlIiBhcmUgbm93IGFuYWdyYW1zIG9mIGVhY2ggb3RoZXIuCldlIHVzZWQgYSB0b3RhbCBvZiAyICsgNSA9IDcgc3RlcHMuCkl0IGNhbiBiZSBzaG93biB0aGF0IHRoZXJlIGlzIG5vIHdheSB0byBtYWtlIHRoZW0gYW5hZ3JhbXMgb2YgZWFjaCBvdGhlciB3aXRoIGxlc3MgdGhhbiA3IHN0ZXBzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gIm5pZ2h0IiwgdCA9ICJ0aGluZyIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGdpdmVuIHN0cmluZ3MgYXJlIGFscmVhZHkgYW5hZ3JhbXMgb2YgZWFjaCBvdGhlci4gVGh1cywgd2UgZG8gbm90IG5lZWQgYW55IGZ1cnRoZXIgc3RlcHMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gcy5sZW5ndGgsIHQubGVuZ3RoICZsdDs9IDIgKiAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+czwvY29kZT4gYW5kIDxjb2RlPnQ8L2NvZGU+IGNvbnNpc3Qgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycy48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Hash Table",
+ "String",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2171. Removing Minimum Number of Magic Beans",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gYXJyYXkgb2YgPHN0cm9uZz5wb3NpdGl2ZTwvc3Ryb25nPiBpbnRlZ2VycyA8Y29kZT5iZWFuczwvY29kZT4sIHdoZXJlIGVhY2ggaW50ZWdlciByZXByZXNlbnRzIHRoZSBudW1iZXIgb2YgbWFnaWMgYmVhbnMgZm91bmQgaW4gYSBwYXJ0aWN1bGFyIG1hZ2ljIGJhZy48L3A+CjxwPjxzdHJvbmc+UmVtb3ZlPC9zdHJvbmc+IGFueSBudW1iZXIgb2YgYmVhbnMgKDxzdHJvbmc+cG9zc2libHkgbm9uZTwvc3Ryb25nPikgZnJvbSBlYWNoIGJhZyBzdWNoIHRoYXQgdGhlIG51bWJlciBvZiBiZWFucyBpbiBlYWNoIHJlbWFpbmluZyA8c3Ryb25nPm5vbi1lbXB0eTwvc3Ryb25nPiBiYWcgKHN0aWxsIGNvbnRhaW5pbmcgPHN0cm9uZz5hdCBsZWFzdCBvbmU8L3N0cm9uZz4gYmVhbikgaXMgPHN0cm9uZz5lcXVhbDwvc3Ryb25nPi4gT25jZSBhIGJlYW4gaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIGEgYmFnLCB5b3UgYXJlIDxzdHJvbmc+bm90PC9zdHJvbmc+IGFsbG93ZWQgdG8gcmV0dXJuIGl0IHRvIGFueSBvZiB0aGUgYmFncy48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiBudW1iZXIgb2YgbWFnaWMgYmVhbnMgdGhhdCB5b3UgaGF2ZSB0byByZW1vdmU8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGJlYW5zID0gWzQsPHU+PHN0cm9uZz4xPC9zdHJvbmc+PC91Piw2LDVdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IAotIFdlIHJlbW92ZSAxIGJlYW4gZnJvbSB0aGUgYmFnIHdpdGggb25seSAxIGJlYW4uCiAgVGhpcyByZXN1bHRzIGluIHRoZSByZW1haW5pbmcgYmFnczogWzQsPGI+PHU+MDwvdT48L2I+LDYsNV0KLSBUaGVuIHdlIHJlbW92ZSAyIGJlYW5zIGZyb20gdGhlIGJhZyB3aXRoIDYgYmVhbnMuCiAgVGhpcyByZXN1bHRzIGluIHRoZSByZW1haW5pbmcgYmFnczogWzQsMCw8c3Ryb25nPjx1PjQ8L3U+PC9zdHJvbmc+LDVdCi0gVGhlbiB3ZSByZW1vdmUgMSBiZWFuIGZyb20gdGhlIGJhZyB3aXRoIDUgYmVhbnMuCiAgVGhpcyByZXN1bHRzIGluIHRoZSByZW1haW5pbmcgYmFnczogWzQsMCw0LDxiPjx1PjQ8L3U+PC9iPl0KV2UgcmVtb3ZlZCBhIHRvdGFsIG9mIDEgKyAyICsgMSA9IDQgYmVhbnMgdG8gbWFrZSB0aGUgcmVtYWluaW5nIG5vbi1lbXB0eSBiYWdzIGhhdmUgYW4gZXF1YWwgbnVtYmVyIG9mIGJlYW5zLgpUaGVyZSBhcmUgbm8gb3RoZXIgc29sdXRpb25zIHRoYXQgcmVtb3ZlIDQgYmVhbnMgb3IgZmV3ZXIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGJlYW5zID0gWzxzdHJvbmc+PHU+MjwvdT48L3N0cm9uZz4sMTAsPHU+PHN0cm9uZz4zPC9zdHJvbmc+PC91Piw8c3Ryb25nPjx1PjI8L3U+PC9zdHJvbmc+XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgotIFdlIHJlbW92ZSAyIGJlYW5zIGZyb20gb25lIG9mIHRoZSBiYWdzIHdpdGggMiBiZWFucy4KICBUaGlzIHJlc3VsdHMgaW4gdGhlIHJlbWFpbmluZyBiYWdzOiBbPHU+PHN0cm9uZz4wPC9zdHJvbmc+PC91PiwxMCwzLDJdCi0gVGhlbiB3ZSByZW1vdmUgMiBiZWFucyBmcm9tIHRoZSBvdGhlciBiYWcgd2l0aCAyIGJlYW5zLgogIFRoaXMgcmVzdWx0cyBpbiB0aGUgcmVtYWluaW5nIGJhZ3M6IFswLDEwLDMsPHU+PHN0cm9uZz4wPC9zdHJvbmc+PC91Pl0KLSBUaGVuIHdlIHJlbW92ZSAzIGJlYW5zIGZyb20gdGhlIGJhZyB3aXRoIDMgYmVhbnMuIAogIFRoaXMgcmVzdWx0cyBpbiB0aGUgcmVtYWluaW5nIGJhZ3M6IFswLDEwLDx1PjxzdHJvbmc+MDwvc3Ryb25nPjwvdT4sMF0KV2UgcmVtb3ZlZCBhIHRvdGFsIG9mIDIgKyAyICsgMyA9IDcgYmVhbnMgdG8gbWFrZSB0aGUgcmVtYWluaW5nIG5vbi1lbXB0eSBiYWdzIGhhdmUgYW4gZXF1YWwgbnVtYmVyIG9mIGJlYW5zLgpUaGVyZSBhcmUgbm8gb3RoZXIgc29sdXRpb25zIHRoYXQgcmVtb3ZlcyA3IGJlYW5zIG9yIGZld2VyLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IGJlYW5zLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBiZWFuc1tpXSAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Sorting",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2454. Next Greater Element IV",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBhcnJheSBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMgPGNvZGU+bnVtczwvY29kZT4uIEZvciBlYWNoIGludGVnZXIgaW4gPGNvZGU+bnVtczwvY29kZT4sIHlvdSBtdXN0IGZpbmQgaXRzIHJlc3BlY3RpdmUgPHN0cm9uZz5zZWNvbmQgZ3JlYXRlcjwvc3Ryb25nPiBpbnRlZ2VyLjwvcD4KPHA+VGhlIDxzdHJvbmc+c2Vjb25kIGdyZWF0ZXI8L3N0cm9uZz4gaW50ZWdlciBvZiA8Y29kZT5udW1zW2ldPC9jb2RlPiBpcyA8Y29kZT5udW1zW2pdPC9jb2RlPiBzdWNoIHRoYXQ6PC9wPgo8dWw+CjxsaT48Y29kZT5qICZndDsgaTwvY29kZT48L2xpPgo8bGk+PGNvZGU+bnVtc1tqXSAmZ3Q7IG51bXNbaV08L2NvZGU+PC9saT4KPGxpPlRoZXJlIGV4aXN0cyA8c3Ryb25nPmV4YWN0bHkgb25lPC9zdHJvbmc+IGluZGV4IDxjb2RlPms8L2NvZGU+IHN1Y2ggdGhhdCA8Y29kZT5udW1zW2tdICZndDsgbnVtc1tpXTwvY29kZT4gYW5kIDxjb2RlPmkgJmx0OyBrICZsdDsgajwvY29kZT4uPC9saT4KPC91bD4KPHA+SWYgdGhlcmUgaXMgbm8gc3VjaCA8Y29kZT5udW1zW2pdPC9jb2RlPiwgdGhlIHNlY29uZCBncmVhdGVyIGludGVnZXIgaXMgY29uc2lkZXJlZCB0byBiZSA8Y29kZT4tMTwvY29kZT4uPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgaW4gdGhlIGFycmF5IDxjb2RlPlsxLCAyLCA0LCAzXTwvY29kZT4sIHRoZSBzZWNvbmQgZ3JlYXRlciBpbnRlZ2VyIG9mIDxjb2RlPjE8L2NvZGU+IGlzIDxjb2RlPjQ8L2NvZGU+LCA8Y29kZT4yPC9jb2RlPiBpcyA8Y29kZT4zPC9jb2RlPizCoGFuZCB0aGF0IG9mIDxjb2RlPjM8L2NvZGU+IGFuZCA8Y29kZT40PC9jb2RlPiBpcyA8Y29kZT4tMTwvY29kZT4uPC9saT4KPC91bD4KPHA+UmV0dXJuPGVtPiBhbiBpbnRlZ2VyIGFycmF5IDwvZW0+PGNvZGU+YW5zd2VyPC9jb2RlPjxlbT4sIHdoZXJlIDwvZW0+PGNvZGU+YW5zd2VyW2ldPC9jb2RlPjxlbT4gaXMgdGhlIHNlY29uZCBncmVhdGVyIGludGVnZXIgb2YgPC9lbT48Y29kZT5udW1zW2ldPC9jb2RlPjxlbT4uPC9lbT48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMiw0LDAsOSw2XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzksNiw2LC0xLC0xXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgowdGggaW5kZXg6IDQgaXMgdGhlIGZpcnN0IGludGVnZXIgZ3JlYXRlciB0aGFuIDIsIGFuZCA5IGlzIHRoZSBzZWNvbmQgaW50ZWdlciBncmVhdGVyIHRoYW4gMiwgdG8gdGhlIHJpZ2h0IG9mIDIuCjFzdCBpbmRleDogOSBpcyB0aGUgZmlyc3QsIGFuZCA2IGlzIHRoZSBzZWNvbmQgaW50ZWdlciBncmVhdGVyIHRoYW4gNCwgdG8gdGhlIHJpZ2h0IG9mIDQuCjJuZCBpbmRleDogOSBpcyB0aGUgZmlyc3QsIGFuZCA2IGlzIHRoZSBzZWNvbmQgaW50ZWdlciBncmVhdGVyIHRoYW4gMCwgdG8gdGhlIHJpZ2h0IG9mIDAuCjNyZCBpbmRleDogVGhlcmUgaXMgbm8gaW50ZWdlciBncmVhdGVyIHRoYW4gOSB0byBpdHMgcmlnaHQsIHNvIHRoZSBzZWNvbmQgZ3JlYXRlciBpbnRlZ2VyIGlzIGNvbnNpZGVyZWQgdG8gYmUgLTEuCjR0aCBpbmRleDogVGhlcmUgaXMgbm8gaW50ZWdlciBncmVhdGVyIHRoYW4gNiB0byBpdHMgcmlnaHQsIHNvIHRoZSBzZWNvbmQgZ3JlYXRlciBpbnRlZ2VyIGlzIGNvbnNpZGVyZWQgdG8gYmUgLTEuClRodXMsIHdlIHJldHVybiBbOSw2LDYsLTEsLTFdLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzMsM10KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFstMSwtMV0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KV2UgcmV0dXJuIFstMSwtMV0gc2luY2UgbmVpdGhlciBpbnRlZ2VyIGhhcyBhbnkgaW50ZWdlciBncmVhdGVyIHRoYW4gaXQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Stack",
+ "Sorting",
+ "Heap (Priority Queue)",
+ "Monotonic Stack"
+ ]
+ },
+ {
+ "title": "2458. Height of Binary Tree After Subtree Removal Queries",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdGhlIDxjb2RlPnJvb3Q8L2NvZGU+IG9mIGEgPHN0cm9uZz5iaW5hcnkgdHJlZTwvc3Ryb25nPiB3aXRoIDxjb2RlPm48L2NvZGU+IG5vZGVzLiBFYWNoIG5vZGUgaXMgYXNzaWduZWQgYSB1bmlxdWUgdmFsdWUgZnJvbSA8Y29kZT4xPC9jb2RlPiB0byA8Y29kZT5uPC9jb2RlPi4gWW91IGFyZSBhbHNvIGdpdmVuIGFuIGFycmF5IDxjb2RlPnF1ZXJpZXM8L2NvZGU+IG9mIHNpemUgPGNvZGU+bTwvY29kZT4uPC9wPgo8cD5Zb3UgaGF2ZSB0byBwZXJmb3JtIDxjb2RlPm08L2NvZGU+IDxzdHJvbmc+aW5kZXBlbmRlbnQ8L3N0cm9uZz4gcXVlcmllcyBvbiB0aGUgdHJlZSB3aGVyZSBpbiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHF1ZXJ5IHlvdSBkbyB0aGUgZm9sbG93aW5nOjwvcD4KPHVsPgo8bGk+PHN0cm9uZz5SZW1vdmU8L3N0cm9uZz4gdGhlIHN1YnRyZWUgcm9vdGVkIGF0IHRoZSBub2RlIHdpdGggdGhlIHZhbHVlIDxjb2RlPnF1ZXJpZXNbaV08L2NvZGU+IGZyb20gdGhlIHRyZWUuIEl0IGlzIDxzdHJvbmc+Z3VhcmFudGVlZDwvc3Ryb25nPiB0aGF0IDxjb2RlPnF1ZXJpZXNbaV08L2NvZGU+IHdpbGwgPHN0cm9uZz5ub3Q8L3N0cm9uZz4gYmUgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIHRoZSByb290LjwvbGk+CjwvdWw+CjxwPlJldHVybiA8ZW0+YW4gYXJyYXkgPC9lbT48Y29kZT5hbnN3ZXI8L2NvZGU+PGVtPiBvZiBzaXplIDwvZW0+PGNvZGU+bTwvY29kZT48ZW0+IHdoZXJlIDwvZW0+PGNvZGU+YW5zd2VyW2ldPC9jb2RlPjxlbT4gaXMgdGhlIGhlaWdodCBvZiB0aGUgdHJlZSBhZnRlciBwZXJmb3JtaW5nIHRoZSA8L2VtPjxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPjxlbT4gcXVlcnk8L2VtPi48L3A+CjxwPjxzdHJvbmc+Tm90ZTwvc3Ryb25nPjo8L3A+Cjx1bD4KPGxpPlRoZSBxdWVyaWVzIGFyZSBpbmRlcGVuZGVudCwgc28gdGhlIHRyZWUgcmV0dXJucyB0byBpdHMgPHN0cm9uZz5pbml0aWFsPC9zdHJvbmc+IHN0YXRlIGFmdGVyIGVhY2ggcXVlcnkuPC9saT4KPGxpPlRoZSBoZWlnaHQgb2YgYSB0cmVlIGlzIHRoZSA8c3Ryb25nPm51bWJlciBvZiBlZGdlcyBpbiB0aGUgbG9uZ2VzdCBzaW1wbGUgcGF0aDwvc3Ryb25nPiBmcm9tIHRoZSByb290IHRvIHNvbWUgbm9kZSBpbiB0aGUgdHJlZS48L2xpPgo8L3VsPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA5LzA3L2JpbmFyeXl0cmVlZWRyYXdpby0xLnBuZyIgc3R5bGU9IndpZHRoOiA0OTVweDsgaGVpZ2h0OiAyODFweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiByb290ID0gWzEsMyw0LDIsbnVsbCw2LDUsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLDddLCBxdWVyaWVzID0gWzRdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMl0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGRpYWdyYW0gYWJvdmUgc2hvd3MgdGhlIHRyZWUgYWZ0ZXIgcmVtb3ZpbmcgdGhlIHN1YnRyZWUgcm9vdGVkIGF0IG5vZGUgd2l0aCB2YWx1ZSA0LgpUaGUgaGVpZ2h0IG9mIHRoZSB0cmVlIGlzIDIgKFRoZSBwYXRoIDEgLSZndDsgMyAtJmd0OyAyKS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wOS8wNy9iaW5hcnl5dHJlZWVkcmF3aW8tMi5wbmciIHN0eWxlPSJ3aWR0aDogMzAxcHg7IGhlaWdodDogMjg0cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcm9vdCA9IFs1LDgsOSwyLDEsMyw3LDQsNl0sIHF1ZXJpZXMgPSBbMywyLDQsOF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFszLDIsMywyXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSBoYXZlIHRoZSBmb2xsb3dpbmcgcXVlcmllczoKLSBSZW1vdmluZyB0aGUgc3VidHJlZSByb290ZWQgYXQgbm9kZSB3aXRoIHZhbHVlIDMuIFRoZSBoZWlnaHQgb2YgdGhlIHRyZWUgYmVjb21lcyAzIChUaGUgcGF0aCA1IC0mZ3Q7IDggLSZndDsgMiAtJmd0OyA0KS4KLSBSZW1vdmluZyB0aGUgc3VidHJlZSByb290ZWQgYXQgbm9kZSB3aXRoIHZhbHVlIDIuIFRoZSBoZWlnaHQgb2YgdGhlIHRyZWUgYmVjb21lcyAyIChUaGUgcGF0aCA1IC0mZ3Q7IDggLSZndDsgMSkuCi0gUmVtb3ZpbmcgdGhlIHN1YnRyZWUgcm9vdGVkIGF0IG5vZGUgd2l0aCB2YWx1ZSA0LiBUaGUgaGVpZ2h0IG9mIHRoZSB0cmVlIGJlY29tZXMgMyAoVGhlIHBhdGggNSAtJmd0OyA4IC0mZ3Q7IDIgLSZndDsgNikuCi0gUmVtb3ZpbmcgdGhlIHN1YnRyZWUgcm9vdGVkIGF0IG5vZGUgd2l0aCB2YWx1ZSA4LiBUaGUgaGVpZ2h0IG9mIHRoZSB0cmVlIGJlY29tZXMgMiAoVGhlIHBhdGggNSAtJmd0OyA5IC0mZ3Q7IDMpLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT5UaGUgbnVtYmVyIG9mIG5vZGVzIGluIHRoZSB0cmVlIGlzIDxjb2RlPm48L2NvZGU+LjwvbGk+CjxsaT48Y29kZT4yICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gTm9kZS52YWwgJmx0Oz0gbjwvY29kZT48L2xpPgo8bGk+QWxsIHRoZSB2YWx1ZXMgaW4gdGhlIHRyZWUgYXJlIDxzdHJvbmc+dW5pcXVlPC9zdHJvbmc+LjwvbGk+CjxsaT48Y29kZT5tID09IHF1ZXJpZXMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG0gJmx0Oz0gbWluKG4sIDEwPHN1cD40PC9zdXA+KTwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBxdWVyaWVzW2ldICZsdDs9IG48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnF1ZXJpZXNbaV0gIT0gcm9vdC52YWw8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Tree",
+ "Depth-First Search",
+ "Breadth-First Search",
+ "Binary Tree"
+ ]
+ },
+ {
+ "title": "2449. Minimum Number of Operations to Make Arrays Similar",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIHBvc2l0aXZlIGludGVnZXIgYXJyYXlzIDxjb2RlPm51bXM8L2NvZGU+IGFuZCA8Y29kZT50YXJnZXQ8L2NvZGU+LCBvZiB0aGUgc2FtZSBsZW5ndGguPC9wPgo8cD5JbiBvbmUgb3BlcmF0aW9uLCB5b3UgY2FuIGNob29zZSBhbnkgdHdvIDxzdHJvbmc+ZGlzdGluY3Q8L3N0cm9uZz4gaW5kaWNlcyA8Y29kZT5pPC9jb2RlPiBhbmQgPGNvZGU+ajwvY29kZT4gd2hlcmUgPGNvZGU+MCAmbHQ7PSBpLCBqICZsdDsgbnVtcy5sZW5ndGg8L2NvZGU+IGFuZDo8L3A+Cjx1bD4KPGxpPnNldCA8Y29kZT5udW1zW2ldID0gbnVtc1tpXSArIDI8L2NvZGU+IGFuZDwvbGk+CjxsaT5zZXQgPGNvZGU+bnVtc1tqXSA9IG51bXNbal0gLSAyPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5Ud28gYXJyYXlzIGFyZSBjb25zaWRlcmVkIHRvIGJlIDxzdHJvbmc+c2ltaWxhcjwvc3Ryb25nPiBpZiB0aGUgZnJlcXVlbmN5IG9mIGVhY2ggZWxlbWVudCBpcyB0aGUgc2FtZS48L3A+CjxwPlJldHVybiA8ZW0+dGhlIG1pbmltdW0gbnVtYmVyIG9mIG9wZXJhdGlvbnMgcmVxdWlyZWQgdG8gbWFrZSA8L2VtPjxjb2RlPm51bXM8L2NvZGU+PGVtPiBzaW1pbGFyIHRvIDwvZW0+PGNvZGU+dGFyZ2V0PC9jb2RlPi4gVGhlIHRlc3QgY2FzZXMgYXJlIGdlbmVyYXRlZCBzdWNoIHRoYXQgPGNvZGU+bnVtczwvY29kZT4gY2FuIGFsd2F5cyBiZSBzaW1pbGFyIHRvIDxjb2RlPnRhcmdldDwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzgsMTIsNl0sIHRhcmdldCA9IFsyLDE0LDEwXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBJdCBpcyBwb3NzaWJsZSB0byBtYWtlIG51bXMgc2ltaWxhciB0byB0YXJnZXQgaW4gdHdvIG9wZXJhdGlvbnM6Ci0gQ2hvb3NlIGkgPSAwIGFuZCBqID0gMiwgbnVtcyA9IFsxMCwxMiw0XS4KLSBDaG9vc2UgaSA9IDEgYW5kIGogPSAyLCBudW1zID0gWzEwLDE0LDJdLgpJdCBjYW4gYmUgc2hvd24gdGhhdCAyIGlzIHRoZSBtaW5pbXVtIG51bWJlciBvZiBvcGVyYXRpb25zIG5lZWRlZC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDIsNV0sIHRhcmdldCA9IFs0LDEsM10KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gV2UgY2FuIG1ha2UgbnVtcyBzaW1pbGFyIHRvIHRhcmdldCBpbiBvbmUgb3BlcmF0aW9uOgotIENob29zZSBpID0gMSBhbmQgaiA9IDIsIG51bXMgPSBbMSw0LDNdLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMSwxLDEsMV0sIHRhcmdldCA9IFsxLDEsMSwxLDFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBhcnJheSBudW1zIGlzIGFscmVhZHkgc2ltaWxpYXIgdG8gdGFyZ2V0Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IG51bXMubGVuZ3RoID09IHRhcmdldC5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldLCB0YXJnZXRbaV0gJmx0Oz0gMTA8c3VwPjY8L3N1cD48L2NvZGU+PC9saT4KPGxpPkl0IGlzIHBvc3NpYmxlIHRvIG1ha2UgPGNvZGU+bnVtczwvY29kZT4gc2ltaWxhciB0byA8Y29kZT50YXJnZXQ8L2NvZGU+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Greedy",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2448. Minimum Cost to Make Array Equal",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGFycmF5cyA8Y29kZT5udW1zPC9jb2RlPiBhbmQgPGNvZGU+Y29zdDwvY29kZT4gY29uc2lzdGluZyBlYWNoIG9mIDxjb2RlPm48L2NvZGU+IDxzdHJvbmc+cG9zaXRpdmU8L3N0cm9uZz4gaW50ZWdlcnMuPC9wPgo8cD5Zb3UgY2FuIGRvIHRoZSBmb2xsb3dpbmcgb3BlcmF0aW9uIDxzdHJvbmc+YW55PC9zdHJvbmc+IG51bWJlciBvZiB0aW1lczo8L3A+Cjx1bD4KPGxpPkluY3JlYXNlIG9yIGRlY3JlYXNlIDxzdHJvbmc+YW55PC9zdHJvbmc+IGVsZW1lbnQgb2YgdGhlIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IGJ5IDxjb2RlPjE8L2NvZGU+LjwvbGk+CjwvdWw+CjxwPlRoZSBjb3N0IG9mIGRvaW5nIG9uZSBvcGVyYXRpb24gb24gdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBlbGVtZW50IGlzIDxjb2RlPmNvc3RbaV08L2NvZGU+LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5taW5pbXVtPC9zdHJvbmc+IHRvdGFsIGNvc3Qgc3VjaCB0aGF0IGFsbCB0aGUgZWxlbWVudHMgb2YgdGhlIGFycmF5IDwvZW0+PGNvZGU+bnVtczwvY29kZT48ZW0+IGJlY29tZSA8c3Ryb25nPmVxdWFsPC9zdHJvbmc+PC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMyw1LDJdLCBjb3N0ID0gWzIsMywxLDE0XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gOAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSBjYW4gbWFrZSBhbGwgdGhlIGVsZW1lbnRzIGVxdWFsIHRvIDIgaW4gdGhlIGZvbGxvd2luZyB3YXk6Ci0gSW5jcmVhc2UgdGhlIDA8c3VwPnRoPC9zdXA+IGVsZW1lbnQgb25lIHRpbWUuIFRoZSBjb3N0IGlzIDIuCi0gRGVjcmVhc2UgdGhlIDE8c3VwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjgzMzNweDsiPnN0PC9zcGFuPjwvc3VwPiBlbGVtZW50IG9uZSB0aW1lLiBUaGUgY29zdCBpcyAzLgotIERlY3JlYXNlIHRoZSAyPHN1cD5uZDwvc3VwPiBlbGVtZW50IHRocmVlIHRpbWVzLiBUaGUgY29zdCBpcyAxICsgMSArIDEgPSAzLgpUaGUgdG90YWwgY29zdCBpcyAyICsgMyArIDMgPSA4LgpJdCBjYW4gYmUgc2hvd24gdGhhdCB3ZSBjYW5ub3QgbWFrZSB0aGUgYXJyYXkgZXF1YWwgd2l0aCBhIHNtYWxsZXIgY29zdC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsyLDIsMiwyLDJdLCBjb3N0ID0gWzQsMiw4LDEsM10KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gQWxsIHRoZSBlbGVtZW50cyBhcmUgYWxyZWFkeSBlcXVhbCwgc28gbm8gb3BlcmF0aW9ucyBhcmUgbmVlZGVkLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IG51bXMubGVuZ3RoID09IGNvc3QubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSwgY29zdFtpXSAmbHQ7PSAxMDxzdXA+Njwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Sorting",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2440. Create Components With Same Value",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGFuIHVuZGlyZWN0ZWQgdHJlZSB3aXRoIDxjb2RlPm48L2NvZGU+IG5vZGVzIGxhYmVsZWQgZnJvbSA8Y29kZT4wPC9jb2RlPiB0byA8Y29kZT5uIC0gMTwvY29kZT4uPC9wPgo8cD5Zb3UgYXJlIGdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT48Zm9udCBmYWNlPSJtb25vc3BhY2UiPm51bXM8L2ZvbnQ+PC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4gd2hlcmUgPGNvZGU+bnVtc1tpXTwvY29kZT4gcmVwcmVzZW50cyB0aGUgdmFsdWUgb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBub2RlLiBZb3UgYXJlIGFsc28gZ2l2ZW4gYSAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPmVkZ2VzPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+biAtIDE8L2NvZGU+IHdoZXJlIDxjb2RlPmVkZ2VzW2ldID0gW2E8c3ViPmk8L3N1Yj4sIGI8c3ViPmk8L3N1Yj5dPC9jb2RlPiBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBpcyBhbiBlZGdlIGJldHdlZW4gbm9kZXMgPGNvZGU+YTxzdWI+aTwvc3ViPjwvY29kZT4gYW5kIDxjb2RlPmI8c3ViPmk8L3N1Yj48L2NvZGU+IGluIHRoZSB0cmVlLjwvcD4KPHA+WW91IGFyZSBhbGxvd2VkIHRvIDxzdHJvbmc+ZGVsZXRlPC9zdHJvbmc+IHNvbWUgZWRnZXMsIHNwbGl0dGluZyB0aGUgdHJlZSBpbnRvIG11bHRpcGxlIGNvbm5lY3RlZCBjb21wb25lbnRzLiBMZXQgdGhlIDxzdHJvbmc+dmFsdWU8L3N0cm9uZz4gb2YgYSBjb21wb25lbnQgYmUgdGhlIHN1bSBvZiA8c3Ryb25nPmFsbDwvc3Ryb25nPiA8Y29kZT5udW1zW2ldPC9jb2RlPiBmb3Igd2hpY2ggbm9kZSA8Y29kZT5pPC9jb2RlPiBpcyBpbiB0aGUgY29tcG9uZW50LjwvcD4KPHA+UmV0dXJuPGVtPiB0aGUgPHN0cm9uZz5tYXhpbXVtPC9zdHJvbmc+IG51bWJlciBvZiBlZGdlcyB5b3UgY2FuIGRlbGV0ZSwgc3VjaCB0aGF0IGV2ZXJ5IGNvbm5lY3RlZCBjb21wb25lbnQgaW4gdGhlIHRyZWUgaGFzIHRoZSBzYW1lIHZhbHVlLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA4LzI2L2RpYWdyYW1kcmF3aW8ucG5nIiBzdHlsZT0id2lkdGg6IDQ0MXB4OyBoZWlnaHQ6IDM1MXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNiwyLDIsMiw2XSwgZWRnZXMgPSBbWzAsMV0sWzEsMl0sWzEsM10sWzMsNF1dIAo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMiAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGFib3ZlIGZpZ3VyZSBzaG93cyBob3cgd2UgY2FuIGRlbGV0ZSB0aGUgZWRnZXMgWzAsMV0gYW5kIFszLDRdLiBUaGUgY3JlYXRlZCBjb21wb25lbnRzIGFyZSBub2RlcyBbMF0sIFsxLDIsM10gYW5kIFs0XS4gVGhlIHN1bSBvZiB0aGUgdmFsdWVzIGluIGVhY2ggY29tcG9uZW50IGVxdWFscyA2LiBJdCBjYW4gYmUgcHJvdmVuIHRoYXQgbm8gYmV0dGVyIGRlbGV0aW9uIGV4aXN0cywgc28gdGhlIGFuc3dlciBpcyAyLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzJdLCBlZGdlcyA9IFtdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSBubyBlZGdlcyB0byBiZSBkZWxldGVkLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMiAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5udW1zLmxlbmd0aCA9PSBuPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0gJmx0Oz0gNTA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPmVkZ2VzLmxlbmd0aCA9PSBuIC0gMTwvY29kZT48L2xpPgo8bGk+PGNvZGU+ZWRnZXNbaV0ubGVuZ3RoID09IDI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gZWRnZXNbaV1bMF0sIGVkZ2VzW2ldWzFdICZsdDs9IG4gLSAxPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5lZGdlczwvY29kZT4gcmVwcmVzZW50cyBhIHZhbGlkIHRyZWUuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Math",
+ "Tree",
+ "Depth-First Search",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2444. Count Subarrays With Fixed Bounds",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBhbmQgdHdvIGludGVnZXJzIDxjb2RlPm1pbks8L2NvZGU+IGFuZCA8Y29kZT5tYXhLPC9jb2RlPi48L3A+CjxwPkEgPHN0cm9uZz5maXhlZC1ib3VuZCBzdWJhcnJheTwvc3Ryb25nPiBvZiA8Y29kZT5udW1zPC9jb2RlPiBpcyBhIHN1YmFycmF5IHRoYXQgc2F0aXNmaWVzIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczo8L3A+Cjx1bD4KPGxpPlRoZSA8c3Ryb25nPm1pbmltdW08L3N0cm9uZz4gdmFsdWUgaW4gdGhlIHN1YmFycmF5IGlzIGVxdWFsIHRvIDxjb2RlPm1pbks8L2NvZGU+LjwvbGk+CjxsaT5UaGUgPHN0cm9uZz5tYXhpbXVtPC9zdHJvbmc+IHZhbHVlIGluIHRoZSBzdWJhcnJheSBpcyBlcXVhbCB0byA8Y29kZT5tYXhLPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm51bWJlcjwvc3Ryb25nPiBvZiBmaXhlZC1ib3VuZCBzdWJhcnJheXM8L2VtPi48L3A+CjxwPkEgPHN0cm9uZz5zdWJhcnJheTwvc3Ryb25nPiBpcyBhIDxzdHJvbmc+Y29udGlndW91czwvc3Ryb25nPiBwYXJ0IG9mIGFuIGFycmF5LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDMsNSwyLDcsNV0sIG1pbksgPSAxLCBtYXhLID0gNQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgZml4ZWQtYm91bmQgc3ViYXJyYXlzIGFyZSBbMSwzLDVdIGFuZCBbMSwzLDUsMl0uCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSwxLDEsMV0sIG1pbksgPSAxLCBtYXhLID0gMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gRXZlcnkgc3ViYXJyYXkgb2YgbnVtcyBpcyBhIGZpeGVkLWJvdW5kIHN1YmFycmF5LiBUaGVyZSBhcmUgMTAgcG9zc2libGUgc3ViYXJyYXlzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4yICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0sIG1pbkssIG1heEsgJmx0Oz0gMTA8c3VwPjY8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Queue",
+ "Sliding Window",
+ "Monotonic Queue"
+ ]
+ },
+ {
+ "title": "2407. Longest Increasing Subsequence II",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBhbmQgYW4gaW50ZWdlciA8Y29kZT5rPC9jb2RlPi48L3A+CjxwPkZpbmQgdGhlIGxvbmdlc3Qgc3Vic2VxdWVuY2Ugb2YgPGNvZGU+bnVtczwvY29kZT4gdGhhdCBtZWV0cyB0aGUgZm9sbG93aW5nIHJlcXVpcmVtZW50czo8L3A+Cjx1bD4KPGxpPlRoZSBzdWJzZXF1ZW5jZSBpcyA8c3Ryb25nPnN0cmljdGx5IGluY3JlYXNpbmc8L3N0cm9uZz4gYW5kPC9saT4KPGxpPlRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYWRqYWNlbnQgZWxlbWVudHMgaW4gdGhlIHN1YnNlcXVlbmNlIGlzIDxzdHJvbmc+YXQgbW9zdDwvc3Ryb25nPiA8Y29kZT5rPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5SZXR1cm48ZW0+IHRoZSBsZW5ndGggb2YgdGhlIDxzdHJvbmc+bG9uZ2VzdDwvc3Ryb25nPiA8c3Ryb25nPnN1YnNlcXVlbmNlPC9zdHJvbmc+IHRoYXQgbWVldHMgdGhlIHJlcXVpcmVtZW50cy48L2VtPjwvcD4KPHA+QSA8c3Ryb25nPnN1YnNlcXVlbmNlPC9zdHJvbmc+IGlzIGFuIGFycmF5IHRoYXQgY2FuIGJlIGRlcml2ZWQgZnJvbSBhbm90aGVyIGFycmF5IGJ5IGRlbGV0aW5nIHNvbWUgb3Igbm8gZWxlbWVudHMgd2l0aG91dCBjaGFuZ2luZyB0aGUgb3JkZXIgb2YgdGhlIHJlbWFpbmluZyBlbGVtZW50cy48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNCwyLDEsNCwzLDQsNSw4LDE1XSwgayA9IDMKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIGxvbmdlc3Qgc3Vic2VxdWVuY2UgdGhhdCBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGlzIFsxLDMsNCw1LDhdLgpUaGUgc3Vic2VxdWVuY2UgaGFzIGEgbGVuZ3RoIG9mIDUsIHNvIHdlIHJldHVybiA1LgpOb3RlIHRoYXQgdGhlIHN1YnNlcXVlbmNlIFsxLDMsNCw1LDgsMTVdIGRvZXMgbm90IG1lZXQgdGhlIHJlcXVpcmVtZW50cyBiZWNhdXNlIDE1IC0gOCA9IDcgaXMgbGFyZ2VyIHRoYW4gMy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs3LDQsNSwxLDgsMTIsNCw3XSwgayA9IDUKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIGxvbmdlc3Qgc3Vic2VxdWVuY2UgdGhhdCBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGlzIFs0LDUsOCwxMl0uClRoZSBzdWJzZXF1ZW5jZSBoYXMgYSBsZW5ndGggb2YgNCwgc28gd2UgcmV0dXJuIDQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSw1XSwgayA9IDEKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIGxvbmdlc3Qgc3Vic2VxdWVuY2UgdGhhdCBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGlzIFsxXS4KVGhlIHN1YnNlcXVlbmNlIGhhcyBhIGxlbmd0aCBvZiAxLCBzbyB3ZSByZXR1cm4gMS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldLCBrICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Divide and Conquer",
+ "Dynamic Programming",
+ "Binary Indexed Tree",
+ "Segment Tree",
+ "Queue",
+ "Monotonic Queue"
+ ]
+ },
+ {
+ "title": "2435. Paths in Matrix Whose Sum Is Divisible by K",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiA8Y29kZT5tIHggbjwvY29kZT4gaW50ZWdlciBtYXRyaXggPGNvZGU+Z3JpZDwvY29kZT4gYW5kIGFuIGludGVnZXIgPGNvZGU+azwvY29kZT4uIFlvdSBhcmUgY3VycmVudGx5IGF0IHBvc2l0aW9uIDxjb2RlPigwLCAwKTwvY29kZT4gYW5kIHlvdSB3YW50IHRvIHJlYWNoIHBvc2l0aW9uIDxjb2RlPihtIC0gMSwgbiAtIDEpPC9jb2RlPiBtb3Zpbmcgb25seSA8c3Ryb25nPmRvd248L3N0cm9uZz4gb3IgPHN0cm9uZz5yaWdodDwvc3Ryb25nPi48L3A+CjxwPlJldHVybjxlbT4gdGhlIG51bWJlciBvZiBwYXRocyB3aGVyZSB0aGUgc3VtIG9mIHRoZSBlbGVtZW50cyBvbiB0aGUgcGF0aCBpcyBkaXZpc2libGUgYnkgPC9lbT48Y29kZT5rPC9jb2RlPi4gU2luY2UgdGhlIGFuc3dlciBtYXkgYmUgdmVyeSBsYXJnZSwgcmV0dXJuIGl0IDxzdHJvbmc+bW9kdWxvPC9zdHJvbmc+IDxjb2RlPjEwPHN1cD45PC9zdXA+ICsgNzwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDgvMTMvaW1hZ2UtMjAyMjA4MTMxODMxMjQtMS5wbmciIHN0eWxlPSJ3aWR0aDogNDM3cHg7IGhlaWdodDogMjAwcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbNSwyLDRdLFszLDAsNV0sWzAsNywyXV0sIGsgPSAzCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSB0d28gcGF0aHMgd2hlcmUgdGhlIHN1bSBvZiB0aGUgZWxlbWVudHMgb24gdGhlIHBhdGggaXMgZGl2aXNpYmxlIGJ5IGsuClRoZSBmaXJzdCBwYXRoIGhpZ2hsaWdodGVkIGluIHJlZCBoYXMgYSBzdW0gb2YgNSArIDIgKyA0ICsgNSArIDIgPSAxOCB3aGljaCBpcyBkaXZpc2libGUgYnkgMy4KVGhlIHNlY29uZCBwYXRoIGhpZ2hsaWdodGVkIGluIGJsdWUgaGFzIGEgc3VtIG9mIDUgKyAzICsgMCArIDUgKyAyID0gMTUgd2hpY2ggaXMgZGl2aXNpYmxlIGJ5IDMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wOC8xNy9pbWFnZS0yMDIyMDgxNzExMjkzMC0zLnBuZyIgc3R5bGU9ImhlaWdodDogODVweDsgd2lkdGg6IDEzMnB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGdyaWQgPSBbWzAsMF1dLCBrID0gNQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgcGF0aCBoaWdobGlnaHRlZCBpbiByZWQgaGFzIGEgc3VtIG9mIDAgKyAwID0gMCB3aGljaCBpcyBkaXZpc2libGUgYnkgNS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxpbWcgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA4LzEyL2ltYWdlLTIwMjIwODEyMjI0NjA1LTMucG5nIiBzdHlsZT0id2lkdGg6IDI1N3B4OyBoZWlnaHQ6IDIwMHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGdyaWQgPSBbWzcsMyw0LDldLFsyLDMsNiwyXSxbMiwzLDcsMF1dLCBrID0gMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gRXZlcnkgaW50ZWdlciBpcyBkaXZpc2libGUgYnkgMSBzbyB0aGUgc3VtIG9mIHRoZSBlbGVtZW50cyBvbiBldmVyeSBwb3NzaWJsZSBwYXRoIGlzIGRpdmlzaWJsZSBieSBrLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5tID09IGdyaWQubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5uID09IGdyaWRbaV0ubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG0sIG4gJmx0Oz0gNSAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG0gKiBuICZsdDs9IDUgKiAxMDxzdXA+NDwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBncmlkW2ldW2pdICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBrICZsdDs9IDUwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Dynamic Programming",
+ "Matrix"
+ ]
+ },
+ {
+ "title": "2426. Number of Pairs Satisfying Inequality",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXlzIDxjb2RlPm51bXMxPC9jb2RlPiBhbmQgPGNvZGU+bnVtczI8L2NvZGU+LCBlYWNoIG9mIHNpemUgPGNvZGU+bjwvY29kZT4sIGFuZCBhbiBpbnRlZ2VyIDxjb2RlPmRpZmY8L2NvZGU+LiBGaW5kIHRoZSBudW1iZXIgb2YgPHN0cm9uZz5wYWlyczwvc3Ryb25nPiA8Y29kZT4oaSwgaik8L2NvZGU+IHN1Y2ggdGhhdDo8L3A+Cjx1bD4KPGxpPjxjb2RlPjAgJmx0Oz0gaSAmbHQ7IGogJmx0Oz0gbiAtIDE8L2NvZGU+IDxzdHJvbmc+YW5kPC9zdHJvbmc+PC9saT4KPGxpPjxjb2RlPm51bXMxW2ldIC0gbnVtczFbal0gJmx0Oz0gbnVtczJbaV0gLSBudW1zMltqXSArIGRpZmY8L2NvZGU+LjwvbGk+CjwvdWw+CjxwPlJldHVybjxlbT4gdGhlIDxzdHJvbmc+bnVtYmVyIG9mIHBhaXJzPC9zdHJvbmc+IHRoYXQgc2F0aXNmeSB0aGUgY29uZGl0aW9ucy48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtczEgPSBbMywyLDVdLCBudW1zMiA9IFsyLDIsMV0sIGRpZmYgPSAxCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZXJlIGFyZSAzIHBhaXJzIHRoYXQgc2F0aXNmeSB0aGUgY29uZGl0aW9uczoKMS4gaSA9IDAsIGogPSAxOiAzIC0gMiAmbHQ7PSAyIC0gMiArIDEuIFNpbmNlIGkgJmx0OyBqIGFuZCAxICZsdDs9IDEsIHRoaXMgcGFpciBzYXRpc2ZpZXMgdGhlIGNvbmRpdGlvbnMuCjIuIGkgPSAwLCBqID0gMjogMyAtIDUgJmx0Oz0gMiAtIDEgKyAxLiBTaW5jZSBpICZsdDsgaiBhbmQgLTIgJmx0Oz0gMiwgdGhpcyBwYWlyIHNhdGlzZmllcyB0aGUgY29uZGl0aW9ucy4KMy4gaSA9IDEsIGogPSAyOiAyIC0gNSAmbHQ7PSAyIC0gMSArIDEuIFNpbmNlIGkgJmx0OyBqIGFuZCAtMyAmbHQ7PSAyLCB0aGlzIHBhaXIgc2F0aXNmaWVzIHRoZSBjb25kaXRpb25zLgpUaGVyZWZvcmUsIHdlIHJldHVybiAzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zMSA9IFszLC0xXSwgbnVtczIgPSBbLTIsMl0sIGRpZmYgPSAtMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpTaW5jZSB0aGVyZSBkb2VzIG5vdCBleGlzdCBhbnkgcGFpciB0aGF0IHNhdGlzZmllcyB0aGUgY29uZGl0aW9ucywgd2UgcmV0dXJuIDAuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gbnVtczEubGVuZ3RoID09IG51bXMyLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MiAmbHQ7PSBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4tMTA8c3VwPjQ8L3N1cD4gJmx0Oz0gbnVtczFbaV0sIG51bXMyW2ldICZsdDs9IDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4tMTA8c3VwPjQ8L3N1cD4gJmx0Oz0gZGlmZiAmbHQ7PSAxMDxzdXA+NDwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Divide and Conquer",
+ "Binary Indexed Tree",
+ "Segment Tree",
+ "Merge Sort",
+ "Ordered Set"
+ ]
+ },
+ {
+ "title": "2430. Maximum Deletions on a String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4gY29uc2lzdGluZyBvZiBvbmx5IGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuIEluIG9uZSBvcGVyYXRpb24sIHlvdSBjYW46PC9wPgo8dWw+CjxsaT5EZWxldGUgPHN0cm9uZz50aGUgZW50aXJlIHN0cmluZzwvc3Ryb25nPiA8Y29kZT5zPC9jb2RlPiwgb3I8L2xpPgo8bGk+RGVsZXRlIHRoZSA8c3Ryb25nPmZpcnN0PC9zdHJvbmc+IDxjb2RlPmk8L2NvZGU+IGxldHRlcnMgb2YgPGNvZGU+czwvY29kZT4gaWYgdGhlIGZpcnN0IDxjb2RlPmk8L2NvZGU+IGxldHRlcnMgb2YgPGNvZGU+czwvY29kZT4gYXJlIDxzdHJvbmc+ZXF1YWw8L3N0cm9uZz4gdG8gdGhlIGZvbGxvd2luZyA8Y29kZT5pPC9jb2RlPiBsZXR0ZXJzIGluIDxjb2RlPnM8L2NvZGU+LCBmb3IgYW55IDxjb2RlPmk8L2NvZGU+IGluIHRoZSByYW5nZSA8Y29kZT4xICZsdDs9IGkgJmx0Oz0gcy5sZW5ndGggLyAyPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5Gb3IgZXhhbXBsZSwgaWYgPGNvZGU+cyA9ICJhYmFiYyI8L2NvZGU+LCB0aGVuIGluIG9uZSBvcGVyYXRpb24sIHlvdSBjb3VsZCBkZWxldGUgdGhlIGZpcnN0IHR3byBsZXR0ZXJzIG9mIDxjb2RlPnM8L2NvZGU+IHRvIGdldCA8Y29kZT4iYWJjIjwvY29kZT4sIHNpbmNlIHRoZSBmaXJzdCB0d28gbGV0dGVycyBvZiA8Y29kZT5zPC9jb2RlPiBhbmQgdGhlIGZvbGxvd2luZyB0d28gbGV0dGVycyBvZiA8Y29kZT5zPC9jb2RlPiBhcmUgYm90aCBlcXVhbCB0byA8Y29kZT4iYWIiPC9jb2RlPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBudW1iZXIgb2Ygb3BlcmF0aW9ucyBuZWVkZWQgdG8gZGVsZXRlIGFsbCBvZiA8L2VtPjxjb2RlPnM8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJhYmNhYmNkYWJjIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgotIERlbGV0ZSB0aGUgZmlyc3QgMyBsZXR0ZXJzICgiYWJjIikgc2luY2UgdGhlIG5leHQgMyBsZXR0ZXJzIGFyZSBlcXVhbC4gTm93LCBzID0gImFiY2RhYmMiLgotIERlbGV0ZSBhbGwgdGhlIGxldHRlcnMuCldlIHVzZWQgMiBvcGVyYXRpb25zIHNvIHJldHVybiAyLiBJdCBjYW4gYmUgcHJvdmVuIHRoYXQgMiBpcyB0aGUgbWF4aW11bSBudW1iZXIgb2Ygb3BlcmF0aW9ucyBuZWVkZWQuCk5vdGUgdGhhdCBpbiB0aGUgc2Vjb25kIG9wZXJhdGlvbiB3ZSBjYW5ub3QgZGVsZXRlICJhYmMiIGFnYWluIGJlY2F1c2UgdGhlIG5leHQgb2NjdXJyZW5jZSBvZiAiYWJjIiBkb2VzIG5vdCBoYXBwZW4gaW4gdGhlIG5leHQgMyBsZXR0ZXJzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImFhYWJhYWIiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ci0gRGVsZXRlIHRoZSBmaXJzdCBsZXR0ZXIgKCJhIikgc2luY2UgdGhlIG5leHQgbGV0dGVyIGlzIGVxdWFsLiBOb3csIHMgPSAiYWFiYWFiIi4KLSBEZWxldGUgdGhlIGZpcnN0IDMgbGV0dGVycyAoImFhYiIpIHNpbmNlIHRoZSBuZXh0IDMgbGV0dGVycyBhcmUgZXF1YWwuIE5vdywgcyA9ICJhYWIiLgotIERlbGV0ZSB0aGUgZmlyc3QgbGV0dGVyICgiYSIpIHNpbmNlIHRoZSBuZXh0IGxldHRlciBpcyBlcXVhbC4gTm93LCBzID0gImFiIi4KLSBEZWxldGUgYWxsIHRoZSBsZXR0ZXJzLgpXZSB1c2VkIDQgb3BlcmF0aW9ucyBzbyByZXR1cm4gNC4gSXQgY2FuIGJlIHByb3ZlbiB0aGF0IDQgaXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIG9wZXJhdGlvbnMgbmVlZGVkLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImFhYWFhIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBJbiBlYWNoIG9wZXJhdGlvbiwgd2UgY2FuIGRlbGV0ZSB0aGUgZmlyc3QgbGV0dGVyIG9mIHMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gcy5sZW5ndGggJmx0Oz0gNDAwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+czwvY29kZT4gY29uc2lzdHMgb25seSBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "String",
+ "Dynamic Programming",
+ "Rolling Hash",
+ "String Matching",
+ "Hash Function"
+ ]
+ },
+ {
+ "title": "2421. Number of Good Paths",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGEgdHJlZSAoaS5lLiBhIGNvbm5lY3RlZCwgdW5kaXJlY3RlZCBncmFwaCB3aXRoIG5vIGN5Y2xlcykgY29uc2lzdGluZyBvZiA8Y29kZT5uPC9jb2RlPiBub2RlcyBudW1iZXJlZCBmcm9tIDxjb2RlPjA8L2NvZGU+IHRvIDxjb2RlPm4gLSAxPC9jb2RlPiBhbmQgZXhhY3RseSA8Y29kZT5uIC0gMTwvY29kZT4gZWRnZXMuPC9wPgo8cD5Zb3UgYXJlIGdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT52YWxzPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4gd2hlcmUgPGNvZGU+dmFsc1tpXTwvY29kZT4gZGVub3RlcyB0aGUgdmFsdWUgb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBub2RlLiBZb3UgYXJlIGFsc28gZ2l2ZW4gYSAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPmVkZ2VzPC9jb2RlPiB3aGVyZSA8Y29kZT5lZGdlc1tpXSA9IFthPHN1Yj5pPC9zdWI+LCBiPHN1Yj5pPC9zdWI+XTwvY29kZT4gZGVub3RlcyB0aGF0IHRoZXJlIGV4aXN0cyBhbiA8c3Ryb25nPnVuZGlyZWN0ZWQ8L3N0cm9uZz4gZWRnZSBjb25uZWN0aW5nIG5vZGVzIDxjb2RlPmE8c3ViPmk8L3N1Yj48L2NvZGU+IGFuZCA8Y29kZT5iPHN1Yj5pPC9zdWI+PC9jb2RlPi48L3A+CjxwPkEgPHN0cm9uZz5nb29kIHBhdGg8L3N0cm9uZz4gaXMgYSBzaW1wbGUgcGF0aCB0aGF0IHNhdGlzZmllcyB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6PC9wPgo8b2w+CjxsaT5UaGUgc3RhcnRpbmcgbm9kZSBhbmQgdGhlIGVuZGluZyBub2RlIGhhdmUgdGhlIDxzdHJvbmc+c2FtZTwvc3Ryb25nPiB2YWx1ZS48L2xpPgo8bGk+QWxsIG5vZGVzIGJldHdlZW4gdGhlIHN0YXJ0aW5nIG5vZGUgYW5kIHRoZSBlbmRpbmcgbm9kZSBoYXZlIHZhbHVlcyA8c3Ryb25nPmxlc3MgdGhhbiBvciBlcXVhbCB0bzwvc3Ryb25nPiB0aGUgc3RhcnRpbmcgbm9kZSAoaS5lLiB0aGUgc3RhcnRpbmcgbm9kZSdzIHZhbHVlIHNob3VsZCBiZSB0aGUgbWF4aW11bSB2YWx1ZSBhbG9uZyB0aGUgcGF0aCkuPC9saT4KPC9vbD4KPHA+UmV0dXJuIDxlbT50aGUgbnVtYmVyIG9mIGRpc3RpbmN0IGdvb2QgcGF0aHM8L2VtPi48L3A+CjxwPk5vdGUgdGhhdCBhIHBhdGggYW5kIGl0cyByZXZlcnNlIGFyZSBjb3VudGVkIGFzIHRoZSA8c3Ryb25nPnNhbWU8L3N0cm9uZz4gcGF0aC4gRm9yIGV4YW1wbGUsIDxjb2RlPjAgLSZndDsgMTwvY29kZT4gaXMgY29uc2lkZXJlZCB0byBiZSB0aGUgc2FtZSBhcyA8Y29kZT4xIC0mZ3Q7IDA8L2NvZGU+LiBBIHNpbmdsZSBub2RlIGlzIGFsc28gY29uc2lkZXJlZCBhcyBhIHZhbGlkIHBhdGguPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA4LzA0L2Y5Y2FhYWMxNWIzODNhZjkxMTVjNTU4Njc3OWRlYzUucG5nIiBzdHlsZT0id2lkdGg6IDQwMHB4OyBoZWlnaHQ6IDMzM3B4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHZhbHMgPSBbMSwzLDIsMSwzXSwgZWRnZXMgPSBbWzAsMV0sWzAsMl0sWzIsM10sWzIsNF1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA2CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSA1IGdvb2QgcGF0aHMgY29uc2lzdGluZyBvZiBhIHNpbmdsZSBub2RlLgpUaGVyZSBpcyAxIGFkZGl0aW9uYWwgZ29vZCBwYXRoOiAxIC0mZ3Q7IDAgLSZndDsgMiAtJmd0OyA0LgooVGhlIHJldmVyc2UgcGF0aCA0IC0mZ3Q7IDIgLSZndDsgMCAtJmd0OyAxIGlzIHRyZWF0ZWQgYXMgdGhlIHNhbWUgYXMgMSAtJmd0OyAwIC0mZ3Q7IDIgLSZndDsgNC4pCk5vdGUgdGhhdCAwIC0mZ3Q7IDIgLSZndDsgMyBpcyBub3QgYSBnb29kIHBhdGggYmVjYXVzZSB2YWxzWzJdICZndDsgdmFsc1swXS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wOC8wNC8xNDlkMzA2NWVjMTY1YTcxYTFiOWFlYzg5MDc3NmZmLnBuZyIgc3R5bGU9IndpZHRoOiAyNzNweDsgaGVpZ2h0OiAzNTBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB2YWxzID0gWzEsMSwyLDIsM10sIGVkZ2VzID0gW1swLDFdLFsxLDJdLFsyLDNdLFsyLDRdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGVyZSBhcmUgNSBnb29kIHBhdGhzIGNvbnNpc3Rpbmcgb2YgYSBzaW5nbGUgbm9kZS4KVGhlcmUgYXJlIDIgYWRkaXRpb25hbCBnb29kIHBhdGhzOiAwIC0mZ3Q7IDEgYW5kIDIgLSZndDsgMy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wOC8wNC8zMTcwNWUyMmFmM2Q5YzBhNTU3NDU5YmM3ZDFiNjJkLnBuZyIgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiA4OHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHZhbHMgPSBbMV0sIGVkZ2VzID0gW10KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHRyZWUgY29uc2lzdHMgb2Ygb25seSBvbmUgbm9kZSwgc28gdGhlcmUgaXMgb25lIGdvb2QgcGF0aC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSB2YWxzLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDMgKiAxMDxzdXA+NDwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSB2YWxzW2ldICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5lZGdlcy5sZW5ndGggPT0gbiAtIDE8L2NvZGU+PC9saT4KPGxpPjxjb2RlPmVkZ2VzW2ldLmxlbmd0aCA9PSAyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IGE8c3ViPmk8L3N1Yj4sIGI8c3ViPmk8L3N1Yj4gJmx0OyBuPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5hPHN1Yj5pPC9zdWI+ICE9IGI8c3ViPmk8L3N1Yj48L2NvZGU+PC9saT4KPGxpPjxjb2RlPmVkZ2VzPC9jb2RlPiByZXByZXNlbnRzIGEgdmFsaWQgdHJlZS48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Tree",
+ "Union Find",
+ "Graph"
+ ]
+ },
+ {
+ "title": "2412. Minimum Money Required Before Transactions",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPjxmb250IGZhY2U9Im1vbm9zcGFjZSI+dHJhbnNhY3Rpb25zPC9mb250PjwvY29kZT4sIHdoZXJlIDxjb2RlPnRyYW5zYWN0aW9uc1tpXSA9IFtjb3N0PHN1Yj5pPC9zdWI+LCBjYXNoYmFjazxzdWI+aTwvc3ViPl08L2NvZGU+LjwvcD4KPHA+VGhlIGFycmF5IGRlc2NyaWJlcyB0cmFuc2FjdGlvbnMsIHdoZXJlIGVhY2ggdHJhbnNhY3Rpb24gbXVzdCBiZSBjb21wbGV0ZWQgZXhhY3RseSBvbmNlIGluIDxzdHJvbmc+c29tZSBvcmRlcjwvc3Ryb25nPi4gQXQgYW55IGdpdmVuIG1vbWVudCwgeW91IGhhdmUgYSBjZXJ0YWluIGFtb3VudCBvZiA8Y29kZT5tb25leTwvY29kZT4uIEluIG9yZGVyIHRvIGNvbXBsZXRlIHRyYW5zYWN0aW9uIDxjb2RlPmk8L2NvZGU+LCA8Y29kZT5tb25leSAmZ3Q7PSBjb3N0PHN1Yj5pPC9zdWI+PC9jb2RlPiBtdXN0IGhvbGQgdHJ1ZS4gQWZ0ZXIgcGVyZm9ybWluZyBhIHRyYW5zYWN0aW9uLCA8Y29kZT5tb25leTwvY29kZT4gYmVjb21lcyA8Y29kZT5tb25leSAtIGNvc3Q8c3ViPmk8L3N1Yj4gKyBjYXNoYmFjazxzdWI+aTwvc3ViPjwvY29kZT4uPC9wPgo8cD5SZXR1cm48ZW0+IHRoZSBtaW5pbXVtIGFtb3VudCBvZiA8L2VtPjxjb2RlPm1vbmV5PC9jb2RlPjxlbT4gcmVxdWlyZWQgYmVmb3JlIGFueSB0cmFuc2FjdGlvbiBzbyB0aGF0IGFsbCBvZiB0aGUgdHJhbnNhY3Rpb25zIGNhbiBiZSBjb21wbGV0ZWQgPHN0cm9uZz5yZWdhcmRsZXNzIG9mIHRoZSBvcmRlcjwvc3Ryb25nPiBvZiB0aGUgdHJhbnNhY3Rpb25zLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB0cmFuc2FjdGlvbnMgPSBbWzIsMV0sWzUsMF0sWzQsMl1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxMAo8c3Ryb25nPkV4cGxhbmF0aW9uOgo8L3N0cm9uZz5TdGFydGluZyB3aXRoIG1vbmV5ID0gMTAsIHRoZSB0cmFuc2FjdGlvbnMgY2FuIGJlIHBlcmZvcm1lZCBpbiBhbnkgb3JkZXIuCkl0IGNhbiBiZSBzaG93biB0aGF0IHN0YXJ0aW5nIHdpdGggbW9uZXkgJmx0OyAxMCB3aWxsIGZhaWwgdG8gY29tcGxldGUgYWxsIHRyYW5zYWN0aW9ucyBpbiBzb21lIG9yZGVyLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB0cmFuc2FjdGlvbnMgPSBbWzMsMF0sWzAsM11dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ci0gSWYgdHJhbnNhY3Rpb25zIGFyZSBpbiB0aGUgb3JkZXIgW1szLDBdLFswLDNdXSwgdGhlIG1pbmltdW0gbW9uZXkgcmVxdWlyZWQgdG8gY29tcGxldGUgdGhlIHRyYW5zYWN0aW9ucyBpcyAzLgotIElmIHRyYW5zYWN0aW9ucyBhcmUgaW4gdGhlIG9yZGVyIFtbMCwzXSxbMywwXV0sIHRoZSBtaW5pbXVtIG1vbmV5IHJlcXVpcmVkIHRvIGNvbXBsZXRlIHRoZSB0cmFuc2FjdGlvbnMgaXMgMC4KVGh1cywgc3RhcnRpbmcgd2l0aCBtb25leSA9IDMsIHRoZSB0cmFuc2FjdGlvbnMgY2FuIGJlIHBlcmZvcm1lZCBpbiBhbnkgb3JkZXIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gdHJhbnNhY3Rpb25zLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+dHJhbnNhY3Rpb25zW2ldLmxlbmd0aCA9PSAyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IGNvc3Q8c3ViPmk8L3N1Yj4sIGNhc2hiYWNrPHN1Yj5pPC9zdWI+ICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Greedy",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2416. Sum of Prefix Scores of Strings",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gYXJyYXkgPGNvZGU+d29yZHM8L2NvZGU+IG9mIHNpemUgPGNvZGU+bjwvY29kZT4gY29uc2lzdGluZyBvZiA8c3Ryb25nPm5vbi1lbXB0eTwvc3Ryb25nPiBzdHJpbmdzLjwvcD4KPHA+V2UgZGVmaW5lIHRoZSA8c3Ryb25nPnNjb3JlPC9zdHJvbmc+IG9mIGEgc3RyaW5nIDxjb2RlPndvcmQ8L2NvZGU+IGFzIHRoZSA8c3Ryb25nPm51bWJlcjwvc3Ryb25nPiBvZiBzdHJpbmdzIDxjb2RlPndvcmRzW2ldPC9jb2RlPiBzdWNoIHRoYXQgPGNvZGU+d29yZDwvY29kZT4gaXMgYSA8c3Ryb25nPnByZWZpeDwvc3Ryb25nPiBvZiA8Y29kZT53b3Jkc1tpXTwvY29kZT4uPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgaWYgPGNvZGU+d29yZHMgPSBbImEiLCAiYWIiLCAiYWJjIiwgImNhYiJdPC9jb2RlPiwgdGhlbiB0aGUgc2NvcmUgb2YgPGNvZGU+ImFiIjwvY29kZT4gaXMgPGNvZGU+MjwvY29kZT4sIHNpbmNlIDxjb2RlPiJhYiI8L2NvZGU+IGlzIGEgcHJlZml4IG9mIGJvdGggPGNvZGU+ImFiIjwvY29kZT4gYW5kIDxjb2RlPiJhYmMiPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPmFuIGFycmF5IDwvZW0+PGNvZGU+YW5zd2VyPC9jb2RlPjxlbT4gb2Ygc2l6ZSA8L2VtPjxjb2RlPm48L2NvZGU+PGVtPiB3aGVyZSA8L2VtPjxjb2RlPmFuc3dlcltpXTwvY29kZT48ZW0+IGlzIHRoZSA8c3Ryb25nPnN1bTwvc3Ryb25nPiBvZiBzY29yZXMgb2YgZXZlcnkgPHN0cm9uZz5ub24tZW1wdHk8L3N0cm9uZz4gcHJlZml4IG9mIDwvZW0+PGNvZGU+d29yZHNbaV08L2NvZGU+LjwvcD4KPHA+PHN0cm9uZz5Ob3RlPC9zdHJvbmc+IHRoYXQgYSBzdHJpbmcgaXMgY29uc2lkZXJlZCBhcyBhIHByZWZpeCBvZiBpdHNlbGYuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB3b3JkcyA9IFsiYWJjIiwiYWIiLCJiYyIsImIiXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzUsNCwzLDJdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBhbnN3ZXIgZm9yIGVhY2ggc3RyaW5nIGlzIHRoZSBmb2xsb3dpbmc6Ci0gImFiYyIgaGFzIDMgcHJlZml4ZXM6ICJhIiwgImFiIiwgYW5kICJhYmMiLgotIFRoZXJlIGFyZSAyIHN0cmluZ3Mgd2l0aCB0aGUgcHJlZml4ICJhIiwgMiBzdHJpbmdzIHdpdGggdGhlIHByZWZpeCAiYWIiLCBhbmQgMSBzdHJpbmcgd2l0aCB0aGUgcHJlZml4ICJhYmMiLgpUaGUgdG90YWwgaXMgYW5zd2VyWzBdID0gMiArIDIgKyAxID0gNS4KLSAiYWIiIGhhcyAyIHByZWZpeGVzOiAiYSIgYW5kICJhYiIuCi0gVGhlcmUgYXJlIDIgc3RyaW5ncyB3aXRoIHRoZSBwcmVmaXggImEiLCBhbmQgMiBzdHJpbmdzIHdpdGggdGhlIHByZWZpeCAiYWIiLgpUaGUgdG90YWwgaXMgYW5zd2VyWzFdID0gMiArIDIgPSA0LgotICJiYyIgaGFzIDIgcHJlZml4ZXM6ICJiIiBhbmQgImJjIi4KLSBUaGVyZSBhcmUgMiBzdHJpbmdzIHdpdGggdGhlIHByZWZpeCAiYiIsIGFuZCAxIHN0cmluZyB3aXRoIHRoZSBwcmVmaXggImJjIi4KVGhlIHRvdGFsIGlzIGFuc3dlclsyXSA9IDIgKyAxID0gMy4KLSAiYiIgaGFzIDEgcHJlZml4OiAiYiIuCi0gVGhlcmUgYXJlIDIgc3RyaW5ncyB3aXRoIHRoZSBwcmVmaXggImIiLgpUaGUgdG90YWwgaXMgYW5zd2VyWzNdID0gMi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZHMgPSBbImFiY2QiXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzRdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+CiJhYmNkIiBoYXMgNCBwcmVmaXhlczogImEiLCAiYWIiLCAiYWJjIiwgYW5kICJhYmNkIi4KRWFjaCBwcmVmaXggaGFzIGEgc2NvcmUgb2Ygb25lLCBzbyB0aGUgdG90YWwgaXMgYW5zd2VyWzBdID0gMSArIDEgKyAxICsgMSA9IDQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gd29yZHMubGVuZ3RoICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gd29yZHNbaV0ubGVuZ3RoICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPndvcmRzW2ldPC9jb2RlPiBjb25zaXN0cyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "String",
+ "Trie",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2402. Meeting Rooms III",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5uPC9jb2RlPi4gVGhlcmUgYXJlIDxjb2RlPm48L2NvZGU+IHJvb21zIG51bWJlcmVkIGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+biAtIDE8L2NvZGU+LjwvcD4KPHA+WW91IGFyZSBnaXZlbiBhIDJEIGludGVnZXIgYXJyYXkgPGNvZGU+bWVldGluZ3M8L2NvZGU+IHdoZXJlIDxjb2RlPm1lZXRpbmdzW2ldID0gW3N0YXJ0PHN1Yj5pPC9zdWI+LCBlbmQ8c3ViPmk8L3N1Yj5dPC9jb2RlPiBtZWFucyB0aGF0IGEgbWVldGluZyB3aWxsIGJlIGhlbGQgZHVyaW5nIHRoZSA8c3Ryb25nPmhhbGYtY2xvc2VkPC9zdHJvbmc+IHRpbWUgaW50ZXJ2YWwgPGNvZGU+W3N0YXJ0PHN1Yj5pPC9zdWI+LCBlbmQ8c3ViPmk8L3N1Yj4pPC9jb2RlPi4gQWxsIHRoZSB2YWx1ZXMgb2YgPGNvZGU+c3RhcnQ8c3ViPmk8L3N1Yj48L2NvZGU+IGFyZSA8c3Ryb25nPnVuaXF1ZTwvc3Ryb25nPi48L3A+CjxwPk1lZXRpbmdzIGFyZSBhbGxvY2F0ZWQgdG8gcm9vbXMgaW4gdGhlIGZvbGxvd2luZyBtYW5uZXI6PC9wPgo8b2w+CjxsaT5FYWNoIG1lZXRpbmcgd2lsbCB0YWtlIHBsYWNlIGluIHRoZSB1bnVzZWQgcm9vbSB3aXRoIHRoZSA8c3Ryb25nPmxvd2VzdDwvc3Ryb25nPiBudW1iZXIuPC9saT4KPGxpPklmIHRoZXJlIGFyZSBubyBhdmFpbGFibGUgcm9vbXMsIHRoZSBtZWV0aW5nIHdpbGwgYmUgZGVsYXllZCB1bnRpbCBhIHJvb20gYmVjb21lcyBmcmVlLiBUaGUgZGVsYXllZCBtZWV0aW5nIHNob3VsZCBoYXZlIHRoZSA8c3Ryb25nPnNhbWU8L3N0cm9uZz4gZHVyYXRpb24gYXMgdGhlIG9yaWdpbmFsIG1lZXRpbmcuPC9saT4KPGxpPldoZW4gYSByb29tIGJlY29tZXMgdW51c2VkLCBtZWV0aW5ncyB0aGF0IGhhdmUgYW4gZWFybGllciBvcmlnaW5hbCA8c3Ryb25nPnN0YXJ0PC9zdHJvbmc+IHRpbWUgc2hvdWxkIGJlIGdpdmVuIHRoZSByb29tLjwvbGk+Cjwvb2w+CjxwPlJldHVybjxlbT4gdGhlIDxzdHJvbmc+bnVtYmVyPC9zdHJvbmc+IG9mIHRoZSByb29tIHRoYXQgaGVsZCB0aGUgbW9zdCBtZWV0aW5ncy4gPC9lbT5JZiB0aGVyZSBhcmUgbXVsdGlwbGUgcm9vbXMsIHJldHVybjxlbT4gdGhlIHJvb20gd2l0aCB0aGUgPHN0cm9uZz5sb3dlc3Q8L3N0cm9uZz4gbnVtYmVyLjwvZW0+PC9wPgo8cD5BIDxzdHJvbmc+aGFsZi1jbG9zZWQgaW50ZXJ2YWw8L3N0cm9uZz4gPGNvZGU+W2EsIGIpPC9jb2RlPiBpcyB0aGUgaW50ZXJ2YWwgYmV0d2VlbiA8Y29kZT5hPC9jb2RlPiBhbmQgPGNvZGU+YjwvY29kZT4gPHN0cm9uZz5pbmNsdWRpbmc8L3N0cm9uZz4gPGNvZGU+YTwvY29kZT4gYW5kIDxzdHJvbmc+bm90IGluY2x1ZGluZzwvc3Ryb25nPiA8Y29kZT5iPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSAyLCBtZWV0aW5ncyA9IFtbMCwxMF0sWzEsNV0sWzIsN10sWzMsNF1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ci0gQXQgdGltZSAwLCBib3RoIHJvb21zIGFyZSBub3QgYmVpbmcgdXNlZC4gVGhlIGZpcnN0IG1lZXRpbmcgc3RhcnRzIGluIHJvb20gMC4KLSBBdCB0aW1lIDEsIG9ubHkgcm9vbSAxIGlzIG5vdCBiZWluZyB1c2VkLiBUaGUgc2Vjb25kIG1lZXRpbmcgc3RhcnRzIGluIHJvb20gMS4KLSBBdCB0aW1lIDIsIGJvdGggcm9vbXMgYXJlIGJlaW5nIHVzZWQuIFRoZSB0aGlyZCBtZWV0aW5nIGlzIGRlbGF5ZWQuCi0gQXQgdGltZSAzLCBib3RoIHJvb21zIGFyZSBiZWluZyB1c2VkLiBUaGUgZm91cnRoIG1lZXRpbmcgaXMgZGVsYXllZC4KLSBBdCB0aW1lIDUsIHRoZSBtZWV0aW5nIGluIHJvb20gMSBmaW5pc2hlcy4gVGhlIHRoaXJkIG1lZXRpbmcgc3RhcnRzIGluIHJvb20gMSBmb3IgdGhlIHRpbWUgcGVyaW9kIFs1LDEwKS4KLSBBdCB0aW1lIDEwLCB0aGUgbWVldGluZ3MgaW4gYm90aCByb29tcyBmaW5pc2guIFRoZSBmb3VydGggbWVldGluZyBzdGFydHMgaW4gcm9vbSAwIGZvciB0aGUgdGltZSBwZXJpb2QgWzEwLDExKS4KQm90aCByb29tcyAwIGFuZCAxIGhlbGQgMiBtZWV0aW5ncywgc28gd2UgcmV0dXJuIDAuIAo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gMywgbWVldGluZ3MgPSBbWzEsMjBdLFsyLDEwXSxbMyw1XSxbNCw5XSxbNiw4XV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KLSBBdCB0aW1lIDEsIGFsbCB0aHJlZSByb29tcyBhcmUgbm90IGJlaW5nIHVzZWQuIFRoZSBmaXJzdCBtZWV0aW5nIHN0YXJ0cyBpbiByb29tIDAuCi0gQXQgdGltZSAyLCByb29tcyAxIGFuZCAyIGFyZSBub3QgYmVpbmcgdXNlZC4gVGhlIHNlY29uZCBtZWV0aW5nIHN0YXJ0cyBpbiByb29tIDEuCi0gQXQgdGltZSAzLCBvbmx5IHJvb20gMiBpcyBub3QgYmVpbmcgdXNlZC4gVGhlIHRoaXJkIG1lZXRpbmcgc3RhcnRzIGluIHJvb20gMi4KLSBBdCB0aW1lIDQsIGFsbCB0aHJlZSByb29tcyBhcmUgYmVpbmcgdXNlZC4gVGhlIGZvdXJ0aCBtZWV0aW5nIGlzIGRlbGF5ZWQuCi0gQXQgdGltZSA1LCB0aGUgbWVldGluZyBpbiByb29tIDIgZmluaXNoZXMuIFRoZSBmb3VydGggbWVldGluZyBzdGFydHMgaW4gcm9vbSAyIGZvciB0aGUgdGltZSBwZXJpb2QgWzUsMTApLgotIEF0IHRpbWUgNiwgYWxsIHRocmVlIHJvb21zIGFyZSBiZWluZyB1c2VkLiBUaGUgZmlmdGggbWVldGluZyBpcyBkZWxheWVkLgotIEF0IHRpbWUgMTAsIHRoZSBtZWV0aW5ncyBpbiByb29tcyAxIGFuZCAyIGZpbmlzaC4gVGhlIGZpZnRoIG1lZXRpbmcgc3RhcnRzIGluIHJvb20gMSBmb3IgdGhlIHRpbWUgcGVyaW9kIFsxMCwxMikuClJvb20gMCBoZWxkIDEgbWVldGluZyB3aGlsZSByb29tcyAxIGFuZCAyIGVhY2ggaGVsZCAyIG1lZXRpbmdzLCBzbyB3ZSByZXR1cm4gMS4gCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbWVldGluZ3MubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5tZWV0aW5nc1tpXS5sZW5ndGggPT0gMjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBzdGFydDxzdWI+aTwvc3ViPiAmbHQ7IGVuZDxzdWI+aTwvc3ViPiAmbHQ7PSA1ICogMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPkFsbCB0aGUgdmFsdWVzIG9mIDxjb2RlPnN0YXJ0PHN1Yj5pPC9zdWI+PC9jb2RlPiBhcmUgPHN0cm9uZz51bmlxdWU8L3N0cm9uZz4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Sorting",
+ "Heap (Priority Queue)"
+ ]
+ },
+ {
+ "title": "2392. Build a Matrix With Conditions",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPnBvc2l0aXZlPC9zdHJvbmc+IGludGVnZXIgPGNvZGU+azwvY29kZT4uIFlvdSBhcmUgYWxzbyBnaXZlbjo8L3A+Cjx1bD4KPGxpPmEgMkQgaW50ZWdlciBhcnJheSA8Y29kZT5yb3dDb25kaXRpb25zPC9jb2RlPiBvZiBzaXplIDxjb2RlPm48L2NvZGU+IHdoZXJlIDxjb2RlPnJvd0NvbmRpdGlvbnNbaV0gPSBbYWJvdmU8c3ViPmk8L3N1Yj4sIGJlbG93PHN1Yj5pPC9zdWI+XTwvY29kZT4sIGFuZDwvbGk+CjxsaT5hIDJEIGludGVnZXIgYXJyYXkgPGNvZGU+Y29sQ29uZGl0aW9uczwvY29kZT4gb2Ygc2l6ZSA8Y29kZT5tPC9jb2RlPiB3aGVyZSA8Y29kZT5jb2xDb25kaXRpb25zW2ldID0gW2xlZnQ8c3ViPmk8L3N1Yj4sIHJpZ2h0PHN1Yj5pPC9zdWI+XTwvY29kZT4uPC9saT4KPC91bD4KPHA+VGhlIHR3byBhcnJheXMgY29udGFpbiBpbnRlZ2VycyBmcm9tIDxjb2RlPjE8L2NvZGU+IHRvIDxjb2RlPms8L2NvZGU+LjwvcD4KPHA+WW91IGhhdmUgdG8gYnVpbGQgYSA8Y29kZT5rIHggazwvY29kZT4gbWF0cml4IHRoYXQgY29udGFpbnMgZWFjaCBvZiB0aGUgbnVtYmVycyBmcm9tIDxjb2RlPjE8L2NvZGU+IHRvIDxjb2RlPms8L2NvZGU+IDxzdHJvbmc+ZXhhY3RseSBvbmNlPC9zdHJvbmc+LiBUaGUgcmVtYWluaW5nIGNlbGxzIHNob3VsZCBoYXZlIHRoZSB2YWx1ZSA8Y29kZT4wPC9jb2RlPi48L3A+CjxwPlRoZSBtYXRyaXggc2hvdWxkIGFsc28gc2F0aXNmeSB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6PC9wPgo8dWw+CjxsaT5UaGUgbnVtYmVyIDxjb2RlPmFib3ZlPHN1Yj5pPC9zdWI+PC9jb2RlPiBzaG91bGQgYXBwZWFyIGluIGEgPHN0cm9uZz5yb3c8L3N0cm9uZz4gdGhhdCBpcyBzdHJpY3RseSA8c3Ryb25nPmFib3ZlPC9zdHJvbmc+IHRoZSByb3cgYXQgd2hpY2ggdGhlIG51bWJlciA8Y29kZT5iZWxvdzxzdWI+aTwvc3ViPjwvY29kZT4gYXBwZWFycyBmb3IgYWxsIDxjb2RlPmk8L2NvZGU+IGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+biAtIDE8L2NvZGU+LjwvbGk+CjxsaT5UaGUgbnVtYmVyIDxjb2RlPmxlZnQ8c3ViPmk8L3N1Yj48L2NvZGU+IHNob3VsZCBhcHBlYXIgaW4gYSA8c3Ryb25nPmNvbHVtbjwvc3Ryb25nPiB0aGF0IGlzIHN0cmljdGx5IDxzdHJvbmc+bGVmdDwvc3Ryb25nPiBvZiB0aGUgY29sdW1uIGF0IHdoaWNoIHRoZSBudW1iZXIgPGNvZGU+cmlnaHQ8c3ViPmk8L3N1Yj48L2NvZGU+IGFwcGVhcnMgZm9yIGFsbCA8Y29kZT5pPC9jb2RlPiBmcm9tIDxjb2RlPjA8L2NvZGU+IHRvIDxjb2RlPm0gLSAxPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPjxzdHJvbmc+YW55PC9zdHJvbmc+IG1hdHJpeCB0aGF0IHNhdGlzZmllcyB0aGUgY29uZGl0aW9uczwvZW0+LiBJZiBubyBhbnN3ZXIgZXhpc3RzLCByZXR1cm4gYW4gZW1wdHkgbWF0cml4LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wNy8wNi9ncmlkb3NkcmF3aW8ucG5nIiBzdHlsZT0id2lkdGg6IDIxMXB4OyBoZWlnaHQ6IDIxMXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGsgPSAzLCByb3dDb25kaXRpb25zID0gW1sxLDJdLFszLDJdXSwgY29sQ29uZGl0aW9ucyA9IFtbMiwxXSxbMywyXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFtbMywwLDBdLFswLDAsMV0sWzAsMiwwXV0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGRpYWdyYW0gYWJvdmUgc2hvd3MgYSB2YWxpZCBleGFtcGxlIG9mIGEgbWF0cml4IHRoYXQgc2F0aXNmaWVzIGFsbCB0aGUgY29uZGl0aW9ucy4KVGhlIHJvdyBjb25kaXRpb25zIGFyZSB0aGUgZm9sbG93aW5nOgotIE51bWJlciAxIGlzIGluIHJvdyA8dT4xPC91PiwgYW5kIG51bWJlciAyIGlzIGluIHJvdyA8dT4yPC91Piwgc28gMSBpcyBhYm92ZSAyIGluIHRoZSBtYXRyaXguCi0gTnVtYmVyIDMgaXMgaW4gcm93IDx1PjA8L3U+LCBhbmQgbnVtYmVyIDIgaXMgaW4gcm93IDx1PjI8L3U+LCBzbyAzIGlzIGFib3ZlIDIgaW4gdGhlIG1hdHJpeC4KVGhlIGNvbHVtbiBjb25kaXRpb25zIGFyZSB0aGUgZm9sbG93aW5nOgotIE51bWJlciAyIGlzIGluIGNvbHVtbiA8dT4xPC91PiwgYW5kIG51bWJlciAxIGlzIGluIGNvbHVtbiA8dT4yPC91Piwgc28gMiBpcyBsZWZ0IG9mIDEgaW4gdGhlIG1hdHJpeC4KLSBOdW1iZXIgMyBpcyBpbiBjb2x1bW4gPHU+MDwvdT4sIGFuZCBudW1iZXIgMiBpcyBpbiBjb2x1bW4gPHU+MTwvdT4sIHNvIDMgaXMgbGVmdCBvZiAyIGluIHRoZSBtYXRyaXguCk5vdGUgdGhhdCB0aGVyZSBtYXkgYmUgbXVsdGlwbGUgY29ycmVjdCBhbnN3ZXJzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBrID0gMywgcm93Q29uZGl0aW9ucyA9IFtbMSwyXSxbMiwzXSxbMywxXSxbMiwzXV0sIGNvbENvbmRpdGlvbnMgPSBbWzIsMV1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBGcm9tIHRoZSBmaXJzdCB0d28gY29uZGl0aW9ucywgMyBoYXMgdG8gYmUgYmVsb3cgMSBidXQgdGhlIHRoaXJkIGNvbmRpdGlvbnMgbmVlZHMgMyB0byBiZSBhYm92ZSAxIHRvIGJlIHNhdGlzZmllZC4KTm8gbWF0cml4IGNhbiBzYXRpc2Z5IGFsbCB0aGUgY29uZGl0aW9ucywgc28gd2UgcmV0dXJuIHRoZSBlbXB0eSBtYXRyaXguCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjIgJmx0Oz0gayAmbHQ7PSA0MDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gcm93Q29uZGl0aW9ucy5sZW5ndGgsIGNvbENvbmRpdGlvbnMubGVuZ3RoICZsdDs9IDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5yb3dDb25kaXRpb25zW2ldLmxlbmd0aCA9PSBjb2xDb25kaXRpb25zW2ldLmxlbmd0aCA9PSAyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGFib3ZlPHN1Yj5pPC9zdWI+LCBiZWxvdzxzdWI+aTwvc3ViPiwgbGVmdDxzdWI+aTwvc3ViPiwgcmlnaHQ8c3ViPmk8L3N1Yj4gJmx0Oz0gazwvY29kZT48L2xpPgo8bGk+PGNvZGU+YWJvdmU8c3ViPmk8L3N1Yj4gIT0gYmVsb3c8c3ViPmk8L3N1Yj48L2NvZGU+PC9saT4KPGxpPjxjb2RlPmxlZnQ8c3ViPmk8L3N1Yj4gIT0gcmlnaHQ8c3ViPmk8L3N1Yj48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Graph",
+ "Topological Sort",
+ "Matrix"
+ ]
+ },
+ {
+ "title": "2382. Maximum Segment Sum After Removals",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXlzIDxjb2RlPm51bXM8L2NvZGU+IGFuZCA8Y29kZT5yZW1vdmVRdWVyaWVzPC9jb2RlPiwgYm90aCBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4uIEZvciB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHF1ZXJ5LCB0aGUgZWxlbWVudCBpbiA8Y29kZT5udW1zPC9jb2RlPiBhdCB0aGUgaW5kZXggPGNvZGU+cmVtb3ZlUXVlcmllc1tpXTwvY29kZT4gaXMgcmVtb3ZlZCwgc3BsaXR0aW5nIDxjb2RlPm51bXM8L2NvZGU+IGludG8gZGlmZmVyZW50IHNlZ21lbnRzLjwvcD4KPHA+QSA8c3Ryb25nPnNlZ21lbnQ8L3N0cm9uZz4gaXMgYSBjb250aWd1b3VzIHNlcXVlbmNlIG9mIDxzdHJvbmc+cG9zaXRpdmU8L3N0cm9uZz4gaW50ZWdlcnMgaW4gPGNvZGU+bnVtczwvY29kZT4uIEEgPHN0cm9uZz5zZWdtZW50IHN1bTwvc3Ryb25nPiBpcyB0aGUgc3VtIG9mIGV2ZXJ5IGVsZW1lbnQgaW4gYSBzZWdtZW50LjwvcD4KPHA+UmV0dXJuPGVtPiBhbiBpbnRlZ2VyIGFycmF5IDwvZW0+PGNvZGU+YW5zd2VyPC9jb2RlPjxlbT4sIG9mIGxlbmd0aCA8L2VtPjxjb2RlPm48L2NvZGU+PGVtPiwgd2hlcmUgPC9lbT48Y29kZT5hbnN3ZXJbaV08L2NvZGU+PGVtPiBpcyB0aGUgPHN0cm9uZz5tYXhpbXVtPC9zdHJvbmc+IHNlZ21lbnQgc3VtIGFmdGVyIGFwcGx5aW5nIHRoZSA8L2VtPjxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiA8ZW0+cmVtb3ZhbC48L2VtPjwvcD4KPHA+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGUgc2FtZSBpbmRleCB3aWxsIDxzdHJvbmc+bm90PC9zdHJvbmc+IGJlIHJlbW92ZWQgbW9yZSB0aGFuIG9uY2UuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMiw1LDYsMV0sIHJlbW92ZVF1ZXJpZXMgPSBbMCwzLDIsNCwxXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzE0LDcsMiwyLDBdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFVzaW5nIDAgdG8gaW5kaWNhdGUgYSByZW1vdmVkIGVsZW1lbnQsIHRoZSBhbnN3ZXIgaXMgYXMgZm9sbG93czoKUXVlcnkgMTogUmVtb3ZlIHRoZSAwdGggZWxlbWVudCwgbnVtcyBiZWNvbWVzIFswLDIsNSw2LDFdIGFuZCB0aGUgbWF4aW11bSBzZWdtZW50IHN1bSBpcyAxNCBmb3Igc2VnbWVudCBbMiw1LDYsMV0uClF1ZXJ5IDI6IFJlbW92ZSB0aGUgM3JkIGVsZW1lbnQsIG51bXMgYmVjb21lcyBbMCwyLDUsMCwxXSBhbmQgdGhlIG1heGltdW0gc2VnbWVudCBzdW0gaXMgNyBmb3Igc2VnbWVudCBbMiw1XS4KUXVlcnkgMzogUmVtb3ZlIHRoZSAybmQgZWxlbWVudCwgbnVtcyBiZWNvbWVzIFswLDIsMCwwLDFdIGFuZCB0aGUgbWF4aW11bSBzZWdtZW50IHN1bSBpcyAyIGZvciBzZWdtZW50IFsyXS4gClF1ZXJ5IDQ6IFJlbW92ZSB0aGUgNHRoIGVsZW1lbnQsIG51bXMgYmVjb21lcyBbMCwyLDAsMCwwXSBhbmQgdGhlIG1heGltdW0gc2VnbWVudCBzdW0gaXMgMiBmb3Igc2VnbWVudCBbMl0uIApRdWVyeSA1OiBSZW1vdmUgdGhlIDFzdCBlbGVtZW50LCBudW1zIGJlY29tZXMgWzAsMCwwLDAsMF0gYW5kIHRoZSBtYXhpbXVtIHNlZ21lbnQgc3VtIGlzIDAsIHNpbmNlIHRoZXJlIGFyZSBubyBzZWdtZW50cy4KRmluYWxseSwgd2UgcmV0dXJuIFsxNCw3LDIsMiwwXS48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzMsMiwxMSwxXSwgcmVtb3ZlUXVlcmllcyA9IFszLDIsMSwwXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzE2LDUsMywwXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBVc2luZyAwIHRvIGluZGljYXRlIGEgcmVtb3ZlZCBlbGVtZW50LCB0aGUgYW5zd2VyIGlzIGFzIGZvbGxvd3M6ClF1ZXJ5IDE6IFJlbW92ZSB0aGUgM3JkIGVsZW1lbnQsIG51bXMgYmVjb21lcyBbMywyLDExLDBdIGFuZCB0aGUgbWF4aW11bSBzZWdtZW50IHN1bSBpcyAxNiBmb3Igc2VnbWVudCBbMywyLDExXS4KUXVlcnkgMjogUmVtb3ZlIHRoZSAybmQgZWxlbWVudCwgbnVtcyBiZWNvbWVzIFszLDIsMCwwXSBhbmQgdGhlIG1heGltdW0gc2VnbWVudCBzdW0gaXMgNSBmb3Igc2VnbWVudCBbMywyXS4KUXVlcnkgMzogUmVtb3ZlIHRoZSAxc3QgZWxlbWVudCwgbnVtcyBiZWNvbWVzIFszLDAsMCwwXSBhbmQgdGhlIG1heGltdW0gc2VnbWVudCBzdW0gaXMgMyBmb3Igc2VnbWVudCBbM10uClF1ZXJ5IDQ6IFJlbW92ZSB0aGUgMHRoIGVsZW1lbnQsIG51bXMgYmVjb21lcyBbMCwwLDAsMF0gYW5kIHRoZSBtYXhpbXVtIHNlZ21lbnQgc3VtIGlzIDAsIHNpbmNlIHRoZXJlIGFyZSBubyBzZWdtZW50cy4KRmluYWxseSwgd2UgcmV0dXJuIFsxNiw1LDMsMF0uCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gbnVtcy5sZW5ndGggPT0gcmVtb3ZlUXVlcmllcy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IHJlbW92ZVF1ZXJpZXNbaV0gJmx0OyBuPC9jb2RlPjwvbGk+CjxsaT5BbGwgdGhlIHZhbHVlcyBvZiA8Y29kZT5yZW1vdmVRdWVyaWVzPC9jb2RlPiBhcmUgPHN0cm9uZz51bmlxdWU8L3N0cm9uZz4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Union Find",
+ "Prefix Sum",
+ "Ordered Set"
+ ]
+ },
+ {
+ "title": "2386. Find the K-Sum of an Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBhbmQgYSA8c3Ryb25nPnBvc2l0aXZlPC9zdHJvbmc+IGludGVnZXIgPGNvZGU+azwvY29kZT4uIFlvdSBjYW4gY2hvb3NlIGFueSA8c3Ryb25nPnN1YnNlcXVlbmNlPC9zdHJvbmc+IG9mIHRoZSBhcnJheSBhbmQgc3VtIGFsbCBvZiBpdHMgZWxlbWVudHMgdG9nZXRoZXIuPC9wPgo8cD5XZSBkZWZpbmUgdGhlIDxzdHJvbmc+Sy1TdW08L3N0cm9uZz4gb2YgdGhlIGFycmF5IGFzIHRoZSA8Y29kZT5rPHN1cD50aDwvc3VwPjwvY29kZT4gPHN0cm9uZz5sYXJnZXN0PC9zdHJvbmc+IHN1YnNlcXVlbmNlIHN1bSB0aGF0IGNhbiBiZSBvYnRhaW5lZCAoPHN0cm9uZz5ub3Q8L3N0cm9uZz4gbmVjZXNzYXJpbHkgZGlzdGluY3QpLjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgSy1TdW0gb2YgdGhlIGFycmF5PC9lbT4uPC9wPgo8cD5BIDxzdHJvbmc+c3Vic2VxdWVuY2U8L3N0cm9uZz4gaXMgYW4gYXJyYXkgdGhhdCBjYW4gYmUgZGVyaXZlZCBmcm9tIGFub3RoZXIgYXJyYXkgYnkgZGVsZXRpbmcgc29tZSBvciBubyBlbGVtZW50cyB3aXRob3V0IGNoYW5naW5nIHRoZSBvcmRlciBvZiB0aGUgcmVtYWluaW5nIGVsZW1lbnRzLjwvcD4KPHA+PHN0cm9uZz5Ob3RlPC9zdHJvbmc+IHRoYXQgdGhlIGVtcHR5IHN1YnNlcXVlbmNlIGlzIGNvbnNpZGVyZWQgdG8gaGF2ZSBhIHN1bSBvZiA8Y29kZT4wPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMiw0LC0yXSwgayA9IDUKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gQWxsIHRoZSBwb3NzaWJsZSBzdWJzZXF1ZW5jZSBzdW1zIHRoYXQgd2UgY2FuIG9idGFpbiBhcmUgdGhlIGZvbGxvd2luZyBzb3J0ZWQgaW4gZGVjcmVhc2luZyBvcmRlcjoKLSA2LCA0LCA0LCAyLCA8dT4yPC91PiwgMCwgMCwgLTIuClRoZSA1LVN1bSBvZiB0aGUgYXJyYXkgaXMgMi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLC0yLDMsNCwtMTAsMTJdLCBrID0gMTYKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSAxNi1TdW0gb2YgdGhlIGFycmF5IGlzIDEwLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IG51bXMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPi0xMDxzdXA+OTwvc3VwPiAmbHQ7PSBudW1zW2ldICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGsgJmx0Oz0gbWluKDIwMDAsIDI8c3VwPm48L3N1cD4pPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Sorting",
+ "Heap (Priority Queue)"
+ ]
+ },
+ {
+ "title": "2376. Count Special Integers",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPldlIGNhbGwgYSBwb3NpdGl2ZSBpbnRlZ2VyIDxzdHJvbmc+c3BlY2lhbDwvc3Ryb25nPiBpZiBhbGwgb2YgaXRzIGRpZ2l0cyBhcmUgPHN0cm9uZz5kaXN0aW5jdDwvc3Ryb25nPi48L3A+CjxwPkdpdmVuIGEgPHN0cm9uZz5wb3NpdGl2ZTwvc3Ryb25nPiBpbnRlZ2VyIDxjb2RlPm48L2NvZGU+LCByZXR1cm4gPGVtPnRoZSBudW1iZXIgb2Ygc3BlY2lhbCBpbnRlZ2VycyB0aGF0IGJlbG9uZyB0byB0aGUgaW50ZXJ2YWwgPC9lbT48Y29kZT5bMSwgbl08L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDIwCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxOQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBBbGwgdGhlIGludGVnZXJzIGZyb20gMSB0byAyMCwgZXhjZXB0IDExLCBhcmUgc3BlY2lhbC4gVGh1cywgdGhlcmUgYXJlIDE5IHNwZWNpYWwgaW50ZWdlcnMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSA1CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA1CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEFsbCB0aGUgaW50ZWdlcnMgZnJvbSAxIHRvIDUgYXJlIHNwZWNpYWwuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSAxMzUKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDExMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGVyZSBhcmUgMTEwIGludGVnZXJzIGZyb20gMSB0byAxMzUgdGhhdCBhcmUgc3BlY2lhbC4KU29tZSBvZiB0aGUgaW50ZWdlcnMgdGhhdCBhcmUgbm90IHNwZWNpYWwgYXJlOiAyMiwgMTE0LCBhbmQgMTMxLjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAyICogMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Math",
+ "Dynamic Programming"
+ ]
+ },
+ {
+ "title": "2366. Minimum Replacements to Sort the Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+LiBJbiBvbmUgb3BlcmF0aW9uIHlvdSBjYW4gcmVwbGFjZSBhbnkgZWxlbWVudCBvZiB0aGUgYXJyYXkgd2l0aCA8c3Ryb25nPmFueSB0d288L3N0cm9uZz4gZWxlbWVudHMgdGhhdCA8c3Ryb25nPnN1bTwvc3Ryb25nPiB0byBpdC48L3A+Cjx1bD4KPGxpPkZvciBleGFtcGxlLCBjb25zaWRlciA8Y29kZT5udW1zID0gWzUsNiw3XTwvY29kZT4uIEluIG9uZSBvcGVyYXRpb24sIHdlIGNhbiByZXBsYWNlIDxjb2RlPm51bXNbMV08L2NvZGU+IHdpdGggPGNvZGU+MjwvY29kZT4gYW5kIDxjb2RlPjQ8L2NvZGU+IGFuZCBjb252ZXJ0IDxjb2RlPm51bXM8L2NvZGU+IHRvIDxjb2RlPls1LDIsNCw3XTwvY29kZT4uPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgbWluaW11bSBudW1iZXIgb2Ygb3BlcmF0aW9ucyB0byBtYWtlIGFuIGFycmF5IHRoYXQgaXMgc29ydGVkIGluIDxzdHJvbmc+bm9uLWRlY3JlYXNpbmc8L3N0cm9uZz4gb3JkZXI8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMyw5LDNdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEhlcmUgYXJlIHRoZSBzdGVwcyB0byBzb3J0IHRoZSBhcnJheSBpbiBub24tZGVjcmVhc2luZyBvcmRlcjoKLSBGcm9tIFszLDksM10sIHJlcGxhY2UgdGhlIDkgd2l0aCAzIGFuZCA2IHNvIHRoZSBhcnJheSBiZWNvbWVzIFszLDMsNiwzXQotIEZyb20gWzMsMyw2LDNdLCByZXBsYWNlIHRoZSA2IHdpdGggMyBhbmQgMyBzbyB0aGUgYXJyYXkgYmVjb21lcyBbMywzLDMsMywzXQpUaGVyZSBhcmUgMiBzdGVwcyB0byBzb3J0IHRoZSBhcnJheSBpbiBub24tZGVjcmVhc2luZyBvcmRlci4gVGhlcmVmb3JlLCB3ZSByZXR1cm4gMi4KCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSwyLDMsNCw1XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgYXJyYXkgaXMgYWxyZWFkeSBpbiBub24tZGVjcmVhc2luZyBvcmRlci4gVGhlcmVmb3JlLCB3ZSByZXR1cm4gMC4gCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Math",
+ "Greedy"
+ ]
+ },
+ {
+ "title": "2398. Maximum Number of Robots Within Budget",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBoYXZlIDxjb2RlPm48L2NvZGU+IHJvYm90cy4gWW91IGFyZSBnaXZlbiB0d28gPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheXMsIDxjb2RlPmNoYXJnZVRpbWVzPC9jb2RlPiBhbmQgPGNvZGU+cnVubmluZ0Nvc3RzPC9jb2RlPiwgYm90aCBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4uIFRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gcm9ib3QgY29zdHMgPGNvZGU+Y2hhcmdlVGltZXNbaV08L2NvZGU+IHVuaXRzIHRvIGNoYXJnZSBhbmQgY29zdHMgPGNvZGU+cnVubmluZ0Nvc3RzW2ldPC9jb2RlPiB1bml0cyB0byBydW4uIFlvdSBhcmUgYWxzbyBnaXZlbiBhbiBpbnRlZ2VyIDxjb2RlPmJ1ZGdldDwvY29kZT4uPC9wPgo8cD5UaGUgPHN0cm9uZz50b3RhbCBjb3N0PC9zdHJvbmc+IG9mIHJ1bm5pbmcgPGNvZGU+azwvY29kZT4gY2hvc2VuIHJvYm90cyBpcyBlcXVhbCB0byA8Y29kZT5tYXgoY2hhcmdlVGltZXMpICsgayAqIHN1bShydW5uaW5nQ29zdHMpPC9jb2RlPiwgd2hlcmUgPGNvZGU+bWF4KGNoYXJnZVRpbWVzKTwvY29kZT4gaXMgdGhlIGxhcmdlc3QgY2hhcmdlIGNvc3QgYW1vbmcgdGhlIDxjb2RlPms8L2NvZGU+IHJvYm90cyBhbmQgPGNvZGU+c3VtKHJ1bm5pbmdDb3N0cyk8L2NvZGU+IGlzIHRoZSBzdW0gb2YgcnVubmluZyBjb3N0cyBhbW9uZyB0aGUgPGNvZGU+azwvY29kZT4gcm9ib3RzLjwvcD4KPHA+UmV0dXJuPGVtPiB0aGUgPHN0cm9uZz5tYXhpbXVtPC9zdHJvbmc+IG51bWJlciBvZiA8c3Ryb25nPmNvbnNlY3V0aXZlPC9zdHJvbmc+IHJvYm90cyB5b3UgY2FuIHJ1biBzdWNoIHRoYXQgdGhlIHRvdGFsIGNvc3QgPHN0cm9uZz5kb2VzIG5vdDwvc3Ryb25nPiBleGNlZWQgPC9lbT48Y29kZT5idWRnZXQ8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gY2hhcmdlVGltZXMgPSBbMyw2LDEsMyw0XSwgcnVubmluZ0Nvc3RzID0gWzIsMSwzLDQsNV0sIGJ1ZGdldCA9IDI1CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApJdCBpcyBwb3NzaWJsZSB0byBydW4gYWxsIGluZGl2aWR1YWwgYW5kIGNvbnNlY3V0aXZlIHBhaXJzIG9mIHJvYm90cyB3aXRoaW4gYnVkZ2V0LgpUbyBvYnRhaW4gYW5zd2VyIDMsIGNvbnNpZGVyIHRoZSBmaXJzdCAzIHJvYm90cy4gVGhlIHRvdGFsIGNvc3Qgd2lsbCBiZSBtYXgoMyw2LDEpICsgMyAqIHN1bSgyLDEsMykgPSA2ICsgMyAqIDYgPSAyNCB3aGljaCBpcyBsZXNzIHRoYW4gMjUuCkl0IGNhbiBiZSBzaG93biB0aGF0IGl0IGlzIG5vdCBwb3NzaWJsZSB0byBydW4gbW9yZSB0aGFuIDMgY29uc2VjdXRpdmUgcm9ib3RzIHdpdGhpbiBidWRnZXQsIHNvIHdlIHJldHVybiAzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBjaGFyZ2VUaW1lcyA9IFsxMSwxMiwxOV0sIHJ1bm5pbmdDb3N0cyA9IFsxMCw4LDddLCBidWRnZXQgPSAxOQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBObyByb2JvdCBjYW4gYmUgcnVuIHRoYXQgZG9lcyBub3QgZXhjZWVkIHRoZSBidWRnZXQsIHNvIHdlIHJldHVybiAwLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5jaGFyZ2VUaW1lcy5sZW5ndGggPT0gcnVubmluZ0Nvc3RzLmxlbmd0aCA9PSBuPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gNSAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGNoYXJnZVRpbWVzW2ldLCBydW5uaW5nQ29zdHNbaV0gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gYnVkZ2V0ICZsdDs9IDEwPHN1cD4xNTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Queue",
+ "Sliding Window",
+ "Heap (Priority Queue)",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2360. Longest Cycle in a Graph",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPmRpcmVjdGVkPC9zdHJvbmc+IGdyYXBoIG9mIDxjb2RlPm48L2NvZGU+IG5vZGVzIG51bWJlcmVkIGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+biAtIDE8L2NvZGU+LCB3aGVyZSBlYWNoIG5vZGUgaGFzIDxzdHJvbmc+YXQgbW9zdCBvbmU8L3N0cm9uZz4gb3V0Z29pbmcgZWRnZS48L3A+CjxwPlRoZSBncmFwaCBpcyByZXByZXNlbnRlZCB3aXRoIGEgZ2l2ZW4gPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gYXJyYXkgPGNvZGU+ZWRnZXM8L2NvZGU+IG9mIHNpemUgPGNvZGU+bjwvY29kZT4sIGluZGljYXRpbmcgdGhhdCB0aGVyZSBpcyBhIGRpcmVjdGVkIGVkZ2UgZnJvbSBub2RlIDxjb2RlPmk8L2NvZGU+IHRvIG5vZGUgPGNvZGU+ZWRnZXNbaV08L2NvZGU+LiBJZiB0aGVyZSBpcyBubyBvdXRnb2luZyBlZGdlIGZyb20gbm9kZSA8Y29kZT5pPC9jb2RlPiwgdGhlbiA8Y29kZT5lZGdlc1tpXSA9PSAtMTwvY29kZT4uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSBsZW5ndGggb2YgdGhlIDxzdHJvbmc+bG9uZ2VzdDwvc3Ryb25nPiBjeWNsZSBpbiB0aGUgZ3JhcGg8L2VtPi4gSWYgbm8gY3ljbGUgZXhpc3RzLCByZXR1cm4gPGNvZGU+LTE8L2NvZGU+LjwvcD4KPHA+QSBjeWNsZSBpcyBhIHBhdGggdGhhdCBzdGFydHMgYW5kIGVuZHMgYXQgdGhlIDxzdHJvbmc+c2FtZTwvc3Ryb25nPiBub2RlLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wNi8wOC9ncmFwaDRkcmF3aW8tNS5wbmciIHN0eWxlPSJ3aWR0aDogMzM1cHg7IGhlaWdodDogMTkxcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZWRnZXMgPSBbMywzLDQsMiwzXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgbG9uZ2VzdCBjeWNsZSBpbiB0aGUgZ3JhcGggaXMgdGhlIGN5Y2xlOiAyIC0mZ3Q7IDQgLSZndDsgMyAtJmd0OyAyLgpUaGUgbGVuZ3RoIG9mIHRoaXMgY3ljbGUgaXMgMywgc28gMyBpcyByZXR1cm5lZC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wNi8wNy9ncmFwaDRkcmF3aW8tMS5wbmciIHN0eWxlPSJ3aWR0aDogMTcxcHg7IGhlaWdodDogMTYxcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZWRnZXMgPSBbMiwtMSwzLDFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAtMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGVyZSBhcmUgbm8gY3ljbGVzIGluIHRoaXMgZ3JhcGguCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gZWRnZXMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4yICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPi0xICZsdDs9IGVkZ2VzW2ldICZsdDsgbjwvY29kZT48L2xpPgo8bGk+PGNvZGU+ZWRnZXNbaV0gIT0gaTwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Depth-First Search",
+ "Graph",
+ "Topological Sort"
+ ]
+ },
+ {
+ "title": "2350. Shortest Impossible Sequence of Rolls",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5yb2xsczwvY29kZT4gb2YgbGVuZ3RoIDxjb2RlPm48L2NvZGU+IGFuZCBhbiBpbnRlZ2VyIDxjb2RlPms8L2NvZGU+LiBZb3Ugcm9sbCBhIDxjb2RlPms8L2NvZGU+IHNpZGVkIGRpY2UgbnVtYmVyZWQgZnJvbSA8Y29kZT4xPC9jb2RlPiB0byA8Y29kZT5rPC9jb2RlPiwgPGNvZGU+bjwvY29kZT4gdGltZXMsIHdoZXJlIHRoZSByZXN1bHQgb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiByb2xsIGlzIDxjb2RlPnJvbGxzW2ldPC9jb2RlPi48L3A+CjxwPlJldHVybjxlbT4gdGhlIGxlbmd0aCBvZiB0aGUgPHN0cm9uZz5zaG9ydGVzdDwvc3Ryb25nPiBzZXF1ZW5jZSBvZiByb2xscyB0aGF0IDxzdHJvbmc+Y2Fubm90PC9zdHJvbmc+IGJlIHRha2VuIGZyb20gPC9lbT48Y29kZT5yb2xsczwvY29kZT4uPC9wPgo8cD5BIDxzdHJvbmc+c2VxdWVuY2Ugb2Ygcm9sbHM8L3N0cm9uZz4gb2YgbGVuZ3RoIDxjb2RlPmxlbjwvY29kZT4gaXMgdGhlIHJlc3VsdCBvZiByb2xsaW5nIGEgPGNvZGU+azwvY29kZT4gc2lkZWQgZGljZSA8Y29kZT5sZW48L2NvZGU+IHRpbWVzLjwvcD4KPHA+PHN0cm9uZz5Ob3RlPC9zdHJvbmc+IHRoYXQgdGhlIHNlcXVlbmNlIHRha2VuIGRvZXMgbm90IGhhdmUgdG8gYmUgY29uc2VjdXRpdmUgYXMgbG9uZyBhcyBpdCBpcyBpbiBvcmRlci48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHJvbGxzID0gWzQsMiwxLDIsMywzLDIsNCwxXSwgayA9IDQKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gRXZlcnkgc2VxdWVuY2Ugb2Ygcm9sbHMgb2YgbGVuZ3RoIDEsIFsxXSwgWzJdLCBbM10sIFs0XSwgY2FuIGJlIHRha2VuIGZyb20gcm9sbHMuCkV2ZXJ5IHNlcXVlbmNlIG9mIHJvbGxzIG9mIGxlbmd0aCAyLCBbMSwgMV0sIFsxLCAyXSwgLi4uLCBbNCwgNF0sIGNhbiBiZSB0YWtlbiBmcm9tIHJvbGxzLgpUaGUgc2VxdWVuY2UgWzEsIDQsIDJdIGNhbm5vdCBiZSB0YWtlbiBmcm9tIHJvbGxzLCBzbyB3ZSByZXR1cm4gMy4KTm90ZSB0aGF0IHRoZXJlIGFyZSBvdGhlciBzZXF1ZW5jZXMgdGhhdCBjYW5ub3QgYmUgdGFrZW4gZnJvbSByb2xscy48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiByb2xscyA9IFsxLDEsMiwyXSwgayA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gRXZlcnkgc2VxdWVuY2Ugb2Ygcm9sbHMgb2YgbGVuZ3RoIDEsIFsxXSwgWzJdLCBjYW4gYmUgdGFrZW4gZnJvbSByb2xscy4KVGhlIHNlcXVlbmNlIFsyLCAxXSBjYW5ub3QgYmUgdGFrZW4gZnJvbSByb2xscywgc28gd2UgcmV0dXJuIDIuCk5vdGUgdGhhdCB0aGVyZSBhcmUgb3RoZXIgc2VxdWVuY2VzIHRoYXQgY2Fubm90IGJlIHRha2VuIGZyb20gcm9sbHMgYnV0IFsyLCAxXSBpcyB0aGUgc2hvcnRlc3QuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHJvbGxzID0gWzEsMSwzLDIsMiwyLDMsM10sIGsgPSA0CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBzZXF1ZW5jZSBbNF0gY2Fubm90IGJlIHRha2VuIGZyb20gcm9sbHMsIHNvIHdlIHJldHVybiAxLgpOb3RlIHRoYXQgdGhlcmUgYXJlIG90aGVyIHNlcXVlbmNlcyB0aGF0IGNhbm5vdCBiZSB0YWtlbiBmcm9tIHJvbGxzIGJ1dCBbNF0gaXMgdGhlIHNob3J0ZXN0Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IHJvbGxzLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHJvbGxzW2ldICZsdDs9IGsgJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Greedy"
+ ]
+ },
+ {
+ "title": "2354. Number of Excellent Pairs",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBwb3NpdGl2ZSBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IGFuZCBhIHBvc2l0aXZlIGludGVnZXIgPGNvZGU+azwvY29kZT4uPC9wPgo8cD5BIHBhaXIgb2YgbnVtYmVycyA8Y29kZT4obnVtMSwgbnVtMik8L2NvZGU+IGlzIGNhbGxlZCA8c3Ryb25nPmV4Y2VsbGVudDwvc3Ryb25nPiBpZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIHNhdGlzZmllZDo8L3A+Cjx1bD4KPGxpPjxzdHJvbmc+Qm90aDwvc3Ryb25nPiB0aGUgbnVtYmVycyA8Y29kZT5udW0xPC9jb2RlPiBhbmQgPGNvZGU+bnVtMjwvY29kZT4gZXhpc3QgaW4gdGhlIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+LjwvbGk+CjxsaT5UaGUgc3VtIG9mIHRoZSBudW1iZXIgb2Ygc2V0IGJpdHMgaW4gPGNvZGU+bnVtMSBPUiBudW0yPC9jb2RlPiBhbmQgPGNvZGU+bnVtMSBBTkQgbnVtMjwvY29kZT4gaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDxjb2RlPms8L2NvZGU+LCB3aGVyZSA8Y29kZT5PUjwvY29kZT4gaXMgdGhlIGJpdHdpc2UgPHN0cm9uZz5PUjwvc3Ryb25nPiBvcGVyYXRpb24gYW5kIDxjb2RlPkFORDwvY29kZT4gaXMgdGhlIGJpdHdpc2UgPHN0cm9uZz5BTkQ8L3N0cm9uZz4gb3BlcmF0aW9uLjwvbGk+CjwvdWw+CjxwPlJldHVybiA8ZW0+dGhlIG51bWJlciBvZiA8c3Ryb25nPmRpc3RpbmN0PC9zdHJvbmc+IGV4Y2VsbGVudCBwYWlyczwvZW0+LjwvcD4KPHA+VHdvIHBhaXJzIDxjb2RlPihhLCBiKTwvY29kZT4gYW5kIDxjb2RlPihjLCBkKTwvY29kZT4gYXJlIGNvbnNpZGVyZWQgZGlzdGluY3QgaWYgZWl0aGVyIDxjb2RlPmEgIT0gYzwvY29kZT4gb3IgPGNvZGU+YiAhPSBkPC9jb2RlPi4gRm9yIGV4YW1wbGUsIDxjb2RlPigxLCAyKTwvY29kZT4gYW5kIDxjb2RlPigyLCAxKTwvY29kZT4gYXJlIGRpc3RpbmN0LjwvcD4KPHA+PHN0cm9uZz5Ob3RlPC9zdHJvbmc+IHRoYXQgYSBwYWlyIDxjb2RlPihudW0xLCBudW0yKTwvY29kZT4gc3VjaCB0aGF0IDxjb2RlPm51bTEgPT0gbnVtMjwvY29kZT4gY2FuIGFsc28gYmUgZXhjZWxsZW50IGlmIHlvdSBoYXZlIGF0IGxlYXN0IDxzdHJvbmc+b25lPC9zdHJvbmc+IG9jY3VycmVuY2Ugb2YgPGNvZGU+bnVtMTwvY29kZT4gaW4gdGhlIGFycmF5LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDIsMywxXSwgayA9IDMKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGV4Y2VsbGVudCBwYWlycyBhcmUgdGhlIGZvbGxvd2luZzoKLSAoMywgMykuICgzIEFORCAzKSBhbmQgKDMgT1IgMykgYXJlIGJvdGggZXF1YWwgdG8gKDExKSBpbiBiaW5hcnkuIFRoZSB0b3RhbCBudW1iZXIgb2Ygc2V0IGJpdHMgaXMgMiArIDIgPSA0LCB3aGljaCBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gayA9IDMuCi0gKDIsIDMpIGFuZCAoMywgMikuICgyIEFORCAzKSBpcyBlcXVhbCB0byAoMTApIGluIGJpbmFyeSwgYW5kICgyIE9SIDMpIGlzIGVxdWFsIHRvICgxMSkgaW4gYmluYXJ5LiBUaGUgdG90YWwgbnVtYmVyIG9mIHNldCBiaXRzIGlzIDEgKyAyID0gMy4KLSAoMSwgMykgYW5kICgzLCAxKS4gKDEgQU5EIDMpIGlzIGVxdWFsIHRvICgwMSkgaW4gYmluYXJ5LCBhbmQgKDEgT1IgMykgaXMgZXF1YWwgdG8gKDExKSBpbiBiaW5hcnkuIFRoZSB0b3RhbCBudW1iZXIgb2Ygc2V0IGJpdHMgaXMgMSArIDIgPSAzLgpTbyB0aGUgbnVtYmVyIG9mIGV4Y2VsbGVudCBwYWlycyBpcyA1LjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNSwxLDFdLCBrID0gMTAKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgYXJlIG5vIGV4Y2VsbGVudCBwYWlycyBmb3IgdGhpcyBhcnJheS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGsgJmx0Oz0gNjA8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Binary Search",
+ "Bit Manipulation"
+ ]
+ },
+ {
+ "title": "2344. Minimum Deletions to Make Array Divisible",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIHBvc2l0aXZlIGludGVnZXIgYXJyYXlzIDxjb2RlPm51bXM8L2NvZGU+IGFuZCA8Y29kZT5udW1zRGl2aWRlPC9jb2RlPi4gWW91IGNhbiBkZWxldGUgYW55IG51bWJlciBvZiBlbGVtZW50cyBmcm9tIDxjb2RlPm51bXM8L2NvZGU+LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5taW5pbXVtPC9zdHJvbmc+IG51bWJlciBvZiBkZWxldGlvbnMgc3VjaCB0aGF0IHRoZSA8c3Ryb25nPnNtYWxsZXN0PC9zdHJvbmc+IGVsZW1lbnQgaW4gPC9lbT48Y29kZT5udW1zPC9jb2RlPjxlbT4gPHN0cm9uZz5kaXZpZGVzPC9zdHJvbmc+IGFsbCB0aGUgZWxlbWVudHMgb2YgPC9lbT48Y29kZT5udW1zRGl2aWRlPC9jb2RlPi4gSWYgdGhpcyBpcyBub3QgcG9zc2libGUsIHJldHVybiA8Y29kZT4tMTwvY29kZT4uPC9wPgo8cD5Ob3RlIHRoYXQgYW4gaW50ZWdlciA8Y29kZT54PC9jb2RlPiBkaXZpZGVzIDxjb2RlPnk8L2NvZGU+IGlmIDxjb2RlPnkgJSB4ID09IDA8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsyLDMsMiw0LDNdLCBudW1zRGl2aWRlID0gWzksNiw5LDMsMTVdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApUaGUgc21hbGxlc3QgZWxlbWVudCBpbiBbMiwzLDIsNCwzXSBpcyAyLCB3aGljaCBkb2VzIG5vdCBkaXZpZGUgYWxsIHRoZSBlbGVtZW50cyBvZiBudW1zRGl2aWRlLgpXZSB1c2UgMiBkZWxldGlvbnMgdG8gZGVsZXRlIHRoZSBlbGVtZW50cyBpbiBudW1zIHRoYXQgYXJlIGVxdWFsIHRvIDIgd2hpY2ggbWFrZXMgbnVtcyA9IFszLDQsM10uClRoZSBzbWFsbGVzdCBlbGVtZW50IGluIFszLDQsM10gaXMgMywgd2hpY2ggZGl2aWRlcyBhbGwgdGhlIGVsZW1lbnRzIG9mIG51bXNEaXZpZGUuCkl0IGNhbiBiZSBzaG93biB0aGF0IDIgaXMgdGhlIG1pbmltdW0gbnVtYmVyIG9mIGRlbGV0aW9ucyBuZWVkZWQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNCwzLDZdLCBudW1zRGl2aWRlID0gWzgsMiw2LDEwXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gLTEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCldlIHdhbnQgdGhlIHNtYWxsZXN0IGVsZW1lbnQgaW4gbnVtcyB0byBkaXZpZGUgYWxsIHRoZSBlbGVtZW50cyBvZiBudW1zRGl2aWRlLgpUaGVyZSBpcyBubyB3YXkgdG8gZGVsZXRlIGVsZW1lbnRzIGZyb20gbnVtcyB0byBhbGxvdyB0aGlzLjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGgsIG51bXNEaXZpZGUubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0sIG51bXNEaXZpZGVbaV0gJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Math",
+ "Sorting",
+ "Heap (Priority Queue)",
+ "Number Theory"
+ ]
+ },
+ {
+ "title": "2334. Subarray With Elements Greater Than Varying Threshold",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBhbmQgYW4gaW50ZWdlciA8Y29kZT50aHJlc2hvbGQ8L2NvZGU+LjwvcD4KPHA+RmluZCBhbnkgc3ViYXJyYXkgb2YgPGNvZGU+bnVtczwvY29kZT4gb2YgbGVuZ3RoIDxjb2RlPms8L2NvZGU+IHN1Y2ggdGhhdCA8c3Ryb25nPmV2ZXJ5PC9zdHJvbmc+IGVsZW1lbnQgaW4gdGhlIHN1YmFycmF5IGlzIDxzdHJvbmc+Z3JlYXRlcjwvc3Ryb25nPiB0aGFuIDxjb2RlPnRocmVzaG9sZCAvIGs8L2NvZGU+LjwvcD4KPHA+UmV0dXJuPGVtPiB0aGUgPHN0cm9uZz5zaXplPC9zdHJvbmc+IG9mIDxzdHJvbmc+YW55PC9zdHJvbmc+IHN1Y2ggc3ViYXJyYXk8L2VtPi4gSWYgdGhlcmUgaXMgbm8gc3VjaCBzdWJhcnJheSwgcmV0dXJuIDxjb2RlPi0xPC9jb2RlPi48L3A+CjxwPkEgPHN0cm9uZz5zdWJhcnJheTwvc3Ryb25nPiBpcyBhIGNvbnRpZ3VvdXMgbm9uLWVtcHR5IHNlcXVlbmNlIG9mIGVsZW1lbnRzIHdpdGhpbiBhbiBhcnJheS48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSwzLDQsMywxXSwgdGhyZXNob2xkID0gNgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgc3ViYXJyYXkgWzMsNCwzXSBoYXMgYSBzaXplIG9mIDMsIGFuZCBldmVyeSBlbGVtZW50IGlzIGdyZWF0ZXIgdGhhbiA2IC8gMyA9IDIuCk5vdGUgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbGlkIHN1YmFycmF5Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzYsNSw2LDUsOF0sIHRocmVzaG9sZCA9IDcKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHN1YmFycmF5IFs4XSBoYXMgYSBzaXplIG9mIDEsIGFuZCA4ICZndDsgNyAvIDEgPSA3LiBTbyAxIGlzIHJldHVybmVkLgpOb3RlIHRoYXQgdGhlIHN1YmFycmF5IFs2LDVdIGhhcyBhIHNpemUgb2YgMiwgYW5kIGV2ZXJ5IGVsZW1lbnQgaXMgZ3JlYXRlciB0aGFuIDcgLyAyID0gMy41LiAKU2ltaWxhcmx5LCB0aGUgc3ViYXJyYXlzIFs2LDUsNl0sIFs2LDUsNiw1XSwgWzYsNSw2LDUsOF0gYWxzbyBzYXRpc2Z5IHRoZSBnaXZlbiBjb25kaXRpb25zLgpUaGVyZWZvcmUsIDIsIDMsIDQsIG9yIDUgbWF5IGFsc28gYmUgcmV0dXJuZWQuPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldLCB0aHJlc2hvbGQgJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Stack",
+ "Union Find",
+ "Monotonic Stack"
+ ]
+ },
+ {
+ "title": "2338. Count the Number of Ideal Arrays",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIGludGVnZXJzIDxjb2RlPm48L2NvZGU+IGFuZCA8Y29kZT5tYXhWYWx1ZTwvY29kZT4sIHdoaWNoIGFyZSB1c2VkIHRvIGRlc2NyaWJlIGFuIDxzdHJvbmc+aWRlYWw8L3N0cm9uZz4gYXJyYXkuPC9wPgo8cD5BIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXkgPGNvZGU+YXJyPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4gaXMgY29uc2lkZXJlZCA8c3Ryb25nPmlkZWFsPC9zdHJvbmc+IGlmIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBob2xkOjwvcD4KPHVsPgo8bGk+RXZlcnkgPGNvZGU+YXJyW2ldPC9jb2RlPiBpcyBhIHZhbHVlIGZyb20gPGNvZGU+MTwvY29kZT4gdG8gPGNvZGU+bWF4VmFsdWU8L2NvZGU+LCBmb3IgPGNvZGU+MCAmbHQ7PSBpICZsdDsgbjwvY29kZT4uPC9saT4KPGxpPkV2ZXJ5IDxjb2RlPmFycltpXTwvY29kZT4gaXMgZGl2aXNpYmxlIGJ5IDxjb2RlPmFycltpIC0gMV08L2NvZGU+LCBmb3IgPGNvZGU+MCAmbHQ7IGkgJmx0OyBuPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPnRoZSBudW1iZXIgb2YgPHN0cm9uZz5kaXN0aW5jdDwvc3Ryb25nPiBpZGVhbCBhcnJheXMgb2YgbGVuZ3RoIDwvZW0+PGNvZGU+bjwvY29kZT4uIFNpbmNlIHRoZSBhbnN3ZXIgbWF5IGJlIHZlcnkgbGFyZ2UsIHJldHVybiBpdCBtb2R1bG8gPGNvZGU+MTA8c3VwPjk8L3N1cD4gKyA3PC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSAyLCBtYXhWYWx1ZSA9IDUKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBmb2xsb3dpbmcgYXJlIHRoZSBwb3NzaWJsZSBpZGVhbCBhcnJheXM6Ci0gQXJyYXlzIHN0YXJ0aW5nIHdpdGggdGhlIHZhbHVlIDEgKDUgYXJyYXlzKTogWzEsMV0sIFsxLDJdLCBbMSwzXSwgWzEsNF0sIFsxLDVdCi0gQXJyYXlzIHN0YXJ0aW5nIHdpdGggdGhlIHZhbHVlIDIgKDIgYXJyYXlzKTogWzIsMl0sIFsyLDRdCi0gQXJyYXlzIHN0YXJ0aW5nIHdpdGggdGhlIHZhbHVlIDMgKDEgYXJyYXkpOiBbMywzXQotIEFycmF5cyBzdGFydGluZyB3aXRoIHRoZSB2YWx1ZSA0ICgxIGFycmF5KTogWzQsNF0KLSBBcnJheXMgc3RhcnRpbmcgd2l0aCB0aGUgdmFsdWUgNSAoMSBhcnJheSk6IFs1LDVdClRoZXJlIGFyZSBhIHRvdGFsIG9mIDUgKyAyICsgMSArIDEgKyAxID0gMTAgZGlzdGluY3QgaWRlYWwgYXJyYXlzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gNSwgbWF4VmFsdWUgPSAzCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgZm9sbG93aW5nIGFyZSB0aGUgcG9zc2libGUgaWRlYWwgYXJyYXlzOgotIEFycmF5cyBzdGFydGluZyB3aXRoIHRoZSB2YWx1ZSAxICg5IGFycmF5cyk6IAogICAtIFdpdGggbm8gb3RoZXIgZGlzdGluY3QgdmFsdWVzICgxIGFycmF5KTogWzEsMSwxLDEsMV0gCiAgIC0gV2l0aCAyPHN1cD5uZDwvc3VwPiBkaXN0aW5jdCB2YWx1ZSAyICg0IGFycmF5cyk6IFsxLDEsMSwxLDJdLCBbMSwxLDEsMiwyXSwgWzEsMSwyLDIsMl0sIFsxLDIsMiwyLDJdCiAgIC0gV2l0aCAyPHN1cD5uZDwvc3VwPiBkaXN0aW5jdCB2YWx1ZSAzICg0IGFycmF5cyk6IFsxLDEsMSwxLDNdLCBbMSwxLDEsMywzXSwgWzEsMSwzLDMsM10sIFsxLDMsMywzLDNdCi0gQXJyYXlzIHN0YXJ0aW5nIHdpdGggdGhlIHZhbHVlIDIgKDEgYXJyYXkpOiBbMiwyLDIsMiwyXQotIEFycmF5cyBzdGFydGluZyB3aXRoIHRoZSB2YWx1ZSAzICgxIGFycmF5KTogWzMsMywzLDMsM10KVGhlcmUgYXJlIGEgdG90YWwgb2YgOSArIDEgKyAxID0gMTEgZGlzdGluY3QgaWRlYWwgYXJyYXlzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4yICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbWF4VmFsdWUgJmx0Oz0gMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Math",
+ "Dynamic Programming",
+ "Combinatorics",
+ "Number Theory"
+ ]
+ },
+ {
+ "title": "2328. Number of Increasing Paths in a Grid",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gPGNvZGU+bSB4IG48L2NvZGU+IGludGVnZXIgbWF0cml4IDxjb2RlPmdyaWQ8L2NvZGU+LCB3aGVyZSB5b3UgY2FuIG1vdmUgZnJvbSBhIGNlbGwgdG8gYW55IGFkamFjZW50IGNlbGwgaW4gYWxsIDxjb2RlPjQ8L2NvZGU+IGRpcmVjdGlvbnMuPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSBudW1iZXIgb2YgPHN0cm9uZz5zdHJpY3RseTwvc3Ryb25nPiA8c3Ryb25nPmluY3JlYXNpbmc8L3N0cm9uZz4gcGF0aHMgaW4gdGhlIGdyaWQgc3VjaCB0aGF0IHlvdSBjYW4gc3RhcnQgZnJvbSA8c3Ryb25nPmFueTwvc3Ryb25nPiBjZWxsIGFuZCBlbmQgYXQgPHN0cm9uZz5hbnk8L3N0cm9uZz4gY2VsbC4gPC9lbT5TaW5jZSB0aGUgYW5zd2VyIG1heSBiZSB2ZXJ5IGxhcmdlLCByZXR1cm4gaXQgPHN0cm9uZz5tb2R1bG88L3N0cm9uZz4gPGNvZGU+MTA8c3VwPjk8L3N1cD4gKyA3PC9jb2RlPi48L3A+CjxwPlR3byBwYXRocyBhcmUgY29uc2lkZXJlZCBkaWZmZXJlbnQgaWYgdGhleSBkbyBub3QgaGF2ZSBleGFjdGx5IHRoZSBzYW1lIHNlcXVlbmNlIG9mIHZpc2l0ZWQgY2VsbHMuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA1LzEwL2dyaWRkcmF3aW8tNC5wbmciIHN0eWxlPSJ3aWR0aDogMTgxcHg7IGhlaWdodDogMTIxcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbMSwxXSxbMyw0XV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDgKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHN0cmljdGx5IGluY3JlYXNpbmcgcGF0aHMgYXJlOgotIFBhdGhzIHdpdGggbGVuZ3RoIDE6IFsxXSwgWzFdLCBbM10sIFs0XS4KLSBQYXRocyB3aXRoIGxlbmd0aCAyOiBbMSAtJmd0OyAzXSwgWzEgLSZndDsgNF0sIFszIC0mZ3Q7IDRdLgotIFBhdGhzIHdpdGggbGVuZ3RoIDM6IFsxIC0mZ3Q7IDMgLSZndDsgNF0uClRoZSB0b3RhbCBudW1iZXIgb2YgcGF0aHMgaXMgNCArIDMgKyAxID0gOC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbMV0sWzJdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgc3RyaWN0bHkgaW5jcmVhc2luZyBwYXRocyBhcmU6Ci0gUGF0aHMgd2l0aCBsZW5ndGggMTogWzFdLCBbMl0uCi0gUGF0aHMgd2l0aCBsZW5ndGggMjogWzEgLSZndDsgMl0uClRoZSB0b3RhbCBudW1iZXIgb2YgcGF0aHMgaXMgMiArIDEgPSAzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5tID09IGdyaWQubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5uID09IGdyaWRbaV0ubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG0sIG4gJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBtICogbiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBncmlkW2ldW2pdICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Dynamic Programming",
+ "Depth-First Search",
+ "Breadth-First Search",
+ "Graph",
+ "Topological Sort",
+ "Memoization",
+ "Matrix"
+ ]
+ },
+ {
+ "title": "2318. Number of Distinct Roll Sequences",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5uPC9jb2RlPi4gWW91IHJvbGwgYSBmYWlyIDYtc2lkZWQgZGljZSA8Y29kZT5uPC9jb2RlPiB0aW1lcy4gRGV0ZXJtaW5lIHRoZSB0b3RhbCBudW1iZXIgb2YgPHN0cm9uZz5kaXN0aW5jdDwvc3Ryb25nPiBzZXF1ZW5jZXMgb2Ygcm9sbHMgcG9zc2libGUgc3VjaCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgc2F0aXNmaWVkOjwvcD4KPG9sPgo8bGk+VGhlIDxzdHJvbmc+Z3JlYXRlc3QgY29tbW9uIGRpdmlzb3I8L3N0cm9uZz4gb2YgYW55IDxzdHJvbmc+YWRqYWNlbnQ8L3N0cm9uZz4gdmFsdWVzIGluIHRoZSBzZXF1ZW5jZSBpcyBlcXVhbCB0byA8Y29kZT4xPC9jb2RlPi48L2xpPgo8bGk+VGhlcmUgaXMgPHN0cm9uZz5hdCBsZWFzdDwvc3Ryb25nPiBhIGdhcCBvZiA8Y29kZT4yPC9jb2RlPiByb2xscyBiZXR3ZWVuIDxzdHJvbmc+ZXF1YWw8L3N0cm9uZz4gdmFsdWVkIHJvbGxzLiBNb3JlIGZvcm1hbGx5LCBpZiB0aGUgdmFsdWUgb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiByb2xsIGlzIDxzdHJvbmc+ZXF1YWw8L3N0cm9uZz4gdG8gdGhlIHZhbHVlIG9mIHRoZSA8Y29kZT5qPHN1cD50aDwvc3VwPjwvY29kZT4gcm9sbCwgdGhlbiA8Y29kZT5hYnMoaSAtIGopICZndDsgMjwvY29kZT4uPC9saT4KPC9vbD4KPHA+UmV0dXJuIDxlbT50aGU8c3Ryb25nPiB0b3RhbCBudW1iZXI8L3N0cm9uZz4gb2YgZGlzdGluY3Qgc2VxdWVuY2VzIHBvc3NpYmxlPC9lbT4uIFNpbmNlIHRoZSBhbnN3ZXIgbWF5IGJlIHZlcnkgbGFyZ2UsIHJldHVybiBpdCA8c3Ryb25nPm1vZHVsbzwvc3Ryb25nPiA8Y29kZT4xMDxzdXA+OTwvc3VwPiArIDc8L2NvZGU+LjwvcD4KPHA+VHdvIHNlcXVlbmNlcyBhcmUgY29uc2lkZXJlZCBkaXN0aW5jdCBpZiBhdCBsZWFzdCBvbmUgZWxlbWVudCBpcyBkaWZmZXJlbnQuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gNAo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTg0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFNvbWUgb2YgdGhlIHBvc3NpYmxlIHNlcXVlbmNlcyBhcmUgKDEsIDIsIDMsIDQpLCAoNiwgMSwgMiwgMyksICgxLCAyLCAzLCAxKSwgZXRjLgpTb21lIGludmFsaWQgc2VxdWVuY2VzIGFyZSAoMSwgMiwgMSwgMyksICgxLCAyLCAzLCA2KS4KKDEsIDIsIDEsIDMpIGlzIGludmFsaWQgc2luY2UgdGhlIGZpcnN0IGFuZCB0aGlyZCByb2xsIGhhdmUgYW4gZXF1YWwgdmFsdWUgYW5kIGFicygxIC0gMykgPSAyIChpIGFuZCBqIGFyZSAxLWluZGV4ZWQpLgooMSwgMiwgMywgNikgaXMgaW52YWxpZCBzaW5jZSB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgMyBhbmQgNiA9IDMuClRoZXJlIGFyZSBhIHRvdGFsIG9mIDE4NCBkaXN0aW5jdCBzZXF1ZW5jZXMgcG9zc2libGUsIHNvIHdlIHJldHVybiAxODQuPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFNvbWUgb2YgdGhlIHBvc3NpYmxlIHNlcXVlbmNlcyBhcmUgKDEsIDIpLCAoMiwgMSksICgzLCAyKS4KU29tZSBpbnZhbGlkIHNlcXVlbmNlcyBhcmUgKDMsIDYpLCAoMiwgNCkgc2luY2UgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIGlzIG5vdCBlcXVhbCB0byAxLgpUaGVyZSBhcmUgYSB0b3RhbCBvZiAyMiBkaXN0aW5jdCBzZXF1ZW5jZXMgcG9zc2libGUsIHNvIHdlIHJldHVybiAyMi4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Dynamic Programming",
+ "Memoization"
+ ]
+ },
+ {
+ "title": "2322. Minimum Score After Removals on a Tree",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGFuIHVuZGlyZWN0ZWQgY29ubmVjdGVkIHRyZWUgd2l0aCA8Y29kZT5uPC9jb2RlPiBub2RlcyBsYWJlbGVkIGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+biAtIDE8L2NvZGU+IGFuZCA8Y29kZT5uIC0gMTwvY29kZT4gZWRnZXMuPC9wPgo8cD5Zb3UgYXJlIGdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4gd2hlcmUgPGNvZGU+bnVtc1tpXTwvY29kZT4gcmVwcmVzZW50cyB0aGUgdmFsdWUgb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBub2RlLiBZb3UgYXJlIGFsc28gZ2l2ZW4gYSAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPmVkZ2VzPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+biAtIDE8L2NvZGU+IHdoZXJlIDxjb2RlPmVkZ2VzW2ldID0gW2E8c3ViPmk8L3N1Yj4sIGI8c3ViPmk8L3N1Yj5dPC9jb2RlPiBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBpcyBhbiBlZGdlIGJldHdlZW4gbm9kZXMgPGNvZGU+YTxzdWI+aTwvc3ViPjwvY29kZT4gYW5kIDxjb2RlPmI8c3ViPmk8L3N1Yj48L2NvZGU+IGluIHRoZSB0cmVlLjwvcD4KPHA+UmVtb3ZlIHR3byA8c3Ryb25nPmRpc3RpbmN0PC9zdHJvbmc+IGVkZ2VzIG9mIHRoZSB0cmVlIHRvIGZvcm0gdGhyZWUgY29ubmVjdGVkIGNvbXBvbmVudHMuIEZvciBhIHBhaXIgb2YgcmVtb3ZlZCBlZGdlcywgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgZGVmaW5lZDo8L3A+CjxvbD4KPGxpPkdldCB0aGUgWE9SIG9mIGFsbCB0aGUgdmFsdWVzIG9mIHRoZSBub2RlcyBmb3IgPHN0cm9uZz5lYWNoPC9zdHJvbmc+IG9mIHRoZSB0aHJlZSBjb21wb25lbnRzIHJlc3BlY3RpdmVseS48L2xpPgo8bGk+VGhlIDxzdHJvbmc+ZGlmZmVyZW5jZTwvc3Ryb25nPiBiZXR3ZWVuIHRoZSA8c3Ryb25nPmxhcmdlc3Q8L3N0cm9uZz4gWE9SIHZhbHVlIGFuZCB0aGUgPHN0cm9uZz5zbWFsbGVzdDwvc3Ryb25nPiBYT1IgdmFsdWUgaXMgdGhlIDxzdHJvbmc+c2NvcmU8L3N0cm9uZz4gb2YgdGhlIHBhaXIuPC9saT4KPC9vbD4KPHVsPgo8bGk+Rm9yIGV4YW1wbGUsIHNheSB0aGUgdGhyZWUgY29tcG9uZW50cyBoYXZlIHRoZSBub2RlIHZhbHVlczogPGNvZGU+WzQsNSw3XTwvY29kZT4sIDxjb2RlPlsxLDldPC9jb2RlPiwgYW5kIDxjb2RlPlszLDMsM108L2NvZGU+LiBUaGUgdGhyZWUgWE9SIHZhbHVlcyBhcmUgPGNvZGU+NCBeIDUgXiA3ID0gPHU+PHN0cm9uZz42PC9zdHJvbmc+PC91PjwvY29kZT4sIDxjb2RlPjEgXiA5ID0gPHU+PHN0cm9uZz44PC9zdHJvbmc+PC91PjwvY29kZT4sIGFuZCA8Y29kZT4zIF4gMyBeIDMgPSA8dT48c3Ryb25nPjM8L3N0cm9uZz48L3U+PC9jb2RlPi4gVGhlIGxhcmdlc3QgWE9SIHZhbHVlIGlzIDxjb2RlPjg8L2NvZGU+IGFuZCB0aGUgc21hbGxlc3QgWE9SIHZhbHVlIGlzIDxjb2RlPjM8L2NvZGU+LiBUaGUgc2NvcmUgaXMgdGhlbiA8Y29kZT44IC0gMyA9IDU8L2NvZGU+LjwvbGk+CjwvdWw+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiBzY29yZSBvZiBhbnkgcG9zc2libGUgcGFpciBvZiBlZGdlIHJlbW92YWxzIG9uIHRoZSBnaXZlbiB0cmVlPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA1LzAzL2V4MWRyYXdpby5wbmciIHN0eWxlPSJ3aWR0aDogMTkzcHg7IGhlaWdodDogMTkwcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDUsNSw0LDExXSwgZWRnZXMgPSBbWzAsMV0sWzEsMl0sWzEsM10sWzMsNF1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA5CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBkaWFncmFtIGFib3ZlIHNob3dzIGEgd2F5IHRvIG1ha2UgYSBwYWlyIG9mIHJlbW92YWxzLgotIFRoZSAxPHN1cD5zdDwvc3VwPiBjb21wb25lbnQgaGFzIG5vZGVzIFsxLDMsNF0gd2l0aCB2YWx1ZXMgWzUsNCwxMV0uIEl0cyBYT1IgdmFsdWUgaXMgNSBeIDQgXiAxMSA9IDEwLgotIFRoZSAyPHN1cD5uZDwvc3VwPiBjb21wb25lbnQgaGFzIG5vZGUgWzBdIHdpdGggdmFsdWUgWzFdLiBJdHMgWE9SIHZhbHVlIGlzIDEgPSAxLgotIFRoZSAzPHN1cD5yZDwvc3VwPiBjb21wb25lbnQgaGFzIG5vZGUgWzJdIHdpdGggdmFsdWUgWzVdLiBJdHMgWE9SIHZhbHVlIGlzIDUgPSA1LgpUaGUgc2NvcmUgaXMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgbGFyZ2VzdCBhbmQgc21hbGxlc3QgWE9SIHZhbHVlIHdoaWNoIGlzIDEwIC0gMSA9IDkuCkl0IGNhbiBiZSBzaG93biB0aGF0IG5vIG90aGVyIHBhaXIgb2YgcmVtb3ZhbHMgd2lsbCBvYnRhaW4gYSBzbWFsbGVyIHNjb3JlIHRoYW4gOS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wNS8wMy9leDJkcmF3aW8ucG5nIiBzdHlsZT0id2lkdGg6IDI4N3B4OyBoZWlnaHQ6IDE1MHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNSw1LDIsNCw0LDJdLCBlZGdlcyA9IFtbMCwxXSxbMSwyXSxbNSwyXSxbNCwzXSxbMSwzXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGRpYWdyYW0gYWJvdmUgc2hvd3MgYSB3YXkgdG8gbWFrZSBhIHBhaXIgb2YgcmVtb3ZhbHMuCi0gVGhlIDE8c3VwPnN0PC9zdXA+IGNvbXBvbmVudCBoYXMgbm9kZXMgWzMsNF0gd2l0aCB2YWx1ZXMgWzQsNF0uIEl0cyBYT1IgdmFsdWUgaXMgNCBeIDQgPSAwLgotIFRoZSAyPHN1cD5uZDwvc3VwPiBjb21wb25lbnQgaGFzIG5vZGVzIFsxLDBdIHdpdGggdmFsdWVzIFs1LDVdLiBJdHMgWE9SIHZhbHVlIGlzIDUgXiA1ID0gMC4KLSBUaGUgMzxzdXA+cmQ8L3N1cD4gY29tcG9uZW50IGhhcyBub2RlcyBbMiw1XSB3aXRoIHZhbHVlcyBbMiwyXS4gSXRzIFhPUiB2YWx1ZSBpcyAyIF4gMiA9IDAuClRoZSBzY29yZSBpcyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBsYXJnZXN0IGFuZCBzbWFsbGVzdCBYT1IgdmFsdWUgd2hpY2ggaXMgMCAtIDAgPSAwLgpXZSBjYW5ub3Qgb2J0YWluIGEgc21hbGxlciBzY29yZSB0aGFuIDAuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gbnVtcy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjMgJmx0Oz0gbiAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0gJmx0Oz0gMTA8c3VwPjg8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPmVkZ2VzLmxlbmd0aCA9PSBuIC0gMTwvY29kZT48L2xpPgo8bGk+PGNvZGU+ZWRnZXNbaV0ubGVuZ3RoID09IDI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gYTxzdWI+aTwvc3ViPiwgYjxzdWI+aTwvc3ViPiAmbHQ7IG48L2NvZGU+PC9saT4KPGxpPjxjb2RlPmE8c3ViPmk8L3N1Yj4gIT0gYjxzdWI+aTwvc3ViPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+ZWRnZXM8L2NvZGU+IHJlcHJlc2VudHMgYSB2YWxpZCB0cmVlLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Bit Manipulation",
+ "Tree",
+ "Depth-First Search"
+ ]
+ },
+ {
+ "title": "2302. Count Subarrays With Score Less Than K",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZSA8c3Ryb25nPnNjb3JlPC9zdHJvbmc+IG9mIGFuIGFycmF5IGlzIGRlZmluZWQgYXMgdGhlIDxzdHJvbmc+cHJvZHVjdDwvc3Ryb25nPiBvZiBpdHMgc3VtIGFuZCBpdHMgbGVuZ3RoLjwvcD4KPHVsPgo8bGk+Rm9yIGV4YW1wbGUsIHRoZSBzY29yZSBvZiA8Y29kZT5bMSwgMiwgMywgNCwgNV08L2NvZGU+IGlzIDxjb2RlPigxICsgMiArIDMgKyA0ICsgNSkgKiA1ID0gNzU8L2NvZGU+LjwvbGk+CjwvdWw+CjxwPkdpdmVuIGEgcG9zaXRpdmUgaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBhbmQgYW4gaW50ZWdlciA8Y29kZT5rPC9jb2RlPiwgcmV0dXJuIDxlbT50aGUgPHN0cm9uZz5udW1iZXIgb2Ygbm9uLWVtcHR5IHN1YmFycmF5czwvc3Ryb25nPiBvZjwvZW0+IDxjb2RlPm51bXM8L2NvZGU+IDxlbT53aG9zZSBzY29yZSBpcyA8c3Ryb25nPnN0cmljdGx5IGxlc3M8L3N0cm9uZz4gdGhhbjwvZW0+IDxjb2RlPms8L2NvZGU+LjwvcD4KPHA+QSA8c3Ryb25nPnN1YmFycmF5PC9zdHJvbmc+IGlzIGEgY29udGlndW91cyBzZXF1ZW5jZSBvZiBlbGVtZW50cyB3aXRoaW4gYW4gYXJyYXkuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzIsMSw0LDMsNV0sIGsgPSAxMAo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgNiBzdWJhcnJheXMgaGF2aW5nIHNjb3JlcyBsZXNzIHRoYW4gMTAgYXJlOgotIFsyXSB3aXRoIHNjb3JlIDIgKiAxID0gMi4KLSBbMV0gd2l0aCBzY29yZSAxICogMSA9IDEuCi0gWzRdIHdpdGggc2NvcmUgNCAqIDEgPSA0LgotIFszXSB3aXRoIHNjb3JlIDMgKiAxID0gMy4gCi0gWzVdIHdpdGggc2NvcmUgNSAqIDEgPSA1LgotIFsyLDFdIHdpdGggc2NvcmUgKDIgKyAxKSAqIDIgPSA2LgpOb3RlIHRoYXQgc3ViYXJyYXlzIHN1Y2ggYXMgWzEsNF0gYW5kIFs0LDMsNV0gYXJlIG5vdCBjb25zaWRlcmVkIGJlY2F1c2UgdGhlaXIgc2NvcmVzIGFyZSAxMCBhbmQgMzYgcmVzcGVjdGl2ZWx5LCB3aGlsZSB3ZSBuZWVkIHNjb3JlcyBzdHJpY3RseSBsZXNzIHRoYW4gMTAuPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDEsMV0sIGsgPSA1CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA1CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+CkV2ZXJ5IHN1YmFycmF5IGV4Y2VwdCBbMSwxLDFdIGhhcyBhIHNjb3JlIGxlc3MgdGhhbiA1LgpbMSwxLDFdIGhhcyBhIHNjb3JlICgxICsgMSArIDEpICogMyA9IDksIHdoaWNoIGlzIGdyZWF0ZXIgdGhhbiA1LgpUaHVzLCB0aGVyZSBhcmUgNSBzdWJhcnJheXMgaGF2aW5nIHNjb3JlcyBsZXNzIHRoYW4gNS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGsgJmx0Oz0gMTA8c3VwPjE1PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Sliding Window",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2301. Match Substring After Replacement",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIHN0cmluZ3MgPGNvZGU+czwvY29kZT4gYW5kIDxjb2RlPnN1YjwvY29kZT4uIFlvdSBhcmUgYWxzbyBnaXZlbiBhIDJEIGNoYXJhY3RlciBhcnJheSA8Y29kZT5tYXBwaW5nczwvY29kZT4gd2hlcmUgPGNvZGU+bWFwcGluZ3NbaV0gPSBbb2xkPHN1Yj5pPC9zdWI+LCBuZXc8c3ViPmk8L3N1Yj5dPC9jb2RlPiBpbmRpY2F0ZXMgdGhhdCB5b3UgbWF5IHBlcmZvcm0gdGhlIGZvbGxvd2luZyBvcGVyYXRpb24gPHN0cm9uZz5hbnk8L3N0cm9uZz4gbnVtYmVyIG9mIHRpbWVzOjwvcD4KPHVsPgo8bGk+PHN0cm9uZz5SZXBsYWNlPC9zdHJvbmc+IGEgY2hhcmFjdGVyIDxjb2RlPm9sZDxzdWI+aTwvc3ViPjwvY29kZT4gb2YgPGNvZGU+c3ViPC9jb2RlPiB3aXRoIDxjb2RlPm5ldzxzdWI+aTwvc3ViPjwvY29kZT4uPC9saT4KPC91bD4KPHA+RWFjaCBjaGFyYWN0ZXIgaW4gPGNvZGU+c3ViPC9jb2RlPiA8c3Ryb25nPmNhbm5vdDwvc3Ryb25nPiBiZSByZXBsYWNlZCBtb3JlIHRoYW4gb25jZS48L3A+CjxwPlJldHVybiA8Y29kZT50cnVlPC9jb2RlPjxlbT4gaWYgaXQgaXMgcG9zc2libGUgdG8gbWFrZSA8L2VtPjxjb2RlPnN1YjwvY29kZT48ZW0+IGEgc3Vic3RyaW5nIG9mIDwvZW0+PGNvZGU+czwvY29kZT48ZW0+IGJ5IHJlcGxhY2luZyB6ZXJvIG9yIG1vcmUgY2hhcmFjdGVycyBhY2NvcmRpbmcgdG8gPC9lbT48Y29kZT5tYXBwaW5nczwvY29kZT4uIE90aGVyd2lzZSwgcmV0dXJuIDxjb2RlPmZhbHNlPC9jb2RlPi48L3A+CjxwPkEgPHN0cm9uZz5zdWJzdHJpbmc8L3N0cm9uZz4gaXMgYSBjb250aWd1b3VzIG5vbi1lbXB0eSBzZXF1ZW5jZSBvZiBjaGFyYWN0ZXJzIHdpdGhpbiBhIHN0cmluZy48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiZm9vbDNlN2JhciIsIHN1YiA9ICJsZWV0IiwgbWFwcGluZ3MgPSBbWyJlIiwiMyJdLFsidCIsIjciXSxbInQiLCI4Il1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiB0cnVlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFJlcGxhY2UgdGhlIGZpcnN0ICdlJyBpbiBzdWIgd2l0aCAnMycgYW5kICd0JyBpbiBzdWIgd2l0aCAnNycuCk5vdyBzdWIgPSAibDNlNyIgaXMgYSBzdWJzdHJpbmcgb2Ygcywgc28gd2UgcmV0dXJuIHRydWUuPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJmb29sZWV0YmFyIiwgc3ViID0gImYwMGwiLCBtYXBwaW5ncyA9IFtbIm8iLCIwIl1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBmYWxzZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgc3RyaW5nICJmMDBsIiBpcyBub3QgYSBzdWJzdHJpbmcgb2YgcyBhbmQgbm8gcmVwbGFjZW1lbnRzIGNhbiBiZSBtYWRlLgpOb3RlIHRoYXQgd2UgY2Fubm90IHJlcGxhY2UgJzAnIHdpdGggJ28nLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gIkZvb2wzM3RiYVIiLCBzdWIgPSAibGVldGQiLCBtYXBwaW5ncyA9IFtbImUiLCIzIl0sWyJ0IiwiNyJdLFsidCIsIjgiXSxbImQiLCJiIl0sWyJwIiwiYiJdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gdHJ1ZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBSZXBsYWNlIHRoZSBmaXJzdCBhbmQgc2Vjb25kICdlJyBpbiBzdWIgd2l0aCAnMycgYW5kICdkJyBpbiBzdWIgd2l0aCAnYicuCk5vdyBzdWIgPSAibDMzdGIiIGlzIGEgc3Vic3RyaW5nIG9mIHMsIHNvIHdlIHJldHVybiB0cnVlLgoKPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBzdWIubGVuZ3RoICZsdDs9IHMubGVuZ3RoICZsdDs9IDUwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gbWFwcGluZ3MubGVuZ3RoICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPm1hcHBpbmdzW2ldLmxlbmd0aCA9PSAyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5vbGQ8c3ViPmk8L3N1Yj4gIT0gbmV3PHN1Yj5pPC9zdWI+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zPC9jb2RlPiBhbmQgPGNvZGU+c3ViPC9jb2RlPiBjb25zaXN0IG9mIHVwcGVyY2FzZSBhbmQgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycyBhbmQgZGlnaXRzLjwvbGk+CjxsaT48Y29kZT5vbGQ8c3ViPmk8L3N1Yj48L2NvZGU+IGFuZCA8Y29kZT5uZXc8c3ViPmk8L3N1Yj48L2NvZGU+IGFyZSBlaXRoZXIgdXBwZXJjYXNlIG9yIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMgb3IgZGlnaXRzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "String",
+ "String Matching"
+ ]
+ },
+ {
+ "title": "2306. Naming a Company",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gYXJyYXkgb2Ygc3RyaW5ncyA8Y29kZT5pZGVhczwvY29kZT4gdGhhdCByZXByZXNlbnRzIGEgbGlzdCBvZiBuYW1lcyB0byBiZSB1c2VkIGluIHRoZSBwcm9jZXNzIG9mIG5hbWluZyBhIGNvbXBhbnkuIFRoZSBwcm9jZXNzIG9mIG5hbWluZyBhIGNvbXBhbnkgaXMgYXMgZm9sbG93czo8L3A+CjxvbD4KPGxpPkNob29zZSAyIDxzdHJvbmc+ZGlzdGluY3Q8L3N0cm9uZz4gbmFtZXMgZnJvbSA8Y29kZT5pZGVhczwvY29kZT4sIGNhbGwgdGhlbSA8Y29kZT5pZGVhPHN1Yj5BPC9zdWI+PC9jb2RlPiBhbmQgPGNvZGU+aWRlYTxzdWI+Qjwvc3ViPjwvY29kZT4uPC9saT4KPGxpPlN3YXAgdGhlIGZpcnN0IGxldHRlcnMgb2YgPGNvZGU+aWRlYTxzdWI+QTwvc3ViPjwvY29kZT4gYW5kIDxjb2RlPmlkZWE8c3ViPkI8L3N1Yj48L2NvZGU+IHdpdGggZWFjaCBvdGhlci48L2xpPgo8bGk+SWYgPHN0cm9uZz5ib3RoPC9zdHJvbmc+IG9mIHRoZSBuZXcgbmFtZXMgYXJlIG5vdCBmb3VuZCBpbiB0aGUgb3JpZ2luYWwgPGNvZGU+aWRlYXM8L2NvZGU+LCB0aGVuIHRoZSBuYW1lIDxjb2RlPmlkZWE8c3ViPkE8L3N1Yj4gaWRlYTxzdWI+Qjwvc3ViPjwvY29kZT4gKHRoZSA8c3Ryb25nPmNvbmNhdGVuYXRpb248L3N0cm9uZz4gb2YgPGNvZGU+aWRlYTxzdWI+QTwvc3ViPjwvY29kZT4gYW5kIDxjb2RlPmlkZWE8c3ViPkI8L3N1Yj48L2NvZGU+LCBzZXBhcmF0ZWQgYnkgYSBzcGFjZSkgaXMgYSB2YWxpZCBjb21wYW55IG5hbWUuPC9saT4KPGxpPk90aGVyd2lzZSwgaXQgaXMgbm90IGEgdmFsaWQgbmFtZS48L2xpPgo8L29sPgo8cD5SZXR1cm4gPGVtPnRoZSBudW1iZXIgb2YgPHN0cm9uZz5kaXN0aW5jdDwvc3Ryb25nPiB2YWxpZCBuYW1lcyBmb3IgdGhlIGNvbXBhbnk8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGlkZWFzID0gWyJjb2ZmZWUiLCJkb251dHMiLCJ0aW1lIiwidG9mZmVlIl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDYKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGZvbGxvd2luZyBzZWxlY3Rpb25zIGFyZSB2YWxpZDoKLSAoImNvZmZlZSIsICJkb251dHMiKTogVGhlIGNvbXBhbnkgbmFtZSBjcmVhdGVkIGlzICJkb2ZmZWUgY29udXRzIi4KLSAoImRvbnV0cyIsICJjb2ZmZWUiKTogVGhlIGNvbXBhbnkgbmFtZSBjcmVhdGVkIGlzICJjb251dHMgZG9mZmVlIi4KLSAoImRvbnV0cyIsICJ0aW1lIik6IFRoZSBjb21wYW55IG5hbWUgY3JlYXRlZCBpcyAidG9udXRzIGRpbWUiLgotICgiZG9udXRzIiwgInRvZmZlZSIpOiBUaGUgY29tcGFueSBuYW1lIGNyZWF0ZWQgaXMgInRvbnV0cyBkb2ZmZWUiLgotICgidGltZSIsICJkb251dHMiKTogVGhlIGNvbXBhbnkgbmFtZSBjcmVhdGVkIGlzICJkaW1lIHRvbnV0cyIuCi0gKCJ0b2ZmZWUiLCAiZG9udXRzIik6IFRoZSBjb21wYW55IG5hbWUgY3JlYXRlZCBpcyAiZG9mZmVlIHRvbnV0cyIuClRoZXJlZm9yZSwgdGhlcmUgYXJlIGEgdG90YWwgb2YgNiBkaXN0aW5jdCBjb21wYW55IG5hbWVzLgoKVGhlIGZvbGxvd2luZyBhcmUgc29tZSBleGFtcGxlcyBvZiBpbnZhbGlkIHNlbGVjdGlvbnM6Ci0gKCJjb2ZmZWUiLCAidGltZSIpOiBUaGUgbmFtZSAidG9mZmVlIiBmb3JtZWQgYWZ0ZXIgc3dhcHBpbmcgYWxyZWFkeSBleGlzdHMgaW4gdGhlIG9yaWdpbmFsIGFycmF5LgotICgidGltZSIsICJ0b2ZmZWUiKTogQm90aCBuYW1lcyBhcmUgc3RpbGwgdGhlIHNhbWUgYWZ0ZXIgc3dhcHBpbmcgYW5kIGV4aXN0IGluIHRoZSBvcmlnaW5hbCBhcnJheS4KLSAoImNvZmZlZSIsICJ0b2ZmZWUiKTogQm90aCBuYW1lcyBmb3JtZWQgYWZ0ZXIgc3dhcHBpbmcgYWxyZWFkeSBleGlzdCBpbiB0aGUgb3JpZ2luYWwgYXJyYXkuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGlkZWFzID0gWyJsYWNrIiwiYmFjayJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSBubyB2YWxpZCBzZWxlY3Rpb25zLiBUaGVyZWZvcmUsIDAgaXMgcmV0dXJuZWQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjIgJmx0Oz0gaWRlYXMubGVuZ3RoICZsdDs9IDUgKiAxMDxzdXA+NDwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBpZGVhc1tpXS5sZW5ndGggJmx0Oz0gMTA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPmlkZWFzW2ldPC9jb2RlPiBjb25zaXN0cyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLjwvbGk+CjxsaT5BbGwgdGhlIHN0cmluZ3MgaW4gPGNvZGU+aWRlYXM8L2NvZGU+IGFyZSA8c3Ryb25nPnVuaXF1ZTwvc3Ryb25nPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "String",
+ "Bit Manipulation",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2296. Design a Text Editor",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkRlc2lnbiBhIHRleHQgZWRpdG9yIHdpdGggYSBjdXJzb3IgdGhhdCBjYW4gZG8gdGhlIGZvbGxvd2luZzo8L3A+Cjx1bD4KPGxpPjxzdHJvbmc+QWRkPC9zdHJvbmc+IHRleHQgdG8gd2hlcmUgdGhlIGN1cnNvciBpcy48L2xpPgo8bGk+PHN0cm9uZz5EZWxldGU8L3N0cm9uZz4gdGV4dCBmcm9tIHdoZXJlIHRoZSBjdXJzb3IgaXMgKHNpbXVsYXRpbmcgdGhlIGJhY2tzcGFjZSBrZXkpLjwvbGk+CjxsaT48c3Ryb25nPk1vdmU8L3N0cm9uZz4gdGhlIGN1cnNvciBlaXRoZXIgbGVmdCBvciByaWdodC48L2xpPgo8L3VsPgo8cD5XaGVuIGRlbGV0aW5nIHRleHQsIG9ubHkgY2hhcmFjdGVycyB0byB0aGUgbGVmdCBvZiB0aGUgY3Vyc29yIHdpbGwgYmUgZGVsZXRlZC4gVGhlIGN1cnNvciB3aWxsIGFsc28gcmVtYWluIHdpdGhpbiB0aGUgYWN0dWFsIHRleHQgYW5kIGNhbm5vdCBiZSBtb3ZlZCBiZXlvbmQgaXQuIE1vcmUgZm9ybWFsbHksIHdlIGhhdmUgdGhhdCA8Y29kZT4wICZsdDs9IGN1cnNvci5wb3NpdGlvbiAmbHQ7PSBjdXJyZW50VGV4dC5sZW5ndGg8L2NvZGU+IGFsd2F5cyBob2xkcy48L3A+CjxwPkltcGxlbWVudCB0aGUgPGNvZGU+VGV4dEVkaXRvcjwvY29kZT4gY2xhc3M6PC9wPgo8dWw+CjxsaT48Y29kZT5UZXh0RWRpdG9yKCk8L2NvZGU+IEluaXRpYWxpemVzIHRoZSBvYmplY3Qgd2l0aCBlbXB0eSB0ZXh0LjwvbGk+CjxsaT48Y29kZT52b2lkIGFkZFRleHQoc3RyaW5nIHRleHQpPC9jb2RlPiBBcHBlbmRzIDxjb2RlPnRleHQ8L2NvZGU+IHRvIHdoZXJlIHRoZSBjdXJzb3IgaXMuIFRoZSBjdXJzb3IgZW5kcyB0byB0aGUgcmlnaHQgb2YgPGNvZGU+dGV4dDwvY29kZT4uPC9saT4KPGxpPjxjb2RlPmludCBkZWxldGVUZXh0KGludCBrKTwvY29kZT4gRGVsZXRlcyA8Y29kZT5rPC9jb2RlPiBjaGFyYWN0ZXJzIHRvIHRoZSBsZWZ0IG9mIHRoZSBjdXJzb3IuIFJldHVybnMgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIGFjdHVhbGx5IGRlbGV0ZWQuPC9saT4KPGxpPjxjb2RlPnN0cmluZyBjdXJzb3JMZWZ0KGludCBrKTwvY29kZT4gTW92ZXMgdGhlIGN1cnNvciB0byB0aGUgbGVmdCA8Y29kZT5rPC9jb2RlPiB0aW1lcy4gUmV0dXJucyB0aGUgbGFzdCA8Y29kZT5taW4oMTAsIGxlbik8L2NvZGU+IGNoYXJhY3RlcnMgdG8gdGhlIGxlZnQgb2YgdGhlIGN1cnNvciwgd2hlcmUgPGNvZGU+bGVuPC9jb2RlPiBpcyB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgdG8gdGhlIGxlZnQgb2YgdGhlIGN1cnNvci48L2xpPgo8bGk+PGNvZGU+c3RyaW5nIGN1cnNvclJpZ2h0KGludCBrKTwvY29kZT4gTW92ZXMgdGhlIGN1cnNvciB0byB0aGUgcmlnaHQgPGNvZGU+azwvY29kZT4gdGltZXMuIFJldHVybnMgdGhlIGxhc3QgPGNvZGU+bWluKDEwLCBsZW4pPC9jb2RlPiBjaGFyYWN0ZXJzIHRvIHRoZSBsZWZ0IG9mIHRoZSBjdXJzb3IsIHdoZXJlIDxjb2RlPmxlbjwvY29kZT4gaXMgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIHRvIHRoZSBsZWZ0IG9mIHRoZSBjdXJzb3IuPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDwvc3Ryb25nPgpbIlRleHRFZGl0b3IiLCAiYWRkVGV4dCIsICJkZWxldGVUZXh0IiwgImFkZFRleHQiLCAiY3Vyc29yUmlnaHQiLCAiY3Vyc29yTGVmdCIsICJkZWxldGVUZXh0IiwgImN1cnNvckxlZnQiLCAiY3Vyc29yUmlnaHQiXQpbW10sIFsibGVldGNvZGUiXSwgWzRdLCBbInByYWN0aWNlIl0sIFszXSwgWzhdLCBbMTBdLCBbMl0sIFs2XV0KPHN0cm9uZz5PdXRwdXQ8L3N0cm9uZz4KW251bGwsIG51bGwsIDQsIG51bGwsICJldHByYWN0aWNlIiwgImxlZXQiLCA0LCAiIiwgInByYWN0aSJdCgo8c3Ryb25nPkV4cGxhbmF0aW9uPC9zdHJvbmc+ClRleHRFZGl0b3IgdGV4dEVkaXRvciA9IG5ldyBUZXh0RWRpdG9yKCk7IC8vIFRoZSBjdXJyZW50IHRleHQgaXMgInwiLiAoVGhlICd8JyBjaGFyYWN0ZXIgcmVwcmVzZW50cyB0aGUgY3Vyc29yKQp0ZXh0RWRpdG9yLmFkZFRleHQoImxlZXRjb2RlIik7IC8vIFRoZSBjdXJyZW50IHRleHQgaXMgImxlZXRjb2RlfCIuCnRleHRFZGl0b3IuZGVsZXRlVGV4dCg0KTsgLy8gcmV0dXJuIDQKICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgY3VycmVudCB0ZXh0IGlzICJsZWV0fCIuIAogICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDQgY2hhcmFjdGVycyB3ZXJlIGRlbGV0ZWQuCnRleHRFZGl0b3IuYWRkVGV4dCgicHJhY3RpY2UiKTsgLy8gVGhlIGN1cnJlbnQgdGV4dCBpcyAibGVldHByYWN0aWNlfCIuIAp0ZXh0RWRpdG9yLmN1cnNvclJpZ2h0KDMpOyAvLyByZXR1cm4gImV0cHJhY3RpY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBjdXJyZW50IHRleHQgaXMgImxlZXRwcmFjdGljZXwiLiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIGN1cnNvciBjYW5ub3QgYmUgbW92ZWQgYmV5b25kIHRoZSBhY3R1YWwgdGV4dCBhbmQgdGh1cyBkaWQgbm90IG1vdmUuCiAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICJldHByYWN0aWNlIiBpcyB0aGUgbGFzdCAxMCBjaGFyYWN0ZXJzIHRvIHRoZSBsZWZ0IG9mIHRoZSBjdXJzb3IuCnRleHRFZGl0b3IuY3Vyc29yTGVmdCg4KTsgLy8gcmV0dXJuICJsZWV0IgogICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBjdXJyZW50IHRleHQgaXMgImxlZXR8cHJhY3RpY2UiLgogICAgICAgICAgICAgICAgICAgICAgICAgIC8vICJsZWV0IiBpcyB0aGUgbGFzdCBtaW4oMTAsIDQpID0gNCBjaGFyYWN0ZXJzIHRvIHRoZSBsZWZ0IG9mIHRoZSBjdXJzb3IuCnRleHRFZGl0b3IuZGVsZXRlVGV4dCgxMCk7IC8vIHJldHVybiA0CiAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBjdXJyZW50IHRleHQgaXMgInxwcmFjdGljZSIuCiAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE9ubHkgNCBjaGFyYWN0ZXJzIHdlcmUgZGVsZXRlZC4KdGV4dEVkaXRvci5jdXJzb3JMZWZ0KDIpOyAvLyByZXR1cm4gIiIKICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgY3VycmVudCB0ZXh0IGlzICJ8cHJhY3RpY2UiLgogICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBjdXJzb3IgY2Fubm90IGJlIG1vdmVkIGJleW9uZCB0aGUgYWN0dWFsIHRleHQgYW5kIHRodXMgZGlkIG5vdCBtb3ZlLiAKICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAiIiBpcyB0aGUgbGFzdCBtaW4oMTAsIDApID0gMCBjaGFyYWN0ZXJzIHRvIHRoZSBsZWZ0IG9mIHRoZSBjdXJzb3IuCnRleHRFZGl0b3IuY3Vyc29yUmlnaHQoNik7IC8vIHJldHVybiAicHJhY3RpIgogICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgY3VycmVudCB0ZXh0IGlzICJwcmFjdGl8Y2UiLgogICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAicHJhY3RpIiBpcyB0aGUgbGFzdCBtaW4oMTAsIDYpID0gNiBjaGFyYWN0ZXJzIHRvIHRoZSBsZWZ0IG9mIHRoZSBjdXJzb3IuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gdGV4dC5sZW5ndGgsIGsgJmx0Oz0gNDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnRleHQ8L2NvZGU+IGNvbnNpc3RzIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPGxpPkF0IG1vc3QgPGNvZGU+MiAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPiBjYWxscyA8c3Ryb25nPmluIHRvdGFsPC9zdHJvbmc+IHdpbGwgYmUgbWFkZSB0byA8Y29kZT5hZGRUZXh0PC9jb2RlPiwgPGNvZGU+ZGVsZXRlVGV4dDwvY29kZT4sIDxjb2RlPmN1cnNvckxlZnQ8L2NvZGU+IGFuZCA8Y29kZT5jdXJzb3JSaWdodDwvY29kZT4uPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Rm9sbG93LXVwOjwvc3Ryb25nPiBDb3VsZCB5b3UgZmluZCBhIHNvbHV0aW9uIHdpdGggdGltZSBjb21wbGV4aXR5IG9mIDxjb2RlPk8oayk8L2NvZGU+IHBlciBjYWxsPzwvcD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Linked List",
+ "String",
+ "Stack",
+ "Design",
+ "Simulation",
+ "Doubly-Linked List"
+ ]
+ },
+ {
+ "title": "2286. Booking Concert Tickets in Groups",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgY29uY2VydCBoYWxsIGhhcyA8Y29kZT5uPC9jb2RlPiByb3dzIG51bWJlcmVkIGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+biAtIDE8L2NvZGU+LCBlYWNoIHdpdGggPGNvZGU+bTwvY29kZT4gc2VhdHMsIG51bWJlcmVkIGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+bSAtIDE8L2NvZGU+LiBZb3UgbmVlZCB0byBkZXNpZ24gYSB0aWNrZXRpbmcgc3lzdGVtIHRoYXQgY2FuIGFsbG9jYXRlIHNlYXRzIGluIHRoZSBmb2xsb3dpbmcgY2FzZXM6PC9wPgo8dWw+CjxsaT5JZiBhIGdyb3VwIG9mIDxjb2RlPms8L2NvZGU+IHNwZWN0YXRvcnMgY2FuIHNpdCA8c3Ryb25nPnRvZ2V0aGVyPC9zdHJvbmc+IGluIGEgcm93LjwvbGk+CjxsaT5JZiA8c3Ryb25nPmV2ZXJ5PC9zdHJvbmc+IG1lbWJlciBvZiBhIGdyb3VwIG9mIDxjb2RlPms8L2NvZGU+IHNwZWN0YXRvcnMgY2FuIGdldCBhIHNlYXQuIFRoZXkgbWF5IG9yIDxzdHJvbmc+bWF5IG5vdDwvc3Ryb25nPiBzaXQgdG9nZXRoZXIuPC9saT4KPC91bD4KPHA+Tm90ZSB0aGF0IHRoZSBzcGVjdGF0b3JzIGFyZSB2ZXJ5IHBpY2t5LiBIZW5jZTo8L3A+Cjx1bD4KPGxpPlRoZXkgd2lsbCBib29rIHNlYXRzIG9ubHkgaWYgZWFjaCBtZW1iZXIgb2YgdGhlaXIgZ3JvdXAgY2FuIGdldCBhIHNlYXQgd2l0aCByb3cgbnVtYmVyIDxzdHJvbmc+bGVzcyB0aGFuIG9yIGVxdWFsPC9zdHJvbmc+IHRvIDxjb2RlPm1heFJvdzwvY29kZT4uIDxjb2RlPm1heFJvdzwvY29kZT4gY2FuIDxzdHJvbmc+dmFyeTwvc3Ryb25nPiBmcm9tIGdyb3VwIHRvIGdyb3VwLjwvbGk+CjxsaT5JbiBjYXNlIHRoZXJlIGFyZSBtdWx0aXBsZSByb3dzIHRvIGNob29zZSBmcm9tLCB0aGUgcm93IHdpdGggdGhlIDxzdHJvbmc+c21hbGxlc3Q8L3N0cm9uZz4gbnVtYmVyIGlzIGNob3Nlbi4gSWYgdGhlcmUgYXJlIG11bHRpcGxlIHNlYXRzIHRvIGNob29zZSBpbiB0aGUgc2FtZSByb3csIHRoZSBzZWF0IHdpdGggdGhlIDxzdHJvbmc+c21hbGxlc3Q8L3N0cm9uZz4gbnVtYmVyIGlzIGNob3Nlbi48L2xpPgo8L3VsPgo8cD5JbXBsZW1lbnQgdGhlIDxjb2RlPkJvb2tNeVNob3c8L2NvZGU+IGNsYXNzOjwvcD4KPHVsPgo8bGk+PGNvZGU+Qm9va015U2hvdyhpbnQgbiwgaW50IG0pPC9jb2RlPiBJbml0aWFsaXplcyB0aGUgb2JqZWN0IHdpdGggPGNvZGU+bjwvY29kZT4gYXMgbnVtYmVyIG9mIHJvd3MgYW5kIDxjb2RlPm08L2NvZGU+IGFzIG51bWJlciBvZiBzZWF0cyBwZXIgcm93LjwvbGk+CjxsaT48Y29kZT5pbnRbXSBnYXRoZXIoaW50IGssIGludCBtYXhSb3cpPC9jb2RlPiBSZXR1cm5zIGFuIGFycmF5IG9mIGxlbmd0aCA8Y29kZT4yPC9jb2RlPiBkZW5vdGluZyB0aGUgcm93IGFuZCBzZWF0IG51bWJlciAocmVzcGVjdGl2ZWx5KSBvZiB0aGUgPHN0cm9uZz5maXJzdCBzZWF0PC9zdHJvbmc+IGJlaW5nIGFsbG9jYXRlZCB0byB0aGUgPGNvZGU+azwvY29kZT4gbWVtYmVycyBvZiB0aGUgZ3JvdXAsIHdobyBtdXN0IHNpdCA8c3Ryb25nPnRvZ2V0aGVyPC9zdHJvbmc+LiBJbiBvdGhlciB3b3JkcywgaXQgcmV0dXJucyB0aGUgc21hbGxlc3QgcG9zc2libGUgPGNvZGU+cjwvY29kZT4gYW5kIDxjb2RlPmM8L2NvZGU+IHN1Y2ggdGhhdCBhbGwgPGNvZGU+W2MsIGMgKyBrIC0gMV08L2NvZGU+IHNlYXRzIGFyZSB2YWxpZCBhbmQgZW1wdHkgaW4gcm93IDxjb2RlPnI8L2NvZGU+LCBhbmQgPGNvZGU+ciAmbHQ7PSBtYXhSb3c8L2NvZGU+LiBSZXR1cm5zIDxjb2RlPltdPC9jb2RlPiBpbiBjYXNlIGl0IGlzIDxzdHJvbmc+bm90IHBvc3NpYmxlPC9zdHJvbmc+IHRvIGFsbG9jYXRlIHNlYXRzIHRvIHRoZSBncm91cC48L2xpPgo8bGk+PGNvZGU+Ym9vbGVhbiBzY2F0dGVyKGludCBrLCBpbnQgbWF4Um93KTwvY29kZT4gUmV0dXJucyA8Y29kZT50cnVlPC9jb2RlPiBpZiBhbGwgPGNvZGU+azwvY29kZT4gbWVtYmVycyBvZiB0aGUgZ3JvdXAgY2FuIGJlIGFsbG9jYXRlZCBzZWF0cyBpbiByb3dzIDxjb2RlPjA8L2NvZGU+IHRvIDxjb2RlPm1heFJvdzwvY29kZT4sIHdobyBtYXkgb3IgPHN0cm9uZz5tYXkgbm90PC9zdHJvbmc+IHNpdCB0b2dldGhlci4gSWYgdGhlIHNlYXRzIGNhbiBiZSBhbGxvY2F0ZWQsIGl0IGFsbG9jYXRlcyA8Y29kZT5rPC9jb2RlPiBzZWF0cyB0byB0aGUgZ3JvdXAgd2l0aCB0aGUgPHN0cm9uZz5zbWFsbGVzdDwvc3Ryb25nPiByb3cgbnVtYmVycywgYW5kIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSBzZWF0IG51bWJlcnMgaW4gZWFjaCByb3cuIE90aGVyd2lzZSwgcmV0dXJucyA8Y29kZT5mYWxzZTwvY29kZT4uPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDwvc3Ryb25nPgpbIkJvb2tNeVNob3ciLCAiZ2F0aGVyIiwgImdhdGhlciIsICJzY2F0dGVyIiwgInNjYXR0ZXIiXQpbWzIsIDVdLCBbNCwgMF0sIFsyLCAwXSwgWzUsIDFdLCBbNSwgMV1dCjxzdHJvbmc+T3V0cHV0PC9zdHJvbmc+CltudWxsLCBbMCwgMF0sIFtdLCB0cnVlLCBmYWxzZV0KCjxzdHJvbmc+RXhwbGFuYXRpb248L3N0cm9uZz4KQm9va015U2hvdyBibXMgPSBuZXcgQm9va015U2hvdygyLCA1KTsgLy8gVGhlcmUgYXJlIDIgcm93cyB3aXRoIDUgc2VhdHMgZWFjaCAKYm1zLmdhdGhlcig0LCAwKTsgLy8gcmV0dXJuIFswLCAwXQogICAgICAgICAgICAgICAgICAvLyBUaGUgZ3JvdXAgYm9va3Mgc2VhdHMgWzAsIDNdIG9mIHJvdyAwLiAKYm1zLmdhdGhlcigyLCAwKTsgLy8gcmV0dXJuIFtdCiAgICAgICAgICAgICAgICAgIC8vIFRoZXJlIGlzIG9ubHkgMSBzZWF0IGxlZnQgaW4gcm93IDAsCiAgICAgICAgICAgICAgICAgIC8vIHNvIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBib29rIDIgY29uc2VjdXRpdmUgc2VhdHMuIApibXMuc2NhdHRlcig1LCAxKTsgLy8gcmV0dXJuIFRydWUKICAgICAgICAgICAgICAgICAgIC8vIFRoZSBncm91cCBib29rcyBzZWF0IDQgb2Ygcm93IDAgYW5kIHNlYXRzIFswLCAzXSBvZiByb3cgMS4gCmJtcy5zY2F0dGVyKDUsIDEpOyAvLyByZXR1cm4gRmFsc2UKICAgICAgICAgICAgICAgICAgIC8vIFRoZXJlIGlzIG9ubHkgb25lIHNlYXQgbGVmdCBpbiB0aGUgaGFsbC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDUgKiAxMDxzdXA+NDwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBtLCBrICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IG1heFJvdyAmbHQ7PSBuIC0gMTwvY29kZT48L2xpPgo8bGk+QXQgbW9zdCA8Y29kZT41ICogMTA8c3VwPjQ8L3N1cD48L2NvZGU+IGNhbGxzIDxzdHJvbmc+aW4gdG90YWw8L3N0cm9uZz4gd2lsbCBiZSBtYWRlIHRvIDxjb2RlPmdhdGhlcjwvY29kZT4gYW5kIDxjb2RlPnNjYXR0ZXI8L2NvZGU+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Binary Search",
+ "Design",
+ "Binary Indexed Tree",
+ "Segment Tree"
+ ]
+ },
+ {
+ "title": "2290. Minimum Obstacle Removal to Reach Corner",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPmdyaWQ8L2NvZGU+IG9mIHNpemUgPGNvZGU+bSB4IG48L2NvZGU+LiBFYWNoIGNlbGwgaGFzIG9uZSBvZiB0d28gdmFsdWVzOjwvcD4KPHVsPgo8bGk+PGNvZGU+MDwvY29kZT4gcmVwcmVzZW50cyBhbiA8c3Ryb25nPmVtcHR5PC9zdHJvbmc+IGNlbGwsPC9saT4KPGxpPjxjb2RlPjE8L2NvZGU+IHJlcHJlc2VudHMgYW4gPHN0cm9uZz5vYnN0YWNsZTwvc3Ryb25nPiB0aGF0IG1heSBiZSByZW1vdmVkLjwvbGk+CjwvdWw+CjxwPllvdSBjYW4gbW92ZSB1cCwgZG93biwgbGVmdCwgb3IgcmlnaHQgZnJvbSBhbmQgdG8gYW4gZW1wdHkgY2VsbC48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiBudW1iZXIgb2YgPHN0cm9uZz5vYnN0YWNsZXM8L3N0cm9uZz4gdG8gPHN0cm9uZz5yZW1vdmU8L3N0cm9uZz4gc28geW91IGNhbiBtb3ZlIGZyb20gdGhlIHVwcGVyIGxlZnQgY29ybmVyIDwvZW0+PGNvZGU+KDAsIDApPC9jb2RlPjxlbT4gdG8gdGhlIGxvd2VyIHJpZ2h0IGNvcm5lciA8L2VtPjxjb2RlPihtIC0gMSwgbiAtIDEpPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDQvMDYvZXhhbXBsZTFkcmF3aW8tMS5wbmciIHN0eWxlPSJ3aWR0aDogNjA1cHg7IGhlaWdodDogMjQ2cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbMCwxLDFdLFsxLDEsMF0sWzEsMSwwXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gV2UgY2FuIHJlbW92ZSB0aGUgb2JzdGFjbGVzIGF0ICgwLCAxKSBhbmQgKDAsIDIpIHRvIGNyZWF0ZSBhIHBhdGggZnJvbSAoMCwgMCkgdG8gKDIsIDIpLgpJdCBjYW4gYmUgc2hvd24gdGhhdCB3ZSBuZWVkIHRvIHJlbW92ZSBhdCBsZWFzdCAyIG9ic3RhY2xlcywgc28gd2UgcmV0dXJuIDIuCk5vdGUgdGhhdCB0aGVyZSBtYXkgYmUgb3RoZXIgd2F5cyB0byByZW1vdmUgMiBvYnN0YWNsZXMgdG8gY3JlYXRlIGEgcGF0aC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wNC8wNi9leGFtcGxlMWRyYXdpby5wbmciIHN0eWxlPSJ3aWR0aDogNDA1cHg7IGhlaWdodDogMjQ2cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbMCwxLDAsMCwwXSxbMCwxLDAsMSwwXSxbMCwwLDAsMSwwXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gV2UgY2FuIG1vdmUgZnJvbSAoMCwgMCkgdG8gKDIsIDQpIHdpdGhvdXQgcmVtb3ZpbmcgYW55IG9ic3RhY2xlcywgc28gd2UgcmV0dXJuIDAuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm0gPT0gZ3JpZC5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPm4gPT0gZ3JpZFtpXS5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbSwgbiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MiAmbHQ7PSBtICogbiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+Z3JpZFtpXVtqXTwvY29kZT4gaXMgZWl0aGVyIDxjb2RlPjA8L2NvZGU+IDxzdHJvbmc+b3I8L3N0cm9uZz4gPGNvZGU+MTwvY29kZT4uPC9saT4KPGxpPjxjb2RlPmdyaWRbMF1bMF0gPT0gZ3JpZFttIC0gMV1bbiAtIDFdID09IDA8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Breadth-First Search",
+ "Graph",
+ "Heap (Priority Queue)",
+ "Matrix",
+ "Shortest Path"
+ ]
+ },
+ {
+ "title": "2281. Sum of Total Strength of Wizards",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkFzIHRoZSBydWxlciBvZiBhIGtpbmdkb20sIHlvdSBoYXZlIGFuIGFybXkgb2Ygd2l6YXJkcyBhdCB5b3VyIGNvbW1hbmQuPC9wPgo8cD5Zb3UgYXJlIGdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT5zdHJlbmd0aDwvY29kZT4sIHdoZXJlIDxjb2RlPnN0cmVuZ3RoW2ldPC9jb2RlPiBkZW5vdGVzIHRoZSBzdHJlbmd0aCBvZiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHdpemFyZC4gRm9yIGEgPHN0cm9uZz5jb250aWd1b3VzPC9zdHJvbmc+IGdyb3VwIG9mIHdpemFyZHMgKGkuZS4gdGhlIHdpemFyZHMnIHN0cmVuZ3RocyBmb3JtIGEgPHN0cm9uZz5zdWJhcnJheTwvc3Ryb25nPiBvZiA8Y29kZT5zdHJlbmd0aDwvY29kZT4pLCB0aGUgPHN0cm9uZz50b3RhbCBzdHJlbmd0aDwvc3Ryb25nPiBpcyBkZWZpbmVkIGFzIHRoZSA8c3Ryb25nPnByb2R1Y3Q8L3N0cm9uZz4gb2YgdGhlIGZvbGxvd2luZyB0d28gdmFsdWVzOjwvcD4KPHVsPgo8bGk+VGhlIHN0cmVuZ3RoIG9mIHRoZSA8c3Ryb25nPndlYWtlc3Q8L3N0cm9uZz4gd2l6YXJkIGluIHRoZSBncm91cC48L2xpPgo8bGk+VGhlIDxzdHJvbmc+dG90YWw8L3N0cm9uZz4gb2YgYWxsIHRoZSBpbmRpdmlkdWFsIHN0cmVuZ3RocyBvZiB0aGUgd2l6YXJkcyBpbiB0aGUgZ3JvdXAuPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5zdW08L3N0cm9uZz4gb2YgdGhlIHRvdGFsIHN0cmVuZ3RocyBvZiA8c3Ryb25nPmFsbDwvc3Ryb25nPiBjb250aWd1b3VzIGdyb3VwcyBvZiB3aXphcmRzPC9lbT4uIFNpbmNlIHRoZSBhbnN3ZXIgbWF5IGJlIHZlcnkgbGFyZ2UsIHJldHVybiBpdCA8c3Ryb25nPm1vZHVsbzwvc3Ryb25nPiA8Y29kZT4xMDxzdXA+OTwvc3VwPiArIDc8L2NvZGU+LjwvcD4KPHA+QSA8c3Ryb25nPnN1YmFycmF5PC9zdHJvbmc+IGlzIGEgY29udGlndW91cyA8c3Ryb25nPm5vbi1lbXB0eTwvc3Ryb25nPiBzZXF1ZW5jZSBvZiBlbGVtZW50cyB3aXRoaW4gYW4gYXJyYXkuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzdHJlbmd0aCA9IFsxLDMsMSwyXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGZvbGxvd2luZyBhcmUgYWxsIHRoZSBjb250aWd1b3VzIGdyb3VwcyBvZiB3aXphcmRzOgotIFsxXSBmcm9tIFs8dT48c3Ryb25nPjE8L3N0cm9uZz48L3U+LDMsMSwyXSBoYXMgYSB0b3RhbCBzdHJlbmd0aCBvZiBtaW4oWzFdKSAqIHN1bShbMV0pID0gMSAqIDEgPSAxCi0gWzNdIGZyb20gWzEsPHU+PHN0cm9uZz4zPC9zdHJvbmc+PC91PiwxLDJdIGhhcyBhIHRvdGFsIHN0cmVuZ3RoIG9mIG1pbihbM10pICogc3VtKFszXSkgPSAzICogMyA9IDkKLSBbMV0gZnJvbSBbMSwzLDx1PjxzdHJvbmc+MTwvc3Ryb25nPjwvdT4sMl0gaGFzIGEgdG90YWwgc3RyZW5ndGggb2YgbWluKFsxXSkgKiBzdW0oWzFdKSA9IDEgKiAxID0gMQotIFsyXSBmcm9tIFsxLDMsMSw8dT48c3Ryb25nPjI8L3N0cm9uZz48L3U+XSBoYXMgYSB0b3RhbCBzdHJlbmd0aCBvZiBtaW4oWzJdKSAqIHN1bShbMl0pID0gMiAqIDIgPSA0Ci0gWzEsM10gZnJvbSBbPHU+PHN0cm9uZz4xLDM8L3N0cm9uZz48L3U+LDEsMl0gaGFzIGEgdG90YWwgc3RyZW5ndGggb2YgbWluKFsxLDNdKSAqIHN1bShbMSwzXSkgPSAxICogNCA9IDQKLSBbMywxXSBmcm9tIFsxLDx1PjxzdHJvbmc+MywxPC9zdHJvbmc+PC91PiwyXSBoYXMgYSB0b3RhbCBzdHJlbmd0aCBvZiBtaW4oWzMsMV0pICogc3VtKFszLDFdKSA9IDEgKiA0ID0gNAotIFsxLDJdIGZyb20gWzEsMyw8dT48c3Ryb25nPjEsMjwvc3Ryb25nPjwvdT5dIGhhcyBhIHRvdGFsIHN0cmVuZ3RoIG9mIG1pbihbMSwyXSkgKiBzdW0oWzEsMl0pID0gMSAqIDMgPSAzCi0gWzEsMywxXSBmcm9tIFs8dT48c3Ryb25nPjEsMywxPC9zdHJvbmc+PC91PiwyXSBoYXMgYSB0b3RhbCBzdHJlbmd0aCBvZiBtaW4oWzEsMywxXSkgKiBzdW0oWzEsMywxXSkgPSAxICogNSA9IDUKLSBbMywxLDJdIGZyb20gWzEsPHU+PHN0cm9uZz4zLDEsMjwvc3Ryb25nPjwvdT5dIGhhcyBhIHRvdGFsIHN0cmVuZ3RoIG9mIG1pbihbMywxLDJdKSAqIHN1bShbMywxLDJdKSA9IDEgKiA2ID0gNgotIFsxLDMsMSwyXSBmcm9tIFs8dT48c3Ryb25nPjEsMywxLDI8L3N0cm9uZz48L3U+XSBoYXMgYSB0b3RhbCBzdHJlbmd0aCBvZiBtaW4oWzEsMywxLDJdKSAqIHN1bShbMSwzLDEsMl0pID0gMSAqIDcgPSA3ClRoZSBzdW0gb2YgYWxsIHRoZSB0b3RhbCBzdHJlbmd0aHMgaXMgMSArIDkgKyAxICsgNCArIDQgKyA0ICsgMyArIDUgKyA2ICsgNyA9IDQ0Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzdHJlbmd0aCA9IFs1LDQsNl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIxMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgZm9sbG93aW5nIGFyZSBhbGwgdGhlIGNvbnRpZ3VvdXMgZ3JvdXBzIG9mIHdpemFyZHM6IAotIFs1XSBmcm9tIFs8dT48c3Ryb25nPjU8L3N0cm9uZz48L3U+LDQsNl0gaGFzIGEgdG90YWwgc3RyZW5ndGggb2YgbWluKFs1XSkgKiBzdW0oWzVdKSA9IDUgKiA1ID0gMjUKLSBbNF0gZnJvbSBbNSw8dT48c3Ryb25nPjQ8L3N0cm9uZz48L3U+LDZdIGhhcyBhIHRvdGFsIHN0cmVuZ3RoIG9mIG1pbihbNF0pICogc3VtKFs0XSkgPSA0ICogNCA9IDE2Ci0gWzZdIGZyb20gWzUsNCw8dT48c3Ryb25nPjY8L3N0cm9uZz48L3U+XSBoYXMgYSB0b3RhbCBzdHJlbmd0aCBvZiBtaW4oWzZdKSAqIHN1bShbNl0pID0gNiAqIDYgPSAzNgotIFs1LDRdIGZyb20gWzx1PjxzdHJvbmc+NSw0PC9zdHJvbmc+PC91Piw2XSBoYXMgYSB0b3RhbCBzdHJlbmd0aCBvZiBtaW4oWzUsNF0pICogc3VtKFs1LDRdKSA9IDQgKiA5ID0gMzYKLSBbNCw2XSBmcm9tIFs1LDx1PjxzdHJvbmc+NCw2PC9zdHJvbmc+PC91Pl0gaGFzIGEgdG90YWwgc3RyZW5ndGggb2YgbWluKFs0LDZdKSAqIHN1bShbNCw2XSkgPSA0ICogMTAgPSA0MAotIFs1LDQsNl0gZnJvbSBbPHU+PHN0cm9uZz41LDQsNjwvc3Ryb25nPjwvdT5dIGhhcyBhIHRvdGFsIHN0cmVuZ3RoIG9mIG1pbihbNSw0LDZdKSAqIHN1bShbNSw0LDZdKSA9IDQgKiAxNSA9IDYwClRoZSBzdW0gb2YgYWxsIHRoZSB0b3RhbCBzdHJlbmd0aHMgaXMgMjUgKyAxNiArIDM2ICsgMzYgKyA0MCArIDYwID0gMjEzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHN0cmVuZ3RoLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBzdHJlbmd0aFtpXSAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Stack",
+ "Monotonic Stack",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2246. Longest Path With Different Adjacent Characters",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPnRyZWU8L3N0cm9uZz4gKGkuZS4gYSBjb25uZWN0ZWQsIHVuZGlyZWN0ZWQgZ3JhcGggdGhhdCBoYXMgbm8gY3ljbGVzKSA8c3Ryb25nPnJvb3RlZDwvc3Ryb25nPiBhdCBub2RlIDxjb2RlPjA8L2NvZGU+IGNvbnNpc3Rpbmcgb2YgPGNvZGU+bjwvY29kZT4gbm9kZXMgbnVtYmVyZWQgZnJvbSA8Y29kZT4wPC9jb2RlPiB0byA8Y29kZT5uIC0gMTwvY29kZT4uIFRoZSB0cmVlIGlzIHJlcHJlc2VudGVkIGJ5IGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gYXJyYXkgPGNvZGU+cGFyZW50PC9jb2RlPiBvZiBzaXplIDxjb2RlPm48L2NvZGU+LCB3aGVyZSA8Y29kZT5wYXJlbnRbaV08L2NvZGU+IGlzIHRoZSBwYXJlbnQgb2Ygbm9kZSA8Y29kZT5pPC9jb2RlPi4gU2luY2Ugbm9kZSA8Y29kZT4wPC9jb2RlPiBpcyB0aGUgcm9vdCwgPGNvZGU+cGFyZW50WzBdID09IC0xPC9jb2RlPi48L3A+CjxwPllvdSBhcmUgYWxzbyBnaXZlbiBhIHN0cmluZyA8Y29kZT5zPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4sIHdoZXJlIDxjb2RlPnNbaV08L2NvZGU+IGlzIHRoZSBjaGFyYWN0ZXIgYXNzaWduZWQgdG8gbm9kZSA8Y29kZT5pPC9jb2RlPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIGxlbmd0aCBvZiB0aGUgPHN0cm9uZz5sb25nZXN0IHBhdGg8L3N0cm9uZz4gaW4gdGhlIHRyZWUgc3VjaCB0aGF0IG5vIHBhaXIgb2YgPHN0cm9uZz5hZGphY2VudDwvc3Ryb25nPiBub2RlcyBvbiB0aGUgcGF0aCBoYXZlIHRoZSBzYW1lIGNoYXJhY3RlciBhc3NpZ25lZCB0byB0aGVtLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAzLzI1L3Rlc3RpbmdkcmF3aW8ucG5nIiBzdHlsZT0id2lkdGg6IDIwMXB4OyBoZWlnaHQ6IDI0MXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHBhcmVudCA9IFstMSwwLDAsMSwxLDJdLCBzID0gImFiYWNiZSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGxvbmdlc3QgcGF0aCB3aGVyZSBlYWNoIHR3byBhZGphY2VudCBub2RlcyBoYXZlIGRpZmZlcmVudCBjaGFyYWN0ZXJzIGluIHRoZSB0cmVlIGlzIHRoZSBwYXRoOiAwIC0mZ3Q7IDEgLSZndDsgMy4gVGhlIGxlbmd0aCBvZiB0aGlzIHBhdGggaXMgMywgc28gMyBpcyByZXR1cm5lZC4KSXQgY2FuIGJlIHByb3ZlbiB0aGF0IHRoZXJlIGlzIG5vIGxvbmdlciBwYXRoIHRoYXQgc2F0aXNmaWVzIHRoZSBjb25kaXRpb25zLiAKPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMy8yNS9ncmFwaDJkcmF3aW8ucG5nIiBzdHlsZT0id2lkdGg6IDIwMXB4OyBoZWlnaHQ6IDIyMXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHBhcmVudCA9IFstMSwwLDAsMF0sIHMgPSAiYWFiYyIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGxvbmdlc3QgcGF0aCB3aGVyZSBlYWNoIHR3byBhZGphY2VudCBub2RlcyBoYXZlIGRpZmZlcmVudCBjaGFyYWN0ZXJzIGlzIHRoZSBwYXRoOiAyIC0mZ3Q7IDAgLSZndDsgMy4gVGhlIGxlbmd0aCBvZiB0aGlzIHBhdGggaXMgMywgc28gMyBpcyByZXR1cm5lZC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBwYXJlbnQubGVuZ3RoID09IHMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gcGFyZW50W2ldICZsdDs9IG4gLSAxPC9jb2RlPiBmb3IgYWxsIDxjb2RlPmkgJmd0Oz0gMTwvY29kZT48L2xpPgo8bGk+PGNvZGU+cGFyZW50WzBdID09IC0xPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5wYXJlbnQ8L2NvZGU+IHJlcHJlc2VudHMgYSB2YWxpZCB0cmVlLjwvbGk+CjxsaT48Y29kZT5zPC9jb2RlPiBjb25zaXN0cyBvZiBvbmx5IGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "String",
+ "Tree",
+ "Depth-First Search",
+ "Graph",
+ "Topological Sort"
+ ]
+ },
+ {
+ "title": "2272. Substring With Largest Variance",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZSA8c3Ryb25nPnZhcmlhbmNlPC9zdHJvbmc+IG9mIGEgc3RyaW5nIGlzIGRlZmluZWQgYXMgdGhlIGxhcmdlc3QgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgb2YgPHN0cm9uZz5hbnk8L3N0cm9uZz4gPGNvZGU+MjwvY29kZT4gY2hhcmFjdGVycyBwcmVzZW50IGluIHRoZSBzdHJpbmcuIE5vdGUgdGhlIHR3byBjaGFyYWN0ZXJzIG1heSBvciBtYXkgbm90IGJlIHRoZSBzYW1lLjwvcD4KPHA+R2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4gY29uc2lzdGluZyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzIG9ubHksIHJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bGFyZ2VzdCB2YXJpYW5jZTwvc3Ryb25nPiBwb3NzaWJsZSBhbW9uZyBhbGwgPHN0cm9uZz5zdWJzdHJpbmdzPC9zdHJvbmc+IG9mPC9lbT4gPGNvZGU+czwvY29kZT4uPC9wPgo8cD5BIDxzdHJvbmc+c3Vic3RyaW5nPC9zdHJvbmc+IGlzIGEgY29udGlndW91cyBzZXF1ZW5jZSBvZiBjaGFyYWN0ZXJzIHdpdGhpbiBhIHN0cmluZy48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiYWFiYWJiYiIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KQWxsIHBvc3NpYmxlIHZhcmlhbmNlcyBhbG9uZyB3aXRoIHRoZWlyIHJlc3BlY3RpdmUgc3Vic3RyaW5ncyBhcmUgbGlzdGVkIGJlbG93OgotIFZhcmlhbmNlIDAgZm9yIHN1YnN0cmluZ3MgImEiLCAiYWEiLCAiYWIiLCAiYWJhYiIsICJhYWJhYmIiLCAiYmEiLCAiYiIsICJiYiIsIGFuZCAiYmJiIi4KLSBWYXJpYW5jZSAxIGZvciBzdWJzdHJpbmdzICJhYWIiLCAiYWJhIiwgImFiYiIsICJhYWJhYiIsICJhYmFiYiIsICJhYWJhYmJiIiwgYW5kICJiYWIiLgotIFZhcmlhbmNlIDIgZm9yIHN1YnN0cmluZ3MgImFhYmEiLCAiYWJhYmJiIiwgImFiYmIiLCBhbmQgImJhYmIiLgotIFZhcmlhbmNlIDMgZm9yIHN1YnN0cmluZyAiYmFiYmIiLgpTaW5jZSB0aGUgbGFyZ2VzdCBwb3NzaWJsZSB2YXJpYW5jZSBpcyAzLCB3ZSByZXR1cm4gaXQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiYWJjZGUiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ck5vIGxldHRlciBvY2N1cnMgbW9yZSB0aGFuIG9uY2UgaW4gcywgc28gdGhlIHZhcmlhbmNlIG9mIGV2ZXJ5IHN1YnN0cmluZyBpcyAwLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHMubGVuZ3RoICZsdDs9IDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zPC9jb2RlPiBjb25zaXN0cyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Dynamic Programming"
+ ]
+ },
+ {
+ "title": "2276. Count Integers in Intervals",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIDxzdHJvbmc+ZW1wdHk8L3N0cm9uZz4gc2V0IG9mIGludGVydmFscywgaW1wbGVtZW50IGEgZGF0YSBzdHJ1Y3R1cmUgdGhhdCBjYW46PC9wPgo8dWw+CjxsaT48c3Ryb25nPkFkZDwvc3Ryb25nPiBhbiBpbnRlcnZhbCB0byB0aGUgc2V0IG9mIGludGVydmFscy48L2xpPgo8bGk+PHN0cm9uZz5Db3VudDwvc3Ryb25nPiB0aGUgbnVtYmVyIG9mIGludGVnZXJzIHRoYXQgYXJlIHByZXNlbnQgaW4gPHN0cm9uZz5hdCBsZWFzdCBvbmU8L3N0cm9uZz4gaW50ZXJ2YWwuPC9saT4KPC91bD4KPHA+SW1wbGVtZW50IHRoZSA8Y29kZT5Db3VudEludGVydmFsczwvY29kZT4gY2xhc3M6PC9wPgo8dWw+CjxsaT48Y29kZT5Db3VudEludGVydmFscygpPC9jb2RlPiBJbml0aWFsaXplcyB0aGUgb2JqZWN0IHdpdGggYW4gZW1wdHkgc2V0IG9mIGludGVydmFscy48L2xpPgo8bGk+PGNvZGU+dm9pZCBhZGQoaW50IGxlZnQsIGludCByaWdodCk8L2NvZGU+IEFkZHMgdGhlIGludGVydmFsIDxjb2RlPltsZWZ0LCByaWdodF08L2NvZGU+IHRvIHRoZSBzZXQgb2YgaW50ZXJ2YWxzLjwvbGk+CjxsaT48Y29kZT5pbnQgY291bnQoKTwvY29kZT4gUmV0dXJucyB0aGUgbnVtYmVyIG9mIGludGVnZXJzIHRoYXQgYXJlIHByZXNlbnQgaW4gPHN0cm9uZz5hdCBsZWFzdCBvbmU8L3N0cm9uZz4gaW50ZXJ2YWwuPC9saT4KPC91bD4KPHA+PHN0cm9uZz5Ob3RlPC9zdHJvbmc+IHRoYXQgYW4gaW50ZXJ2YWwgPGNvZGU+W2xlZnQsIHJpZ2h0XTwvY29kZT4gZGVub3RlcyBhbGwgdGhlIGludGVnZXJzIDxjb2RlPng8L2NvZGU+IHdoZXJlIDxjb2RlPmxlZnQgJmx0Oz0geCAmbHQ7PSByaWdodDwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0PC9zdHJvbmc+ClsiQ291bnRJbnRlcnZhbHMiLCAiYWRkIiwgImFkZCIsICJjb3VudCIsICJhZGQiLCAiY291bnQiXQpbW10sIFsyLCAzXSwgWzcsIDEwXSwgW10sIFs1LCA4XSwgW11dCjxzdHJvbmc+T3V0cHV0PC9zdHJvbmc+CltudWxsLCBudWxsLCBudWxsLCA2LCBudWxsLCA4XQoKPHN0cm9uZz5FeHBsYW5hdGlvbjwvc3Ryb25nPgpDb3VudEludGVydmFscyBjb3VudEludGVydmFscyA9IG5ldyBDb3VudEludGVydmFscygpOyAvLyBpbml0aWFsaXplIHRoZSBvYmplY3Qgd2l0aCBhbiBlbXB0eSBzZXQgb2YgaW50ZXJ2YWxzLiAKY291bnRJbnRlcnZhbHMuYWRkKDIsIDMpOyAgLy8gYWRkIFsyLCAzXSB0byB0aGUgc2V0IG9mIGludGVydmFscy4KY291bnRJbnRlcnZhbHMuYWRkKDcsIDEwKTsgLy8gYWRkIFs3LCAxMF0gdG8gdGhlIHNldCBvZiBpbnRlcnZhbHMuCmNvdW50SW50ZXJ2YWxzLmNvdW50KCk7ICAgIC8vIHJldHVybiA2CiAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBpbnRlZ2VycyAyIGFuZCAzIGFyZSBwcmVzZW50IGluIHRoZSBpbnRlcnZhbCBbMiwgM10uCiAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBpbnRlZ2VycyA3LCA4LCA5LCBhbmQgMTAgYXJlIHByZXNlbnQgaW4gdGhlIGludGVydmFsIFs3LCAxMF0uCmNvdW50SW50ZXJ2YWxzLmFkZCg1LCA4KTsgIC8vIGFkZCBbNSwgOF0gdG8gdGhlIHNldCBvZiBpbnRlcnZhbHMuCmNvdW50SW50ZXJ2YWxzLmNvdW50KCk7ICAgIC8vIHJldHVybiA4CiAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBpbnRlZ2VycyAyIGFuZCAzIGFyZSBwcmVzZW50IGluIHRoZSBpbnRlcnZhbCBbMiwgM10uCiAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBpbnRlZ2VycyA1IGFuZCA2IGFyZSBwcmVzZW50IGluIHRoZSBpbnRlcnZhbCBbNSwgOF0uCiAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBpbnRlZ2VycyA3IGFuZCA4IGFyZSBwcmVzZW50IGluIHRoZSBpbnRlcnZhbHMgWzUsIDhdIGFuZCBbNywgMTBdLgogICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGUgaW50ZWdlcnMgOSBhbmQgMTAgYXJlIHByZXNlbnQgaW4gdGhlIGludGVydmFsIFs3LCAxMF0uCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbGVmdCAmbHQ7PSByaWdodCAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8bGk+QXQgbW9zdCA8Y29kZT4xMDxzdXA+NTwvc3VwPjwvY29kZT4gY2FsbHMgPHN0cm9uZz5pbiB0b3RhbDwvc3Ryb25nPiB3aWxsIGJlIG1hZGUgdG8gPGNvZGU+YWRkPC9jb2RlPiBhbmQgPGNvZGU+Y291bnQ8L2NvZGU+LjwvbGk+CjxsaT5BdCBsZWFzdCA8c3Ryb25nPm9uZTwvc3Ryb25nPiBjYWxsIHdpbGwgYmUgbWFkZSB0byA8Y29kZT5jb3VudDwvY29kZT4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Design",
+ "Segment Tree",
+ "Ordered Set"
+ ]
+ },
+ {
+ "title": "2242. Maximum Score of a Node Sequence",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGFuIDxzdHJvbmc+dW5kaXJlY3RlZDwvc3Ryb25nPiBncmFwaCB3aXRoIDxjb2RlPm48L2NvZGU+IG5vZGVzLCBudW1iZXJlZCBmcm9tIDxjb2RlPjA8L2NvZGU+IHRvIDxjb2RlPm4gLSAxPC9jb2RlPi48L3A+CjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPnNjb3JlczwvY29kZT4gb2YgbGVuZ3RoIDxjb2RlPm48L2NvZGU+IHdoZXJlIDxjb2RlPnNjb3Jlc1tpXTwvY29kZT4gZGVub3RlcyB0aGUgc2NvcmUgb2Ygbm9kZSA8Y29kZT5pPC9jb2RlPi4gWW91IGFyZSBhbHNvIGdpdmVuIGEgMkQgaW50ZWdlciBhcnJheSA8Y29kZT5lZGdlczwvY29kZT4gd2hlcmUgPGNvZGU+ZWRnZXNbaV0gPSBbYTxzdWI+aTwvc3ViPiwgYjxzdWI+aTwvc3ViPl08L2NvZGU+IGRlbm90ZXMgdGhhdCB0aGVyZSBleGlzdHMgYW4gPHN0cm9uZz51bmRpcmVjdGVkPC9zdHJvbmc+IGVkZ2UgY29ubmVjdGluZyBub2RlcyA8Y29kZT5hPHN1Yj5pPC9zdWI+PC9jb2RlPiBhbmQgPGNvZGU+YjxzdWI+aTwvc3ViPjwvY29kZT4uPC9wPgo8cD5BIG5vZGUgc2VxdWVuY2UgaXMgPGI+dmFsaWQ8L2I+IGlmIGl0IG1lZXRzIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczo8L3A+Cjx1bD4KPGxpPlRoZXJlIGlzIGFuIGVkZ2UgY29ubmVjdGluZyBldmVyeSBwYWlyIG9mIDxzdHJvbmc+YWRqYWNlbnQ8L3N0cm9uZz4gbm9kZXMgaW4gdGhlIHNlcXVlbmNlLjwvbGk+CjxsaT5ObyBub2RlIGFwcGVhcnMgbW9yZSB0aGFuIG9uY2UgaW4gdGhlIHNlcXVlbmNlLjwvbGk+CjwvdWw+CjxwPlRoZSBzY29yZSBvZiBhIG5vZGUgc2VxdWVuY2UgaXMgZGVmaW5lZCBhcyB0aGUgPHN0cm9uZz5zdW08L3N0cm9uZz4gb2YgdGhlIHNjb3JlcyBvZiB0aGUgbm9kZXMgaW4gdGhlIHNlcXVlbmNlLjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5tYXhpbXVtIHNjb3JlPC9zdHJvbmc+IG9mIGEgdmFsaWQgbm9kZSBzZXF1ZW5jZSB3aXRoIGEgbGVuZ3RoIG9mIDwvZW0+PGNvZGU+NDwvY29kZT48ZW0+LiA8L2VtPklmIG5vIHN1Y2ggc2VxdWVuY2UgZXhpc3RzLCByZXR1cm48ZW0+IDwvZW0+PGNvZGU+LTE8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wNC8xNS9leDFuZXczLnBuZyIgc3R5bGU9IndpZHRoOiAyOTBweDsgaGVpZ2h0OiAyMTVweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzY29yZXMgPSBbNSwyLDksOCw0XSwgZWRnZXMgPSBbWzAsMV0sWzEsMl0sWzIsM10sWzAsMl0sWzEsM10sWzIsNF1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyNAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgZmlndXJlIGFib3ZlIHNob3dzIHRoZSBncmFwaCBhbmQgdGhlIGNob3NlbiBub2RlIHNlcXVlbmNlIFswLDEsMiwzXS4KVGhlIHNjb3JlIG9mIHRoZSBub2RlIHNlcXVlbmNlIGlzIDUgKyAyICsgOSArIDggPSAyNC4KSXQgY2FuIGJlIHNob3duIHRoYXQgbm8gb3RoZXIgbm9kZSBzZXF1ZW5jZSBoYXMgYSBzY29yZSBvZiBtb3JlIHRoYW4gMjQuCk5vdGUgdGhhdCB0aGUgc2VxdWVuY2VzIFszLDEsMiwwXSBhbmQgWzEsMCwyLDNdIGFyZSBhbHNvIHZhbGlkIGFuZCBoYXZlIGEgc2NvcmUgb2YgMjQuClRoZSBzZXF1ZW5jZSBbMCwzLDIsNF0gaXMgbm90IHZhbGlkIHNpbmNlIG5vIGVkZ2UgY29ubmVjdHMgbm9kZXMgMCBhbmQgMy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMy8xNy9leDIucG5nIiBzdHlsZT0id2lkdGg6IDMzM3B4OyBoZWlnaHQ6IDE1MXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHNjb3JlcyA9IFs5LDIwLDYsNCwxMSwxMl0sIGVkZ2VzID0gW1swLDNdLFs1LDNdLFsyLDRdLFsxLDNdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gLTEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGZpZ3VyZSBhYm92ZSBzaG93cyB0aGUgZ3JhcGguClRoZXJlIGFyZSBubyB2YWxpZCBub2RlIHNlcXVlbmNlcyBvZiBsZW5ndGggNCwgc28gd2UgcmV0dXJuIC0xLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IHNjb3Jlcy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjQgJmx0Oz0gbiAmbHQ7PSA1ICogMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gc2NvcmVzW2ldICZsdDs9IDEwPHN1cD44PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IGVkZ2VzLmxlbmd0aCAmbHQ7PSA1ICogMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPmVkZ2VzW2ldLmxlbmd0aCA9PSAyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IGE8c3ViPmk8L3N1Yj4sIGI8c3ViPmk8L3N1Yj4gJmx0Oz0gbiAtIDE8L2NvZGU+PC9saT4KPGxpPjxjb2RlPmE8c3ViPmk8L3N1Yj4gIT0gYjxzdWI+aTwvc3ViPjwvY29kZT48L2xpPgo8bGk+VGhlcmUgYXJlIG5vIGR1cGxpY2F0ZSBlZGdlcy48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Graph",
+ "Sorting",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2267. Check if There Is a Valid Parentheses String Path",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgcGFyZW50aGVzZXMgc3RyaW5nIGlzIGEgPHN0cm9uZz5ub24tZW1wdHk8L3N0cm9uZz4gc3RyaW5nIGNvbnNpc3Rpbmcgb25seSBvZiA8Y29kZT4nKCc8L2NvZGU+IGFuZCA8Y29kZT4nKSc8L2NvZGU+LiBJdCBpcyA8c3Ryb25nPnZhbGlkPC9zdHJvbmc+IGlmIDxzdHJvbmc+YW55PC9zdHJvbmc+IG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBpcyA8c3Ryb25nPnRydWU8L3N0cm9uZz46PC9wPgo8dWw+CjxsaT5JdCBpcyA8Y29kZT4oKTwvY29kZT4uPC9saT4KPGxpPkl0IGNhbiBiZSB3cml0dGVuIGFzIDxjb2RlPkFCPC9jb2RlPiAoPGNvZGU+QTwvY29kZT4gY29uY2F0ZW5hdGVkIHdpdGggPGNvZGU+QjwvY29kZT4pLCB3aGVyZSA8Y29kZT5BPC9jb2RlPiBhbmQgPGNvZGU+QjwvY29kZT4gYXJlIHZhbGlkIHBhcmVudGhlc2VzIHN0cmluZ3MuPC9saT4KPGxpPkl0IGNhbiBiZSB3cml0dGVuIGFzIDxjb2RlPihBKTwvY29kZT4sIHdoZXJlIDxjb2RlPkE8L2NvZGU+IGlzIGEgdmFsaWQgcGFyZW50aGVzZXMgc3RyaW5nLjwvbGk+CjwvdWw+CjxwPllvdSBhcmUgZ2l2ZW4gYW4gPGNvZGU+bSB4IG48L2NvZGU+IG1hdHJpeCBvZiBwYXJlbnRoZXNlcyA8Y29kZT5ncmlkPC9jb2RlPi4gQSA8c3Ryb25nPnZhbGlkIHBhcmVudGhlc2VzIHN0cmluZyBwYXRoPC9zdHJvbmc+IGluIHRoZSBncmlkIGlzIGEgcGF0aCBzYXRpc2Z5aW5nIDxzdHJvbmc+YWxsPC9zdHJvbmc+IG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczo8L3A+Cjx1bD4KPGxpPlRoZSBwYXRoIHN0YXJ0cyBmcm9tIHRoZSB1cHBlciBsZWZ0IGNlbGwgPGNvZGU+KDAsIDApPC9jb2RlPi48L2xpPgo8bGk+VGhlIHBhdGggZW5kcyBhdCB0aGUgYm90dG9tLXJpZ2h0IGNlbGwgPGNvZGU+KG0gLSAxLCBuIC0gMSk8L2NvZGU+LjwvbGk+CjxsaT5UaGUgcGF0aCBvbmx5IGV2ZXIgbW92ZXMgPHN0cm9uZz5kb3duPC9zdHJvbmc+IG9yIDxzdHJvbmc+cmlnaHQ8L3N0cm9uZz4uPC9saT4KPGxpPlRoZSByZXN1bHRpbmcgcGFyZW50aGVzZXMgc3RyaW5nIGZvcm1lZCBieSB0aGUgcGF0aCBpcyA8c3Ryb25nPnZhbGlkPC9zdHJvbmc+LjwvbGk+CjwvdWw+CjxwPlJldHVybiA8Y29kZT50cnVlPC9jb2RlPiA8ZW0+aWYgdGhlcmUgZXhpc3RzIGEgPHN0cm9uZz52YWxpZCBwYXJlbnRoZXNlcyBzdHJpbmcgcGF0aDwvc3Ryb25nPiBpbiB0aGUgZ3JpZC48L2VtPiBPdGhlcndpc2UsIHJldHVybiA8Y29kZT5mYWxzZTwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAzLzE1L2V4YW1wbGUxZHJhd2lvLnBuZyIgc3R5bGU9IndpZHRoOiA1MjFweDsgaGVpZ2h0OiAzMDBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBncmlkID0gW1siKCIsIigiLCIoIl0sWyIpIiwiKCIsIikiXSxbIigiLCIoIiwiKSJdLFsiKCIsIigiLCIpIl1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiB0cnVlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBhYm92ZSBkaWFncmFtIHNob3dzIHR3byBwb3NzaWJsZSBwYXRocyB0aGF0IGZvcm0gdmFsaWQgcGFyZW50aGVzZXMgc3RyaW5ncy4KVGhlIGZpcnN0IHBhdGggc2hvd24gcmVzdWx0cyBpbiB0aGUgdmFsaWQgcGFyZW50aGVzZXMgc3RyaW5nICIoKSgoKSkiLgpUaGUgc2Vjb25kIHBhdGggc2hvd24gcmVzdWx0cyBpbiB0aGUgdmFsaWQgcGFyZW50aGVzZXMgc3RyaW5nICIoKCgpKSkiLgpOb3RlIHRoYXQgdGhlcmUgbWF5IGJlIG90aGVyIHZhbGlkIHBhcmVudGhlc2VzIHN0cmluZyBwYXRocy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMy8xNS9leGFtcGxlMmRyYXdpby5wbmciIHN0eWxlPSJ3aWR0aDogMTY1cHg7IGhlaWdodDogMTY1cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbIikiLCIpIl0sWyIoIiwiKCJdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gZmFsc2UKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHR3byBwb3NzaWJsZSBwYXRocyBmb3JtIHRoZSBwYXJlbnRoZXNlcyBzdHJpbmdzICIpKSgiIGFuZCAiKSgoIi4gU2luY2UgbmVpdGhlciBvZiB0aGVtIGFyZSB2YWxpZCBwYXJlbnRoZXNlcyBzdHJpbmdzLCB3ZSByZXR1cm4gZmFsc2UuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm0gPT0gZ3JpZC5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPm4gPT0gZ3JpZFtpXS5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbSwgbiAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPmdyaWRbaV1bal08L2NvZGU+IGlzIGVpdGhlciA8Y29kZT4nKCc8L2NvZGU+IG9yIDxjb2RlPicpJzwvY29kZT4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Dynamic Programming",
+ "Matrix"
+ ]
+ },
+ {
+ "title": "2258. Escape the Spreading Fire",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPmdyaWQ8L2NvZGU+IG9mIHNpemUgPGNvZGU+bSB4IG48L2NvZGU+IHdoaWNoIHJlcHJlc2VudHMgYSBmaWVsZC4gRWFjaCBjZWxsIGhhcyBvbmUgb2YgdGhyZWUgdmFsdWVzOjwvcD4KPHVsPgo8bGk+PGNvZGU+MDwvY29kZT4gcmVwcmVzZW50cyBncmFzcyw8L2xpPgo8bGk+PGNvZGU+MTwvY29kZT4gcmVwcmVzZW50cyBmaXJlLDwvbGk+CjxsaT48Y29kZT4yPC9jb2RlPiByZXByZXNlbnRzIGEgd2FsbCB0aGF0IHlvdSBhbmQgZmlyZSBjYW5ub3QgcGFzcyB0aHJvdWdoLjwvbGk+CjwvdWw+CjxwPllvdSBhcmUgc2l0dWF0ZWQgaW4gdGhlIHRvcC1sZWZ0IGNlbGwsIDxjb2RlPigwLCAwKTwvY29kZT4sIGFuZCB5b3Ugd2FudCB0byB0cmF2ZWwgdG8gdGhlIHNhZmVob3VzZSBhdCB0aGUgYm90dG9tLXJpZ2h0IGNlbGwsIDxjb2RlPihtIC0gMSwgbiAtIDEpPC9jb2RlPi4gRXZlcnkgbWludXRlLCB5b3UgbWF5IG1vdmUgdG8gYW4gPHN0cm9uZz5hZGphY2VudDwvc3Ryb25nPiBncmFzcyBjZWxsLiA8c3Ryb25nPkFmdGVyPC9zdHJvbmc+IHlvdXIgbW92ZSwgZXZlcnkgZmlyZSBjZWxsIHdpbGwgc3ByZWFkIHRvIGFsbCA8c3Ryb25nPmFkamFjZW50PC9zdHJvbmc+IGNlbGxzIHRoYXQgYXJlIG5vdCB3YWxscy48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBudW1iZXIgb2YgbWludXRlcyB0aGF0IHlvdSBjYW4gc3RheSBpbiB5b3VyIGluaXRpYWwgcG9zaXRpb24gYmVmb3JlIG1vdmluZyB3aGlsZSBzdGlsbCBzYWZlbHkgcmVhY2hpbmcgdGhlIHNhZmVob3VzZTwvZW0+LiBJZiB0aGlzIGlzIGltcG9zc2libGUsIHJldHVybiA8Y29kZT4tMTwvY29kZT4uIElmIHlvdSBjYW4gPHN0cm9uZz5hbHdheXM8L3N0cm9uZz4gcmVhY2ggdGhlIHNhZmVob3VzZSByZWdhcmRsZXNzIG9mIHRoZSBtaW51dGVzIHN0YXllZCwgcmV0dXJuIDxjb2RlPjEwPHN1cD45PC9zdXA+PC9jb2RlPi48L3A+CjxwPk5vdGUgdGhhdCBldmVuIGlmIHRoZSBmaXJlIHNwcmVhZHMgdG8gdGhlIHNhZmVob3VzZSBpbW1lZGlhdGVseSBhZnRlciB5b3UgaGF2ZSByZWFjaGVkIGl0LCBpdCB3aWxsIGJlIGNvdW50ZWQgYXMgc2FmZWx5IHJlYWNoaW5nIHRoZSBzYWZlaG91c2UuPC9wPgo8cD5BIGNlbGwgaXMgPHN0cm9uZz5hZGphY2VudDwvc3Ryb25nPiB0byBhbm90aGVyIGNlbGwgaWYgdGhlIGZvcm1lciBpcyBkaXJlY3RseSBub3J0aCwgZWFzdCwgc291dGgsIG9yIHdlc3Qgb2YgdGhlIGxhdHRlciAoaS5lLiwgdGhlaXIgc2lkZXMgYXJlIHRvdWNoaW5nKS48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDMvMTAvZXgxbmV3LmpwZyIgc3R5bGU9IndpZHRoOiA2NTBweDsgaGVpZ2h0OiA0MDRweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBncmlkID0gW1swLDIsMCwwLDAsMCwwXSxbMCwwLDAsMiwyLDEsMF0sWzAsMiwwLDAsMSwyLDBdLFswLDAsMiwyLDIsMCwyXSxbMCwwLDAsMCwwLDAsMF1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBmaWd1cmUgYWJvdmUgc2hvd3MgdGhlIHNjZW5hcmlvIHdoZXJlIHlvdSBzdGF5IGluIHRoZSBpbml0aWFsIHBvc2l0aW9uIGZvciAzIG1pbnV0ZXMuCllvdSB3aWxsIHN0aWxsIGJlIGFibGUgdG8gc2FmZWx5IHJlYWNoIHRoZSBzYWZlaG91c2UuClN0YXlpbmcgZm9yIG1vcmUgdGhhbiAzIG1pbnV0ZXMgd2lsbCBub3QgYWxsb3cgeW91IHRvIHNhZmVseSByZWFjaCB0aGUgc2FmZWhvdXNlLjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDMvMTAvZXgybmV3Mi5qcGciIHN0eWxlPSJ3aWR0aDogNTE1cHg7IGhlaWdodDogMTUwcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbMCwwLDAsMF0sWzAsMSwyLDBdLFswLDIsMCwwXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IC0xCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBmaWd1cmUgYWJvdmUgc2hvd3MgdGhlIHNjZW5hcmlvIHdoZXJlIHlvdSBpbW1lZGlhdGVseSBtb3ZlIHRvd2FyZHMgdGhlIHNhZmVob3VzZS4KRmlyZSB3aWxsIHNwcmVhZCB0byBhbnkgY2VsbCB5b3UgbW92ZSB0b3dhcmRzIGFuZCBpdCBpcyBpbXBvc3NpYmxlIHRvIHNhZmVseSByZWFjaCB0aGUgc2FmZWhvdXNlLgpUaHVzLCAtMSBpcyByZXR1cm5lZC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMy8xMC9leDNuZXcuanBnIiBzdHlsZT0id2lkdGg6IDE3NHB4OyBoZWlnaHQ6IDE1MHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGdyaWQgPSBbWzAsMCwwXSxbMiwyLDBdLFsxLDIsMF1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxMDAwMDAwMDAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBmaWd1cmUgYWJvdmUgc2hvd3MgdGhlIGluaXRpYWwgZ3JpZC4KTm90aWNlIHRoYXQgdGhlIGZpcmUgaXMgY29udGFpbmVkIGJ5IHdhbGxzIGFuZCB5b3Ugd2lsbCBhbHdheXMgYmUgYWJsZSB0byBzYWZlbHkgcmVhY2ggdGhlIHNhZmVob3VzZS4KVGh1cywgMTA8c3VwPjk8L3N1cD4gaXMgcmV0dXJuZWQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm0gPT0gZ3JpZC5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPm4gPT0gZ3JpZFtpXS5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjIgJmx0Oz0gbSwgbiAmbHQ7PSAzMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjQgJmx0Oz0gbSAqIG4gJmx0Oz0gMiAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5ncmlkW2ldW2pdPC9jb2RlPiBpcyBlaXRoZXIgPGNvZGU+MDwvY29kZT4sIDxjb2RlPjE8L2NvZGU+LCBvciA8Y29kZT4yPC9jb2RlPi48L2xpPgo8bGk+PGNvZGU+Z3JpZFswXVswXSA9PSBncmlkW20gLSAxXVtuIC0gMV0gPT0gMDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Breadth-First Search",
+ "Matrix"
+ ]
+ },
+ {
+ "title": "2262. Total Appeal of A String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZSA8Yj5hcHBlYWw8L2I+IG9mIGEgc3RyaW5nIGlzIHRoZSBudW1iZXIgb2YgPHN0cm9uZz5kaXN0aW5jdDwvc3Ryb25nPiBjaGFyYWN0ZXJzIGZvdW5kIGluIHRoZSBzdHJpbmcuPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgdGhlIGFwcGVhbCBvZiA8Y29kZT4iYWJiY2EiPC9jb2RlPiBpcyA8Y29kZT4zPC9jb2RlPiBiZWNhdXNlIGl0IGhhcyA8Y29kZT4zPC9jb2RlPiBkaXN0aW5jdCBjaGFyYWN0ZXJzOiA8Y29kZT4nYSc8L2NvZGU+LCA8Y29kZT4nYic8L2NvZGU+LCBhbmQgPGNvZGU+J2MnPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5HaXZlbiBhIHN0cmluZyA8Y29kZT5zPC9jb2RlPiwgcmV0dXJuIDxlbT50aGUgPHN0cm9uZz50b3RhbCBhcHBlYWwgb2YgYWxsIG9mIGl0cyA8c3Ryb25nPnN1YnN0cmluZ3M8L3N0cm9uZz4uPC9zdHJvbmc+PC9lbT48L3A+CjxwPkEgPHN0cm9uZz5zdWJzdHJpbmc8L3N0cm9uZz4gaXMgYSBjb250aWd1b3VzIHNlcXVlbmNlIG9mIGNoYXJhY3RlcnMgd2l0aGluIGEgc3RyaW5nLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJhYmJjYSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDI4CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBmb2xsb3dpbmcgYXJlIHRoZSBzdWJzdHJpbmdzIG9mICJhYmJjYSI6Ci0gU3Vic3RyaW5ncyBvZiBsZW5ndGggMTogImEiLCAiYiIsICJiIiwgImMiLCAiYSIgaGF2ZSBhbiBhcHBlYWwgb2YgMSwgMSwgMSwgMSwgYW5kIDEgcmVzcGVjdGl2ZWx5LiBUaGUgc3VtIGlzIDUuCi0gU3Vic3RyaW5ncyBvZiBsZW5ndGggMjogImFiIiwgImJiIiwgImJjIiwgImNhIiBoYXZlIGFuIGFwcGVhbCBvZiAyLCAxLCAyLCBhbmQgMiByZXNwZWN0aXZlbHkuIFRoZSBzdW0gaXMgNy4KLSBTdWJzdHJpbmdzIG9mIGxlbmd0aCAzOiAiYWJiIiwgImJiYyIsICJiY2EiIGhhdmUgYW4gYXBwZWFsIG9mIDIsIDIsIGFuZCAzIHJlc3BlY3RpdmVseS4gVGhlIHN1bSBpcyA3LgotIFN1YnN0cmluZ3Mgb2YgbGVuZ3RoIDQ6ICJhYmJjIiwgImJiY2EiIGhhdmUgYW4gYXBwZWFsIG9mIDMgYW5kIDMgcmVzcGVjdGl2ZWx5LiBUaGUgc3VtIGlzIDYuCi0gU3Vic3RyaW5ncyBvZiBsZW5ndGggNTogImFiYmNhIiBoYXMgYW4gYXBwZWFsIG9mIDMuIFRoZSBzdW0gaXMgMy4KVGhlIHRvdGFsIHN1bSBpcyA1ICsgNyArIDcgKyA2ICsgMyA9IDI4Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImNvZGUiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgZm9sbG93aW5nIGFyZSB0aGUgc3Vic3RyaW5ncyBvZiAiY29kZSI6Ci0gU3Vic3RyaW5ncyBvZiBsZW5ndGggMTogImMiLCAibyIsICJkIiwgImUiIGhhdmUgYW4gYXBwZWFsIG9mIDEsIDEsIDEsIGFuZCAxIHJlc3BlY3RpdmVseS4gVGhlIHN1bSBpcyA0LgotIFN1YnN0cmluZ3Mgb2YgbGVuZ3RoIDI6ICJjbyIsICJvZCIsICJkZSIgaGF2ZSBhbiBhcHBlYWwgb2YgMiwgMiwgYW5kIDIgcmVzcGVjdGl2ZWx5LiBUaGUgc3VtIGlzIDYuCi0gU3Vic3RyaW5ncyBvZiBsZW5ndGggMzogImNvZCIsICJvZGUiIGhhdmUgYW4gYXBwZWFsIG9mIDMgYW5kIDMgcmVzcGVjdGl2ZWx5LiBUaGUgc3VtIGlzIDYuCi0gU3Vic3RyaW5ncyBvZiBsZW5ndGggNDogImNvZGUiIGhhcyBhbiBhcHBlYWwgb2YgNC4gVGhlIHN1bSBpcyA0LgpUaGUgdG90YWwgc3VtIGlzIDQgKyA2ICsgNiArIDQgPSAyMC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBzLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+czwvY29kZT4gY29uc2lzdHMgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycy48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Hash Table",
+ "String",
+ "Dynamic Programming"
+ ]
+ },
+ {
+ "title": "2251. Number of Flowers in Full Bloom",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPmZsb3dlcnM8L2NvZGU+LCB3aGVyZSA8Y29kZT5mbG93ZXJzW2ldID0gW3N0YXJ0PHN1Yj5pPC9zdWI+LCBlbmQ8c3ViPmk8L3N1Yj5dPC9jb2RlPiBtZWFucyB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGZsb3dlciB3aWxsIGJlIGluIDxzdHJvbmc+ZnVsbCBibG9vbTwvc3Ryb25nPiBmcm9tIDxjb2RlPnN0YXJ0PHN1Yj5pPC9zdWI+PC9jb2RlPiB0byA8Y29kZT5lbmQ8c3ViPmk8L3N1Yj48L2NvZGU+ICg8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPikuIFlvdSBhcmUgYWxzbyBnaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXkgPGNvZGU+cGVyc29uczwvY29kZT4gb2Ygc2l6ZSA8Y29kZT5uPC9jb2RlPiwgd2hlcmUgPGNvZGU+cGVyc29uc1tpXTwvY29kZT4gaXMgdGhlIHRpbWUgdGhhdCB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHBlcnNvbiB3aWxsIGFycml2ZSB0byBzZWUgdGhlIGZsb3dlcnMuPC9wPgo8cD5SZXR1cm4gPGVtPmFuIGludGVnZXIgYXJyYXkgPC9lbT48Y29kZT5hbnN3ZXI8L2NvZGU+PGVtPiBvZiBzaXplIDwvZW0+PGNvZGU+bjwvY29kZT48ZW0+LCB3aGVyZSA8L2VtPjxjb2RlPmFuc3dlcltpXTwvY29kZT48ZW0+IGlzIHRoZSA8c3Ryb25nPm51bWJlcjwvc3Ryb25nPiBvZiBmbG93ZXJzIHRoYXQgYXJlIGluIGZ1bGwgYmxvb20gd2hlbiB0aGUgPC9lbT48Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT48ZW0+IHBlcnNvbiBhcnJpdmVzLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAzLzAyL2V4MW5ldy5qcGciIHN0eWxlPSJ3aWR0aDogNTUwcHg7IGhlaWdodDogMjE2cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZmxvd2VycyA9IFtbMSw2XSxbMyw3XSxbOSwxMl0sWzQsMTNdXSwgcGVyc29ucyA9IFsyLDMsNywxMV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsxLDIsMiwyXQo8c3Ryb25nPkV4cGxhbmF0aW9uOiA8L3N0cm9uZz5UaGUgZmlndXJlIGFib3ZlIHNob3dzIHRoZSB0aW1lcyB3aGVuIHRoZSBmbG93ZXJzIGFyZSBpbiBmdWxsIGJsb29tIGFuZCB3aGVuIHRoZSBwZW9wbGUgYXJyaXZlLgpGb3IgZWFjaCBwZXJzb24sIHdlIHJldHVybiB0aGUgbnVtYmVyIG9mIGZsb3dlcnMgaW4gZnVsbCBibG9vbSBkdXJpbmcgdGhlaXIgYXJyaXZhbC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMy8wMi9leDJuZXcuanBnIiBzdHlsZT0id2lkdGg6IDQ1MHB4OyBoZWlnaHQ6IDE5NXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGZsb3dlcnMgPSBbWzEsMTBdLFszLDNdXSwgcGVyc29ucyA9IFszLDMsMl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsyLDIsMV0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGZpZ3VyZSBhYm92ZSBzaG93cyB0aGUgdGltZXMgd2hlbiB0aGUgZmxvd2VycyBhcmUgaW4gZnVsbCBibG9vbSBhbmQgd2hlbiB0aGUgcGVvcGxlIGFycml2ZS4KRm9yIGVhY2ggcGVyc29uLCB3ZSByZXR1cm4gdGhlIG51bWJlciBvZiBmbG93ZXJzIGluIGZ1bGwgYmxvb20gZHVyaW5nIHRoZWlyIGFycml2YWwuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gZmxvd2Vycy5sZW5ndGggJmx0Oz0gNSAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5mbG93ZXJzW2ldLmxlbmd0aCA9PSAyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHN0YXJ0PHN1Yj5pPC9zdWI+ICZsdDs9IGVuZDxzdWI+aTwvc3ViPiAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBwZXJzb25zLmxlbmd0aCAmbHQ7PSA1ICogMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gcGVyc29uc1tpXSAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Binary Search",
+ "Sorting",
+ "Prefix Sum",
+ "Ordered Set"
+ ]
+ },
+ {
+ "title": "2234. Maximum Total Beauty of the Gardens",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkFsaWNlIGlzIGEgY2FyZXRha2VyIG9mIDxjb2RlPm48L2NvZGU+IGdhcmRlbnMgYW5kIHNoZSB3YW50cyB0byBwbGFudCBmbG93ZXJzIHRvIG1heGltaXplIHRoZSB0b3RhbCBiZWF1dHkgb2YgYWxsIGhlciBnYXJkZW5zLjwvcD4KPHA+WW91IGFyZSBnaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXkgPGNvZGU+Zmxvd2VyczwvY29kZT4gb2Ygc2l6ZSA8Y29kZT5uPC9jb2RlPiwgd2hlcmUgPGNvZGU+Zmxvd2Vyc1tpXTwvY29kZT4gaXMgdGhlIG51bWJlciBvZiBmbG93ZXJzIGFscmVhZHkgcGxhbnRlZCBpbiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGdhcmRlbi4gRmxvd2VycyB0aGF0IGFyZSBhbHJlYWR5IHBsYW50ZWQgPHN0cm9uZz5jYW5ub3Q8L3N0cm9uZz4gYmUgcmVtb3ZlZC4gWW91IGFyZSB0aGVuIGdpdmVuIGFub3RoZXIgaW50ZWdlciA8Y29kZT5uZXdGbG93ZXJzPC9jb2RlPiwgd2hpY2ggaXMgdGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBudW1iZXIgb2YgZmxvd2VycyB0aGF0IEFsaWNlIGNhbiBhZGRpdGlvbmFsbHkgcGxhbnQuIFlvdSBhcmUgYWxzbyBnaXZlbiB0aGUgaW50ZWdlcnMgPGNvZGU+dGFyZ2V0PC9jb2RlPiwgPGNvZGU+ZnVsbDwvY29kZT4sIGFuZCA8Y29kZT5wYXJ0aWFsPC9jb2RlPi48L3A+CjxwPkEgZ2FyZGVuIGlzIGNvbnNpZGVyZWQgPHN0cm9uZz5jb21wbGV0ZTwvc3Ryb25nPiBpZiBpdCBoYXMgPHN0cm9uZz5hdCBsZWFzdDwvc3Ryb25nPiA8Y29kZT50YXJnZXQ8L2NvZGU+IGZsb3dlcnMuIFRoZSA8c3Ryb25nPnRvdGFsIGJlYXV0eTwvc3Ryb25nPiBvZiB0aGUgZ2FyZGVucyBpcyB0aGVuIGRldGVybWluZWQgYXMgdGhlIDxzdHJvbmc+c3VtPC9zdHJvbmc+IG9mIHRoZSBmb2xsb3dpbmc6PC9wPgo8dWw+CjxsaT5UaGUgbnVtYmVyIG9mIDxzdHJvbmc+Y29tcGxldGU8L3N0cm9uZz4gZ2FyZGVucyBtdWx0aXBsaWVkIGJ5IDxjb2RlPmZ1bGw8L2NvZGU+LjwvbGk+CjxsaT5UaGUgPHN0cm9uZz5taW5pbXVtPC9zdHJvbmc+IG51bWJlciBvZiBmbG93ZXJzIGluIGFueSBvZiB0aGUgPHN0cm9uZz5pbmNvbXBsZXRlPC9zdHJvbmc+IGdhcmRlbnMgbXVsdGlwbGllZCBieSA8Y29kZT5wYXJ0aWFsPC9jb2RlPi4gSWYgdGhlcmUgYXJlIG5vIGluY29tcGxldGUgZ2FyZGVucywgdGhlbiB0aGlzIHZhbHVlIHdpbGwgYmUgPGNvZGU+MDwvY29kZT4uPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5tYXhpbXVtPC9zdHJvbmc+IHRvdGFsIGJlYXV0eSB0aGF0IEFsaWNlIGNhbiBvYnRhaW4gYWZ0ZXIgcGxhbnRpbmcgYXQgbW9zdCA8L2VtPjxjb2RlPm5ld0Zsb3dlcnM8L2NvZGU+PGVtPiBmbG93ZXJzLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBmbG93ZXJzID0gWzEsMywxLDFdLCBuZXdGbG93ZXJzID0gNywgdGFyZ2V0ID0gNiwgZnVsbCA9IDEyLCBwYXJ0aWFsID0gMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gQWxpY2UgY2FuIHBsYW50Ci0gMiBmbG93ZXJzIGluIHRoZSAwPHN1cD50aDwvc3VwPiBnYXJkZW4KLSAzIGZsb3dlcnMgaW4gdGhlIDE8c3VwPnN0PC9zdXA+IGdhcmRlbgotIDEgZmxvd2VyIGluIHRoZSAyPHN1cD5uZDwvc3VwPiBnYXJkZW4KLSAxIGZsb3dlciBpbiB0aGUgMzxzdXA+cmQ8L3N1cD4gZ2FyZGVuClRoZSBnYXJkZW5zIHdpbGwgdGhlbiBiZSBbMyw2LDIsMl0uIFNoZSBwbGFudGVkIGEgdG90YWwgb2YgMiArIDMgKyAxICsgMSA9IDcgZmxvd2Vycy4KVGhlcmUgaXMgMSBnYXJkZW4gdGhhdCBpcyBjb21wbGV0ZS4KVGhlIG1pbmltdW0gbnVtYmVyIG9mIGZsb3dlcnMgaW4gdGhlIGluY29tcGxldGUgZ2FyZGVucyBpcyAyLgpUaHVzLCB0aGUgdG90YWwgYmVhdXR5IGlzIDEgKiAxMiArIDIgKiAxID0gMTIgKyAyID0gMTQuCk5vIG90aGVyIHdheSBvZiBwbGFudGluZyBmbG93ZXJzIGNhbiBvYnRhaW4gYSB0b3RhbCBiZWF1dHkgaGlnaGVyIHRoYW4gMTQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGZsb3dlcnMgPSBbMiw0LDUsM10sIG5ld0Zsb3dlcnMgPSAxMCwgdGFyZ2V0ID0gNSwgZnVsbCA9IDIsIHBhcnRpYWwgPSA2CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBBbGljZSBjYW4gcGxhbnQKLSAzIGZsb3dlcnMgaW4gdGhlIDA8c3VwPnRoPC9zdXA+IGdhcmRlbgotIDAgZmxvd2VycyBpbiB0aGUgMTxzdXA+c3Q8L3N1cD4gZ2FyZGVuCi0gMCBmbG93ZXJzIGluIHRoZSAyPHN1cD5uZDwvc3VwPiBnYXJkZW4KLSAyIGZsb3dlcnMgaW4gdGhlIDM8c3VwPnJkPC9zdXA+IGdhcmRlbgpUaGUgZ2FyZGVucyB3aWxsIHRoZW4gYmUgWzUsNCw1LDVdLiBTaGUgcGxhbnRlZCBhIHRvdGFsIG9mIDMgKyAwICsgMCArIDIgPSA1IGZsb3dlcnMuClRoZXJlIGFyZSAzIGdhcmRlbnMgdGhhdCBhcmUgY29tcGxldGUuClRoZSBtaW5pbXVtIG51bWJlciBvZiBmbG93ZXJzIGluIHRoZSBpbmNvbXBsZXRlIGdhcmRlbnMgaXMgNC4KVGh1cywgdGhlIHRvdGFsIGJlYXV0eSBpcyAzICogMiArIDQgKiA2ID0gNiArIDI0ID0gMzAuCk5vIG90aGVyIHdheSBvZiBwbGFudGluZyBmbG93ZXJzIGNhbiBvYnRhaW4gYSB0b3RhbCBiZWF1dHkgaGlnaGVyIHRoYW4gMzAuCk5vdGUgdGhhdCBBbGljZSBjb3VsZCBtYWtlIGFsbCB0aGUgZ2FyZGVucyBjb21wbGV0ZSBidXQgaW4gdGhpcyBjYXNlLCBzaGUgd291bGQgb2J0YWluIGEgbG93ZXIgdG90YWwgYmVhdXR5Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IGZsb3dlcnMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGZsb3dlcnNbaV0sIHRhcmdldCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBuZXdGbG93ZXJzICZsdDs9IDEwPHN1cD4xMDwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBmdWxsLCBwYXJ0aWFsICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Two Pointers",
+ "Binary Search",
+ "Greedy",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2223. Sum of Scores of Built Strings",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgPHN0cm9uZz5idWlsZGluZzwvc3Ryb25nPiBhIHN0cmluZyA8Y29kZT5zPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4gPHN0cm9uZz5vbmU8L3N0cm9uZz4gY2hhcmFjdGVyIGF0IGEgdGltZSwgPHN0cm9uZz5wcmVwZW5kaW5nPC9zdHJvbmc+IGVhY2ggbmV3IGNoYXJhY3RlciB0byB0aGUgPHN0cm9uZz5mcm9udDwvc3Ryb25nPiBvZiB0aGUgc3RyaW5nLiBUaGUgc3RyaW5ncyBhcmUgbGFiZWxlZCBmcm9tIDxjb2RlPjE8L2NvZGU+IHRvIDxjb2RlPm48L2NvZGU+LCB3aGVyZSB0aGUgc3RyaW5nIHdpdGggbGVuZ3RoIDxjb2RlPmk8L2NvZGU+IGlzIGxhYmVsZWQgPGNvZGU+czxzdWI+aTwvc3ViPjwvY29kZT4uPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgZm9yIDxjb2RlPnMgPSAiYWJhY2EiPC9jb2RlPiwgPGNvZGU+czxzdWI+MTwvc3ViPiA9PSAiYSI8L2NvZGU+LCA8Y29kZT5zPHN1Yj4yPC9zdWI+ID09ICJjYSI8L2NvZGU+LCA8Y29kZT5zPHN1Yj4zPC9zdWI+ID09ICJhY2EiPC9jb2RlPiwgZXRjLjwvbGk+CjwvdWw+CjxwPlRoZSA8c3Ryb25nPnNjb3JlPC9zdHJvbmc+IG9mIDxjb2RlPnM8c3ViPmk8L3N1Yj48L2NvZGU+IGlzIHRoZSBsZW5ndGggb2YgdGhlIDxzdHJvbmc+bG9uZ2VzdCBjb21tb24gcHJlZml4PC9zdHJvbmc+IGJldHdlZW4gPGNvZGU+czxzdWI+aTwvc3ViPjwvY29kZT4gYW5kIDxjb2RlPnM8c3ViPm48L3N1Yj48L2NvZGU+IChOb3RlIHRoYXQgPGNvZGU+cyA9PSBzPHN1Yj5uPC9zdWI+PC9jb2RlPikuPC9wPgo8cD5HaXZlbiB0aGUgZmluYWwgc3RyaW5nIDxjb2RlPnM8L2NvZGU+LCByZXR1cm48ZW0+IHRoZSA8c3Ryb25nPnN1bTwvc3Ryb25nPiBvZiB0aGUgPHN0cm9uZz5zY29yZTwvc3Ryb25nPiBvZiBldmVyeSA8L2VtPjxjb2RlPnM8c3ViPmk8L3N1Yj48L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJiYWJhYiIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDkKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KRm9yIHM8c3ViPjE8L3N1Yj4gPT0gImIiLCB0aGUgbG9uZ2VzdCBjb21tb24gcHJlZml4IGlzICJiIiB3aGljaCBoYXMgYSBzY29yZSBvZiAxLgpGb3IgczxzdWI+Mjwvc3ViPiA9PSAiYWIiLCB0aGVyZSBpcyBubyBjb21tb24gcHJlZml4IHNvIHRoZSBzY29yZSBpcyAwLgpGb3IgczxzdWI+Mzwvc3ViPiA9PSAiYmFiIiwgdGhlIGxvbmdlc3QgY29tbW9uIHByZWZpeCBpcyAiYmFiIiB3aGljaCBoYXMgYSBzY29yZSBvZiAzLgpGb3IgczxzdWI+NDwvc3ViPiA9PSAiYWJhYiIsIHRoZXJlIGlzIG5vIGNvbW1vbiBwcmVmaXggc28gdGhlIHNjb3JlIGlzIDAuCkZvciBzPHN1Yj41PC9zdWI+ID09ICJiYWJhYiIsIHRoZSBsb25nZXN0IGNvbW1vbiBwcmVmaXggaXMgImJhYmFiIiB3aGljaCBoYXMgYSBzY29yZSBvZiA1LgpUaGUgc3VtIG9mIHRoZSBzY29yZXMgaXMgMSArIDAgKyAzICsgMCArIDUgPSA5LCBzbyB3ZSByZXR1cm4gOS48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImF6YmF6YnpheiIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDE0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApGb3IgczxzdWI+Mjwvc3ViPiA9PSAiYXoiLCB0aGUgbG9uZ2VzdCBjb21tb24gcHJlZml4IGlzICJheiIgd2hpY2ggaGFzIGEgc2NvcmUgb2YgMi4KRm9yIHM8c3ViPjY8L3N1Yj4gPT0gImF6YnpheiIsIHRoZSBsb25nZXN0IGNvbW1vbiBwcmVmaXggaXMgImF6YiIgd2hpY2ggaGFzIGEgc2NvcmUgb2YgMy4KRm9yIHM8c3ViPjk8L3N1Yj4gPT0gImF6YmF6YnpheiIsIHRoZSBsb25nZXN0IGNvbW1vbiBwcmVmaXggaXMgImF6YmF6YnpheiIgd2hpY2ggaGFzIGEgc2NvcmUgb2YgOS4KRm9yIGFsbCBvdGhlciBzPHN1Yj5pPC9zdWI+LCB0aGUgc2NvcmUgaXMgMC4KVGhlIHN1bSBvZiB0aGUgc2NvcmVzIGlzIDIgKyAzICsgOSA9IDE0LCBzbyB3ZSByZXR1cm4gMTQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnM8L2NvZGU+IGNvbnNpc3RzIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "String",
+ "Binary Search",
+ "Rolling Hash",
+ "Suffix Array",
+ "String Matching",
+ "Hash Function"
+ ]
+ },
+ {
+ "title": "2203. Minimum Weighted Subgraph With the Required Paths",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5uPC9jb2RlPiBkZW5vdGluZyB0aGUgbnVtYmVyIG9mIG5vZGVzIG9mIGEgPHN0cm9uZz53ZWlnaHRlZCBkaXJlY3RlZDwvc3Ryb25nPiBncmFwaC4gVGhlIG5vZGVzIGFyZSBudW1iZXJlZCBmcm9tIDxjb2RlPjA8L2NvZGU+IHRvIDxjb2RlPm4gLSAxPC9jb2RlPi48L3A+CjxwPllvdSBhcmUgYWxzbyBnaXZlbiBhIDJEIGludGVnZXIgYXJyYXkgPGNvZGU+ZWRnZXM8L2NvZGU+IHdoZXJlIDxjb2RlPmVkZ2VzW2ldID0gW2Zyb208c3ViPmk8L3N1Yj4sIHRvPHN1Yj5pPC9zdWI+LCB3ZWlnaHQ8c3ViPmk8L3N1Yj5dPC9jb2RlPiBkZW5vdGVzIHRoYXQgdGhlcmUgZXhpc3RzIGEgPHN0cm9uZz5kaXJlY3RlZDwvc3Ryb25nPiBlZGdlIGZyb20gPGNvZGU+ZnJvbTxzdWI+aTwvc3ViPjwvY29kZT4gdG8gPGNvZGU+dG88c3ViPmk8L3N1Yj48L2NvZGU+IHdpdGggd2VpZ2h0IDxjb2RlPndlaWdodDxzdWI+aTwvc3ViPjwvY29kZT4uPC9wPgo8cD5MYXN0bHksIHlvdSBhcmUgZ2l2ZW4gdGhyZWUgPHN0cm9uZz5kaXN0aW5jdDwvc3Ryb25nPiBpbnRlZ2VycyA8Y29kZT5zcmMxPC9jb2RlPiwgPGNvZGU+c3JjMjwvY29kZT4sIGFuZCA8Y29kZT5kZXN0PC9jb2RlPiBkZW5vdGluZyB0aHJlZSBkaXN0aW5jdCBub2RlcyBvZiB0aGUgZ3JhcGguPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1pbmltdW0gd2VpZ2h0PC9zdHJvbmc+IG9mIGEgc3ViZ3JhcGggb2YgdGhlIGdyYXBoIHN1Y2ggdGhhdCBpdCBpcyA8c3Ryb25nPnBvc3NpYmxlPC9zdHJvbmc+IHRvIHJlYWNoPC9lbT4gPGNvZGU+ZGVzdDwvY29kZT4gPGVtPmZyb20gYm90aDwvZW0+IDxjb2RlPnNyYzE8L2NvZGU+IDxlbT5hbmQ8L2VtPiA8Y29kZT5zcmMyPC9jb2RlPiA8ZW0+dmlhIGEgc2V0IG9mIGVkZ2VzIG9mIHRoaXMgc3ViZ3JhcGg8L2VtPi4gSW4gY2FzZSBzdWNoIGEgc3ViZ3JhcGggZG9lcyBub3QgZXhpc3QsIHJldHVybiA8Y29kZT4tMTwvY29kZT4uPC9wPgo8cD5BIDxzdHJvbmc+c3ViZ3JhcGg8L3N0cm9uZz4gaXMgYSBncmFwaCB3aG9zZSB2ZXJ0aWNlcyBhbmQgZWRnZXMgYXJlIHN1YnNldHMgb2YgdGhlIG9yaWdpbmFsIGdyYXBoLiBUaGUgPHN0cm9uZz53ZWlnaHQ8L3N0cm9uZz4gb2YgYSBzdWJncmFwaCBpcyB0aGUgc3VtIG9mIHdlaWdodHMgb2YgaXRzIGNvbnN0aXR1ZW50IGVkZ2VzLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMi8xNy9leGFtcGxlMWRyYXdpby5wbmciIHN0eWxlPSJ3aWR0aDogMjYzcHg7IGhlaWdodDogMjUwcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDYsIGVkZ2VzID0gW1swLDIsMl0sWzAsNSw2XSxbMSwwLDNdLFsxLDQsNV0sWzIsMSwxXSxbMiwzLDNdLFsyLDMsNF0sWzMsNCwyXSxbNCw1LDFdXSwgc3JjMSA9IDAsIHNyYzIgPSAxLCBkZXN0ID0gNQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gOQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgYWJvdmUgZmlndXJlIHJlcHJlc2VudHMgdGhlIGlucHV0IGdyYXBoLgpUaGUgYmx1ZSBlZGdlcyByZXByZXNlbnQgb25lIG9mIHRoZSBzdWJncmFwaHMgdGhhdCB5aWVsZCB0aGUgb3B0aW1hbCBhbnN3ZXIuCk5vdGUgdGhhdCB0aGUgc3ViZ3JhcGggW1sxLDAsM10sWzAsNSw2XV0gYWxzbyB5aWVsZHMgdGhlIG9wdGltYWwgYW5zd2VyLiBJdCBpcyBub3QgcG9zc2libGUgdG8gZ2V0IGEgc3ViZ3JhcGggd2l0aCBsZXNzIHdlaWdodCBzYXRpc2Z5aW5nIGFsbCB0aGUgY29uc3RyYWludHMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDIvMTcvZXhhbXBsZTItMWRyYXdpby5wbmciIHN0eWxlPSJ3aWR0aDogMzUwcHg7IGhlaWdodDogNTFweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gMywgZWRnZXMgPSBbWzAsMSwxXSxbMiwxLDFdXSwgc3JjMSA9IDAsIHNyYzIgPSAxLCBkZXN0ID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gLTEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIGFib3ZlIGZpZ3VyZSByZXByZXNlbnRzIHRoZSBpbnB1dCBncmFwaC4KSXQgY2FuIGJlIHNlZW4gdGhhdCB0aGVyZSBkb2VzIG5vdCBleGlzdCBhbnkgcGF0aCBmcm9tIG5vZGUgMSB0byBub2RlIDIsIGhlbmNlIHRoZXJlIGFyZSBubyBzdWJncmFwaHMgc2F0aXNmeWluZyBhbGwgdGhlIGNvbnN0cmFpbnRzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4zICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gZWRnZXMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5lZGdlc1tpXS5sZW5ndGggPT0gMzwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBmcm9tPHN1Yj5pPC9zdWI+LCB0bzxzdWI+aTwvc3ViPiwgc3JjMSwgc3JjMiwgZGVzdCAmbHQ7PSBuIC0gMTwvY29kZT48L2xpPgo8bGk+PGNvZGU+ZnJvbTxzdWI+aTwvc3ViPiAhPSB0bzxzdWI+aTwvc3ViPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+c3JjMTwvY29kZT4sIDxjb2RlPnNyYzI8L2NvZGU+LCBhbmQgPGNvZGU+ZGVzdDwvY29kZT4gYXJlIHBhaXJ3aXNlIGRpc3RpbmN0LjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHdlaWdodFtpXSAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Graph",
+ "Shortest Path"
+ ]
+ },
+ {
+ "title": "2213. Longest Substring of One Repeating Character",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBzdHJpbmcgPGNvZGU+czwvY29kZT4uIFlvdSBhcmUgYWxzbyBnaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IHN0cmluZyA8Y29kZT5xdWVyeUNoYXJhY3RlcnM8L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT5rPC9jb2RlPiBhbmQgYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBhcnJheSBvZiBpbnRlZ2VyIDxzdHJvbmc+aW5kaWNlczwvc3Ryb25nPiA8Y29kZT5xdWVyeUluZGljZXM8L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT5rPC9jb2RlPiwgYm90aCBvZiB3aGljaCBhcmUgdXNlZCB0byBkZXNjcmliZSA8Y29kZT5rPC9jb2RlPiBxdWVyaWVzLjwvcD4KPHA+VGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBxdWVyeSB1cGRhdGVzIHRoZSBjaGFyYWN0ZXIgaW4gPGNvZGU+czwvY29kZT4gYXQgaW5kZXggPGNvZGU+cXVlcnlJbmRpY2VzW2ldPC9jb2RlPiB0byB0aGUgY2hhcmFjdGVyIDxjb2RlPnF1ZXJ5Q2hhcmFjdGVyc1tpXTwvY29kZT4uPC9wPgo8cD5SZXR1cm4gPGVtPmFuIGFycmF5PC9lbT4gPGNvZGU+bGVuZ3RoczwvY29kZT4gPGVtPm9mIGxlbmd0aCA8L2VtPjxjb2RlPms8L2NvZGU+PGVtPiB3aGVyZTwvZW0+IDxjb2RlPmxlbmd0aHNbaV08L2NvZGU+IDxlbT5pcyB0aGUgPHN0cm9uZz5sZW5ndGg8L3N0cm9uZz4gb2YgdGhlIDxzdHJvbmc+bG9uZ2VzdCBzdWJzdHJpbmc8L3N0cm9uZz4gb2YgPC9lbT48Y29kZT5zPC9jb2RlPjxlbT4gY29uc2lzdGluZyBvZiA8c3Ryb25nPm9ubHkgb25lIHJlcGVhdGluZzwvc3Ryb25nPiBjaGFyYWN0ZXIgPHN0cm9uZz5hZnRlcjwvc3Ryb25nPiB0aGU8L2VtPiA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gPGVtPnF1ZXJ5PC9lbT48ZW0+IGlzIHBlcmZvcm1lZC48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJiYWJhY2MiLCBxdWVyeUNoYXJhY3RlcnMgPSAiYmNiIiwgcXVlcnlJbmRpY2VzID0gWzEsMywzXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzMsMyw0XQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKLSAxPHN1cD5zdDwvc3VwPiBxdWVyeSB1cGRhdGVzIHMgPSAiPHU+YjxzdHJvbmc+Yjwvc3Ryb25nPmI8L3U+YWNjIi4gVGhlIGxvbmdlc3Qgc3Vic3RyaW5nIGNvbnNpc3Rpbmcgb2Ygb25lIHJlcGVhdGluZyBjaGFyYWN0ZXIgaXMgImJiYiIgd2l0aCBsZW5ndGggMy4KLSAyPHN1cD5uZDwvc3VwPiBxdWVyeSB1cGRhdGVzIHMgPSAiYmJiPHU+PHN0cm9uZz5jPC9zdHJvbmc+Y2M8L3U+Ii4gCiAgVGhlIGxvbmdlc3Qgc3Vic3RyaW5nIGNvbnNpc3Rpbmcgb2Ygb25lIHJlcGVhdGluZyBjaGFyYWN0ZXIgY2FuIGJlICJiYmIiIG9yICJjY2MiIHdpdGggbGVuZ3RoIDMuCi0gMzxzdXA+cmQ8L3N1cD4gcXVlcnkgdXBkYXRlcyBzID0gIjx1PmJiYjxzdHJvbmc+Yjwvc3Ryb25nPjwvdT5jYyIuIFRoZSBsb25nZXN0IHN1YnN0cmluZyBjb25zaXN0aW5nIG9mIG9uZSByZXBlYXRpbmcgY2hhcmFjdGVyIGlzICJiYmJiIiB3aXRoIGxlbmd0aCA0LgpUaHVzLCB3ZSByZXR1cm4gWzMsMyw0XS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJhYnl6eiIsIHF1ZXJ5Q2hhcmFjdGVycyA9ICJhYSIsIHF1ZXJ5SW5kaWNlcyA9IFsyLDFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMiwzXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgotIDE8c3VwPnN0PC9zdXA+IHF1ZXJ5IHVwZGF0ZXMgcyA9ICJhYjxzdHJvbmc+YTwvc3Ryb25nPjx1Pnp6PC91PiIuIFRoZSBsb25nZXN0IHN1YnN0cmluZyBjb25zaXN0aW5nIG9mIG9uZSByZXBlYXRpbmcgY2hhcmFjdGVyIGlzICJ6eiIgd2l0aCBsZW5ndGggMi4KLSAyPHN1cD5uZDwvc3VwPiBxdWVyeSB1cGRhdGVzIHMgPSAiPHU+YTxzdHJvbmc+YTwvc3Ryb25nPmE8L3U+enoiLiBUaGUgbG9uZ2VzdCBzdWJzdHJpbmcgY29uc2lzdGluZyBvZiBvbmUgcmVwZWF0aW5nIGNoYXJhY3RlciBpcyAiYWFhIiB3aXRoIGxlbmd0aCAzLgpUaHVzLCB3ZSByZXR1cm4gWzIsM10uCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnM8L2NvZGU+IGNvbnNpc3RzIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPGxpPjxjb2RlPmsgPT0gcXVlcnlDaGFyYWN0ZXJzLmxlbmd0aCA9PSBxdWVyeUluZGljZXMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGsgJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnF1ZXJ5Q2hhcmFjdGVyczwvY29kZT4gY29uc2lzdHMgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycy48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBxdWVyeUluZGljZXNbaV0gJmx0OyBzLmxlbmd0aDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "String",
+ "Segment Tree",
+ "Ordered Set"
+ ]
+ },
+ {
+ "title": "2209. Minimum White Tiles After Covering With Carpets",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZCBiaW5hcnk8L3N0cm9uZz4gc3RyaW5nIDxjb2RlPmZsb29yPC9jb2RlPiwgd2hpY2ggcmVwcmVzZW50cyB0aGUgY29sb3JzIG9mIHRpbGVzIG9uIGEgZmxvb3I6PC9wPgo8dWw+CjxsaT48Y29kZT5mbG9vcltpXSA9ICcwJzwvY29kZT4gZGVub3RlcyB0aGF0IHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gdGlsZSBvZiB0aGUgZmxvb3IgaXMgY29sb3JlZCA8c3Ryb25nPmJsYWNrPC9zdHJvbmc+LjwvbGk+CjxsaT5PbiB0aGUgb3RoZXIgaGFuZCwgPGNvZGU+Zmxvb3JbaV0gPSAnMSc8L2NvZGU+IGRlbm90ZXMgdGhhdCB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHRpbGUgb2YgdGhlIGZsb29yIGlzIGNvbG9yZWQgPHN0cm9uZz53aGl0ZTwvc3Ryb25nPi48L2xpPgo8L3VsPgo8cD5Zb3UgYXJlIGFsc28gZ2l2ZW4gPGNvZGU+bnVtQ2FycGV0czwvY29kZT4gYW5kIDxjb2RlPmNhcnBldExlbjwvY29kZT4uIFlvdSBoYXZlIDxjb2RlPm51bUNhcnBldHM8L2NvZGU+IDxzdHJvbmc+YmxhY2s8L3N0cm9uZz4gY2FycGV0cywgZWFjaCBvZiBsZW5ndGggPGNvZGU+Y2FycGV0TGVuPC9jb2RlPiB0aWxlcy4gQ292ZXIgdGhlIHRpbGVzIHdpdGggdGhlIGdpdmVuIGNhcnBldHMgc3VjaCB0aGF0IHRoZSBudW1iZXIgb2YgPHN0cm9uZz53aGl0ZTwvc3Ryb25nPiB0aWxlcyBzdGlsbCB2aXNpYmxlIGlzIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPi4gQ2FycGV0cyBtYXkgb3ZlcmxhcCBvbmUgYW5vdGhlci48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiBudW1iZXIgb2Ygd2hpdGUgdGlsZXMgc3RpbGwgdmlzaWJsZS48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMi8xMC9leDEtMS5wbmciIHN0eWxlPSJ3aWR0aDogNDAwcHg7IGhlaWdodDogNzNweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBmbG9vciA9ICIxMDExMDEwMSIsIG51bUNhcnBldHMgPSAyLCBjYXJwZXRMZW4gPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApUaGUgZmlndXJlIGFib3ZlIHNob3dzIG9uZSB3YXkgb2YgY292ZXJpbmcgdGhlIHRpbGVzIHdpdGggdGhlIGNhcnBldHMgc3VjaCB0aGF0IG9ubHkgMiB3aGl0ZSB0aWxlcyBhcmUgdmlzaWJsZS4KTm8gb3RoZXIgd2F5IG9mIGNvdmVyaW5nIHRoZSB0aWxlcyB3aXRoIHRoZSBjYXJwZXRzIGNhbiBsZWF2ZSBsZXNzIHRoYW4gMiB3aGl0ZSB0aWxlcyB2aXNpYmxlLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAyLzEwL2V4Mi5wbmciIHN0eWxlPSJ3aWR0aDogMzUzcHg7IGhlaWdodDogMTIzcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZmxvb3IgPSAiMTExMTEiLCBudW1DYXJwZXRzID0gMiwgY2FycGV0TGVuID0gMwo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKVGhlIGZpZ3VyZSBhYm92ZSBzaG93cyBvbmUgd2F5IG9mIGNvdmVyaW5nIHRoZSB0aWxlcyB3aXRoIHRoZSBjYXJwZXRzIHN1Y2ggdGhhdCBubyB3aGl0ZSB0aWxlcyBhcmUgdmlzaWJsZS4KTm90ZSB0aGF0IHRoZSBjYXJwZXRzIGFyZSBhYmxlIHRvIG92ZXJsYXAgb25lIGFub3RoZXIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gY2FycGV0TGVuICZsdDs9IGZsb29yLmxlbmd0aCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5mbG9vcltpXTwvY29kZT4gaXMgZWl0aGVyIDxjb2RlPicwJzwvY29kZT4gb3IgPGNvZGU+JzEnPC9jb2RlPi48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1DYXJwZXRzICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "String",
+ "Dynamic Programming",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2197. Replace Non-Coprime Numbers in Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gYXJyYXkgb2YgaW50ZWdlcnMgPGNvZGU+bnVtczwvY29kZT4uIFBlcmZvcm0gdGhlIGZvbGxvd2luZyBzdGVwczo8L3A+CjxvbD4KPGxpPkZpbmQgPHN0cm9uZz5hbnk8L3N0cm9uZz4gdHdvIDxzdHJvbmc+YWRqYWNlbnQ8L3N0cm9uZz4gbnVtYmVycyBpbiA8Y29kZT5udW1zPC9jb2RlPiB0aGF0IGFyZSA8c3Ryb25nPm5vbi1jb3ByaW1lPC9zdHJvbmc+LjwvbGk+CjxsaT5JZiBubyBzdWNoIG51bWJlcnMgYXJlIGZvdW5kLCA8c3Ryb25nPnN0b3A8L3N0cm9uZz4gdGhlIHByb2Nlc3MuPC9saT4KPGxpPk90aGVyd2lzZSwgZGVsZXRlIHRoZSB0d28gbnVtYmVycyBhbmQgPHN0cm9uZz5yZXBsYWNlPC9zdHJvbmc+IHRoZW0gd2l0aCB0aGVpciA8c3Ryb25nPkxDTSAoTGVhc3QgQ29tbW9uIE11bHRpcGxlKTwvc3Ryb25nPi48L2xpPgo8bGk+PHN0cm9uZz5SZXBlYXQ8L3N0cm9uZz4gdGhpcyBwcm9jZXNzIGFzIGxvbmcgYXMgeW91IGtlZXAgZmluZGluZyB0d28gYWRqYWNlbnQgbm9uLWNvcHJpbWUgbnVtYmVycy48L2xpPgo8L29sPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPmZpbmFsPC9zdHJvbmc+IG1vZGlmaWVkIGFycmF5LjwvZW0+IEl0IGNhbiBiZSBzaG93biB0aGF0IHJlcGxhY2luZyBhZGphY2VudCBub24tY29wcmltZSBudW1iZXJzIGluIDxzdHJvbmc+YW55PC9zdHJvbmc+IGFyYml0cmFyeSBvcmRlciB3aWxsIGxlYWQgdG8gdGhlIHNhbWUgcmVzdWx0LjwvcD4KPHA+VGhlIHRlc3QgY2FzZXMgYXJlIGdlbmVyYXRlZCBzdWNoIHRoYXQgdGhlIHZhbHVlcyBpbiB0aGUgZmluYWwgYXJyYXkgYXJlIDxzdHJvbmc+bGVzcyB0aGFuIG9yIGVxdWFsPC9zdHJvbmc+IHRvIDxjb2RlPjEwPHN1cD44PC9zdXA+PC9jb2RlPi48L3A+CjxwPlR3byB2YWx1ZXMgPGNvZGU+eDwvY29kZT4gYW5kIDxjb2RlPnk8L2NvZGU+IGFyZSA8c3Ryb25nPm5vbi1jb3ByaW1lPC9zdHJvbmc+IGlmIDxjb2RlPkdDRCh4LCB5KSAmZ3Q7IDE8L2NvZGU+IHdoZXJlIDxjb2RlPkdDRCh4LCB5KTwvY29kZT4gaXMgdGhlIDxzdHJvbmc+R3JlYXRlc3QgQ29tbW9uIERpdmlzb3I8L3N0cm9uZz4gb2YgPGNvZGU+eDwvY29kZT4gYW5kIDxjb2RlPnk8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs2LDQsMywyLDcsNiwyXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzEyLDcsNl0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCi0gKDYsIDQpIGFyZSBub24tY29wcmltZSB3aXRoIExDTSg2LCA0KSA9IDEyLiBOb3csIG51bXMgPSBbPHN0cm9uZz48dT4xMjwvdT48L3N0cm9uZz4sMywyLDcsNiwyXS4KLSAoMTIsIDMpIGFyZSBub24tY29wcmltZSB3aXRoIExDTSgxMiwgMykgPSAxMi4gTm93LCBudW1zID0gWzxzdHJvbmc+PHU+MTI8L3U+PC9zdHJvbmc+LDIsNyw2LDJdLgotICgxMiwgMikgYXJlIG5vbi1jb3ByaW1lIHdpdGggTENNKDEyLCAyKSA9IDEyLiBOb3csIG51bXMgPSBbPHN0cm9uZz48dT4xMjwvdT48L3N0cm9uZz4sNyw2LDJdLgotICg2LCAyKSBhcmUgbm9uLWNvcHJpbWUgd2l0aCBMQ00oNiwgMikgPSA2LiBOb3csIG51bXMgPSBbMTIsNyw8dT48c3Ryb25nPjY8L3N0cm9uZz48L3U+XS4KVGhlcmUgYXJlIG5vIG1vcmUgYWRqYWNlbnQgbm9uLWNvcHJpbWUgbnVtYmVycyBpbiBudW1zLgpUaHVzLCB0aGUgZmluYWwgbW9kaWZpZWQgYXJyYXkgaXMgWzEyLDcsNl0uCk5vdGUgdGhhdCB0aGVyZSBhcmUgb3RoZXIgd2F5cyB0byBvYnRhaW4gdGhlIHNhbWUgcmVzdWx0YW50IGFycmF5Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzIsMiwxLDEsMywzLDNdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMiwxLDEsM10KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCi0gKDMsIDMpIGFyZSBub24tY29wcmltZSB3aXRoIExDTSgzLCAzKSA9IDMuIE5vdywgbnVtcyA9IFsyLDIsMSwxLDx1PjxzdHJvbmc+Mzwvc3Ryb25nPjwvdT4sM10uCi0gKDMsIDMpIGFyZSBub24tY29wcmltZSB3aXRoIExDTSgzLCAzKSA9IDMuIE5vdywgbnVtcyA9IFsyLDIsMSwxLDx1PjxzdHJvbmc+Mzwvc3Ryb25nPjwvdT5dLgotICgyLCAyKSBhcmUgbm9uLWNvcHJpbWUgd2l0aCBMQ00oMiwgMikgPSAyLiBOb3csIG51bXMgPSBbPHU+PHN0cm9uZz4yPC9zdHJvbmc+PC91PiwxLDEsM10uClRoZXJlIGFyZSBubyBtb3JlIGFkamFjZW50IG5vbi1jb3ByaW1lIG51bWJlcnMgaW4gbnVtcy4KVGh1cywgdGhlIGZpbmFsIG1vZGlmaWVkIGFycmF5IGlzIFsyLDEsMSwzXS4KTm90ZSB0aGF0IHRoZXJlIGFyZSBvdGhlciB3YXlzIHRvIG9idGFpbiB0aGUgc2FtZSByZXN1bHRhbnQgYXJyYXkuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+VGhlIHRlc3QgY2FzZXMgYXJlIGdlbmVyYXRlZCBzdWNoIHRoYXQgdGhlIHZhbHVlcyBpbiB0aGUgZmluYWwgYXJyYXkgYXJlIDxzdHJvbmc+bGVzcyB0aGFuIG9yIGVxdWFsPC9zdHJvbmc+IHRvIDxjb2RlPjEwPHN1cD44PC9zdXA+PC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Math",
+ "Stack",
+ "Number Theory"
+ ]
+ },
+ {
+ "title": "2183. Count Array Pairs Divisible by K",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4gYW5kIGFuIGludGVnZXIgPGNvZGU+azwvY29kZT4sIHJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bnVtYmVyIG9mIHBhaXJzPC9zdHJvbmc+PC9lbT4gPGNvZGU+KGksIGopPC9jb2RlPiA8ZW0+c3VjaCB0aGF0OjwvZW0+PC9wPgo8dWw+CjxsaT48Y29kZT4wICZsdDs9IGkgJmx0OyBqICZsdDs9IG4gLSAxPC9jb2RlPiA8ZW0+YW5kPC9lbT48L2xpPgo8bGk+PGNvZGU+bnVtc1tpXSAqIG51bXNbal08L2NvZGU+IDxlbT5pcyBkaXZpc2libGUgYnk8L2VtPiA8Y29kZT5rPC9jb2RlPi48L2xpPgo8L3VsPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMiwzLDQsNV0sIGsgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA3CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApUaGUgNyBwYWlycyBvZiBpbmRpY2VzIHdob3NlIGNvcnJlc3BvbmRpbmcgcHJvZHVjdHMgYXJlIGRpdmlzaWJsZSBieSAyIGFyZQooMCwgMSksICgwLCAzKSwgKDEsIDIpLCAoMSwgMyksICgxLCA0KSwgKDIsIDMpLCBhbmQgKDMsIDQpLgpUaGVpciBwcm9kdWN0cyBhcmUgMiwgNCwgNiwgOCwgMTAsIDEyLCBhbmQgMjAgcmVzcGVjdGl2ZWx5LgpPdGhlciBwYWlycyBzdWNoIGFzICgwLCAyKSBhbmQgKDIsIDQpIGhhdmUgcHJvZHVjdHMgMyBhbmQgMTUgcmVzcGVjdGl2ZWx5LCB3aGljaCBhcmUgbm90IGRpdmlzaWJsZSBieSAyLiAgICAKPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDIsMyw0XSwgayA9IDUKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgZG9lcyBub3QgZXhpc3QgYW55IHBhaXIgb2YgaW5kaWNlcyB3aG9zZSBjb3JyZXNwb25kaW5nIHByb2R1Y3QgaXMgZGl2aXNpYmxlIGJ5IDUuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSwgayAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Math",
+ "Number Theory"
+ ]
+ },
+ {
+ "title": "2188. Minimum Time to Finish the Race",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPnRpcmVzPC9jb2RlPiB3aGVyZSA8Y29kZT50aXJlc1tpXSA9IFtmPHN1Yj5pPC9zdWI+LCByPHN1Yj5pPC9zdWI+XTwvY29kZT4gaW5kaWNhdGVzIHRoYXQgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiB0aXJlIGNhbiBmaW5pc2ggaXRzIDxjb2RlPng8c3VwPnRoPC9zdXA+PC9jb2RlPiBzdWNjZXNzaXZlIGxhcCBpbiA8Y29kZT5mPHN1Yj5pPC9zdWI+ICogcjxzdWI+aTwvc3ViPjxzdXA+KHgtMSk8L3N1cD48L2NvZGU+IHNlY29uZHMuPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgaWYgPGNvZGU+ZjxzdWI+aTwvc3ViPiA9IDM8L2NvZGU+IGFuZCA8Y29kZT5yPHN1Yj5pPC9zdWI+ID0gMjwvY29kZT4sIHRoZW4gdGhlIHRpcmUgd291bGQgZmluaXNoIGl0cyA8Y29kZT4xPHN1cD5zdDwvc3VwPjwvY29kZT4gbGFwIGluIDxjb2RlPjM8L2NvZGU+IHNlY29uZHMsIGl0cyA8Y29kZT4yPHN1cD5uZDwvc3VwPjwvY29kZT4gbGFwIGluIDxjb2RlPjMgKiAyID0gNjwvY29kZT4gc2Vjb25kcywgaXRzIDxjb2RlPjM8c3VwPnJkPC9zdXA+PC9jb2RlPiBsYXAgaW4gPGNvZGU+MyAqIDI8c3VwPjI8L3N1cD4gPSAxMjwvY29kZT4gc2Vjb25kcywgZXRjLjwvbGk+CjwvdWw+CjxwPllvdSBhcmUgYWxzbyBnaXZlbiBhbiBpbnRlZ2VyIDxjb2RlPmNoYW5nZVRpbWU8L2NvZGU+IGFuZCBhbiBpbnRlZ2VyIDxjb2RlPm51bUxhcHM8L2NvZGU+LjwvcD4KPHA+VGhlIHJhY2UgY29uc2lzdHMgb2YgPGNvZGU+bnVtTGFwczwvY29kZT4gbGFwcyBhbmQgeW91IG1heSBzdGFydCB0aGUgcmFjZSB3aXRoIDxzdHJvbmc+YW55PC9zdHJvbmc+IHRpcmUuIFlvdSBoYXZlIGFuIDxzdHJvbmc+dW5saW1pdGVkPC9zdHJvbmc+IHN1cHBseSBvZiBlYWNoIHRpcmUgYW5kIGFmdGVyIGV2ZXJ5IGxhcCwgeW91IG1heSA8c3Ryb25nPmNoYW5nZTwvc3Ryb25nPiB0byBhbnkgZ2l2ZW4gdGlyZSAoaW5jbHVkaW5nIHRoZSBjdXJyZW50IHRpcmUgdHlwZSkgaWYgeW91IHdhaXQgPGNvZGU+Y2hhbmdlVGltZTwvY29kZT4gc2Vjb25kcy48L3A+CjxwPlJldHVybjxlbT4gdGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiB0aW1lIHRvIGZpbmlzaCB0aGUgcmFjZS48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gdGlyZXMgPSBbWzIsM10sWzMsNF1dLCBjaGFuZ2VUaW1lID0gNSwgbnVtTGFwcyA9IDQKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApMYXAgMTogU3RhcnQgd2l0aCB0aXJlIDAgYW5kIGZpbmlzaCB0aGUgbGFwIGluIDIgc2Vjb25kcy4KTGFwIDI6IENvbnRpbnVlIHdpdGggdGlyZSAwIGFuZCBmaW5pc2ggdGhlIGxhcCBpbiAyICogMyA9IDYgc2Vjb25kcy4KTGFwIDM6IENoYW5nZSB0aXJlcyB0byBhIG5ldyB0aXJlIDAgZm9yIDUgc2Vjb25kcyBhbmQgdGhlbiBmaW5pc2ggdGhlIGxhcCBpbiBhbm90aGVyIDIgc2Vjb25kcy4KTGFwIDQ6IENvbnRpbnVlIHdpdGggdGlyZSAwIGFuZCBmaW5pc2ggdGhlIGxhcCBpbiAyICogMyA9IDYgc2Vjb25kcy4KVG90YWwgdGltZSA9IDIgKyA2ICsgNSArIDIgKyA2ID0gMjEgc2Vjb25kcy4KVGhlIG1pbmltdW0gdGltZSB0byBjb21wbGV0ZSB0aGUgcmFjZSBpcyAyMSBzZWNvbmRzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB0aXJlcyA9IFtbMSwxMF0sWzIsMl0sWzMsNF1dLCBjaGFuZ2VUaW1lID0gNiwgbnVtTGFwcyA9IDUKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDI1CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApMYXAgMTogU3RhcnQgd2l0aCB0aXJlIDEgYW5kIGZpbmlzaCB0aGUgbGFwIGluIDIgc2Vjb25kcy4KTGFwIDI6IENvbnRpbnVlIHdpdGggdGlyZSAxIGFuZCBmaW5pc2ggdGhlIGxhcCBpbiAyICogMiA9IDQgc2Vjb25kcy4KTGFwIDM6IENoYW5nZSB0aXJlcyB0byBhIG5ldyB0aXJlIDEgZm9yIDYgc2Vjb25kcyBhbmQgdGhlbiBmaW5pc2ggdGhlIGxhcCBpbiBhbm90aGVyIDIgc2Vjb25kcy4KTGFwIDQ6IENvbnRpbnVlIHdpdGggdGlyZSAxIGFuZCBmaW5pc2ggdGhlIGxhcCBpbiAyICogMiA9IDQgc2Vjb25kcy4KTGFwIDU6IENoYW5nZSB0aXJlcyB0byB0aXJlIDAgZm9yIDYgc2Vjb25kcyB0aGVuIGZpbmlzaCB0aGUgbGFwIGluIGFub3RoZXIgMSBzZWNvbmQuClRvdGFsIHRpbWUgPSAyICsgNCArIDYgKyAyICsgNCArIDYgKyAxID0gMjUgc2Vjb25kcy4KVGhlIG1pbmltdW0gdGltZSB0byBjb21wbGV0ZSB0aGUgcmFjZSBpcyAyNSBzZWNvbmRzLiAKPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSB0aXJlcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnRpcmVzW2ldLmxlbmd0aCA9PSAyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGY8c3ViPmk8L3N1Yj4sIGNoYW5nZVRpbWUgJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjIgJmx0Oz0gcjxzdWI+aTwvc3ViPiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1MYXBzICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Dynamic Programming"
+ ]
+ },
+ {
+ "title": "2172. Maximum AND Sum of Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4gYW5kIGFuIGludGVnZXIgPGNvZGU+bnVtU2xvdHM8L2NvZGU+IHN1Y2ggdGhhdCA8Y29kZT4yICogbnVtU2xvdHMgJmd0Oz0gbjwvY29kZT4uIFRoZXJlIGFyZSA8Y29kZT5udW1TbG90czwvY29kZT4gc2xvdHMgbnVtYmVyZWQgZnJvbSA8Y29kZT4xPC9jb2RlPiB0byA8Y29kZT5udW1TbG90czwvY29kZT4uPC9wPgo8cD5Zb3UgaGF2ZSB0byBwbGFjZSBhbGwgPGNvZGU+bjwvY29kZT4gaW50ZWdlcnMgaW50byB0aGUgc2xvdHMgc3VjaCB0aGF0IGVhY2ggc2xvdCBjb250YWlucyBhdCA8c3Ryb25nPm1vc3Q8L3N0cm9uZz4gdHdvIG51bWJlcnMuIFRoZSA8c3Ryb25nPkFORCBzdW08L3N0cm9uZz4gb2YgYSBnaXZlbiBwbGFjZW1lbnQgaXMgdGhlIHN1bSBvZiB0aGUgPHN0cm9uZz5iaXR3aXNlPC9zdHJvbmc+IDxjb2RlPkFORDwvY29kZT4gb2YgZXZlcnkgbnVtYmVyIHdpdGggaXRzIHJlc3BlY3RpdmUgc2xvdCBudW1iZXIuPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgdGhlIDxzdHJvbmc+QU5EIHN1bTwvc3Ryb25nPiBvZiBwbGFjaW5nIHRoZSBudW1iZXJzIDxjb2RlPlsxLCAzXTwvY29kZT4gaW50byBzbG90IDx1Pjxjb2RlPjE8L2NvZGU+PC91PiBhbmQgPGNvZGU+WzQsIDZdPC9jb2RlPiBpbnRvIHNsb3QgPHU+PGNvZGU+MjwvY29kZT48L3U+IGlzIGVxdWFsIHRvIDxjb2RlPigxIEFORCA8dT4xPC91PikgKyAoMyBBTkQgPHU+MTwvdT4pICsgKDQgQU5EIDx1PjI8L3U+KSArICg2IEFORCA8dT4yPC91PikgPSAxICsgMSArIDAgKyAyID0gNDwvY29kZT4uPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgbWF4aW11bSBwb3NzaWJsZSA8c3Ryb25nPkFORCBzdW08L3N0cm9uZz4gb2YgPC9lbT48Y29kZT5udW1zPC9jb2RlPjxlbT4gZ2l2ZW4gPC9lbT48Y29kZT5udW1TbG90czwvY29kZT48ZW0+IHNsb3RzLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMiwzLDQsNSw2XSwgbnVtU2xvdHMgPSAzCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA5CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IE9uZSBwb3NzaWJsZSBwbGFjZW1lbnQgaXMgWzEsIDRdIGludG8gc2xvdCA8dT4xPC91PiwgWzIsIDZdIGludG8gc2xvdCA8dT4yPC91PiwgYW5kIFszLCA1XSBpbnRvIHNsb3QgPHU+MzwvdT4uIApUaGlzIGdpdmVzIHRoZSBtYXhpbXVtIEFORCBzdW0gb2YgKDEgQU5EIDx1PjE8L3U+KSArICg0IEFORCA8dT4xPC91PikgKyAoMiBBTkQgPHU+MjwvdT4pICsgKDYgQU5EIDx1PjI8L3U+KSArICgzIEFORCA8dT4zPC91PikgKyAoNSBBTkQgPHU+MzwvdT4pID0gMSArIDAgKyAyICsgMiArIDMgKyAxID0gOS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDMsMTAsNCw3LDFdLCBudW1TbG90cyA9IDkKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDI0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IE9uZSBwb3NzaWJsZSBwbGFjZW1lbnQgaXMgWzEsIDFdIGludG8gc2xvdCA8dT4xPC91PiwgWzNdIGludG8gc2xvdCA8dT4zPC91PiwgWzRdIGludG8gc2xvdCA8dT40PC91PiwgWzddIGludG8gc2xvdCA8dT43PC91PiwgYW5kIFsxMF0gaW50byBzbG90IDx1Pjk8L3U+LgpUaGlzIGdpdmVzIHRoZSBtYXhpbXVtIEFORCBzdW0gb2YgKDEgQU5EIDx1PjE8L3U+KSArICgxIEFORCA8dT4xPC91PikgKyAoMyBBTkQgPHU+MzwvdT4pICsgKDQgQU5EIDx1PjQ8L3U+KSArICg3IEFORCA8dT43PC91PikgKyAoMTAgQU5EIDx1Pjk8L3U+KSA9IDEgKyAxICsgMyArIDQgKyA3ICsgOCA9IDI0LgpOb3RlIHRoYXQgc2xvdHMgMiwgNSwgNiwgYW5kIDggYXJlIGVtcHR5IHdoaWNoIGlzIHBlcm1pdHRlZC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBudW1zLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1TbG90cyAmbHQ7PSA5PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMiAqIG51bVNsb3RzPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0gJmx0Oz0gMTU8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Dynamic Programming",
+ "Bit Manipulation",
+ "Bitmask"
+ ]
+ },
+ {
+ "title": "2167. Minimum Time to Remove All Cars Containing Illegal Goods",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBiaW5hcnkgc3RyaW5nIDxjb2RlPnM8L2NvZGU+IHdoaWNoIHJlcHJlc2VudHMgYSBzZXF1ZW5jZSBvZiB0cmFpbiBjYXJzLiA8Y29kZT5zW2ldID0gJzAnPC9jb2RlPiBkZW5vdGVzIHRoYXQgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBjYXIgZG9lcyA8c3Ryb25nPm5vdDwvc3Ryb25nPiBjb250YWluIGlsbGVnYWwgZ29vZHMgYW5kIDxjb2RlPnNbaV0gPSAnMSc8L2NvZGU+IGRlbm90ZXMgdGhhdCB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGNhciBkb2VzIGNvbnRhaW4gaWxsZWdhbCBnb29kcy48L3A+CjxwPkFzIHRoZSB0cmFpbiBjb25kdWN0b3IsIHlvdSB3b3VsZCBsaWtlIHRvIGdldCByaWQgb2YgYWxsIHRoZSBjYXJzIGNvbnRhaW5pbmcgaWxsZWdhbCBnb29kcy4gWW91IGNhbiBkbyBhbnkgb2YgdGhlIGZvbGxvd2luZyB0aHJlZSBvcGVyYXRpb25zIDxzdHJvbmc+YW55PC9zdHJvbmc+IG51bWJlciBvZiB0aW1lczo8L3A+CjxvbD4KPGxpPlJlbW92ZSBhIHRyYWluIGNhciBmcm9tIHRoZSA8c3Ryb25nPmxlZnQ8L3N0cm9uZz4gZW5kIChpLmUuLCByZW1vdmUgPGNvZGU+c1swXTwvY29kZT4pIHdoaWNoIHRha2VzIDEgdW5pdCBvZiB0aW1lLjwvbGk+CjxsaT5SZW1vdmUgYSB0cmFpbiBjYXIgZnJvbSB0aGUgPHN0cm9uZz5yaWdodDwvc3Ryb25nPiBlbmQgKGkuZS4sIHJlbW92ZSA8Y29kZT5zW3MubGVuZ3RoIC0gMV08L2NvZGU+KSB3aGljaCB0YWtlcyAxIHVuaXQgb2YgdGltZS48L2xpPgo8bGk+UmVtb3ZlIGEgdHJhaW4gY2FyIGZyb20gPHN0cm9uZz5hbnl3aGVyZTwvc3Ryb25nPiBpbiB0aGUgc2VxdWVuY2Ugd2hpY2ggdGFrZXMgMiB1bml0cyBvZiB0aW1lLjwvbGk+Cjwvb2w+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiB0aW1lIHRvIHJlbW92ZSBhbGwgdGhlIGNhcnMgY29udGFpbmluZyBpbGxlZ2FsIGdvb2RzPC9lbT4uPC9wPgo8cD5Ob3RlIHRoYXQgYW4gZW1wdHkgc2VxdWVuY2Ugb2YgY2FycyBpcyBjb25zaWRlcmVkIHRvIGhhdmUgbm8gY2FycyBjb250YWluaW5nIGlsbGVnYWwgZ29vZHMuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gIjxzdHJvbmc+PHU+MTE8L3U+PC9zdHJvbmc+MDA8c3Ryb25nPjx1PjE8L3U+PC9zdHJvbmc+MDxzdHJvbmc+PHU+MTwvdT48L3N0cm9uZz4iCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA1CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApPbmUgd2F5IHRvIHJlbW92ZSBhbGwgdGhlIGNhcnMgY29udGFpbmluZyBpbGxlZ2FsIGdvb2RzIGZyb20gdGhlIHNlcXVlbmNlIGlzIHRvCi0gcmVtb3ZlIGEgY2FyIGZyb20gdGhlIGxlZnQgZW5kIDIgdGltZXMuIFRpbWUgdGFrZW4gaXMgMiAqIDEgPSAyLgotIHJlbW92ZSBhIGNhciBmcm9tIHRoZSByaWdodCBlbmQuIFRpbWUgdGFrZW4gaXMgMS4KLSByZW1vdmUgdGhlIGNhciBjb250YWluaW5nIGlsbGVnYWwgZ29vZHMgZm91bmQgaW4gdGhlIG1pZGRsZS4gVGltZSB0YWtlbiBpcyAyLgpUaGlzIG9idGFpbnMgYSB0b3RhbCB0aW1lIG9mIDIgKyAxICsgMiA9IDUuIAoKQW4gYWx0ZXJuYXRpdmUgd2F5IGlzIHRvCi0gcmVtb3ZlIGEgY2FyIGZyb20gdGhlIGxlZnQgZW5kIDIgdGltZXMuIFRpbWUgdGFrZW4gaXMgMiAqIDEgPSAyLgotIHJlbW92ZSBhIGNhciBmcm9tIHRoZSByaWdodCBlbmQgMyB0aW1lcy4gVGltZSB0YWtlbiBpcyAzICogMSA9IDMuClRoaXMgYWxzbyBvYnRhaW5zIGEgdG90YWwgdGltZSBvZiAyICsgMyA9IDUuCgo1IGlzIHRoZSBtaW5pbXVtIHRpbWUgdGFrZW4gdG8gcmVtb3ZlIGFsbCB0aGUgY2FycyBjb250YWluaW5nIGlsbGVnYWwgZ29vZHMuIApUaGVyZSBhcmUgbm8gb3RoZXIgd2F5cyB0byByZW1vdmUgdGhlbSB3aXRoIGxlc3MgdGltZS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICIwMDxzdHJvbmc+PHU+MTwvdT48L3N0cm9uZz4wIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpPbmUgd2F5IHRvIHJlbW92ZSBhbGwgdGhlIGNhcnMgY29udGFpbmluZyBpbGxlZ2FsIGdvb2RzIGZyb20gdGhlIHNlcXVlbmNlIGlzIHRvCi0gcmVtb3ZlIGEgY2FyIGZyb20gdGhlIGxlZnQgZW5kIDMgdGltZXMuIFRpbWUgdGFrZW4gaXMgMyAqIDEgPSAzLgpUaGlzIG9idGFpbnMgYSB0b3RhbCB0aW1lIG9mIDMuCgpBbm90aGVyIHdheSB0byByZW1vdmUgYWxsIHRoZSBjYXJzIGNvbnRhaW5pbmcgaWxsZWdhbCBnb29kcyBmcm9tIHRoZSBzZXF1ZW5jZSBpcyB0bwotIHJlbW92ZSB0aGUgY2FyIGNvbnRhaW5pbmcgaWxsZWdhbCBnb29kcyBmb3VuZCBpbiB0aGUgbWlkZGxlLiBUaW1lIHRha2VuIGlzIDIuClRoaXMgb2J0YWlucyBhIHRvdGFsIHRpbWUgb2YgMi4KCkFub3RoZXIgd2F5IHRvIHJlbW92ZSBhbGwgdGhlIGNhcnMgY29udGFpbmluZyBpbGxlZ2FsIGdvb2RzIGZyb20gdGhlIHNlcXVlbmNlIGlzIHRvIAotIHJlbW92ZSBhIGNhciBmcm9tIHRoZSByaWdodCBlbmQgMiB0aW1lcy4gVGltZSB0YWtlbiBpcyAyICogMSA9IDIuIApUaGlzIG9idGFpbnMgYSB0b3RhbCB0aW1lIG9mIDIuCgoyIGlzIHRoZSBtaW5pbXVtIHRpbWUgdGFrZW4gdG8gcmVtb3ZlIGFsbCB0aGUgY2FycyBjb250YWluaW5nIGlsbGVnYWwgZ29vZHMuIApUaGVyZSBhcmUgbm8gb3RoZXIgd2F5cyB0byByZW1vdmUgdGhlbSB3aXRoIGxlc3MgdGltZS48L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHMubGVuZ3RoICZsdDs9IDIgKiAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+c1tpXTwvY29kZT4gaXMgZWl0aGVyIDxjb2RlPicwJzwvY29kZT4gb3IgPGNvZGU+JzEnPC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "String",
+ "Dynamic Programming"
+ ]
+ },
+ {
+ "title": "2179. Count Good Triplets in an Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGFycmF5cyA8Y29kZT5udW1zMTwvY29kZT4gYW5kIDxjb2RlPm51bXMyPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4sIGJvdGggb2Ygd2hpY2ggYXJlIDxzdHJvbmc+cGVybXV0YXRpb25zPC9zdHJvbmc+IG9mIDxjb2RlPlswLCAxLCAuLi4sIG4gLSAxXTwvY29kZT4uPC9wPgo8cD5BIDxzdHJvbmc+Z29vZCB0cmlwbGV0PC9zdHJvbmc+IGlzIGEgc2V0IG9mIDxjb2RlPjM8L2NvZGU+IDxzdHJvbmc+ZGlzdGluY3Q8L3N0cm9uZz4gdmFsdWVzIHdoaWNoIGFyZSBwcmVzZW50IGluIDxzdHJvbmc+aW5jcmVhc2luZyBvcmRlcjwvc3Ryb25nPiBieSBwb3NpdGlvbiBib3RoIGluIDxjb2RlPm51bXMxPC9jb2RlPiBhbmQgPGNvZGU+bnVtczI8L2NvZGU+LiBJbiBvdGhlciB3b3JkcywgaWYgd2UgY29uc2lkZXIgPGNvZGU+cG9zMTxzdWI+djwvc3ViPjwvY29kZT4gYXMgdGhlIGluZGV4IG9mIHRoZSB2YWx1ZSA8Y29kZT52PC9jb2RlPiBpbiA8Y29kZT5udW1zMTwvY29kZT4gYW5kIDxjb2RlPnBvczI8c3ViPnY8L3N1Yj48L2NvZGU+IGFzIHRoZSBpbmRleCBvZiB0aGUgdmFsdWUgPGNvZGU+djwvY29kZT4gaW4gPGNvZGU+bnVtczI8L2NvZGU+LCB0aGVuIGEgZ29vZCB0cmlwbGV0IHdpbGwgYmUgYSBzZXQgPGNvZGU+KHgsIHksIHopPC9jb2RlPiB3aGVyZSA8Y29kZT4wICZsdDs9IHgsIHksIHogJmx0Oz0gbiAtIDE8L2NvZGU+LCBzdWNoIHRoYXQgPGNvZGU+cG9zMTxzdWI+eDwvc3ViPiAmbHQ7IHBvczE8c3ViPnk8L3N1Yj4gJmx0OyBwb3MxPHN1Yj56PC9zdWI+PC9jb2RlPiBhbmQgPGNvZGU+cG9zMjxzdWI+eDwvc3ViPiAmbHQ7IHBvczI8c3ViPnk8L3N1Yj4gJmx0OyBwb3MyPHN1Yj56PC9zdWI+PC9jb2RlPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+dG90YWwgbnVtYmVyPC9zdHJvbmc+IG9mIGdvb2QgdHJpcGxldHM8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMxID0gWzIsMCwxLDNdLCBudW1zMiA9IFswLDEsMiwzXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKVGhlcmUgYXJlIDQgdHJpcGxldHMgKHgseSx6KSBzdWNoIHRoYXQgcG9zMTxzdWI+eDwvc3ViPiAmbHQ7IHBvczE8c3ViPnk8L3N1Yj4gJmx0OyBwb3MxPHN1Yj56PC9zdWI+LiBUaGV5IGFyZSAoMiwwLDEpLCAoMiwwLDMpLCAoMiwxLDMpLCBhbmQgKDAsMSwzKS4gCk91dCBvZiB0aG9zZSB0cmlwbGV0cywgb25seSB0aGUgdHJpcGxldCAoMCwxLDMpIHNhdGlzZmllcyBwb3MyPHN1Yj54PC9zdWI+ICZsdDsgcG9zMjxzdWI+eTwvc3ViPiAmbHQ7IHBvczI8c3ViPno8L3N1Yj4uIEhlbmNlLCB0aGVyZSBpcyBvbmx5IDEgZ29vZCB0cmlwbGV0Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zMSA9IFs0LDAsMSwzLDJdLCBudW1zMiA9IFs0LDEsMCwyLDNdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSA0IGdvb2QgdHJpcGxldHMgYXJlICg0LDAsMyksICg0LDAsMiksICg0LDEsMyksIGFuZCAoNCwxLDIpLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IG51bXMxLmxlbmd0aCA9PSBudW1zMi5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjMgJmx0Oz0gbiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBudW1zMVtpXSwgbnVtczJbaV0gJmx0Oz0gbiAtIDE8L2NvZGU+PC9saT4KPGxpPjxjb2RlPm51bXMxPC9jb2RlPiBhbmQgPGNvZGU+bnVtczI8L2NvZGU+IGFyZSBwZXJtdXRhdGlvbnMgb2YgPGNvZGU+WzAsIDEsIC4uLiwgbiAtIDFdPC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Divide and Conquer",
+ "Binary Indexed Tree",
+ "Segment Tree",
+ "Merge Sort",
+ "Ordered Set"
+ ]
+ },
+ {
+ "title": "2157. Groups of Strings",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBhcnJheSBvZiBzdHJpbmdzIDxjb2RlPndvcmRzPC9jb2RlPi4gRWFjaCBzdHJpbmcgY29uc2lzdHMgb2YgPHN0cm9uZz5sb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzPC9zdHJvbmc+IG9ubHkuIE5vIGxldHRlciBvY2N1cnMgbW9yZSB0aGFuIG9uY2UgaW4gYW55IHN0cmluZyBvZiA8Y29kZT53b3JkczwvY29kZT4uPC9wPgo8cD5Ud28gc3RyaW5ncyA8Y29kZT5zMTwvY29kZT4gYW5kIDxjb2RlPnMyPC9jb2RlPiBhcmUgc2FpZCB0byBiZSA8c3Ryb25nPmNvbm5lY3RlZDwvc3Ryb25nPiBpZiB0aGUgc2V0IG9mIGxldHRlcnMgb2YgPGNvZGU+czI8L2NvZGU+IGNhbiBiZSBvYnRhaW5lZCBmcm9tIHRoZSBzZXQgb2YgbGV0dGVycyBvZiA8Y29kZT5zMTwvY29kZT4gYnkgYW55IDxzdHJvbmc+b25lPC9zdHJvbmc+IG9mIHRoZSBmb2xsb3dpbmcgb3BlcmF0aW9uczo8L3A+Cjx1bD4KPGxpPkFkZGluZyBleGFjdGx5IG9uZSBsZXR0ZXIgdG8gdGhlIHNldCBvZiB0aGUgbGV0dGVycyBvZiA8Y29kZT5zMTwvY29kZT4uPC9saT4KPGxpPkRlbGV0aW5nIGV4YWN0bHkgb25lIGxldHRlciBmcm9tIHRoZSBzZXQgb2YgdGhlIGxldHRlcnMgb2YgPGNvZGU+czE8L2NvZGU+LjwvbGk+CjxsaT5SZXBsYWNpbmcgZXhhY3RseSBvbmUgbGV0dGVyIGZyb20gdGhlIHNldCBvZiB0aGUgbGV0dGVycyBvZiA8Y29kZT5zMTwvY29kZT4gd2l0aCBhbnkgbGV0dGVyLCA8c3Ryb25nPmluY2x1ZGluZzwvc3Ryb25nPiBpdHNlbGYuPC9saT4KPC91bD4KPHA+VGhlIGFycmF5IDxjb2RlPndvcmRzPC9jb2RlPiBjYW4gYmUgZGl2aWRlZCBpbnRvIG9uZSBvciBtb3JlIG5vbi1pbnRlcnNlY3RpbmcgPHN0cm9uZz5ncm91cHM8L3N0cm9uZz4uIEEgc3RyaW5nIGJlbG9uZ3MgdG8gYSBncm91cCBpZiBhbnkgPHN0cm9uZz5vbmU8L3N0cm9uZz4gb2YgdGhlIGZvbGxvd2luZyBpcyB0cnVlOjwvcD4KPHVsPgo8bGk+SXQgaXMgY29ubmVjdGVkIHRvIDxzdHJvbmc+YXQgbGVhc3Qgb25lPC9zdHJvbmc+IG90aGVyIHN0cmluZyBvZiB0aGUgZ3JvdXAuPC9saT4KPGxpPkl0IGlzIHRoZSA8c3Ryb25nPm9ubHk8L3N0cm9uZz4gc3RyaW5nIHByZXNlbnQgaW4gdGhlIGdyb3VwLjwvbGk+CjwvdWw+CjxwPk5vdGUgdGhhdCB0aGUgc3RyaW5ncyBpbiA8Y29kZT53b3JkczwvY29kZT4gc2hvdWxkIGJlIGdyb3VwZWQgaW4gc3VjaCBhIG1hbm5lciB0aGF0IGEgc3RyaW5nIGJlbG9uZ2luZyB0byBhIGdyb3VwIGNhbm5vdCBiZSBjb25uZWN0ZWQgdG8gYSBzdHJpbmcgcHJlc2VudCBpbiBhbnkgb3RoZXIgZ3JvdXAuIEl0IGNhbiBiZSBwcm92ZWQgdGhhdCBzdWNoIGFuIGFycmFuZ2VtZW50IGlzIGFsd2F5cyB1bmlxdWUuPC9wPgo8cD5SZXR1cm4gPGVtPmFuIGFycmF5PC9lbT4gPGNvZGU+YW5zPC9jb2RlPiA8ZW0+b2Ygc2l6ZTwvZW0+IDxjb2RlPjI8L2NvZGU+IDxlbT53aGVyZTo8L2VtPjwvcD4KPHVsPgo8bGk+PGNvZGU+YW5zWzBdPC9jb2RlPiA8ZW0+aXMgdGhlIDxzdHJvbmc+bWF4aW11bSBudW1iZXI8L3N0cm9uZz4gb2YgZ3JvdXBzPC9lbT4gPGNvZGU+d29yZHM8L2NvZGU+IDxlbT5jYW4gYmUgZGl2aWRlZCBpbnRvLCBhbmQ8L2VtPjwvbGk+CjxsaT48Y29kZT5hbnNbMV08L2NvZGU+IDxlbT5pcyB0aGUgPHN0cm9uZz5zaXplIG9mIHRoZSBsYXJnZXN0PC9zdHJvbmc+IGdyb3VwPC9lbT4uPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZHMgPSBbImEiLCJiIiwiYWIiLCJjZGUiXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzIsM10KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KLSB3b3Jkc1swXSBjYW4gYmUgdXNlZCB0byBvYnRhaW4gd29yZHNbMV0gKGJ5IHJlcGxhY2luZyAnYScgd2l0aCAnYicpLCBhbmQgd29yZHNbMl0gKGJ5IGFkZGluZyAnYicpLiBTbyB3b3Jkc1swXSBpcyBjb25uZWN0ZWQgdG8gd29yZHNbMV0gYW5kIHdvcmRzWzJdLgotIHdvcmRzWzFdIGNhbiBiZSB1c2VkIHRvIG9idGFpbiB3b3Jkc1swXSAoYnkgcmVwbGFjaW5nICdiJyB3aXRoICdhJyksIGFuZCB3b3Jkc1syXSAoYnkgYWRkaW5nICdhJykuIFNvIHdvcmRzWzFdIGlzIGNvbm5lY3RlZCB0byB3b3Jkc1swXSBhbmQgd29yZHNbMl0uCi0gd29yZHNbMl0gY2FuIGJlIHVzZWQgdG8gb2J0YWluIHdvcmRzWzBdIChieSBkZWxldGluZyAnYicpLCBhbmQgd29yZHNbMV0gKGJ5IGRlbGV0aW5nICdhJykuIFNvIHdvcmRzWzJdIGlzIGNvbm5lY3RlZCB0byB3b3Jkc1swXSBhbmQgd29yZHNbMV0uCi0gd29yZHNbM10gaXMgbm90IGNvbm5lY3RlZCB0byBhbnkgc3RyaW5nIGluIHdvcmRzLgpUaHVzLCB3b3JkcyBjYW4gYmUgZGl2aWRlZCBpbnRvIDIgZ3JvdXBzIFsiYSIsImIiLCJhYiJdIGFuZCBbImNkZSJdLiBUaGUgc2l6ZSBvZiB0aGUgbGFyZ2VzdCBncm91cCBpcyAzLiAgCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHdvcmRzID0gWyJhIiwiYWIiLCJhYmMiXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzEsM10KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KLSB3b3Jkc1swXSBpcyBjb25uZWN0ZWQgdG8gd29yZHNbMV0uCi0gd29yZHNbMV0gaXMgY29ubmVjdGVkIHRvIHdvcmRzWzBdIGFuZCB3b3Jkc1syXS4KLSB3b3Jkc1syXSBpcyBjb25uZWN0ZWQgdG8gd29yZHNbMV0uClNpbmNlIGFsbCBzdHJpbmdzIGFyZSBjb25uZWN0ZWQgdG8gZWFjaCBvdGhlciwgdGhleSBzaG91bGQgYmUgZ3JvdXBlZCB0b2dldGhlci4KVGh1cywgdGhlIHNpemUgb2YgdGhlIGxhcmdlc3QgZ3JvdXAgaXMgMy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSB3b3Jkcy5sZW5ndGggJmx0Oz0gMiAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHdvcmRzW2ldLmxlbmd0aCAmbHQ7PSAyNjwvY29kZT48L2xpPgo8bGk+PGNvZGU+d29yZHNbaV08L2NvZGU+IGNvbnNpc3RzIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMgb25seS48L2xpPgo8bGk+Tm8gbGV0dGVyIG9jY3VycyBtb3JlIHRoYW4gb25jZSBpbiA8Y29kZT53b3Jkc1tpXTwvY29kZT4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "String",
+ "Bit Manipulation",
+ "Union Find"
+ ]
+ },
+ {
+ "title": "2156. Find Substring With Given Hash Value",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZSBoYXNoIG9mIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gc3RyaW5nIDxjb2RlPnM8L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT5rPC9jb2RlPiwgZ2l2ZW4gaW50ZWdlcnMgPGNvZGU+cDwvY29kZT4gYW5kIDxjb2RlPm08L2NvZGU+LCBpcyBjb21wdXRlZCB1c2luZyB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uOjwvcD4KPHVsPgo8bGk+PGNvZGU+aGFzaChzLCBwLCBtKSA9ICh2YWwoc1swXSkgKiBwPHN1cD4wPC9zdXA+ICsgdmFsKHNbMV0pICogcDxzdXA+MTwvc3VwPiArIC4uLiArIHZhbChzW2stMV0pICogcDxzdXA+ay0xPC9zdXA+KSBtb2QgbTwvY29kZT4uPC9saT4KPC91bD4KPHA+V2hlcmUgPGNvZGU+dmFsKHNbaV0pPC9jb2RlPiByZXByZXNlbnRzIHRoZSBpbmRleCBvZiA8Y29kZT5zW2ldPC9jb2RlPiBpbiB0aGUgYWxwaGFiZXQgZnJvbSA8Y29kZT52YWwoJ2EnKSA9IDE8L2NvZGU+IHRvIDxjb2RlPnZhbCgneicpID0gMjY8L2NvZGU+LjwvcD4KPHA+WW91IGFyZSBnaXZlbiBhIHN0cmluZyA8Y29kZT5zPC9jb2RlPiBhbmQgdGhlIGludGVnZXJzIDxjb2RlPnBvd2VyPC9jb2RlPiwgPGNvZGU+bW9kdWxvPC9jb2RlPiwgPGNvZGU+azwvY29kZT4sIGFuZCA8Y29kZT5oYXNoVmFsdWUuPC9jb2RlPiBSZXR1cm4gPGNvZGU+c3ViPC9jb2RlPiw8ZW0+IHRoZSA8c3Ryb25nPmZpcnN0PC9zdHJvbmc+IDxzdHJvbmc+c3Vic3RyaW5nPC9zdHJvbmc+IG9mIDwvZW0+PGNvZGU+czwvY29kZT48ZW0+IG9mIGxlbmd0aCA8L2VtPjxjb2RlPms8L2NvZGU+PGVtPiBzdWNoIHRoYXQgPC9lbT48Y29kZT5oYXNoKHN1YiwgcG93ZXIsIG1vZHVsbykgPT0gaGFzaFZhbHVlPC9jb2RlPi48L3A+CjxwPlRoZSB0ZXN0IGNhc2VzIHdpbGwgYmUgZ2VuZXJhdGVkIHN1Y2ggdGhhdCBhbiBhbnN3ZXIgYWx3YXlzIDxzdHJvbmc+ZXhpc3RzPC9zdHJvbmc+LjwvcD4KPHA+QSA8Yj5zdWJzdHJpbmc8L2I+IGlzIGEgY29udGlndW91cyBub24tZW1wdHkgc2VxdWVuY2Ugb2YgY2hhcmFjdGVycyB3aXRoaW4gYSBzdHJpbmcuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImxlZXRjb2RlIiwgcG93ZXIgPSA3LCBtb2R1bG8gPSAyMCwgayA9IDIsIGhhc2hWYWx1ZSA9IDAKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICJlZSIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGhhc2ggb2YgImVlIiBjYW4gYmUgY29tcHV0ZWQgdG8gYmUgaGFzaCgiZWUiLCA3LCAyMCkgPSAoNSAqIDEgKyA1ICogNykgbW9kIDIwID0gNDAgbW9kIDIwID0gMC4gCiJlZSIgaXMgdGhlIGZpcnN0IHN1YnN0cmluZyBvZiBsZW5ndGggMiB3aXRoIGhhc2hWYWx1ZSAwLiBIZW5jZSwgd2UgcmV0dXJuICJlZSIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiZmJ4emFhZCIsIHBvd2VyID0gMzEsIG1vZHVsbyA9IDEwMCwgayA9IDMsIGhhc2hWYWx1ZSA9IDMyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiZmJ4Igo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgaGFzaCBvZiAiZmJ4IiBjYW4gYmUgY29tcHV0ZWQgdG8gYmUgaGFzaCgiZmJ4IiwgMzEsIDEwMCkgPSAoNiAqIDEgKyAyICogMzEgKyAyNCAqIDMxPHN1cD4yPC9zdXA+KSBtb2QgMTAwID0gMjMxMzIgbW9kIDEwMCA9IDMyLiAKVGhlIGhhc2ggb2YgImJ4eiIgY2FuIGJlIGNvbXB1dGVkIHRvIGJlIGhhc2goImJ4eiIsIDMxLCAxMDApID0gKDIgKiAxICsgMjQgKiAzMSArIDI2ICogMzE8c3VwPjI8L3N1cD4pIG1vZCAxMDAgPSAyNTczMiBtb2QgMTAwID0gMzIuIAoiZmJ4IiBpcyB0aGUgZmlyc3Qgc3Vic3RyaW5nIG9mIGxlbmd0aCAzIHdpdGggaGFzaFZhbHVlIDMyLiBIZW5jZSwgd2UgcmV0dXJuICJmYngiLgpOb3RlIHRoYXQgImJ4eiIgYWxzbyBoYXMgYSBoYXNoIG9mIDMyIGJ1dCBpdCBhcHBlYXJzIGxhdGVyIHRoYW4gImZieCIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gayAmbHQ7PSBzLmxlbmd0aCAmbHQ7PSAyICogMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gcG93ZXIsIG1vZHVsbyAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBoYXNoVmFsdWUgJmx0OyBtb2R1bG88L2NvZGU+PC9saT4KPGxpPjxjb2RlPnM8L2NvZGU+IGNvbnNpc3RzIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMgb25seS48L2xpPgo8bGk+VGhlIHRlc3QgY2FzZXMgYXJlIGdlbmVyYXRlZCBzdWNoIHRoYXQgYW4gYW5zd2VyIGFsd2F5cyA8c3Ryb25nPmV4aXN0czwvc3Ryb25nPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "String",
+ "Sliding Window",
+ "Rolling Hash",
+ "Hash Function"
+ ]
+ },
+ {
+ "title": "2151. Maximum Good People Based on Statements",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGFyZSB0d28gdHlwZXMgb2YgcGVyc29uczo8L3A+Cjx1bD4KPGxpPlRoZSA8c3Ryb25nPmdvb2QgcGVyc29uPC9zdHJvbmc+OiBUaGUgcGVyc29uIHdobyBhbHdheXMgdGVsbHMgdGhlIHRydXRoLjwvbGk+CjxsaT5UaGUgPHN0cm9uZz5iYWQgcGVyc29uPC9zdHJvbmc+OiBUaGUgcGVyc29uIHdobyBtaWdodCB0ZWxsIHRoZSB0cnV0aCBhbmQgbWlnaHQgbGllLjwvbGk+CjwvdWw+CjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPnN0YXRlbWVudHM8L2NvZGU+IG9mIHNpemUgPGNvZGU+biB4IG48L2NvZGU+IHRoYXQgcmVwcmVzZW50cyB0aGUgc3RhdGVtZW50cyBtYWRlIGJ5IDxjb2RlPm48L2NvZGU+IHBlb3BsZSBhYm91dCBlYWNoIG90aGVyLiBNb3JlIHNwZWNpZmljYWxseSwgPGNvZGU+c3RhdGVtZW50c1tpXVtqXTwvY29kZT4gY291bGQgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmc6PC9wPgo8dWw+CjxsaT48Y29kZT4wPC9jb2RlPiB3aGljaCByZXByZXNlbnRzIGEgc3RhdGVtZW50IG1hZGUgYnkgcGVyc29uIDxjb2RlPmk8L2NvZGU+IHRoYXQgcGVyc29uIDxjb2RlPmo8L2NvZGU+IGlzIGEgPHN0cm9uZz5iYWQ8L3N0cm9uZz4gcGVyc29uLjwvbGk+CjxsaT48Y29kZT4xPC9jb2RlPiB3aGljaCByZXByZXNlbnRzIGEgc3RhdGVtZW50IG1hZGUgYnkgcGVyc29uIDxjb2RlPmk8L2NvZGU+IHRoYXQgcGVyc29uIDxjb2RlPmo8L2NvZGU+IGlzIGEgPHN0cm9uZz5nb29kPC9zdHJvbmc+IHBlcnNvbi48L2xpPgo8bGk+PGNvZGU+MjwvY29kZT4gcmVwcmVzZW50cyB0aGF0IDxzdHJvbmc+bm8gc3RhdGVtZW50PC9zdHJvbmc+IGlzIG1hZGUgYnkgcGVyc29uIDxjb2RlPmk8L2NvZGU+IGFib3V0IHBlcnNvbiA8Y29kZT5qPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5BZGRpdGlvbmFsbHksIG5vIHBlcnNvbiBldmVyIG1ha2VzIGEgc3RhdGVtZW50IGFib3V0IHRoZW1zZWx2ZXMuIEZvcm1hbGx5LCB3ZSBoYXZlIHRoYXQgPGNvZGU+c3RhdGVtZW50c1tpXVtpXSA9IDI8L2NvZGU+IGZvciBhbGwgPGNvZGU+MCAmbHQ7PSBpICZsdDsgbjwvY29kZT4uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1heGltdW08L3N0cm9uZz4gbnVtYmVyIG9mIHBlb3BsZSB3aG8gY2FuIGJlIDxzdHJvbmc+Z29vZDwvc3Ryb25nPiBiYXNlZCBvbiB0aGUgc3RhdGVtZW50cyBtYWRlIGJ5IHRoZSA8L2VtPjxjb2RlPm48L2NvZGU+PGVtPiBwZW9wbGU8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDEvMTUvbG9naWMxLmpwZyIgc3R5bGU9IndpZHRoOiA2MDBweDsgaGVpZ2h0OiAyNjJweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzdGF0ZW1lbnRzID0gW1syLDEsMl0sWzEsMiwyXSxbMiwwLDJdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBFYWNoIHBlcnNvbiBtYWtlcyBhIHNpbmdsZSBzdGF0ZW1lbnQuCi0gUGVyc29uIDAgc3RhdGVzIHRoYXQgcGVyc29uIDEgaXMgZ29vZC4KLSBQZXJzb24gMSBzdGF0ZXMgdGhhdCBwZXJzb24gMCBpcyBnb29kLgotIFBlcnNvbiAyIHN0YXRlcyB0aGF0IHBlcnNvbiAxIGlzIGJhZC4KTGV0J3MgdGFrZSBwZXJzb24gMiBhcyB0aGUga2V5LgotIEFzc3VtaW5nIHRoYXQgcGVyc29uIDIgaXMgYSBnb29kIHBlcnNvbjoKICAgIC0gQmFzZWQgb24gdGhlIHN0YXRlbWVudCBtYWRlIGJ5IHBlcnNvbiAyLCBwZXJzb24gMSBpcyBhIGJhZCBwZXJzb24uCiAgICAtIE5vdyB3ZSBrbm93IGZvciBzdXJlIHRoYXQgcGVyc29uIDEgaXMgYmFkIGFuZCBwZXJzb24gMiBpcyBnb29kLgogICAgLSBCYXNlZCBvbiB0aGUgc3RhdGVtZW50IG1hZGUgYnkgcGVyc29uIDEsIGFuZCBzaW5jZSBwZXJzb24gMSBpcyBiYWQsIHRoZXkgY291bGQgYmU6CiAgICAgICAgLSB0ZWxsaW5nIHRoZSB0cnV0aC4gVGhlcmUgd2lsbCBiZSBhIGNvbnRyYWRpY3Rpb24gaW4gdGhpcyBjYXNlIGFuZCB0aGlzIGFzc3VtcHRpb24gaXMgaW52YWxpZC4KICAgICAgICAtIGx5aW5nLiBJbiB0aGlzIGNhc2UsIHBlcnNvbiAwIGlzIGFsc28gYSBiYWQgcGVyc29uIGFuZCBsaWVkIGluIHRoZWlyIHN0YXRlbWVudC4KICAgIC0gPHN0cm9uZz5Gb2xsb3dpbmcgdGhhdCBwZXJzb24gMiBpcyBhIGdvb2QgcGVyc29uLCB0aGVyZSB3aWxsIGJlIG9ubHkgb25lIGdvb2QgcGVyc29uIGluIHRoZSBncm91cDwvc3Ryb25nPi4KLSBBc3N1bWluZyB0aGF0IHBlcnNvbiAyIGlzIGEgYmFkIHBlcnNvbjoKICAgIC0gQmFzZWQgb24gdGhlIHN0YXRlbWVudCBtYWRlIGJ5IHBlcnNvbiAyLCBhbmQgc2luY2UgcGVyc29uIDIgaXMgYmFkLCB0aGV5IGNvdWxkIGJlOgogICAgICAgIC0gdGVsbGluZyB0aGUgdHJ1dGguIEZvbGxvd2luZyB0aGlzIHNjZW5hcmlvLCBwZXJzb24gMCBhbmQgMSBhcmUgYm90aCBiYWQgYXMgZXhwbGFpbmVkIGJlZm9yZS4KICAgICAgICAgICAgLSA8c3Ryb25nPkZvbGxvd2luZyB0aGF0IHBlcnNvbiAyIGlzIGJhZCBidXQgdG9sZCB0aGUgdHJ1dGgsIHRoZXJlIHdpbGwgYmUgbm8gZ29vZCBwZXJzb25zIGluIHRoZSBncm91cDwvc3Ryb25nPi4KICAgICAgICAtIGx5aW5nLiBJbiB0aGlzIGNhc2UgcGVyc29uIDEgaXMgYSBnb29kIHBlcnNvbi4KICAgICAgICAgICAgLSBTaW5jZSBwZXJzb24gMSBpcyBhIGdvb2QgcGVyc29uLCBwZXJzb24gMCBpcyBhbHNvIGEgZ29vZCBwZXJzb24uCiAgICAgICAgICAgIC0gPHN0cm9uZz5Gb2xsb3dpbmcgdGhhdCBwZXJzb24gMiBpcyBiYWQgYW5kIGxpZWQsIHRoZXJlIHdpbGwgYmUgdHdvIGdvb2QgcGVyc29ucyBpbiB0aGUgZ3JvdXA8L3N0cm9uZz4uCldlIGNhbiBzZWUgdGhhdCBhdCBtb3N0IDIgcGVyc29ucyBhcmUgZ29vZCBpbiB0aGUgYmVzdCBjYXNlLCBzbyB3ZSByZXR1cm4gMi4KTm90ZSB0aGF0IHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgd2F5IHRvIGFycml2ZSBhdCB0aGlzIGNvbmNsdXNpb24uCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDEvMTUvbG9naWMyLmpwZyIgc3R5bGU9IndpZHRoOiA2MDBweDsgaGVpZ2h0OiAyNjJweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzdGF0ZW1lbnRzID0gW1syLDBdLFswLDJdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBFYWNoIHBlcnNvbiBtYWtlcyBhIHNpbmdsZSBzdGF0ZW1lbnQuCi0gUGVyc29uIDAgc3RhdGVzIHRoYXQgcGVyc29uIDEgaXMgYmFkLgotIFBlcnNvbiAxIHN0YXRlcyB0aGF0IHBlcnNvbiAwIGlzIGJhZC4KTGV0J3MgdGFrZSBwZXJzb24gMCBhcyB0aGUga2V5LgotIEFzc3VtaW5nIHRoYXQgcGVyc29uIDAgaXMgYSBnb29kIHBlcnNvbjoKICAgIC0gQmFzZWQgb24gdGhlIHN0YXRlbWVudCBtYWRlIGJ5IHBlcnNvbiAwLCBwZXJzb24gMSBpcyBhIGJhZCBwZXJzb24gYW5kIHdhcyBseWluZy4KICAgIC0gPHN0cm9uZz5Gb2xsb3dpbmcgdGhhdCBwZXJzb24gMCBpcyBhIGdvb2QgcGVyc29uLCB0aGVyZSB3aWxsIGJlIG9ubHkgb25lIGdvb2QgcGVyc29uIGluIHRoZSBncm91cDwvc3Ryb25nPi4KLSBBc3N1bWluZyB0aGF0IHBlcnNvbiAwIGlzIGEgYmFkIHBlcnNvbjoKICAgIC0gQmFzZWQgb24gdGhlIHN0YXRlbWVudCBtYWRlIGJ5IHBlcnNvbiAwLCBhbmQgc2luY2UgcGVyc29uIDAgaXMgYmFkLCB0aGV5IGNvdWxkIGJlOgogICAgICAgIC0gdGVsbGluZyB0aGUgdHJ1dGguIEZvbGxvd2luZyB0aGlzIHNjZW5hcmlvLCBwZXJzb24gMCBhbmQgMSBhcmUgYm90aCBiYWQuCiAgICAgICAgICAgIC0gPHN0cm9uZz5Gb2xsb3dpbmcgdGhhdCBwZXJzb24gMCBpcyBiYWQgYnV0IHRvbGQgdGhlIHRydXRoLCB0aGVyZSB3aWxsIGJlIG5vIGdvb2QgcGVyc29ucyBpbiB0aGUgZ3JvdXA8L3N0cm9uZz4uCiAgICAgICAgLSBseWluZy4gSW4gdGhpcyBjYXNlIHBlcnNvbiAxIGlzIGEgZ29vZCBwZXJzb24uCiAgICAgICAgICAgIC0gPHN0cm9uZz5Gb2xsb3dpbmcgdGhhdCBwZXJzb24gMCBpcyBiYWQgYW5kIGxpZWQsIHRoZXJlIHdpbGwgYmUgb25seSBvbmUgZ29vZCBwZXJzb24gaW4gdGhlIGdyb3VwPC9zdHJvbmc+LgpXZSBjYW4gc2VlIHRoYXQgYXQgbW9zdCwgb25lIHBlcnNvbiBpcyBnb29kIGluIHRoZSBiZXN0IGNhc2UsIHNvIHdlIHJldHVybiAxLgpOb3RlIHRoYXQgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSB3YXkgdG8gYXJyaXZlIGF0IHRoaXMgY29uY2x1c2lvbi4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBzdGF0ZW1lbnRzLmxlbmd0aCA9PSBzdGF0ZW1lbnRzW2ldLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MiAmbHQ7PSBuICZsdDs9IDE1PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zdGF0ZW1lbnRzW2ldW2pdPC9jb2RlPiBpcyBlaXRoZXIgPGNvZGU+MDwvY29kZT4sIDxjb2RlPjE8L2NvZGU+LCBvciA8Y29kZT4yPC9jb2RlPi48L2xpPgo8bGk+PGNvZGU+c3RhdGVtZW50c1tpXVtpXSA9PSAyPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Backtracking",
+ "Bit Manipulation",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2163. Minimum Difference in Sums After Removal of Elements",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IGNvbnNpc3Rpbmcgb2YgPGNvZGU+MyAqIG48L2NvZGU+IGVsZW1lbnRzLjwvcD4KPHA+WW91IGFyZSBhbGxvd2VkIHRvIHJlbW92ZSBhbnkgPHN0cm9uZz5zdWJzZXF1ZW5jZTwvc3Ryb25nPiBvZiBlbGVtZW50cyBvZiBzaXplIDxzdHJvbmc+ZXhhY3RseTwvc3Ryb25nPiA8Y29kZT5uPC9jb2RlPiBmcm9tIDxjb2RlPm51bXM8L2NvZGU+LiBUaGUgcmVtYWluaW5nIDxjb2RlPjIgKiBuPC9jb2RlPiBlbGVtZW50cyB3aWxsIGJlIGRpdmlkZWQgaW50byB0d28gPHN0cm9uZz5lcXVhbDwvc3Ryb25nPiBwYXJ0czo8L3A+Cjx1bD4KPGxpPlRoZSBmaXJzdCA8Y29kZT5uPC9jb2RlPiBlbGVtZW50cyBiZWxvbmdpbmcgdG8gdGhlIGZpcnN0IHBhcnQgYW5kIHRoZWlyIHN1bSBpcyA8Y29kZT5zdW08c3ViPmZpcnN0PC9zdWI+PC9jb2RlPi48L2xpPgo8bGk+VGhlIG5leHQgPGNvZGU+bjwvY29kZT4gZWxlbWVudHMgYmVsb25naW5nIHRvIHRoZSBzZWNvbmQgcGFydCBhbmQgdGhlaXIgc3VtIGlzIDxjb2RlPnN1bTxzdWI+c2Vjb25kPC9zdWI+PC9jb2RlPi48L2xpPgo8L3VsPgo8cD5UaGUgPHN0cm9uZz5kaWZmZXJlbmNlIGluIHN1bXM8L3N0cm9uZz4gb2YgdGhlIHR3byBwYXJ0cyBpcyBkZW5vdGVkIGFzIDxjb2RlPnN1bTxzdWI+Zmlyc3Q8L3N1Yj4gLSBzdW08c3ViPnNlY29uZDwvc3ViPjwvY29kZT4uPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgaWYgPGNvZGU+c3VtPHN1Yj5maXJzdDwvc3ViPiA9IDM8L2NvZGU+IGFuZCA8Y29kZT5zdW08c3ViPnNlY29uZDwvc3ViPiA9IDI8L2NvZGU+LCB0aGVpciBkaWZmZXJlbmNlIGlzIDxjb2RlPjE8L2NvZGU+LjwvbGk+CjxsaT5TaW1pbGFybHksIGlmIDxjb2RlPnN1bTxzdWI+Zmlyc3Q8L3N1Yj4gPSAyPC9jb2RlPiBhbmQgPGNvZGU+c3VtPHN1Yj5zZWNvbmQ8L3N1Yj4gPSAzPC9jb2RlPiwgdGhlaXIgZGlmZmVyZW5jZSBpcyA8Y29kZT4tMTwvY29kZT4uPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5taW5pbXVtIGRpZmZlcmVuY2U8L3N0cm9uZz4gcG9zc2libGUgYmV0d2VlbiB0aGUgc3VtcyBvZiB0aGUgdHdvIHBhcnRzIGFmdGVyIHRoZSByZW1vdmFsIG9mIDwvZW0+PGNvZGU+bjwvY29kZT48ZW0+IGVsZW1lbnRzPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzMsMSwyXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gLTEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gSGVyZSwgbnVtcyBoYXMgMyBlbGVtZW50cywgc28gbiA9IDEuIApUaHVzIHdlIGhhdmUgdG8gcmVtb3ZlIDEgZWxlbWVudCBmcm9tIG51bXMgYW5kIGRpdmlkZSB0aGUgYXJyYXkgaW50byB0d28gZXF1YWwgcGFydHMuCi0gSWYgd2UgcmVtb3ZlIG51bXNbMF0gPSAzLCB0aGUgYXJyYXkgd2lsbCBiZSBbMSwyXS4gVGhlIGRpZmZlcmVuY2UgaW4gc3VtcyBvZiB0aGUgdHdvIHBhcnRzIHdpbGwgYmUgMSAtIDIgPSAtMS4KLSBJZiB3ZSByZW1vdmUgbnVtc1sxXSA9IDEsIHRoZSBhcnJheSB3aWxsIGJlIFszLDJdLiBUaGUgZGlmZmVyZW5jZSBpbiBzdW1zIG9mIHRoZSB0d28gcGFydHMgd2lsbCBiZSAzIC0gMiA9IDEuCi0gSWYgd2UgcmVtb3ZlIG51bXNbMl0gPSAyLCB0aGUgYXJyYXkgd2lsbCBiZSBbMywxXS4gVGhlIGRpZmZlcmVuY2UgaW4gc3VtcyBvZiB0aGUgdHdvIHBhcnRzIHdpbGwgYmUgMyAtIDEgPSAyLgpUaGUgbWluaW11bSBkaWZmZXJlbmNlIGJldHdlZW4gc3VtcyBvZiB0aGUgdHdvIHBhcnRzIGlzIG1pbigtMSwxLDIpID0gLTEuIAo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzcsOSw1LDgsMSwzXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBIZXJlIG4gPSAyLiBTbyB3ZSBtdXN0IHJlbW92ZSAyIGVsZW1lbnRzIGFuZCBkaXZpZGUgdGhlIHJlbWFpbmluZyBhcnJheSBpbnRvIHR3byBwYXJ0cyBjb250YWluaW5nIHR3byBlbGVtZW50cyBlYWNoLgpJZiB3ZSByZW1vdmUgbnVtc1syXSA9IDUgYW5kIG51bXNbM10gPSA4LCB0aGUgcmVzdWx0YW50IGFycmF5IHdpbGwgYmUgWzcsOSwxLDNdLiBUaGUgZGlmZmVyZW5jZSBpbiBzdW1zIHdpbGwgYmUgKDcrOSkgLSAoMSszKSA9IDEyLgpUbyBvYnRhaW4gdGhlIG1pbmltdW0gZGlmZmVyZW5jZSwgd2Ugc2hvdWxkIHJlbW92ZSBudW1zWzFdID0gOSBhbmQgbnVtc1s0XSA9IDEuIFRoZSByZXN1bHRhbnQgYXJyYXkgYmVjb21lcyBbNyw1LDgsM10uIFRoZSBkaWZmZXJlbmNlIGluIHN1bXMgb2YgdGhlIHR3byBwYXJ0cyBpcyAoNys1KSAtICg4KzMpID0gMS4KSXQgY2FuIGJlIHNob3duIHRoYXQgaXQgaXMgbm90IHBvc3NpYmxlIHRvIG9idGFpbiBhIGRpZmZlcmVuY2Ugc21hbGxlciB0aGFuIDEuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm51bXMubGVuZ3RoID09IDMgKiBuPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Dynamic Programming",
+ "Heap (Priority Queue)"
+ ]
+ },
+ {
+ "title": "2141. Maximum Running Time of N Computers",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBoYXZlIDxjb2RlPm48L2NvZGU+IGNvbXB1dGVycy4gWW91IGFyZSBnaXZlbiB0aGUgaW50ZWdlciA8Y29kZT5uPC9jb2RlPiBhbmQgYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPmJhdHRlcmllczwvY29kZT4gd2hlcmUgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBiYXR0ZXJ5IGNhbiA8c3Ryb25nPnJ1bjwvc3Ryb25nPiBhIGNvbXB1dGVyIGZvciA8Y29kZT5iYXR0ZXJpZXNbaV08L2NvZGU+IG1pbnV0ZXMuIFlvdSBhcmUgaW50ZXJlc3RlZCBpbiBydW5uaW5nIDxzdHJvbmc+YWxsPC9zdHJvbmc+IDxjb2RlPm48L2NvZGU+IGNvbXB1dGVycyA8c3Ryb25nPnNpbXVsdGFuZW91c2x5PC9zdHJvbmc+IHVzaW5nIHRoZSBnaXZlbiBiYXR0ZXJpZXMuPC9wPgo8cD5Jbml0aWFsbHksIHlvdSBjYW4gaW5zZXJ0IDxzdHJvbmc+YXQgbW9zdCBvbmUgYmF0dGVyeTwvc3Ryb25nPiBpbnRvIGVhY2ggY29tcHV0ZXIuIEFmdGVyIHRoYXQgYW5kIGF0IGFueSBpbnRlZ2VyIHRpbWUgbW9tZW50LCB5b3UgY2FuIHJlbW92ZSBhIGJhdHRlcnkgZnJvbSBhIGNvbXB1dGVyIGFuZCBpbnNlcnQgYW5vdGhlciBiYXR0ZXJ5IDxzdHJvbmc+YW55IG51bWJlciBvZiB0aW1lczwvc3Ryb25nPi4gVGhlIGluc2VydGVkIGJhdHRlcnkgY2FuIGJlIGEgdG90YWxseSBuZXcgYmF0dGVyeSBvciBhIGJhdHRlcnkgZnJvbSBhbm90aGVyIGNvbXB1dGVyLiBZb3UgbWF5IGFzc3VtZSB0aGF0IHRoZSByZW1vdmluZyBhbmQgaW5zZXJ0aW5nIHByb2Nlc3NlcyB0YWtlIG5vIHRpbWUuPC9wPgo8cD5Ob3RlIHRoYXQgdGhlIGJhdHRlcmllcyBjYW5ub3QgYmUgcmVjaGFyZ2VkLjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5tYXhpbXVtPC9zdHJvbmc+IG51bWJlciBvZiBtaW51dGVzIHlvdSBjYW4gcnVuIGFsbCB0aGUgPC9lbT48Y29kZT5uPC9jb2RlPjxlbT4gY29tcHV0ZXJzIHNpbXVsdGFuZW91c2x5LjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAxLzA2L2V4YW1wbGUxLWZpdC5wbmciIHN0eWxlPSJ3aWR0aDogNzYycHg7IGhlaWdodDogMTUwcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDIsIGJhdHRlcmllcyA9IFszLDMsM10KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCkluaXRpYWxseSwgaW5zZXJ0IGJhdHRlcnkgMCBpbnRvIHRoZSBmaXJzdCBjb21wdXRlciBhbmQgYmF0dGVyeSAxIGludG8gdGhlIHNlY29uZCBjb21wdXRlci4KQWZ0ZXIgdHdvIG1pbnV0ZXMsIHJlbW92ZSBiYXR0ZXJ5IDEgZnJvbSB0aGUgc2Vjb25kIGNvbXB1dGVyIGFuZCBpbnNlcnQgYmF0dGVyeSAyIGluc3RlYWQuIE5vdGUgdGhhdCBiYXR0ZXJ5IDEgY2FuIHN0aWxsIHJ1biBmb3Igb25lIG1pbnV0ZS4KQXQgdGhlIGVuZCBvZiB0aGUgdGhpcmQgbWludXRlLCBiYXR0ZXJ5IDAgaXMgZHJhaW5lZCwgYW5kIHlvdSBuZWVkIHRvIHJlbW92ZSBpdCBmcm9tIHRoZSBmaXJzdCBjb21wdXRlciBhbmQgaW5zZXJ0IGJhdHRlcnkgMSBpbnN0ZWFkLgpCeSB0aGUgZW5kIG9mIHRoZSBmb3VydGggbWludXRlLCBiYXR0ZXJ5IDEgaXMgYWxzbyBkcmFpbmVkLCBhbmQgdGhlIGZpcnN0IGNvbXB1dGVyIGlzIG5vIGxvbmdlciBydW5uaW5nLgpXZSBjYW4gcnVuIHRoZSB0d28gY29tcHV0ZXJzIHNpbXVsdGFuZW91c2x5IGZvciBhdCBtb3N0IDQgbWludXRlcywgc28gd2UgcmV0dXJuIDQuCgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAxLzA2L2V4YW1wbGUyLnBuZyIgc3R5bGU9IndpZHRoOiA2MjlweDsgaGVpZ2h0OiAxNTBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gMiwgYmF0dGVyaWVzID0gWzEsMSwxLDFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApJbml0aWFsbHksIGluc2VydCBiYXR0ZXJ5IDAgaW50byB0aGUgZmlyc3QgY29tcHV0ZXIgYW5kIGJhdHRlcnkgMiBpbnRvIHRoZSBzZWNvbmQgY29tcHV0ZXIuIApBZnRlciBvbmUgbWludXRlLCBiYXR0ZXJ5IDAgYW5kIGJhdHRlcnkgMiBhcmUgZHJhaW5lZCBzbyB5b3UgbmVlZCB0byByZW1vdmUgdGhlbSBhbmQgaW5zZXJ0IGJhdHRlcnkgMSBpbnRvIHRoZSBmaXJzdCBjb21wdXRlciBhbmQgYmF0dGVyeSAzIGludG8gdGhlIHNlY29uZCBjb21wdXRlci4gCkFmdGVyIGFub3RoZXIgbWludXRlLCBiYXR0ZXJ5IDEgYW5kIGJhdHRlcnkgMyBhcmUgYWxzbyBkcmFpbmVkIHNvIHRoZSBmaXJzdCBhbmQgc2Vjb25kIGNvbXB1dGVycyBhcmUgbm8gbG9uZ2VyIHJ1bm5pbmcuCldlIGNhbiBydW4gdGhlIHR3byBjb21wdXRlcnMgc2ltdWx0YW5lb3VzbHkgZm9yIGF0IG1vc3QgMiBtaW51dGVzLCBzbyB3ZSByZXR1cm4gMi4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IGJhdHRlcmllcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gYmF0dGVyaWVzW2ldICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Greedy",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2136. Earliest Possible Day of Full Bloom",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBoYXZlIDxjb2RlPm48L2NvZGU+IGZsb3dlciBzZWVkcy4gRXZlcnkgc2VlZCBtdXN0IGJlIHBsYW50ZWQgZmlyc3QgYmVmb3JlIGl0IGNhbiBiZWdpbiB0byBncm93LCB0aGVuIGJsb29tLiBQbGFudGluZyBhIHNlZWQgdGFrZXMgdGltZSBhbmQgc28gZG9lcyB0aGUgZ3Jvd3RoIG9mIGEgc2VlZC4gWW91IGFyZSBnaXZlbiB0d28gPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheXMgPGNvZGU+cGxhbnRUaW1lPC9jb2RlPiBhbmQgPGNvZGU+Z3Jvd1RpbWU8L2NvZGU+LCBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4gZWFjaDo8L3A+Cjx1bD4KPGxpPjxjb2RlPnBsYW50VGltZVtpXTwvY29kZT4gaXMgdGhlIG51bWJlciBvZiA8c3Ryb25nPmZ1bGwgZGF5czwvc3Ryb25nPiBpdCB0YWtlcyB5b3UgdG8gPHN0cm9uZz5wbGFudDwvc3Ryb25nPiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHNlZWQuIEV2ZXJ5IGRheSwgeW91IGNhbiB3b3JrIG9uIHBsYW50aW5nIGV4YWN0bHkgb25lIHNlZWQuIFlvdSA8c3Ryb25nPmRvIG5vdDwvc3Ryb25nPiBoYXZlIHRvIHdvcmsgb24gcGxhbnRpbmcgdGhlIHNhbWUgc2VlZCBvbiBjb25zZWN1dGl2ZSBkYXlzLCBidXQgdGhlIHBsYW50aW5nIG9mIGEgc2VlZCBpcyBub3QgY29tcGxldGUgPHN0cm9uZz51bnRpbDwvc3Ryb25nPiB5b3UgaGF2ZSB3b3JrZWQgPGNvZGU+cGxhbnRUaW1lW2ldPC9jb2RlPiBkYXlzIG9uIHBsYW50aW5nIGl0IGluIHRvdGFsLjwvbGk+CjxsaT48Y29kZT5ncm93VGltZVtpXTwvY29kZT4gaXMgdGhlIG51bWJlciBvZiA8c3Ryb25nPmZ1bGwgZGF5czwvc3Ryb25nPiBpdCB0YWtlcyB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHNlZWQgdG8gZ3JvdyBhZnRlciBiZWluZyBjb21wbGV0ZWx5IHBsYW50ZWQuIDxzdHJvbmc+QWZ0ZXI8L3N0cm9uZz4gdGhlIGxhc3QgZGF5IG9mIGl0cyBncm93dGgsIHRoZSBmbG93ZXIgPHN0cm9uZz5ibG9vbXM8L3N0cm9uZz4gYW5kIHN0YXlzIGJsb29tZWQgZm9yZXZlci48L2xpPgo8L3VsPgo8cD5Gcm9tIHRoZSBiZWdpbm5pbmcgb2YgZGF5IDxjb2RlPjA8L2NvZGU+LCB5b3UgY2FuIHBsYW50IHRoZSBzZWVkcyBpbiA8c3Ryb25nPmFueTwvc3Ryb25nPiBvcmRlci48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+ZWFybGllc3Q8L3N0cm9uZz4gcG9zc2libGUgZGF5IHdoZXJlIDxzdHJvbmc+YWxsPC9zdHJvbmc+IHNlZWRzIGFyZSBibG9vbWluZzwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8xMi8yMS8xLnBuZyIgc3R5bGU9IndpZHRoOiA0NTNweDsgaGVpZ2h0OiAxNDlweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBwbGFudFRpbWUgPSBbMSw0LDNdLCBncm93VGltZSA9IFsyLDMsMV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDkKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGdyYXllZCBvdXQgcG90cyByZXByZXNlbnQgcGxhbnRpbmcgZGF5cywgY29sb3JlZCBwb3RzIHJlcHJlc2VudCBncm93aW5nIGRheXMsIGFuZCB0aGUgZmxvd2VyIHJlcHJlc2VudHMgdGhlIGRheSBpdCBibG9vbXMuCk9uZSBvcHRpbWFsIHdheSBpczoKT24gZGF5IDAsIHBsYW50IHRoZSAwPHN1cD50aDwvc3VwPiBzZWVkLiBUaGUgc2VlZCBncm93cyBmb3IgMiBmdWxsIGRheXMgYW5kIGJsb29tcyBvbiBkYXkgMy4KT24gZGF5cyAxLCAyLCAzLCBhbmQgNCwgcGxhbnQgdGhlIDE8c3VwPnN0PC9zdXA+IHNlZWQuIFRoZSBzZWVkIGdyb3dzIGZvciAzIGZ1bGwgZGF5cyBhbmQgYmxvb21zIG9uIGRheSA4LgpPbiBkYXlzIDUsIDYsIGFuZCA3LCBwbGFudCB0aGUgMjxzdXA+bmQ8L3N1cD4gc2VlZC4gVGhlIHNlZWQgZ3Jvd3MgZm9yIDEgZnVsbCBkYXkgYW5kIGJsb29tcyBvbiBkYXkgOS4KVGh1cywgb24gZGF5IDksIGFsbCB0aGUgc2VlZHMgYXJlIGJsb29taW5nLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzEyLzIxLzIucG5nIiBzdHlsZT0id2lkdGg6IDQ1NHB4OyBoZWlnaHQ6IDE4NHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHBsYW50VGltZSA9IFsxLDIsMywyXSwgZ3Jvd1RpbWUgPSBbMiwxLDIsMV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDkKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGdyYXllZCBvdXQgcG90cyByZXByZXNlbnQgcGxhbnRpbmcgZGF5cywgY29sb3JlZCBwb3RzIHJlcHJlc2VudCBncm93aW5nIGRheXMsIGFuZCB0aGUgZmxvd2VyIHJlcHJlc2VudHMgdGhlIGRheSBpdCBibG9vbXMuCk9uZSBvcHRpbWFsIHdheSBpczoKT24gZGF5IDEsIHBsYW50IHRoZSAwPHN1cD50aDwvc3VwPiBzZWVkLiBUaGUgc2VlZCBncm93cyBmb3IgMiBmdWxsIGRheXMgYW5kIGJsb29tcyBvbiBkYXkgNC4KT24gZGF5cyAwIGFuZCAzLCBwbGFudCB0aGUgMTxzdXA+c3Q8L3N1cD4gc2VlZC4gVGhlIHNlZWQgZ3Jvd3MgZm9yIDEgZnVsbCBkYXkgYW5kIGJsb29tcyBvbiBkYXkgNS4KT24gZGF5cyAyLCA0LCBhbmQgNSwgcGxhbnQgdGhlIDI8c3VwPm5kPC9zdXA+IHNlZWQuIFRoZSBzZWVkIGdyb3dzIGZvciAyIGZ1bGwgZGF5cyBhbmQgYmxvb21zIG9uIGRheSA4LgpPbiBkYXlzIDYgYW5kIDcsIHBsYW50IHRoZSAzPHN1cD5yZDwvc3VwPiBzZWVkLiBUaGUgc2VlZCBncm93cyBmb3IgMSBmdWxsIGRheSBhbmQgYmxvb21zIG9uIGRheSA5LgpUaHVzLCBvbiBkYXkgOSwgYWxsIHRoZSBzZWVkcyBhcmUgYmxvb21pbmcuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHBsYW50VGltZSA9IFsxXSwgZ3Jvd1RpbWUgPSBbMV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gT24gZGF5IDAsIHBsYW50IHRoZSAwPHN1cD50aDwvc3VwPiBzZWVkLiBUaGUgc2VlZCBncm93cyBmb3IgMSBmdWxsIGRheSBhbmQgYmxvb21zIG9uIGRheSAyLgpUaHVzLCBvbiBkYXkgMiwgYWxsIHRoZSBzZWVkcyBhcmUgYmxvb21pbmcuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gcGxhbnRUaW1lLmxlbmd0aCA9PSBncm93VGltZS5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBwbGFudFRpbWVbaV0sIGdyb3dUaW1lW2ldICZsdDs9IDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Greedy",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2147. Number of Ways to Divide a Long Corridor",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkFsb25nIGEgbG9uZyBsaWJyYXJ5IGNvcnJpZG9yLCB0aGVyZSBpcyBhIGxpbmUgb2Ygc2VhdHMgYW5kIGRlY29yYXRpdmUgcGxhbnRzLiBZb3UgYXJlIGdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gc3RyaW5nIDxjb2RlPmNvcnJpZG9yPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4gY29uc2lzdGluZyBvZiBsZXR0ZXJzIDxjb2RlPidTJzwvY29kZT4gYW5kIDxjb2RlPidQJzwvY29kZT4gd2hlcmUgZWFjaCA8Y29kZT4nUyc8L2NvZGU+IHJlcHJlc2VudHMgYSBzZWF0IGFuZCBlYWNoIDxjb2RlPidQJzwvY29kZT4gcmVwcmVzZW50cyBhIHBsYW50LjwvcD4KPHA+T25lIHJvb20gZGl2aWRlciBoYXMgPHN0cm9uZz5hbHJlYWR5PC9zdHJvbmc+IGJlZW4gaW5zdGFsbGVkIHRvIHRoZSBsZWZ0IG9mIGluZGV4IDxjb2RlPjA8L2NvZGU+LCBhbmQgPHN0cm9uZz5hbm90aGVyPC9zdHJvbmc+IHRvIHRoZSByaWdodCBvZiBpbmRleCA8Y29kZT5uIC0gMTwvY29kZT4uIEFkZGl0aW9uYWwgcm9vbSBkaXZpZGVycyBjYW4gYmUgaW5zdGFsbGVkLiBGb3IgZWFjaCBwb3NpdGlvbiBiZXR3ZWVuIGluZGljZXMgPGNvZGU+aSAtIDE8L2NvZGU+IGFuZCA8Y29kZT5pPC9jb2RlPiAoPGNvZGU+MSAmbHQ7PSBpICZsdDs9IG4gLSAxPC9jb2RlPiksIGF0IG1vc3Qgb25lIGRpdmlkZXIgY2FuIGJlIGluc3RhbGxlZC48L3A+CjxwPkRpdmlkZSB0aGUgY29ycmlkb3IgaW50byBub24tb3ZlcmxhcHBpbmcgc2VjdGlvbnMsIHdoZXJlIGVhY2ggc2VjdGlvbiBoYXMgPHN0cm9uZz5leGFjdGx5IHR3byBzZWF0czwvc3Ryb25nPiB3aXRoIGFueSBudW1iZXIgb2YgcGxhbnRzLiBUaGVyZSBtYXkgYmUgbXVsdGlwbGUgd2F5cyB0byBwZXJmb3JtIHRoZSBkaXZpc2lvbi4gVHdvIHdheXMgYXJlIDxzdHJvbmc+ZGlmZmVyZW50PC9zdHJvbmc+IGlmIHRoZXJlIGlzIGEgcG9zaXRpb24gd2l0aCBhIHJvb20gZGl2aWRlciBpbnN0YWxsZWQgaW4gdGhlIGZpcnN0IHdheSBidXQgbm90IGluIHRoZSBzZWNvbmQgd2F5LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgbnVtYmVyIG9mIHdheXMgdG8gZGl2aWRlIHRoZSBjb3JyaWRvcjwvZW0+LiBTaW5jZSB0aGUgYW5zd2VyIG1heSBiZSB2ZXJ5IGxhcmdlLCByZXR1cm4gaXQgPHN0cm9uZz5tb2R1bG88L3N0cm9uZz4gPGNvZGU+MTA8c3VwPjk8L3N1cD4gKyA3PC9jb2RlPi4gSWYgdGhlcmUgaXMgbm8gd2F5LCByZXR1cm4gPGNvZGU+MDwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzEyLzA0LzEucG5nIiBzdHlsZT0id2lkdGg6IDQxMHB4OyBoZWlnaHQ6IDE5OXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGNvcnJpZG9yID0gIlNTUFBTUFMiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSAzIGRpZmZlcmVudCB3YXlzIHRvIGRpdmlkZSB0aGUgY29ycmlkb3IuClRoZSBibGFjayBiYXJzIGluIHRoZSBhYm92ZSBpbWFnZSBpbmRpY2F0ZSB0aGUgdHdvIHJvb20gZGl2aWRlcnMgYWxyZWFkeSBpbnN0YWxsZWQuCk5vdGUgdGhhdCBpbiBlYWNoIG9mIHRoZSB3YXlzLCA8c3Ryb25nPmVhY2g8L3N0cm9uZz4gc2VjdGlvbiBoYXMgZXhhY3RseSA8c3Ryb25nPnR3bzwvc3Ryb25nPiBzZWF0cy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8xMi8wNC8yLnBuZyIgc3R5bGU9IndpZHRoOiAzNTdweDsgaGVpZ2h0OiA2OHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGNvcnJpZG9yID0gIlBQU1BTUCIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgaXMgb25seSAxIHdheSB0byBkaXZpZGUgdGhlIGNvcnJpZG9yLCBieSBub3QgaW5zdGFsbGluZyBhbnkgYWRkaXRpb25hbCBkaXZpZGVycy4KSW5zdGFsbGluZyBhbnkgd291bGQgY3JlYXRlIHNvbWUgc2VjdGlvbiB0aGF0IGRvZXMgbm90IGhhdmUgZXhhY3RseSB0d28gc2VhdHMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMTIvMTIvMy5wbmciIHN0eWxlPSJ3aWR0aDogMTE1cHg7IGhlaWdodDogNjhweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBjb3JyaWRvciA9ICJTIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGVyZSBpcyBubyB3YXkgdG8gZGl2aWRlIHRoZSBjb3JyaWRvciBiZWNhdXNlIHRoZXJlIHdpbGwgYWx3YXlzIGJlIGEgc2VjdGlvbiB0aGF0IGRvZXMgbm90IGhhdmUgZXhhY3RseSB0d28gc2VhdHMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gY29ycmlkb3IubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPmNvcnJpZG9yW2ldPC9jb2RlPiBpcyBlaXRoZXIgPGNvZGU+J1MnPC9jb2RlPiBvciA8Y29kZT4nUCc8L2NvZGU+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Math",
+ "String",
+ "Dynamic Programming"
+ ]
+ },
+ {
+ "title": "2127. Maximum Employees to Be Invited to a Meeting",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgY29tcGFueSBpcyBvcmdhbml6aW5nIGEgbWVldGluZyBhbmQgaGFzIGEgbGlzdCBvZiA8Y29kZT5uPC9jb2RlPiBlbXBsb3llZXMsIHdhaXRpbmcgdG8gYmUgaW52aXRlZC4gVGhleSBoYXZlIGFycmFuZ2VkIGZvciBhIGxhcmdlIDxzdHJvbmc+Y2lyY3VsYXI8L3N0cm9uZz4gdGFibGUsIGNhcGFibGUgb2Ygc2VhdGluZyA8c3Ryb25nPmFueSBudW1iZXI8L3N0cm9uZz4gb2YgZW1wbG95ZWVzLjwvcD4KPHA+VGhlIGVtcGxveWVlcyBhcmUgbnVtYmVyZWQgZnJvbSA8Y29kZT4wPC9jb2RlPiB0byA8Y29kZT5uIC0gMTwvY29kZT4uIEVhY2ggZW1wbG95ZWUgaGFzIGEgPHN0cm9uZz5mYXZvcml0ZTwvc3Ryb25nPiBwZXJzb24gYW5kIHRoZXkgd2lsbCBhdHRlbmQgdGhlIG1lZXRpbmcgPHN0cm9uZz5vbmx5IGlmPC9zdHJvbmc+IHRoZXkgY2FuIHNpdCBuZXh0IHRvIHRoZWlyIGZhdm9yaXRlIHBlcnNvbiBhdCB0aGUgdGFibGUuIFRoZSBmYXZvcml0ZSBwZXJzb24gb2YgYW4gZW1wbG95ZWUgaXMgPHN0cm9uZz5ub3Q8L3N0cm9uZz4gdGhlbXNlbGYuPC9wPgo8cD5HaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXkgPGNvZGU+ZmF2b3JpdGU8L2NvZGU+LCB3aGVyZSA8Y29kZT5mYXZvcml0ZVtpXTwvY29kZT4gZGVub3RlcyB0aGUgZmF2b3JpdGUgcGVyc29uIG9mIHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gZW1wbG95ZWUsIHJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWF4aW11bSBudW1iZXIgb2YgZW1wbG95ZWVzPC9zdHJvbmc+IHRoYXQgY2FuIGJlIGludml0ZWQgdG8gdGhlIG1lZXRpbmc8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMTIvMTQvZXgxLnBuZyIgc3R5bGU9IndpZHRoOiAyMzZweDsgaGVpZ2h0OiAxOTVweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBmYXZvcml0ZSA9IFsyLDIsMSwyXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgYWJvdmUgZmlndXJlIHNob3dzIGhvdyB0aGUgY29tcGFueSBjYW4gaW52aXRlIGVtcGxveWVlcyAwLCAxLCBhbmQgMiwgYW5kIHNlYXQgdGhlbSBhdCB0aGUgcm91bmQgdGFibGUuCkFsbCBlbXBsb3llZXMgY2Fubm90IGJlIGludml0ZWQgYmVjYXVzZSBlbXBsb3llZSAyIGNhbm5vdCBzaXQgYmVzaWRlIGVtcGxveWVlcyAwLCAxLCBhbmQgMywgc2ltdWx0YW5lb3VzbHkuCk5vdGUgdGhhdCB0aGUgY29tcGFueSBjYW4gYWxzbyBpbnZpdGUgZW1wbG95ZWVzIDEsIDIsIGFuZCAzLCBhbmQgZ2l2ZSB0aGVtIHRoZWlyIGRlc2lyZWQgc2VhdHMuClRoZSBtYXhpbXVtIG51bWJlciBvZiBlbXBsb3llZXMgdGhhdCBjYW4gYmUgaW52aXRlZCB0byB0aGUgbWVldGluZyBpcyAzLiAKPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZmF2b3JpdGUgPSBbMSwyLDBdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApFYWNoIGVtcGxveWVlIGlzIHRoZSBmYXZvcml0ZSBwZXJzb24gb2YgYXQgbGVhc3Qgb25lIG90aGVyIGVtcGxveWVlLCBhbmQgdGhlIG9ubHkgd2F5IHRoZSBjb21wYW55IGNhbiBpbnZpdGUgdGhlbSBpcyBpZiB0aGV5IGludml0ZSBldmVyeSBlbXBsb3llZS4KVGhlIHNlYXRpbmcgYXJyYW5nZW1lbnQgd2lsbCBiZSB0aGUgc2FtZSBhcyB0aGF0IGluIHRoZSBmaWd1cmUgZ2l2ZW4gaW4gZXhhbXBsZSAxOgotIEVtcGxveWVlIDAgd2lsbCBzaXQgYmV0d2VlbiBlbXBsb3llZXMgMiBhbmQgMS4KLSBFbXBsb3llZSAxIHdpbGwgc2l0IGJldHdlZW4gZW1wbG95ZWVzIDAgYW5kIDIuCi0gRW1wbG95ZWUgMiB3aWxsIHNpdCBiZXR3ZWVuIGVtcGxveWVlcyAxIGFuZCAwLgpUaGUgbWF4aW11bSBudW1iZXIgb2YgZW1wbG95ZWVzIHRoYXQgY2FuIGJlIGludml0ZWQgdG8gdGhlIG1lZXRpbmcgaXMgMy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8xMi8xNC9leDIucG5nIiBzdHlsZT0id2lkdGg6IDIxOXB4OyBoZWlnaHQ6IDIyMHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGZhdm9yaXRlID0gWzMsMCwxLDQsMV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIGFib3ZlIGZpZ3VyZSBzaG93cyBob3cgdGhlIGNvbXBhbnkgd2lsbCBpbnZpdGUgZW1wbG95ZWVzIDAsIDEsIDMsIGFuZCA0LCBhbmQgc2VhdCB0aGVtIGF0IHRoZSByb3VuZCB0YWJsZS4KRW1wbG95ZWUgMiBjYW5ub3QgYmUgaW52aXRlZCBiZWNhdXNlIHRoZSB0d28gc3BvdHMgbmV4dCB0byB0aGVpciBmYXZvcml0ZSBlbXBsb3llZSAxIGFyZSB0YWtlbi4KU28gdGhlIGNvbXBhbnkgbGVhdmVzIHRoZW0gb3V0IG9mIHRoZSBtZWV0aW5nLgpUaGUgbWF4aW11bSBudW1iZXIgb2YgZW1wbG95ZWVzIHRoYXQgY2FuIGJlIGludml0ZWQgdG8gdGhlIG1lZXRpbmcgaXMgNC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBmYXZvcml0ZS5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjIgJmx0Oz0gbiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBmYXZvcml0ZVtpXSAmbHQ7PcKgbiAtIDE8L2NvZGU+PC9saT4KPGxpPjxjb2RlPmZhdm9yaXRlW2ldICE9IGk8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Depth-First Search",
+ "Graph",
+ "Topological Sort"
+ ]
+ },
+ {
+ "title": "2122. Recover the Original Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkFsaWNlIGhhZCBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGFycmF5IDxjb2RlPmFycjwvY29kZT4gY29uc2lzdGluZyBvZiA8Y29kZT5uPC9jb2RlPiA8c3Ryb25nPnBvc2l0aXZlPC9zdHJvbmc+IGludGVnZXJzLiBTaGUgY2hvc2UgYW4gYXJiaXRyYXJ5IDxzdHJvbmc+cG9zaXRpdmUgaW50ZWdlcjwvc3Ryb25nPiA8Y29kZT5rPC9jb2RlPiBhbmQgY3JlYXRlZCB0d28gbmV3IDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXlzIDxjb2RlPmxvd2VyPC9jb2RlPiBhbmQgPGNvZGU+aGlnaGVyPC9jb2RlPiBpbiB0aGUgZm9sbG93aW5nIG1hbm5lcjo8L3A+CjxvbD4KPGxpPjxjb2RlPmxvd2VyW2ldID0gYXJyW2ldIC0gazwvY29kZT4sIGZvciBldmVyeSBpbmRleCA8Y29kZT5pPC9jb2RlPiB3aGVyZSA8Y29kZT4wICZsdDs9IGkgJmx0OyBuPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5oaWdoZXJbaV0gPSBhcnJbaV0gKyBrPC9jb2RlPiwgZm9yIGV2ZXJ5IGluZGV4IDxjb2RlPmk8L2NvZGU+IHdoZXJlIDxjb2RlPjAgJmx0Oz0gaSAmbHQ7IG48L2NvZGU+PC9saT4KPC9vbD4KPHA+VW5mb3J0dW5hdGVseSwgQWxpY2UgbG9zdCBhbGwgdGhyZWUgYXJyYXlzLiBIb3dldmVyLCBzaGUgcmVtZW1iZXJzIHRoZSBpbnRlZ2VycyB0aGF0IHdlcmUgcHJlc2VudCBpbiB0aGUgYXJyYXlzIDxjb2RlPmxvd2VyPC9jb2RlPiBhbmQgPGNvZGU+aGlnaGVyPC9jb2RlPiwgYnV0IG5vdCB0aGUgYXJyYXkgZWFjaCBpbnRlZ2VyIGJlbG9uZ2VkIHRvLiBIZWxwIEFsaWNlIGFuZCByZWNvdmVyIHRoZSBvcmlnaW5hbCBhcnJheS48L3A+CjxwPkdpdmVuIGFuIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IGNvbnNpc3Rpbmcgb2YgPGNvZGU+Mm48L2NvZGU+IGludGVnZXJzLCB3aGVyZSA8c3Ryb25nPmV4YWN0bHk8L3N0cm9uZz4gPGNvZGU+bjwvY29kZT4gb2YgdGhlIGludGVnZXJzIHdlcmUgcHJlc2VudCBpbiA8Y29kZT5sb3dlcjwvY29kZT4gYW5kIHRoZSByZW1haW5pbmcgaW4gPGNvZGU+aGlnaGVyPC9jb2RlPiwgcmV0dXJuIDxlbT50aGUgPHN0cm9uZz5vcmlnaW5hbDwvc3Ryb25nPiBhcnJheTwvZW0+IDxjb2RlPmFycjwvY29kZT4uIEluIGNhc2UgdGhlIGFuc3dlciBpcyBub3QgdW5pcXVlLCByZXR1cm4gPGVtPjxzdHJvbmc+YW55PC9zdHJvbmc+IHZhbGlkIGFycmF5PC9lbT4uPC9wPgo8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoZSB0ZXN0IGNhc2VzIGFyZSBnZW5lcmF0ZWQgc3VjaCB0aGF0IHRoZXJlIGV4aXN0cyA8c3Ryb25nPmF0IGxlYXN0IG9uZTwvc3Ryb25nPiB2YWxpZCBhcnJheSA8Y29kZT5hcnI8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsyLDEwLDYsNCw4LDEyXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzMsNywxMV0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KSWYgYXJyID0gWzMsNywxMV0gYW5kIGsgPSAxLCB3ZSBnZXQgbG93ZXIgPSBbMiw2LDEwXSBhbmQgaGlnaGVyID0gWzQsOCwxMl0uCkNvbWJpbmluZyBsb3dlciBhbmQgaGlnaGVyIGdpdmVzIHVzIFsyLDYsMTAsNCw4LDEyXSwgd2hpY2ggaXMgYSBwZXJtdXRhdGlvbiBvZiBudW1zLgpBbm90aGVyIHZhbGlkIHBvc3NpYmlsaXR5IGlzIHRoYXQgYXJyID0gWzUsNyw5XSBhbmQgayA9IDMuIEluIHRoYXQgY2FzZSwgbG93ZXIgPSBbMiw0LDZdIGFuZCBoaWdoZXIgPSBbOCwxMCwxMl0uIAo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMSwzLDNdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMiwyXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpJZiBhcnIgPSBbMiwyXSBhbmQgayA9IDEsIHdlIGdldCBsb3dlciA9IFsxLDFdIGFuZCBoaWdoZXIgPSBbMywzXS4KQ29tYmluaW5nIGxvd2VyIGFuZCBoaWdoZXIgZ2l2ZXMgdXMgWzEsMSwzLDNdLCB3aGljaCBpcyBlcXVhbCB0byBudW1zLgpOb3RlIHRoYXQgYXJyIGNhbm5vdCBiZSBbMSwzXSBiZWNhdXNlIGluIHRoYXQgY2FzZSwgdGhlIG9ubHkgcG9zc2libGUgd2F5IHRvIG9idGFpbiBbMSwxLDMsM10gaXMgd2l0aCBrID0gMC4KVGhpcyBpcyBpbnZhbGlkIHNpbmNlIGsgbXVzdCBiZSBwb3NpdGl2ZS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs1LDQzNV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsyMjBdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBvbmx5IHBvc3NpYmxlIGNvbWJpbmF0aW9uIGlzIGFyciA9IFsyMjBdIGFuZCBrID0gMjE1LiBVc2luZyB0aGVtLCB3ZSBnZXQgbG93ZXIgPSBbNV0gYW5kIGhpZ2hlciA9IFs0MzVdLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4yICogbiA9PSBudW1zLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8bGk+VGhlIHRlc3QgY2FzZXMgYXJlIGdlbmVyYXRlZCBzdWNoIHRoYXQgdGhlcmUgZXhpc3RzIDxzdHJvbmc+YXQgbGVhc3Qgb25lPC9zdHJvbmc+IHZhbGlkIGFycmF5IDxjb2RlPmFycjwvY29kZT4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Sorting",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2111. Minimum Operations to Make the Array K-Increasing",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBhcnJheSA8Y29kZT5hcnI8L2NvZGU+IGNvbnNpc3Rpbmcgb2YgPGNvZGU+bjwvY29kZT4gcG9zaXRpdmUgaW50ZWdlcnMsIGFuZCBhIHBvc2l0aXZlIGludGVnZXIgPGNvZGU+azwvY29kZT4uPC9wPgo8cD5UaGUgYXJyYXkgPGNvZGU+YXJyPC9jb2RlPiBpcyBjYWxsZWQgPHN0cm9uZz5LLWluY3JlYXNpbmc8L3N0cm9uZz4gaWYgPGNvZGU+YXJyW2kta10gJmx0Oz0gYXJyW2ldPC9jb2RlPiBob2xkcyBmb3IgZXZlcnkgaW5kZXggPGNvZGU+aTwvY29kZT4sIHdoZXJlIDxjb2RlPmsgJmx0Oz0gaSAmbHQ7PSBuLTE8L2NvZGU+LjwvcD4KPHVsPgo8bGk+Rm9yIGV4YW1wbGUsIDxjb2RlPmFyciA9IFs0LCAxLCA1LCAyLCA2LCAyXTwvY29kZT4gaXMgSy1pbmNyZWFzaW5nIGZvciA8Y29kZT5rID0gMjwvY29kZT4gYmVjYXVzZToKCgk8dWw+CjxsaT48Y29kZT5hcnJbMF0gJmx0Oz0gYXJyWzJdICg0ICZsdDs9IDUpPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5hcnJbMV0gJmx0Oz0gYXJyWzNdICgxICZsdDs9IDIpPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5hcnJbMl0gJmx0Oz0gYXJyWzRdICg1ICZsdDs9IDYpPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5hcnJbM10gJmx0Oz0gYXJyWzVdICgyICZsdDs9IDIpPC9jb2RlPjwvbGk+CjwvdWw+CjwvbGk+CjxsaT5Ib3dldmVyLCB0aGUgc2FtZSA8Y29kZT5hcnI8L2NvZGU+IGlzIG5vdCBLLWluY3JlYXNpbmcgZm9yIDxjb2RlPmsgPSAxPC9jb2RlPiAoYmVjYXVzZSA8Y29kZT5hcnJbMF0gJmd0OyBhcnJbMV08L2NvZGU+KSBvciA8Y29kZT5rID0gMzwvY29kZT4gKGJlY2F1c2UgPGNvZGU+YXJyWzBdICZndDsgYXJyWzNdPC9jb2RlPikuPC9saT4KPC91bD4KPHA+SW4gb25lIDxzdHJvbmc+b3BlcmF0aW9uPC9zdHJvbmc+LCB5b3UgY2FuIGNob29zZSBhbiBpbmRleCA8Y29kZT5pPC9jb2RlPiBhbmQgPHN0cm9uZz5jaGFuZ2U8L3N0cm9uZz4gPGNvZGU+YXJyW2ldPC9jb2RlPiBpbnRvIDxzdHJvbmc+YW55PC9zdHJvbmc+IHBvc2l0aXZlIGludGVnZXIuPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1pbmltdW0gbnVtYmVyIG9mIG9wZXJhdGlvbnM8L3N0cm9uZz4gcmVxdWlyZWQgdG8gbWFrZSB0aGUgYXJyYXkgSy1pbmNyZWFzaW5nIGZvciB0aGUgZ2l2ZW4gPC9lbT48Y29kZT5rPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGFyciA9IFs1LDQsMywyLDFdLCBrID0gMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNAo8c3Ryb25nPkV4cGxhbmF0aW9uOgo8L3N0cm9uZz5Gb3IgayA9IDEsIHRoZSByZXN1bHRhbnQgYXJyYXkgaGFzIHRvIGJlIG5vbi1kZWNyZWFzaW5nLgpTb21lIG9mIHRoZSBLLWluY3JlYXNpbmcgYXJyYXlzIHRoYXQgY2FuIGJlIGZvcm1lZCBhcmUgWzUsPHU+PHN0cm9uZz42PC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjc8L3N0cm9uZz48L3U+LDx1PjxzdHJvbmc+ODwvc3Ryb25nPjwvdT4sPHU+PHN0cm9uZz45PC9zdHJvbmc+PC91Pl0sIFs8dT48c3Ryb25nPjE8L3N0cm9uZz48L3U+LDx1PjxzdHJvbmc+MTwvc3Ryb25nPjwvdT4sPHU+PHN0cm9uZz4xPC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjE8L3N0cm9uZz48L3U+LDFdLCBbPHU+PHN0cm9uZz4yPC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjI8L3N0cm9uZz48L3U+LDMsPHU+PHN0cm9uZz40PC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjQ8L3N0cm9uZz48L3U+XS4gQWxsIG9mIHRoZW0gcmVxdWlyZSA0IG9wZXJhdGlvbnMuCkl0IGlzIHN1Ym9wdGltYWwgdG8gY2hhbmdlIHRoZSBhcnJheSB0bywgZm9yIGV4YW1wbGUsIFs8dT48c3Ryb25nPjY8L3N0cm9uZz48L3U+LDx1PjxzdHJvbmc+Nzwvc3Ryb25nPjwvdT4sPHU+PHN0cm9uZz44PC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjk8L3N0cm9uZz48L3U+LDx1PjxzdHJvbmc+MTA8L3N0cm9uZz48L3U+XSBiZWNhdXNlIGl0IHdvdWxkIHRha2UgNSBvcGVyYXRpb25zLgpJdCBjYW4gYmUgc2hvd24gdGhhdCB3ZSBjYW5ub3QgbWFrZSB0aGUgYXJyYXkgSy1pbmNyZWFzaW5nIGluIGxlc3MgdGhhbiA0IG9wZXJhdGlvbnMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGFyciA9IFs0LDEsNSwyLDYsMl0sIGsgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoaXMgaXMgdGhlIHNhbWUgZXhhbXBsZSBhcyB0aGUgb25lIGluIHRoZSBwcm9ibGVtIGRlc2NyaXB0aW9uLgpIZXJlLCBmb3IgZXZlcnkgaW5kZXggaSB3aGVyZSAyICZsdDs9IGkgJmx0Oz0gNSwgYXJyW2ktMl0gJmx0Oz08Yj4gPC9iPmFycltpXS4KU2luY2UgdGhlIGdpdmVuIGFycmF5IGlzIGFscmVhZHkgSy1pbmNyZWFzaW5nLCB3ZSBkbyBub3QgbmVlZCB0byBwZXJmb3JtIGFueSBvcGVyYXRpb25zLjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGFyciA9IFs0LDEsNSwyLDYsMl0sIGsgPSAzCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+CkluZGljZXMgMyBhbmQgNSBhcmUgdGhlIG9ubHkgb25lcyBub3Qgc2F0aXNmeWluZyBhcnJbaS0zXSAmbHQ7PSBhcnJbaV0gZm9yIDMgJmx0Oz0gaSAmbHQ7PSA1LgpPbmUgb2YgdGhlIHdheXMgd2UgY2FuIG1ha2UgdGhlIGFycmF5IEstaW5jcmVhc2luZyBpcyBieSBjaGFuZ2luZyBhcnJbM10gdG8gNCBhbmQgYXJyWzVdIHRvIDUuClRoZSBhcnJheSB3aWxsIG5vdyBiZSBbNCwxLDUsPHU+PHN0cm9uZz40PC9zdHJvbmc+PC91Piw2LDx1PjxzdHJvbmc+NTwvc3Ryb25nPjwvdT5dLgpOb3RlIHRoYXQgdGhlcmUgY2FuIGJlIG90aGVyIHdheXMgdG8gbWFrZSB0aGUgYXJyYXkgSy1pbmNyZWFzaW5nLCBidXQgbm9uZSBvZiB0aGVtIHJlcXVpcmUgbGVzcyB0aGFuIDIgb3BlcmF0aW9ucy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBhcnIubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGFycltpXSwgayAmbHQ7PSBhcnIubGVuZ3RoPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search"
+ ]
+ },
+ {
+ "title": "2106. Maximum Fruits Harvested After at Most K Steps",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkZydWl0cyBhcmUgYXZhaWxhYmxlIGF0IHNvbWUgcG9zaXRpb25zIG9uIGFuIGluZmluaXRlIHgtYXhpcy4gWW91IGFyZSBnaXZlbiBhIDJEIGludGVnZXIgYXJyYXkgPGNvZGU+ZnJ1aXRzPC9jb2RlPiB3aGVyZSA8Y29kZT5mcnVpdHNbaV0gPSBbcG9zaXRpb248c3ViPmk8L3N1Yj4sIGFtb3VudDxzdWI+aTwvc3ViPl08L2NvZGU+IGRlcGljdHMgPGNvZGU+YW1vdW50PHN1Yj5pPC9zdWI+PC9jb2RlPiBmcnVpdHMgYXQgdGhlIHBvc2l0aW9uIDxjb2RlPnBvc2l0aW9uPHN1Yj5pPC9zdWI+PC9jb2RlPi4gPGNvZGU+ZnJ1aXRzPC9jb2RlPiBpcyBhbHJlYWR5IDxzdHJvbmc+c29ydGVkPC9zdHJvbmc+IGJ5IDxjb2RlPnBvc2l0aW9uPHN1Yj5pPC9zdWI+PC9jb2RlPiBpbiA8c3Ryb25nPmFzY2VuZGluZyBvcmRlcjwvc3Ryb25nPiwgYW5kIGVhY2ggPGNvZGU+cG9zaXRpb248c3ViPmk8L3N1Yj48L2NvZGU+IGlzIDxzdHJvbmc+dW5pcXVlPC9zdHJvbmc+LjwvcD4KPHA+WW91IGFyZSBhbHNvIGdpdmVuIGFuIGludGVnZXIgPGNvZGU+c3RhcnRQb3M8L2NvZGU+IGFuZCBhbiBpbnRlZ2VyIDxjb2RlPms8L2NvZGU+LiBJbml0aWFsbHksIHlvdSBhcmUgYXQgdGhlIHBvc2l0aW9uIDxjb2RlPnN0YXJ0UG9zPC9jb2RlPi4gRnJvbSBhbnkgcG9zaXRpb24sIHlvdSBjYW4gZWl0aGVyIHdhbGsgdG8gdGhlIDxzdHJvbmc+bGVmdCBvciByaWdodDwvc3Ryb25nPi4gSXQgdGFrZXMgPHN0cm9uZz5vbmUgc3RlcDwvc3Ryb25nPiB0byBtb3ZlIDxzdHJvbmc+b25lIHVuaXQ8L3N0cm9uZz4gb24gdGhlIHgtYXhpcywgYW5kIHlvdSBjYW4gd2FsayA8c3Ryb25nPmF0IG1vc3Q8L3N0cm9uZz4gPGNvZGU+azwvY29kZT4gc3RlcHMgaW4gdG90YWwuIEZvciBldmVyeSBwb3NpdGlvbiB5b3UgcmVhY2gsIHlvdSBoYXJ2ZXN0IGFsbCB0aGUgZnJ1aXRzIGF0IHRoYXQgcG9zaXRpb24sIGFuZCB0aGUgZnJ1aXRzIHdpbGwgZGlzYXBwZWFyIGZyb20gdGhhdCBwb3NpdGlvbi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWF4aW11bSB0b3RhbCBudW1iZXI8L3N0cm9uZz4gb2YgZnJ1aXRzIHlvdSBjYW4gaGFydmVzdDwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8xMS8yMS8xLnBuZyIgc3R5bGU9IndpZHRoOiA0NzJweDsgaGVpZ2h0OiAxMTVweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBmcnVpdHMgPSBbWzIsOF0sWzYsM10sWzgsNl1dLCBzdGFydFBvcyA9IDUsIGsgPSA0CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA5CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApUaGUgb3B0aW1hbCB3YXkgaXMgdG86Ci0gTW92ZSByaWdodCB0byBwb3NpdGlvbiA2IGFuZCBoYXJ2ZXN0IDMgZnJ1aXRzCi0gTW92ZSByaWdodCB0byBwb3NpdGlvbiA4IGFuZCBoYXJ2ZXN0IDYgZnJ1aXRzCllvdSBtb3ZlZCAzIHN0ZXBzIGFuZCBoYXJ2ZXN0ZWQgMyArIDYgPSA5IGZydWl0cyBpbiB0b3RhbC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8xMS8yMS8yLnBuZyIgc3R5bGU9IndpZHRoOiA1MTJweDsgaGVpZ2h0OiAxMjlweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBmcnVpdHMgPSBbWzAsOV0sWzQsMV0sWzUsN10sWzYsMl0sWzcsNF0sWzEwLDldXSwgc3RhcnRQb3MgPSA1LCBrID0gNAo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCllvdSBjYW4gbW92ZSBhdCBtb3N0IGsgPSA0IHN0ZXBzLCBzbyB5b3UgY2Fubm90IHJlYWNoIHBvc2l0aW9uIDAgbm9yIDEwLgpUaGUgb3B0aW1hbCB3YXkgaXMgdG86Ci0gSGFydmVzdCB0aGUgNyBmcnVpdHMgYXQgdGhlIHN0YXJ0aW5nIHBvc2l0aW9uIDUKLSBNb3ZlIGxlZnQgdG8gcG9zaXRpb24gNCBhbmQgaGFydmVzdCAxIGZydWl0Ci0gTW92ZSByaWdodCB0byBwb3NpdGlvbiA2IGFuZCBoYXJ2ZXN0IDIgZnJ1aXRzCi0gTW92ZSByaWdodCB0byBwb3NpdGlvbiA3IGFuZCBoYXJ2ZXN0IDQgZnJ1aXRzCllvdSBtb3ZlZCAxICsgMyA9IDQgc3RlcHMgYW5kIGhhcnZlc3RlZCA3ICsgMSArIDIgKyA0ID0gMTQgZnJ1aXRzIGluIHRvdGFsLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzExLzIxLzMucG5nIiBzdHlsZT0id2lkdGg6IDQ3NnB4OyBoZWlnaHQ6IDEwMHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGZydWl0cyA9IFtbMCwzXSxbNiw0XSxbOCw1XV0sIHN0YXJ0UG9zID0gMywgayA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KWW91IGNhbiBtb3ZlIGF0IG1vc3QgayA9IDIgc3RlcHMgYW5kIGNhbm5vdCByZWFjaCBhbnkgcG9zaXRpb24gd2l0aCBmcnVpdHMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gZnJ1aXRzLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+ZnJ1aXRzW2ldLmxlbmd0aCA9PSAyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IHN0YXJ0UG9zLCBwb3NpdGlvbjxzdWI+aTwvc3ViPiAmbHQ7PSAyICogMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnBvc2l0aW9uPHN1Yj5pLTE8L3N1Yj4gJmx0OyBwb3NpdGlvbjxzdWI+aTwvc3ViPjwvY29kZT4gZm9yIGFueSA8Y29kZT5pICZndDsgMDwvY29kZT7CoCg8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPik8L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBhbW91bnQ8c3ViPmk8L3N1Yj4gJmx0Oz0gMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gayAmbHQ7PSAyICogMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Sliding Window",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2117. Abbreviating the Product of a Range",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIHBvc2l0aXZlIGludGVnZXJzIDxjb2RlPmxlZnQ8L2NvZGU+IGFuZCA8Y29kZT5yaWdodDwvY29kZT4gd2l0aCA8Y29kZT5sZWZ0ICZsdDs9IHJpZ2h0PC9jb2RlPi4gQ2FsY3VsYXRlIHRoZSA8c3Ryb25nPnByb2R1Y3Q8L3N0cm9uZz4gb2YgYWxsIGludGVnZXJzIGluIHRoZSA8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPiByYW5nZSA8Y29kZT5bbGVmdCwgcmlnaHRdPC9jb2RlPi48L3A+CjxwPlNpbmNlIHRoZSBwcm9kdWN0IG1heSBiZSB2ZXJ5IGxhcmdlLCB5b3Ugd2lsbCA8c3Ryb25nPmFiYnJldmlhdGU8L3N0cm9uZz4gaXQgZm9sbG93aW5nIHRoZXNlIHN0ZXBzOjwvcD4KPG9sPgo8bGk+Q291bnQgYWxsIDxzdHJvbmc+dHJhaWxpbmc8L3N0cm9uZz4gemVyb3MgaW4gdGhlIHByb2R1Y3QgYW5kIDxzdHJvbmc+cmVtb3ZlPC9zdHJvbmc+IHRoZW0uIExldCB1cyBkZW5vdGUgdGhpcyBjb3VudCBhcyA8Y29kZT5DPC9jb2RlPi4KCgk8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgdGhlcmUgYXJlIDxjb2RlPjM8L2NvZGU+IHRyYWlsaW5nIHplcm9zIGluIDxjb2RlPjEwMDA8L2NvZGU+LCBhbmQgdGhlcmUgYXJlIDxjb2RlPjA8L2NvZGU+IHRyYWlsaW5nIHplcm9zIGluIDxjb2RlPjU0NjwvY29kZT4uPC9saT4KPC91bD4KPC9saT4KPGxpPkRlbm90ZSB0aGUgcmVtYWluaW5nIG51bWJlciBvZiBkaWdpdHMgaW4gdGhlIHByb2R1Y3QgYXMgPGNvZGU+ZDwvY29kZT4uIElmIDxjb2RlPmQgJmd0OyAxMDwvY29kZT4sIHRoZW4gZXhwcmVzcyB0aGUgcHJvZHVjdCBhcyA8Y29kZT4mbHQ7cHJlJmd0Oy4uLiZsdDtzdWYmZ3Q7PC9jb2RlPiB3aGVyZSA8Y29kZT4mbHQ7cHJlJmd0OzwvY29kZT4gZGVub3RlcyB0aGUgPHN0cm9uZz5maXJzdDwvc3Ryb25nPiA8Y29kZT41PC9jb2RlPiBkaWdpdHMgb2YgdGhlIHByb2R1Y3QsIGFuZCA8Y29kZT4mbHQ7c3VmJmd0OzwvY29kZT4gZGVub3RlcyB0aGUgPHN0cm9uZz5sYXN0PC9zdHJvbmc+IDxjb2RlPjU8L2NvZGU+IGRpZ2l0cyBvZiB0aGUgcHJvZHVjdCA8c3Ryb25nPmFmdGVyPC9zdHJvbmc+IHJlbW92aW5nIGFsbCB0cmFpbGluZyB6ZXJvcy4gSWYgPGNvZGU+ZCAmbHQ7PSAxMDwvY29kZT4sIHdlIGtlZXAgaXQgdW5jaGFuZ2VkLgoJPHVsPgo8bGk+Rm9yIGV4YW1wbGUsIHdlIGV4cHJlc3MgPGNvZGU+MTIzNDU2NzY1NDMyMTwvY29kZT4gYXMgPGNvZGU+MTIzNDUuLi41NDMyMTwvY29kZT4sIGJ1dCA8Y29kZT4xMjM0NTY3PC9jb2RlPiBpcyByZXByZXNlbnRlZCBhcyA8Y29kZT4xMjM0NTY3PC9jb2RlPi48L2xpPgo8L3VsPgo8L2xpPgo8bGk+RmluYWxseSwgcmVwcmVzZW50IHRoZSBwcm9kdWN0IGFzIGEgPHN0cm9uZz5zdHJpbmc8L3N0cm9uZz4gPGNvZGU+IiZsdDtwcmUmZ3Q7Li4uJmx0O3N1ZiZndDtlQyI8L2NvZGU+LgoJPHVsPgo8bGk+Rm9yIGV4YW1wbGUsIDxjb2RlPjEyMzQ1Njc4OTg3NjAwMDAwPC9jb2RlPiB3aWxsIGJlIHJlcHJlc2VudGVkIGFzIDxjb2RlPiIxMjM0NS4uLjg5ODc2ZTUiPC9jb2RlPi48L2xpPgo8L3VsPgo8L2xpPgo8L29sPgo8cD5SZXR1cm4gPGVtPmEgc3RyaW5nIGRlbm90aW5nIHRoZSA8c3Ryb25nPmFiYnJldmlhdGVkIHByb2R1Y3Q8L3N0cm9uZz4gb2YgYWxsIGludGVnZXJzIGluIHRoZSA8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPiByYW5nZTwvZW0+IDxjb2RlPltsZWZ0LCByaWdodF08L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbGVmdCA9IDEsIHJpZ2h0ID0gNAo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gIjI0ZTAiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBwcm9kdWN0IGlzIDEgw5cgMiDDlyAzIMOXIDQgPSAyNC4KVGhlcmUgYXJlIG5vIHRyYWlsaW5nIHplcm9zLCBzbyAyNCByZW1haW5zIHRoZSBzYW1lLiBUaGUgYWJicmV2aWF0aW9uIHdpbGwgZW5kIHdpdGggImUwIi4KU2luY2UgdGhlIG51bWJlciBvZiBkaWdpdHMgaXMgMiwgd2hpY2ggaXMgbGVzcyB0aGFuIDEwLCB3ZSBkbyBub3QgaGF2ZSB0byBhYmJyZXZpYXRlIGl0IGZ1cnRoZXIuClRodXMsIHRoZSBmaW5hbCByZXByZXNlbnRhdGlvbiBpcyAiMjRlMCIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGxlZnQgPSAyLCByaWdodCA9IDExCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiMzk5MTY4ZTIiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBwcm9kdWN0IGlzIDM5OTE2ODAwLgpUaGVyZSBhcmUgMiB0cmFpbGluZyB6ZXJvcywgd2hpY2ggd2UgcmVtb3ZlIHRvIGdldCAzOTkxNjguIFRoZSBhYmJyZXZpYXRpb24gd2lsbCBlbmQgd2l0aCAiZTIiLgpUaGUgbnVtYmVyIG9mIGRpZ2l0cyBhZnRlciByZW1vdmluZyB0aGUgdHJhaWxpbmcgemVyb3MgaXMgNiwgc28gd2UgZG8gbm90IGFiYnJldmlhdGUgaXQgZnVydGhlci4KSGVuY2UsIHRoZSBhYmJyZXZpYXRlZCBwcm9kdWN0IGlzICIzOTkxNjhlMiIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGxlZnQgPSAzNzEsIHJpZ2h0ID0gMzc1CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiNzIxOTg1NjI1OWUzIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgcHJvZHVjdCBpcyA3MjE5ODU2MjU5MDAwLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IGxlZnQgJmx0Oz0gcmlnaHQgJmx0Oz0gMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Math"
+ ]
+ },
+ {
+ "title": "2092. Find All People With Secret",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5uPC9jb2RlPiBpbmRpY2F0aW5nIHRoZXJlIGFyZSA8Y29kZT5uPC9jb2RlPiBwZW9wbGUgbnVtYmVyZWQgZnJvbSA8Y29kZT4wPC9jb2RlPiB0byA8Y29kZT5uIC0gMTwvY29kZT4uIFlvdSBhcmUgYWxzbyBnaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IDJEIGludGVnZXIgYXJyYXkgPGNvZGU+bWVldGluZ3M8L2NvZGU+IHdoZXJlIDxjb2RlPm1lZXRpbmdzW2ldID0gW3g8c3ViPmk8L3N1Yj4sIHk8c3ViPmk8L3N1Yj4sIHRpbWU8c3ViPmk8L3N1Yj5dPC9jb2RlPiBpbmRpY2F0ZXMgdGhhdCBwZXJzb24gPGNvZGU+eDxzdWI+aTwvc3ViPjwvY29kZT4gYW5kIHBlcnNvbiA8Y29kZT55PHN1Yj5pPC9zdWI+PC9jb2RlPiBoYXZlIGEgbWVldGluZyBhdCA8Y29kZT50aW1lPHN1Yj5pPC9zdWI+PC9jb2RlPi4gQSBwZXJzb24gbWF5IGF0dGVuZCA8c3Ryb25nPm11bHRpcGxlIG1lZXRpbmdzPC9zdHJvbmc+IGF0IHRoZSBzYW1lIHRpbWUuIEZpbmFsbHksIHlvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5maXJzdFBlcnNvbjwvY29kZT4uPC9wPgo8cD5QZXJzb24gPGNvZGU+MDwvY29kZT4gaGFzIGEgPHN0cm9uZz5zZWNyZXQ8L3N0cm9uZz4gYW5kIGluaXRpYWxseSBzaGFyZXMgdGhlIHNlY3JldCB3aXRoIGEgcGVyc29uIDxjb2RlPmZpcnN0UGVyc29uPC9jb2RlPiBhdCB0aW1lIDxjb2RlPjA8L2NvZGU+LiBUaGlzIHNlY3JldCBpcyB0aGVuIHNoYXJlZCBldmVyeSB0aW1lIGEgbWVldGluZyB0YWtlcyBwbGFjZSB3aXRoIGEgcGVyc29uIHRoYXQgaGFzIHRoZSBzZWNyZXQuIE1vcmUgZm9ybWFsbHksIGZvciBldmVyeSBtZWV0aW5nLCBpZiBhIHBlcnNvbiA8Y29kZT54PHN1Yj5pPC9zdWI+PC9jb2RlPiBoYXMgdGhlIHNlY3JldCBhdCA8Y29kZT50aW1lPHN1Yj5pPC9zdWI+PC9jb2RlPiwgdGhlbiB0aGV5IHdpbGwgc2hhcmUgdGhlIHNlY3JldCB3aXRoIHBlcnNvbiA8Y29kZT55PHN1Yj5pPC9zdWI+PC9jb2RlPiwgYW5kIHZpY2UgdmVyc2EuPC9wPgo8cD5UaGUgc2VjcmV0cyBhcmUgc2hhcmVkIDxzdHJvbmc+aW5zdGFudGFuZW91c2x5PC9zdHJvbmc+LiBUaGF0IGlzLCBhIHBlcnNvbiBtYXkgcmVjZWl2ZSB0aGUgc2VjcmV0IGFuZCBzaGFyZSBpdCB3aXRoIHBlb3BsZSBpbiBvdGhlciBtZWV0aW5ncyB3aXRoaW4gdGhlIHNhbWUgdGltZSBmcmFtZS48L3A+CjxwPlJldHVybiA8ZW0+YSBsaXN0IG9mIGFsbCB0aGUgcGVvcGxlIHRoYXQgaGF2ZSB0aGUgc2VjcmV0IGFmdGVyIGFsbCB0aGUgbWVldGluZ3MgaGF2ZSB0YWtlbiBwbGFjZS4gPC9lbT5Zb3UgbWF5IHJldHVybiB0aGUgYW5zd2VyIGluIDxzdHJvbmc+YW55IG9yZGVyPC9zdHJvbmc+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDYsIG1lZXRpbmdzID0gW1sxLDIsNV0sWzIsMyw4XSxbMSw1LDEwXV0sIGZpcnN0UGVyc29uID0gMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzAsMSwyLDMsNV0KPHN0cm9uZz5FeHBsYW5hdGlvbjoKPC9zdHJvbmc+QXQgdGltZSAwLCBwZXJzb24gMCBzaGFyZXMgdGhlIHNlY3JldCB3aXRoIHBlcnNvbiAxLgpBdCB0aW1lIDUsIHBlcnNvbiAxIHNoYXJlcyB0aGUgc2VjcmV0IHdpdGggcGVyc29uIDIuCkF0IHRpbWUgOCwgcGVyc29uIDIgc2hhcmVzIHRoZSBzZWNyZXQgd2l0aCBwZXJzb24gMy4KQXQgdGltZSAxMCwgcGVyc29uIDEgc2hhcmVzIHRoZSBzZWNyZXQgd2l0aCBwZXJzb24gNS7igIvigIvigIvigIsKVGh1cywgcGVvcGxlIDAsIDEsIDIsIDMsIGFuZCA1IGtub3cgdGhlIHNlY3JldCBhZnRlciBhbGwgdGhlIG1lZXRpbmdzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gNCwgbWVldGluZ3MgPSBbWzMsMSwzXSxbMSwyLDJdLFswLDMsM11dLCBmaXJzdFBlcnNvbiA9IDMKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFswLDEsM10KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KQXQgdGltZSAwLCBwZXJzb24gMCBzaGFyZXMgdGhlIHNlY3JldCB3aXRoIHBlcnNvbiAzLgpBdCB0aW1lIDIsIG5laXRoZXIgcGVyc29uIDEgbm9yIHBlcnNvbiAyIGtub3cgdGhlIHNlY3JldC4KQXQgdGltZSAzLCBwZXJzb24gMyBzaGFyZXMgdGhlIHNlY3JldCB3aXRoIHBlcnNvbiAwIGFuZCBwZXJzb24gMS4KVGh1cywgcGVvcGxlIDAsIDEsIGFuZCAzIGtub3cgdGhlIHNlY3JldCBhZnRlciBhbGwgdGhlIG1lZXRpbmdzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gNSwgbWVldGluZ3MgPSBbWzMsNCwyXSxbMSwyLDFdLFsyLDMsMV1dLCBmaXJzdFBlcnNvbiA9IDEKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFswLDEsMiwzLDRdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+CkF0IHRpbWUgMCwgcGVyc29uIDAgc2hhcmVzIHRoZSBzZWNyZXQgd2l0aCBwZXJzb24gMS4KQXQgdGltZSAxLCBwZXJzb24gMSBzaGFyZXMgdGhlIHNlY3JldCB3aXRoIHBlcnNvbiAyLCBhbmQgcGVyc29uIDIgc2hhcmVzIHRoZSBzZWNyZXQgd2l0aCBwZXJzb24gMy4KTm90ZSB0aGF0IHBlcnNvbiAyIGNhbiBzaGFyZSB0aGUgc2VjcmV0IGF0IHRoZSBzYW1lIHRpbWUgYXMgcmVjZWl2aW5nIGl0LgpBdCB0aW1lIDIsIHBlcnNvbiAzIHNoYXJlcyB0aGUgc2VjcmV0IHdpdGggcGVyc29uIDQuClRodXMsIHBlb3BsZSAwLCAxLCAyLCAzLCBhbmQgNCBrbm93IHRoZSBzZWNyZXQgYWZ0ZXIgYWxsIHRoZSBtZWV0aW5ncy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MiAmbHQ7PSBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG1lZXRpbmdzLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+bWVldGluZ3NbaV0ubGVuZ3RoID09IDM8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0geDxzdWI+aTwvc3ViPiwgeTxzdWI+aSA8L3N1Yj4mbHQ7PSBuIC0gMTwvY29kZT48L2xpPgo8bGk+PGNvZGU+eDxzdWI+aTwvc3ViPiAhPSB5PHN1Yj5pPC9zdWI+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHRpbWU8c3ViPmk8L3N1Yj4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gZmlyc3RQZXJzb24gJmx0Oz0gbiAtIDE8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Depth-First Search",
+ "Breadth-First Search",
+ "Union Find",
+ "Graph",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2102. Sequentially Ordinal Rank Tracker",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgc2NlbmljIGxvY2F0aW9uIGlzIHJlcHJlc2VudGVkIGJ5IGl0cyA8Y29kZT5uYW1lPC9jb2RlPiBhbmQgYXR0cmFjdGl2ZW5lc3MgPGNvZGU+c2NvcmU8L2NvZGU+LCB3aGVyZSA8Y29kZT5uYW1lPC9jb2RlPiBpcyBhIDxzdHJvbmc+dW5pcXVlPC9zdHJvbmc+IHN0cmluZyBhbW9uZyBhbGwgbG9jYXRpb25zIGFuZCA8Y29kZT5zY29yZTwvY29kZT4gaXMgYW4gaW50ZWdlci4gTG9jYXRpb25zIGNhbiBiZSByYW5rZWQgZnJvbSB0aGUgYmVzdCB0byB0aGUgd29yc3QuIFRoZSA8c3Ryb25nPmhpZ2hlcjwvc3Ryb25nPiB0aGUgc2NvcmUsIHRoZSBiZXR0ZXIgdGhlIGxvY2F0aW9uLiBJZiB0aGUgc2NvcmVzIG9mIHR3byBsb2NhdGlvbnMgYXJlIGVxdWFsLCB0aGVuIHRoZSBsb2NhdGlvbiB3aXRoIHRoZSA8c3Ryb25nPmxleGljb2dyYXBoaWNhbGx5IHNtYWxsZXI8L3N0cm9uZz4gbmFtZSBpcyBiZXR0ZXIuPC9wPgo8cD5Zb3UgYXJlIGJ1aWxkaW5nIGEgc3lzdGVtIHRoYXQgdHJhY2tzIHRoZSByYW5raW5nIG9mIGxvY2F0aW9ucyB3aXRoIHRoZSBzeXN0ZW0gaW5pdGlhbGx5IHN0YXJ0aW5nIHdpdGggbm8gbG9jYXRpb25zLiBJdCBzdXBwb3J0czo8L3A+Cjx1bD4KPGxpPjxzdHJvbmc+QWRkaW5nPC9zdHJvbmc+IHNjZW5pYyBsb2NhdGlvbnMsIDxzdHJvbmc+b25lIGF0IGEgdGltZTwvc3Ryb25nPi48L2xpPgo8bGk+PHN0cm9uZz5RdWVyeWluZzwvc3Ryb25nPiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IDxzdHJvbmc+YmVzdDwvc3Ryb25nPiBsb2NhdGlvbiBvZiA8c3Ryb25nPmFsbCBsb2NhdGlvbnMgYWxyZWFkeSBhZGRlZDwvc3Ryb25nPiwgd2hlcmUgPGNvZGU+aTwvY29kZT4gaXMgdGhlIG51bWJlciBvZiB0aW1lcyB0aGUgc3lzdGVtIGhhcyBiZWVuIHF1ZXJpZWQgKGluY2x1ZGluZyB0aGUgY3VycmVudCBxdWVyeSkuCgk8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgd2hlbiB0aGUgc3lzdGVtIGlzIHF1ZXJpZWQgZm9yIHRoZSA8Y29kZT40PHN1cD50aDwvc3VwPjwvY29kZT4gdGltZSwgaXQgcmV0dXJucyB0aGUgPGNvZGU+NDxzdXA+dGg8L3N1cD48L2NvZGU+IGJlc3QgbG9jYXRpb24gb2YgYWxsIGxvY2F0aW9ucyBhbHJlYWR5IGFkZGVkLjwvbGk+CjwvdWw+CjwvbGk+CjwvdWw+CjxwPk5vdGUgdGhhdCB0aGUgdGVzdCBkYXRhIGFyZSBnZW5lcmF0ZWQgc28gdGhhdCA8c3Ryb25nPmF0IGFueSB0aW1lPC9zdHJvbmc+LCB0aGUgbnVtYmVyIG9mIHF1ZXJpZXMgPHN0cm9uZz5kb2VzIG5vdCBleGNlZWQ8L3N0cm9uZz4gdGhlIG51bWJlciBvZiBsb2NhdGlvbnMgYWRkZWQgdG8gdGhlIHN5c3RlbS48L3A+CjxwPkltcGxlbWVudCB0aGUgPGNvZGU+U09SVHJhY2tlcjwvY29kZT4gY2xhc3M6PC9wPgo8dWw+CjxsaT48Y29kZT5TT1JUcmFja2VyKCk8L2NvZGU+IEluaXRpYWxpemVzIHRoZSB0cmFja2VyIHN5c3RlbS48L2xpPgo8bGk+PGNvZGU+dm9pZCBhZGQoc3RyaW5nIG5hbWUsIGludCBzY29yZSk8L2NvZGU+IEFkZHMgYSBzY2VuaWMgbG9jYXRpb24gd2l0aCA8Y29kZT5uYW1lPC9jb2RlPiBhbmQgPGNvZGU+c2NvcmU8L2NvZGU+IHRvIHRoZSBzeXN0ZW0uPC9saT4KPGxpPjxjb2RlPnN0cmluZyBnZXQoKTwvY29kZT4gUXVlcmllcyBhbmQgcmV0dXJucyB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGJlc3QgbG9jYXRpb24sIHdoZXJlIDxjb2RlPmk8L2NvZGU+IGlzIHRoZSBudW1iZXIgb2YgdGltZXMgdGhpcyBtZXRob2QgaGFzIGJlZW4gaW52b2tlZCAoaW5jbHVkaW5nIHRoaXMgaW52b2NhdGlvbikuPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDwvc3Ryb25nPgpbIlNPUlRyYWNrZXIiLCAiYWRkIiwgImFkZCIsICJnZXQiLCAiYWRkIiwgImdldCIsICJhZGQiLCAiZ2V0IiwgImFkZCIsICJnZXQiLCAiYWRkIiwgImdldCIsICJnZXQiXQpbW10sIFsiYnJhZGZvcmQiLCAyXSwgWyJicmFuZm9yZCIsIDNdLCBbXSwgWyJhbHBzIiwgMl0sIFtdLCBbIm9ybGFuZCIsIDJdLCBbXSwgWyJvcmxhbmRvIiwgM10sIFtdLCBbImFscGluZSIsIDJdLCBbXSwgW11dCjxzdHJvbmc+T3V0cHV0PC9zdHJvbmc+CltudWxsLCBudWxsLCBudWxsLCAiYnJhbmZvcmQiLCBudWxsLCAiYWxwcyIsIG51bGwsICJicmFkZm9yZCIsIG51bGwsICJicmFkZm9yZCIsIG51bGwsICJicmFkZm9yZCIsICJvcmxhbmQiXQoKPHN0cm9uZz5FeHBsYW5hdGlvbjwvc3Ryb25nPgpTT1JUcmFja2VyIHRyYWNrZXIgPSBuZXcgU09SVHJhY2tlcigpOyAvLyBJbml0aWFsaXplIHRoZSB0cmFja2VyIHN5c3RlbS4KdHJhY2tlci5hZGQoImJyYWRmb3JkIiwgMik7IC8vIEFkZCBsb2NhdGlvbiB3aXRoIG5hbWU9ImJyYWRmb3JkIiBhbmQgc2NvcmU9MiB0byB0aGUgc3lzdGVtLgp0cmFja2VyLmFkZCgiYnJhbmZvcmQiLCAzKTsgLy8gQWRkIGxvY2F0aW9uIHdpdGggbmFtZT0iYnJhbmZvcmQiIGFuZCBzY29yZT0zIHRvIHRoZSBzeXN0ZW0uCnRyYWNrZXIuZ2V0KCk7ICAgICAgICAgICAgICAvLyBUaGUgc29ydGVkIGxvY2F0aW9ucywgZnJvbSBiZXN0IHRvIHdvcnN0LCBhcmU6IGJyYW5mb3JkLCBicmFkZm9yZC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5vdGUgdGhhdCBicmFuZm9yZCBwcmVjZWRlcyBicmFkZm9yZCBkdWUgdG8gaXRzIDxzdHJvbmc+aGlnaGVyIHNjb3JlPC9zdHJvbmc+ICgzICZndDsgMikuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSAxPHN1cD5zdDwvc3VwPiB0aW1lIGdldCgpIGlzIGNhbGxlZCwgc28gcmV0dXJuIHRoZSBiZXN0IGxvY2F0aW9uOiAiYnJhbmZvcmQiLgp0cmFja2VyLmFkZCgiYWxwcyIsIDIpOyAgICAgLy8gQWRkIGxvY2F0aW9uIHdpdGggbmFtZT0iYWxwcyIgYW5kIHNjb3JlPTIgdG8gdGhlIHN5c3RlbS4KdHJhY2tlci5nZXQoKTsgICAgICAgICAgICAgIC8vIFNvcnRlZCBsb2NhdGlvbnM6IGJyYW5mb3JkLCBhbHBzLCBicmFkZm9yZC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5vdGUgdGhhdCBhbHBzIHByZWNlZGVzIGJyYWRmb3JkIGV2ZW4gdGhvdWdoIHRoZXkgaGF2ZSB0aGUgc2FtZSBzY29yZSAoMikuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIGJlY2F1c2UgImFscHMiIGlzIDxzdHJvbmc+bGV4aWNvZ3JhcGhpY2FsbHkgc21hbGxlcjwvc3Ryb25nPiB0aGFuICJicmFkZm9yZCIuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXR1cm4gdGhlIDI8c3VwPm5kPC9zdXA+IGJlc3QgbG9jYXRpb24gImFscHMiLCBhcyBpdCBpcyB0aGUgMjxzdXA+bmQ8L3N1cD4gdGltZSBnZXQoKSBpcyBjYWxsZWQuCnRyYWNrZXIuYWRkKCJvcmxhbmQiLCAyKTsgICAvLyBBZGQgbG9jYXRpb24gd2l0aCBuYW1lPSJvcmxhbmQiIGFuZCBzY29yZT0yIHRvIHRoZSBzeXN0ZW0uCnRyYWNrZXIuZ2V0KCk7ICAgICAgICAgICAgICAvLyBTb3J0ZWQgbG9jYXRpb25zOiBicmFuZm9yZCwgYWxwcywgYnJhZGZvcmQsIG9ybGFuZC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJldHVybiAiYnJhZGZvcmQiLCBhcyBpdCBpcyB0aGUgMzxzdXA+cmQ8L3N1cD4gdGltZSBnZXQoKSBpcyBjYWxsZWQuCnRyYWNrZXIuYWRkKCJvcmxhbmRvIiwgMyk7ICAvLyBBZGQgbG9jYXRpb24gd2l0aCBuYW1lPSJvcmxhbmRvIiBhbmQgc2NvcmU9MyB0byB0aGUgc3lzdGVtLgp0cmFja2VyLmdldCgpOyAgICAgICAgICAgICAgLy8gU29ydGVkIGxvY2F0aW9uczogYnJhbmZvcmQsIG9ybGFuZG8sIGFscHMsIGJyYWRmb3JkLCBvcmxhbmQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXR1cm4gImJyYWRmb3JkIi4KdHJhY2tlci5hZGQoImFscGluZSIsIDIpOyAgIC8vIEFkZCBsb2NhdGlvbiB3aXRoIG5hbWU9ImFscGluZSIgYW5kIHNjb3JlPTIgdG8gdGhlIHN5c3RlbS4KdHJhY2tlci5nZXQoKTsgICAgICAgICAgICAgIC8vIFNvcnRlZCBsb2NhdGlvbnM6IGJyYW5mb3JkLCBvcmxhbmRvLCBhbHBpbmUsIGFscHMsIGJyYWRmb3JkLCBvcmxhbmQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXR1cm4gImJyYWRmb3JkIi4KdHJhY2tlci5nZXQoKTsgICAgICAgICAgICAgIC8vIFNvcnRlZCBsb2NhdGlvbnM6IGJyYW5mb3JkLCBvcmxhbmRvLCBhbHBpbmUsIGFscHMsIGJyYWRmb3JkLCBvcmxhbmQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXR1cm4gIm9ybGFuZCIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm5hbWU8L2NvZGU+IGNvbnNpc3RzIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMsIGFuZCBpcyB1bmlxdWUgYW1vbmcgYWxsIGxvY2F0aW9ucy48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBuYW1lLmxlbmd0aCAmbHQ7PSAxMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBzY29yZSAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+QXQgYW55IHRpbWUsIHRoZSBudW1iZXIgb2YgY2FsbHMgdG8gPGNvZGU+Z2V0PC9jb2RlPiBkb2VzIG5vdCBleGNlZWQgdGhlIG51bWJlciBvZiBjYWxscyB0byA8Y29kZT5hZGQ8L2NvZGU+LjwvbGk+CjxsaT5BdCBtb3N0IDxjb2RlPjQgKiAxMDxzdXA+NDwvc3VwPjwvY29kZT4gY2FsbHMgPHN0cm9uZz5pbiB0b3RhbDwvc3Ryb25nPiB3aWxsIGJlIG1hZGUgdG8gPGNvZGU+YWRkPC9jb2RlPiBhbmQgPGNvZGU+Z2V0PC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Design",
+ "Heap (Priority Queue)",
+ "Data Stream",
+ "Ordered Set"
+ ]
+ },
+ {
+ "title": "2081. Sum of k-Mirror Numbers",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgPHN0cm9uZz5rLW1pcnJvciBudW1iZXI8L3N0cm9uZz4gaXMgYSA8c3Ryb25nPnBvc2l0aXZlPC9zdHJvbmc+IGludGVnZXIgPHN0cm9uZz53aXRob3V0IGxlYWRpbmcgemVyb3M8L3N0cm9uZz4gdGhhdCByZWFkcyB0aGUgc2FtZSBib3RoIGZvcndhcmQgYW5kIGJhY2t3YXJkIGluIGJhc2UtMTAgPHN0cm9uZz5hcyB3ZWxsIGFzPC9zdHJvbmc+IGluIGJhc2Utay48L3A+Cjx1bD4KPGxpPkZvciBleGFtcGxlLCA8Y29kZT45PC9jb2RlPiBpcyBhIDItbWlycm9yIG51bWJlci4gVGhlIHJlcHJlc2VudGF0aW9uIG9mIDxjb2RlPjk8L2NvZGU+IGluIGJhc2UtMTAgYW5kIGJhc2UtMiBhcmUgPGNvZGU+OTwvY29kZT4gYW5kIDxjb2RlPjEwMDE8L2NvZGU+IHJlc3BlY3RpdmVseSwgd2hpY2ggcmVhZCB0aGUgc2FtZSBib3RoIGZvcndhcmQgYW5kIGJhY2t3YXJkLjwvbGk+CjxsaT5PbiB0aGUgY29udHJhcnksIDxjb2RlPjQ8L2NvZGU+IGlzIG5vdCBhIDItbWlycm9yIG51bWJlci4gVGhlIHJlcHJlc2VudGF0aW9uIG9mIDxjb2RlPjQ8L2NvZGU+IGluIGJhc2UtMiBpcyA8Y29kZT4xMDA8L2NvZGU+LCB3aGljaCBkb2VzIG5vdCByZWFkIHRoZSBzYW1lIGJvdGggZm9yd2FyZCBhbmQgYmFja3dhcmQuPC9saT4KPC91bD4KPHA+R2l2ZW4gdGhlIGJhc2UgPGNvZGU+azwvY29kZT4gYW5kIHRoZSBudW1iZXIgPGNvZGU+bjwvY29kZT4sIHJldHVybiA8ZW0+dGhlIDxzdHJvbmc+c3VtPC9zdHJvbmc+IG9mIHRoZTwvZW0+IDxjb2RlPm48L2NvZGU+IDxlbT48c3Ryb25nPnNtYWxsZXN0PC9zdHJvbmc+IGstbWlycm9yIG51bWJlcnM8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGsgPSAyLCBuID0gNQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMjUKPHN0cm9uZz5FeHBsYW5hdGlvbjoKPC9zdHJvbmc+VGhlIDUgc21hbGxlc3QgMi1taXJyb3IgbnVtYmVycyBhbmQgdGhlaXIgcmVwcmVzZW50YXRpb25zIGluIGJhc2UtMiBhcmUgbGlzdGVkIGFzIGZvbGxvd3M6CiAgYmFzZS0xMCAgICBiYXNlLTIKICAgIDEgICAgICAgICAgMQogICAgMyAgICAgICAgICAxMQogICAgNSAgICAgICAgICAxMDEKICAgIDcgICAgICAgICAgMTExCiAgICA5ICAgICAgICAgIDEwMDEKVGhlaXIgc3VtID0gMSArIDMgKyA1ICsgNyArIDkgPSAyNS4gCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGsgPSAzLCBuID0gNwo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNDk5CjxzdHJvbmc+RXhwbGFuYXRpb246Cjwvc3Ryb25nPlRoZSA3IHNtYWxsZXN0IDMtbWlycm9yIG51bWJlcnMgYXJlIGFuZCB0aGVpciByZXByZXNlbnRhdGlvbnMgaW4gYmFzZS0zIGFyZSBsaXN0ZWQgYXMgZm9sbG93czoKICBiYXNlLTEwICAgIGJhc2UtMwogICAgMSAgICAgICAgICAxCiAgICAyICAgICAgICAgIDIKICAgIDQgICAgICAgICAgMTEKICAgIDggICAgICAgICAgMjIKICAgIDEyMSAgICAgICAgMTExMTEKICAgIDE1MSAgICAgICAgMTIxMjEKICAgIDIxMiAgICAgICAgMjEyMTIKVGhlaXIgc3VtID0gMSArIDIgKyA0ICsgOCArIDEyMSArIDE1MSArIDIxMiA9IDQ5OS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gayA9IDcsIG4gPSAxNwo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMjAzNzkwMDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIDE3IHNtYWxsZXN0IDctbWlycm9yIG51bWJlcnMgYXJlOgoxLCAyLCAzLCA0LCA1LCA2LCA4LCAxMjEsIDE3MSwgMjQyLCAyOTIsIDE2NTYxLCA2NTY1NiwgMjEzNzMxMiwgNDYwMjA2NCwgNjU5Nzk1NiwgNjk1ODU5Ngo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4yICZsdDs9IGsgJmx0Oz0gOTwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDMwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Math",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2097. Valid Arrangement of Pairs",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPnBhaXJzPC9jb2RlPiB3aGVyZSA8Y29kZT5wYWlyc1tpXSA9IFtzdGFydDxzdWI+aTwvc3ViPiwgZW5kPHN1Yj5pPC9zdWI+XTwvY29kZT4uIEFuIGFycmFuZ2VtZW50IG9mIDxjb2RlPnBhaXJzPC9jb2RlPiBpcyA8c3Ryb25nPnZhbGlkPC9zdHJvbmc+IGlmIGZvciBldmVyeSBpbmRleCA8Y29kZT5pPC9jb2RlPiB3aGVyZSA8Y29kZT4xICZsdDs9IGkgJmx0OyBwYWlycy5sZW5ndGg8L2NvZGU+LCB3ZSBoYXZlIDxjb2RlPmVuZDxzdWI+aS0xPC9zdWI+ID09IHN0YXJ0PHN1Yj5pPC9zdWI+PC9jb2RlPi48L3A+CjxwPlJldHVybiA8ZW0+PHN0cm9uZz5hbnk8L3N0cm9uZz4gdmFsaWQgYXJyYW5nZW1lbnQgb2YgPC9lbT48Y29kZT5wYWlyczwvY29kZT4uPC9wPgo8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoZSBpbnB1dHMgd2lsbCBiZSBnZW5lcmF0ZWQgc3VjaCB0aGF0IHRoZXJlIGV4aXN0cyBhIHZhbGlkIGFycmFuZ2VtZW50IG9mIDxjb2RlPnBhaXJzPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHBhaXJzID0gW1s1LDFdLFs0LDVdLFsxMSw5XSxbOSw0XV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFtbMTEsOV0sWzksNF0sWzQsNV0sWzUsMV1dCjxzdHJvbmc+RXhwbGFuYXRpb246Cjwvc3Ryb25nPlRoaXMgaXMgYSB2YWxpZCBhcnJhbmdlbWVudCBzaW5jZSBlbmQ8c3ViPmktMTwvc3ViPiBhbHdheXMgZXF1YWxzIHN0YXJ0PHN1Yj5pPC9zdWI+LgplbmQ8c3ViPjA8L3N1Yj4gPSA5ID09IDkgPSBzdGFydDxzdWI+MTwvc3ViPiAKZW5kPHN1Yj4xPC9zdWI+ID0gNCA9PSA0ID0gc3RhcnQ8c3ViPjI8L3N1Yj4KZW5kPHN1Yj4yPC9zdWI+ID0gNSA9PSA1ID0gc3RhcnQ8c3ViPjM8L3N1Yj4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcGFpcnMgPSBbWzEsM10sWzMsMl0sWzIsMV1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbWzEsM10sWzMsMl0sWzIsMV1dCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoaXMgaXMgYSB2YWxpZCBhcnJhbmdlbWVudCBzaW5jZSBlbmQ8c3ViPmktMTwvc3ViPiBhbHdheXMgZXF1YWxzIHN0YXJ0PHN1Yj5pPC9zdWI+LgplbmQ8c3ViPjA8L3N1Yj4gPSAzID09IDMgPSBzdGFydDxzdWI+MTwvc3ViPgplbmQ8c3ViPjE8L3N1Yj4gPSAyID09IDIgPSBzdGFydDxzdWI+Mjwvc3ViPgpUaGUgYXJyYW5nZW1lbnRzIFtbMiwxXSxbMSwzXSxbMywyXV0gYW5kIFtbMywyXSxbMiwxXSxbMSwzXV0gYXJlIGFsc28gdmFsaWQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHBhaXJzID0gW1sxLDJdLFsxLDNdLFsyLDFdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gW1sxLDJdLFsyLDFdLFsxLDNdXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGlzIGlzIGEgdmFsaWQgYXJyYW5nZW1lbnQgc2luY2UgZW5kPHN1Yj5pLTE8L3N1Yj4gYWx3YXlzIGVxdWFscyBzdGFydDxzdWI+aTwvc3ViPi4KZW5kPHN1Yj4wPC9zdWI+ID0gMiA9PSAyID0gc3RhcnQ8c3ViPjE8L3N1Yj4KZW5kPHN1Yj4xPC9zdWI+ID0gMSA9PSAxID0gc3RhcnQ8c3ViPjI8L3N1Yj4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBwYWlycy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnBhaXJzW2ldLmxlbmd0aCA9PSAyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IHN0YXJ0PHN1Yj5pPC9zdWI+LCBlbmQ8c3ViPmk8L3N1Yj4gJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnN0YXJ0PHN1Yj5pPC9zdWI+ICE9IGVuZDxzdWI+aTwvc3ViPjwvY29kZT48L2xpPgo8bGk+Tm8gdHdvIHBhaXJzIGFyZSBleGFjdGx5IHRoZSBzYW1lLjwvbGk+CjxsaT5UaGVyZSA8c3Ryb25nPmV4aXN0czwvc3Ryb25nPiBhIHZhbGlkIGFycmFuZ2VtZW50IG9mIDxjb2RlPnBhaXJzPC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Depth-First Search",
+ "Graph",
+ "Eulerian Circuit"
+ ]
+ },
+ {
+ "title": "2132. Stamping the Grid",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gPGNvZGU+bSB4IG48L2NvZGU+IGJpbmFyeSBtYXRyaXggPGNvZGU+Z3JpZDwvY29kZT4gd2hlcmUgZWFjaCBjZWxsIGlzIGVpdGhlciA8Y29kZT4wPC9jb2RlPiAoZW1wdHkpIG9yIDxjb2RlPjE8L2NvZGU+IChvY2N1cGllZCkuPC9wPgo8cD5Zb3UgYXJlIHRoZW4gZ2l2ZW4gc3RhbXBzIG9mIHNpemUgPGNvZGU+c3RhbXBIZWlnaHQgeCBzdGFtcFdpZHRoPC9jb2RlPi4gV2Ugd2FudCB0byBmaXQgdGhlIHN0YW1wcyBzdWNoIHRoYXQgdGhleSBmb2xsb3cgdGhlIGdpdmVuIDxzdHJvbmc+cmVzdHJpY3Rpb25zPC9zdHJvbmc+IGFuZCA8c3Ryb25nPnJlcXVpcmVtZW50czwvc3Ryb25nPjo8L3A+CjxvbD4KPGxpPkNvdmVyIGFsbCB0aGUgPHN0cm9uZz5lbXB0eTwvc3Ryb25nPiBjZWxscy48L2xpPgo8bGk+RG8gbm90IGNvdmVyIGFueSBvZiB0aGUgPHN0cm9uZz5vY2N1cGllZDwvc3Ryb25nPiBjZWxscy48L2xpPgo8bGk+V2UgY2FuIHB1dCBhcyA8c3Ryb25nPm1hbnk8L3N0cm9uZz4gc3RhbXBzIGFzIHdlIHdhbnQuPC9saT4KPGxpPlN0YW1wcyBjYW4gPHN0cm9uZz5vdmVybGFwPC9zdHJvbmc+IHdpdGggZWFjaCBvdGhlci48L2xpPgo8bGk+U3RhbXBzIGFyZSBub3QgYWxsb3dlZCB0byBiZSA8c3Ryb25nPnJvdGF0ZWQ8L3N0cm9uZz4uPC9saT4KPGxpPlN0YW1wcyBtdXN0IHN0YXkgY29tcGxldGVseSA8c3Ryb25nPmluc2lkZTwvc3Ryb25nPiB0aGUgZ3JpZC48L2xpPgo8L29sPgo8cD5SZXR1cm4gPGNvZGU+dHJ1ZTwvY29kZT4gPGVtPmlmIGl0IGlzIHBvc3NpYmxlIHRvIGZpdCB0aGUgc3RhbXBzIHdoaWxlIGZvbGxvd2luZyB0aGUgZ2l2ZW4gcmVzdHJpY3Rpb25zIGFuZCByZXF1aXJlbWVudHMuIE90aGVyd2lzZSwgcmV0dXJuPC9lbT4gPGNvZGU+ZmFsc2U8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8xMS8wMy9leDEucG5nIiBzdHlsZT0id2lkdGg6IDE4MHB4OyBoZWlnaHQ6IDIzN3B4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGdyaWQgPSBbWzEsMCwwLDBdLFsxLDAsMCwwXSxbMSwwLDAsMF0sWzEsMCwwLDBdLFsxLDAsMCwwXV0sIHN0YW1wSGVpZ2h0ID0gNCwgc3RhbXBXaWR0aCA9IDMKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IHRydWUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gV2UgaGF2ZSB0d28gb3ZlcmxhcHBpbmcgc3RhbXBzIChsYWJlbGVkIDEgYW5kIDIgaW4gdGhlIGltYWdlKSB0aGF0IGFyZSBhYmxlIHRvIGNvdmVyIGFsbCB0aGUgZW1wdHkgY2VsbHMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMTEvMDMvZXgyLnBuZyIgc3R5bGU9IndpZHRoOiAxNzBweDsgaGVpZ2h0OiAxNzlweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBncmlkID0gW1sxLDAsMCwwXSxbMCwxLDAsMF0sWzAsMCwxLDBdLFswLDAsMCwxXV0sIHN0YW1wSGVpZ2h0ID0gMiwgc3RhbXBXaWR0aCA9IDIgCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBmYWxzZSAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgaXMgbm8gd2F5IHRvIGZpdCB0aGUgc3RhbXBzIG9udG8gYWxsIHRoZSBlbXB0eSBjZWxscyB3aXRob3V0IHRoZSBzdGFtcHMgZ29pbmcgb3V0c2lkZSB0aGUgZ3JpZC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+bSA9PSBncmlkLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+biA9PSBncmlkW3JdLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBtLCBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG0gKiBuICZsdDs9IDIgKiAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+Z3JpZFtyXVtjXTwvY29kZT4gaXMgZWl0aGVyIDxjb2RlPjA8L2NvZGU+IG9yIDxjb2RlPjE8L2NvZGU+LjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHN0YW1wSGVpZ2h0LCBzdGFtcFdpZHRoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Greedy",
+ "Matrix",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2076. Process Restricted Friend Requests",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5uPC9jb2RlPiBpbmRpY2F0aW5nIHRoZSBudW1iZXIgb2YgcGVvcGxlIGluIGEgbmV0d29yay4gRWFjaCBwZXJzb24gaXMgbGFiZWxlZCBmcm9tIDxjb2RlPjA8L2NvZGU+IHRvIDxjb2RlPm4gLSAxPC9jb2RlPi48L3A+CjxwPllvdSBhcmUgYWxzbyBnaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IDJEIGludGVnZXIgYXJyYXkgPGNvZGU+cmVzdHJpY3Rpb25zPC9jb2RlPiwgd2hlcmUgPGNvZGU+cmVzdHJpY3Rpb25zW2ldID0gW3g8c3ViPmk8L3N1Yj4sIHk8c3ViPmk8L3N1Yj5dPC9jb2RlPiBtZWFucyB0aGF0IHBlcnNvbiA8Y29kZT54PHN1Yj5pPC9zdWI+PC9jb2RlPiBhbmQgcGVyc29uIDxjb2RlPnk8c3ViPmk8L3N1Yj48L2NvZGU+IDxzdHJvbmc+Y2Fubm90IDwvc3Ryb25nPmJlY29tZSA8c3Ryb25nPmZyaWVuZHM8L3N0cm9uZz4sPHN0cm9uZz4gPC9zdHJvbmc+ZWl0aGVyIDxzdHJvbmc+ZGlyZWN0bHk8L3N0cm9uZz4gb3IgPHN0cm9uZz5pbmRpcmVjdGx5PC9zdHJvbmc+IHRocm91Z2ggb3RoZXIgcGVvcGxlLjwvcD4KPHA+SW5pdGlhbGx5LCBubyBvbmUgaXMgZnJpZW5kcyB3aXRoIGVhY2ggb3RoZXIuIFlvdSBhcmUgZ2l2ZW4gYSBsaXN0IG9mIGZyaWVuZCByZXF1ZXN0cyBhcyBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IDJEIGludGVnZXIgYXJyYXkgPGNvZGU+cmVxdWVzdHM8L2NvZGU+LCB3aGVyZSA8Y29kZT5yZXF1ZXN0c1tqXSA9IFt1PHN1Yj5qPC9zdWI+LCB2PHN1Yj5qPC9zdWI+XTwvY29kZT4gaXMgYSBmcmllbmQgcmVxdWVzdCBiZXR3ZWVuIHBlcnNvbiA8Y29kZT51PHN1Yj5qPC9zdWI+PC9jb2RlPiBhbmQgcGVyc29uIDxjb2RlPnY8c3ViPmo8L3N1Yj48L2NvZGU+LjwvcD4KPHA+QSBmcmllbmQgcmVxdWVzdCBpcyA8c3Ryb25nPnN1Y2Nlc3NmdWwgPC9zdHJvbmc+aWYgPGNvZGU+dTxzdWI+ajwvc3ViPjwvY29kZT4gYW5kIDxjb2RlPnY8c3ViPmo8L3N1Yj48L2NvZGU+IGNhbiBiZSA8c3Ryb25nPmZyaWVuZHM8L3N0cm9uZz4uIEVhY2ggZnJpZW5kIHJlcXVlc3QgaXMgcHJvY2Vzc2VkIGluIHRoZSBnaXZlbiBvcmRlciAoaS5lLiwgPGNvZGU+cmVxdWVzdHNbal08L2NvZGU+IG9jY3VycyBiZWZvcmUgPGNvZGU+cmVxdWVzdHNbaiArIDFdPC9jb2RlPiksIGFuZCB1cG9uIGEgc3VjY2Vzc2Z1bCByZXF1ZXN0LCA8Y29kZT51PHN1Yj5qPC9zdWI+PC9jb2RlPiBhbmQgPGNvZGU+djxzdWI+ajwvc3ViPjwvY29kZT4gPHN0cm9uZz5iZWNvbWUgZGlyZWN0IGZyaWVuZHM8L3N0cm9uZz4gZm9yIGFsbCBmdXR1cmUgZnJpZW5kIHJlcXVlc3RzLjwvcD4KPHA+UmV0dXJuIDxlbT5hIDxzdHJvbmc+Ym9vbGVhbiBhcnJheTwvc3Ryb25nPiA8L2VtPjxjb2RlPnJlc3VsdDwvY29kZT4sPGVtPiB3aGVyZSBlYWNoIDwvZW0+PGNvZGU+cmVzdWx0W2pdPC9jb2RlPjxlbT4gaXMgPC9lbT48Y29kZT50cnVlPC9jb2RlPjxlbT4gaWYgdGhlIDwvZW0+PGNvZGU+ajxzdXA+dGg8L3N1cD48L2NvZGU+PGVtPiBmcmllbmQgcmVxdWVzdCBpcyA8c3Ryb25nPnN1Y2Nlc3NmdWw8L3N0cm9uZz4gb3IgPC9lbT48Y29kZT5mYWxzZTwvY29kZT48ZW0+IGlmIGl0IGlzIG5vdDwvZW0+LjwvcD4KPHA+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBJZiA8Y29kZT51PHN1Yj5qPC9zdWI+PC9jb2RlPiBhbmQgPGNvZGU+djxzdWI+ajwvc3ViPjwvY29kZT4gYXJlIGFscmVhZHkgZGlyZWN0IGZyaWVuZHMsIHRoZSByZXF1ZXN0IGlzIHN0aWxsIDxzdHJvbmc+c3VjY2Vzc2Z1bDwvc3Ryb25nPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSAzLCByZXN0cmljdGlvbnMgPSBbWzAsMV1dLCByZXF1ZXN0cyA9IFtbMCwyXSxbMiwxXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFt0cnVlLGZhbHNlXQo8c3Ryb25nPkV4cGxhbmF0aW9uOgo8L3N0cm9uZz5SZXF1ZXN0IDA6IFBlcnNvbiAwIGFuZCBwZXJzb24gMiBjYW4gYmUgZnJpZW5kcywgc28gdGhleSBiZWNvbWUgZGlyZWN0IGZyaWVuZHMuIApSZXF1ZXN0IDE6IFBlcnNvbiAyIGFuZCBwZXJzb24gMSBjYW5ub3QgYmUgZnJpZW5kcyBzaW5jZSBwZXJzb24gMCBhbmQgcGVyc29uIDEgd291bGQgYmUgaW5kaXJlY3QgZnJpZW5kcyAoMS0tMi0tMCkuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSAzLCByZXN0cmljdGlvbnMgPSBbWzAsMV1dLCByZXF1ZXN0cyA9IFtbMSwyXSxbMCwyXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFt0cnVlLGZhbHNlXQo8c3Ryb25nPkV4cGxhbmF0aW9uOgo8L3N0cm9uZz5SZXF1ZXN0IDA6IFBlcnNvbiAxIGFuZCBwZXJzb24gMiBjYW4gYmUgZnJpZW5kcywgc28gdGhleSBiZWNvbWUgZGlyZWN0IGZyaWVuZHMuClJlcXVlc3QgMTogUGVyc29uIDAgYW5kIHBlcnNvbiAyIGNhbm5vdCBiZSBmcmllbmRzIHNpbmNlIHBlcnNvbiAwIGFuZCBwZXJzb24gMSB3b3VsZCBiZSBpbmRpcmVjdCBmcmllbmRzICgwLS0yLS0xKS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDUsIHJlc3RyaWN0aW9ucyA9IFtbMCwxXSxbMSwyXSxbMiwzXV0sIHJlcXVlc3RzID0gW1swLDRdLFsxLDJdLFszLDFdLFszLDRdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gW3RydWUsZmFsc2UsdHJ1ZSxmYWxzZV0KPHN0cm9uZz5FeHBsYW5hdGlvbjoKPC9zdHJvbmc+UmVxdWVzdCAwOiBQZXJzb24gMCBhbmQgcGVyc29uIDQgY2FuIGJlIGZyaWVuZHMsIHNvIHRoZXkgYmVjb21lIGRpcmVjdCBmcmllbmRzLgpSZXF1ZXN0IDE6IFBlcnNvbiAxIGFuZCBwZXJzb24gMiBjYW5ub3QgYmUgZnJpZW5kcyBzaW5jZSB0aGV5IGFyZSBkaXJlY3RseSByZXN0cmljdGVkLgpSZXF1ZXN0IDI6IFBlcnNvbiAzIGFuZCBwZXJzb24gMSBjYW4gYmUgZnJpZW5kcywgc28gdGhleSBiZWNvbWUgZGlyZWN0IGZyaWVuZHMuClJlcXVlc3QgMzogUGVyc29uIDMgYW5kIHBlcnNvbiA0IGNhbm5vdCBiZSBmcmllbmRzIHNpbmNlIHBlcnNvbiAwIGFuZCBwZXJzb24gMSB3b3VsZCBiZSBpbmRpcmVjdCBmcmllbmRzICgwLS00LS0zLS0xKS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MiAmbHQ7PSBuICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gcmVzdHJpY3Rpb25zLmxlbmd0aCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5yZXN0cmljdGlvbnNbaV0ubGVuZ3RoID09IDI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0geDxzdWI+aTwvc3ViPiwgeTxzdWI+aTwvc3ViPiAmbHQ7PSBuIC0gMTwvY29kZT48L2xpPgo8bGk+PGNvZGU+eDxzdWI+aTwvc3ViPiAhPSB5PHN1Yj5pPC9zdWI+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHJlcXVlc3RzLmxlbmd0aCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5yZXF1ZXN0c1tqXS5sZW5ndGggPT0gMjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSB1PHN1Yj5qPC9zdWI+LCB2PHN1Yj5qPC9zdWI+ICZsdDs9IG4gLSAxPC9jb2RlPjwvbGk+CjxsaT48Y29kZT51PHN1Yj5qPC9zdWI+ICE9IHY8c3ViPmo8L3N1Yj48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Union Find",
+ "Graph"
+ ]
+ },
+ {
+ "title": "2088. Count Fertile Pyramids in a Land",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgZmFybWVyIGhhcyBhIDxzdHJvbmc+cmVjdGFuZ3VsYXIgZ3JpZDwvc3Ryb25nPiBvZiBsYW5kIHdpdGggPGNvZGU+bTwvY29kZT4gcm93cyBhbmQgPGNvZGU+bjwvY29kZT4gY29sdW1ucyB0aGF0IGNhbiBiZSBkaXZpZGVkIGludG8gdW5pdCBjZWxscy4gRWFjaCBjZWxsIGlzIGVpdGhlciA8c3Ryb25nPmZlcnRpbGU8L3N0cm9uZz4gKHJlcHJlc2VudGVkIGJ5IGEgPGNvZGU+MTwvY29kZT4pIG9yIDxzdHJvbmc+YmFycmVuPC9zdHJvbmc+IChyZXByZXNlbnRlZCBieSBhIDxjb2RlPjA8L2NvZGU+KS4gQWxsIGNlbGxzIG91dHNpZGUgdGhlIGdyaWQgYXJlIGNvbnNpZGVyZWQgYmFycmVuLjwvcD4KPHA+QSA8c3Ryb25nPnB5cmFtaWRhbCBwbG90PC9zdHJvbmc+IG9mIGxhbmQgY2FuIGJlIGRlZmluZWQgYXMgYSBzZXQgb2YgY2VsbHMgd2l0aCB0aGUgZm9sbG93aW5nIGNyaXRlcmlhOjwvcD4KPG9sPgo8bGk+VGhlIG51bWJlciBvZiBjZWxscyBpbiB0aGUgc2V0IGhhcyB0byBiZSA8c3Ryb25nPmdyZWF0ZXIgdGhhbiA8L3N0cm9uZz48Y29kZT4xPC9jb2RlPiBhbmQgYWxsIGNlbGxzIG11c3QgYmUgPHN0cm9uZz5mZXJ0aWxlPC9zdHJvbmc+LjwvbGk+CjxsaT5UaGUgPHN0cm9uZz5hcGV4PC9zdHJvbmc+IG9mIGEgcHlyYW1pZCBpcyB0aGUgPHN0cm9uZz50b3Btb3N0PC9zdHJvbmc+IGNlbGwgb2YgdGhlIHB5cmFtaWQuIFRoZSA8c3Ryb25nPmhlaWdodDwvc3Ryb25nPiBvZiBhIHB5cmFtaWQgaXMgdGhlIG51bWJlciBvZiByb3dzIGl0IGNvdmVycy4gTGV0IDxjb2RlPihyLCBjKTwvY29kZT4gYmUgdGhlIGFwZXggb2YgdGhlIHB5cmFtaWQsIGFuZCBpdHMgaGVpZ2h0IGJlIDxjb2RlPmg8L2NvZGU+LiBUaGVuLCB0aGUgcGxvdCBjb21wcmlzZXMgb2YgY2VsbHMgPGNvZGU+KGksIGopPC9jb2RlPiB3aGVyZSA8Y29kZT5yICZsdDs9IGkgJmx0Oz0gciArIGggLSAxPC9jb2RlPiA8c3Ryb25nPmFuZDwvc3Ryb25nPiA8Y29kZT5jIC0gKGkgLSByKSAmbHQ7PSBqICZsdDs9IGMgKyAoaSAtIHIpPC9jb2RlPi48L2xpPgo8L29sPgo8cD5BbiA8c3Ryb25nPmludmVyc2UgcHlyYW1pZGFsIHBsb3Q8L3N0cm9uZz4gb2YgbGFuZCBjYW4gYmUgZGVmaW5lZCBhcyBhIHNldCBvZiBjZWxscyB3aXRoIHNpbWlsYXIgY3JpdGVyaWE6PC9wPgo8b2w+CjxsaT5UaGUgbnVtYmVyIG9mIGNlbGxzIGluIHRoZSBzZXQgaGFzIHRvIGJlIDxzdHJvbmc+Z3JlYXRlciB0aGFuIDwvc3Ryb25nPjxjb2RlPjE8L2NvZGU+IGFuZCBhbGwgY2VsbHMgbXVzdCBiZSA8c3Ryb25nPmZlcnRpbGU8L3N0cm9uZz4uPC9saT4KPGxpPlRoZSA8c3Ryb25nPmFwZXg8L3N0cm9uZz4gb2YgYW4gaW52ZXJzZSBweXJhbWlkIGlzIHRoZSA8c3Ryb25nPmJvdHRvbW1vc3Q8L3N0cm9uZz4gY2VsbCBvZiB0aGUgaW52ZXJzZSBweXJhbWlkLiBUaGUgPHN0cm9uZz5oZWlnaHQ8L3N0cm9uZz4gb2YgYW4gaW52ZXJzZSBweXJhbWlkIGlzIHRoZSBudW1iZXIgb2Ygcm93cyBpdCBjb3ZlcnMuIExldCA8Y29kZT4ociwgYyk8L2NvZGU+IGJlIHRoZSBhcGV4IG9mIHRoZSBweXJhbWlkLCBhbmQgaXRzIGhlaWdodCBiZSA8Y29kZT5oPC9jb2RlPi4gVGhlbiwgdGhlIHBsb3QgY29tcHJpc2VzIG9mIGNlbGxzIDxjb2RlPihpLCBqKTwvY29kZT4gd2hlcmUgPGNvZGU+ciAtIGggKyAxICZsdDs9IGkgJmx0Oz0gcjwvY29kZT4gPHN0cm9uZz5hbmQ8L3N0cm9uZz4gPGNvZGU+YyAtIChyIC0gaSkgJmx0Oz0gaiAmbHQ7PSBjICsgKHIgLSBpKTwvY29kZT4uPC9saT4KPC9vbD4KPHA+U29tZSBleGFtcGxlcyBvZiB2YWxpZCBhbmQgaW52YWxpZCBweXJhbWlkYWwgKGFuZCBpbnZlcnNlIHB5cmFtaWRhbCkgcGxvdHMgYXJlIHNob3duIGJlbG93LiBCbGFjayBjZWxscyBpbmRpY2F0ZSBmZXJ0aWxlIGNlbGxzLjwvcD4KPGltZyBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMTEvMDgvaW1hZ2UucG5nIiBzdHlsZT0id2lkdGg6IDcwMHB4OyBoZWlnaHQ6IDE1NnB4OyIvPgo8cD5HaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IDxjb2RlPm0geCBuPC9jb2RlPiBiaW5hcnkgbWF0cml4IDxjb2RlPmdyaWQ8L2NvZGU+IHJlcHJlc2VudGluZyB0aGUgZmFybWxhbmQsIHJldHVybiA8ZW0+dGhlIDxzdHJvbmc+dG90YWwgbnVtYmVyPC9zdHJvbmc+IG9mIHB5cmFtaWRhbCBhbmQgaW52ZXJzZSBweXJhbWlkYWwgcGxvdHMgdGhhdCBjYW4gYmUgZm91bmQgaW48L2VtPiA8Y29kZT5ncmlkPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMTIvMjIvMS5KUEciIHN0eWxlPSJ3aWR0aDogNTc1cHg7IGhlaWdodDogMTA5cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbMCwxLDEsMF0sWzEsMSwxLDFdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgMiBwb3NzaWJsZSBweXJhbWlkYWwgcGxvdHMgYXJlIHNob3duIGluIGJsdWUgYW5kIHJlZCByZXNwZWN0aXZlbHkuClRoZXJlIGFyZSBubyBpbnZlcnNlIHB5cmFtaWRhbCBwbG90cyBpbiB0aGlzIGdyaWQuIApIZW5jZSB0b3RhbCBudW1iZXIgb2YgcHlyYW1pZGFsIGFuZCBpbnZlcnNlIHB5cmFtaWRhbCBwbG90cyBpcyAyICsgMCA9IDIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMTIvMjIvMi5KUEciIHN0eWxlPSJ3aWR0aDogNTAycHg7IGhlaWdodDogMTIwcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbMSwxLDFdLFsxLDEsMV1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBweXJhbWlkYWwgcGxvdCBpcyBzaG93biBpbiBibHVlLCBhbmQgdGhlIGludmVyc2UgcHlyYW1pZGFsIHBsb3QgaXMgc2hvd24gaW4gcmVkLiAKSGVuY2UgdGhlIHRvdGFsIG51bWJlciBvZiBwbG90cyBpcyAxICsgMSA9IDIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMTIvMjIvMy5KUEciIHN0eWxlPSJ3aWR0aDogNjc2cHg7IGhlaWdodDogMTQ4cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbMSwxLDEsMSwwXSxbMSwxLDEsMSwxXSxbMSwxLDEsMSwxXSxbMCwxLDAsMCwxXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSA3IHB5cmFtaWRhbCBwbG90cywgMyBvZiB3aGljaCBhcmUgc2hvd24gaW4gdGhlIDJuZCBhbmQgM3JkIGZpZ3VyZXMuClRoZXJlIGFyZSA2IGludmVyc2UgcHlyYW1pZGFsIHBsb3RzLCAyIG9mIHdoaWNoIGFyZSBzaG93biBpbiB0aGUgbGFzdCBmaWd1cmUuClRoZSB0b3RhbCBudW1iZXIgb2YgcGxvdHMgaXMgNyArIDYgPSAxMy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+bSA9PSBncmlkLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+biA9PSBncmlkW2ldLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBtLCBuICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbSAqIG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPmdyaWRbaV1bal08L2NvZGU+IGlzIGVpdGhlciA8Y29kZT4wPC9jb2RlPiBvciA8Y29kZT4xPC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Dynamic Programming",
+ "Matrix"
+ ]
+ },
+ {
+ "title": "2065. Maximum Path Quality of a Graph",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGFuIDxzdHJvbmc+dW5kaXJlY3RlZDwvc3Ryb25nPiBncmFwaCB3aXRoIDxjb2RlPm48L2NvZGU+IG5vZGVzIG51bWJlcmVkIGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+biAtIDE8L2NvZGU+ICg8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPikuIFlvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPnZhbHVlczwvY29kZT4gd2hlcmUgPGNvZGU+dmFsdWVzW2ldPC9jb2RlPiBpcyB0aGUgPHN0cm9uZz52YWx1ZSA8L3N0cm9uZz5vZiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IG5vZGUuIFlvdSBhcmUgYWxzbyBnaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IDJEIGludGVnZXIgYXJyYXkgPGNvZGU+ZWRnZXM8L2NvZGU+LCB3aGVyZSBlYWNoIDxjb2RlPmVkZ2VzW2pdID0gW3U8c3ViPmo8L3N1Yj4sIHY8c3ViPmo8L3N1Yj4sIHRpbWU8c3ViPmo8L3N1Yj5dPC9jb2RlPiBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBpcyBhbiB1bmRpcmVjdGVkIGVkZ2UgYmV0d2VlbiB0aGUgbm9kZXMgPGNvZGU+dTxzdWI+ajwvc3ViPjwvY29kZT4gYW5kIDxjb2RlPnY8c3ViPmo8L3N1Yj48L2NvZGU+LDxzdWI+IDwvc3ViPmFuZCBpdCB0YWtlcyA8Y29kZT50aW1lPHN1Yj5qPC9zdWI+PC9jb2RlPiBzZWNvbmRzIHRvIHRyYXZlbCBiZXR3ZWVuIHRoZSB0d28gbm9kZXMuIEZpbmFsbHksIHlvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5tYXhUaW1lPC9jb2RlPi48L3A+CjxwPkEgPHN0cm9uZz52YWxpZDwvc3Ryb25nPiA8c3Ryb25nPnBhdGg8L3N0cm9uZz4gaW4gdGhlIGdyYXBoIGlzIGFueSBwYXRoIHRoYXQgc3RhcnRzIGF0IG5vZGUgPGNvZGU+MDwvY29kZT4sIGVuZHMgYXQgbm9kZSA8Y29kZT4wPC9jb2RlPiwgYW5kIHRha2VzIDxzdHJvbmc+YXQgbW9zdDwvc3Ryb25nPiA8Y29kZT5tYXhUaW1lPC9jb2RlPiBzZWNvbmRzIHRvIGNvbXBsZXRlLiBZb3UgbWF5IHZpc2l0IHRoZSBzYW1lIG5vZGUgbXVsdGlwbGUgdGltZXMuIFRoZSA8c3Ryb25nPnF1YWxpdHk8L3N0cm9uZz4gb2YgYSB2YWxpZCBwYXRoIGlzIHRoZSA8c3Ryb25nPnN1bTwvc3Ryb25nPiBvZiB0aGUgdmFsdWVzIG9mIHRoZSA8c3Ryb25nPnVuaXF1ZSBub2Rlczwvc3Ryb25nPiB2aXNpdGVkIGluIHRoZSBwYXRoIChlYWNoIG5vZGUncyB2YWx1ZSBpcyBhZGRlZCA8c3Ryb25nPmF0IG1vc3Qgb25jZTwvc3Ryb25nPiB0byB0aGUgc3VtKS48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBxdWFsaXR5IG9mIGEgdmFsaWQgcGF0aDwvZW0+LjwvcD4KPHA+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGVyZSBhcmUgPHN0cm9uZz5hdCBtb3N0IGZvdXI8L3N0cm9uZz4gZWRnZXMgY29ubmVjdGVkIHRvIGVhY2ggbm9kZS48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMTAvMTkvZXgxZHJhd2lvLnBuZyIgc3R5bGU9IndpZHRoOiAyNjlweDsgaGVpZ2h0OiAxNzBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB2YWx1ZXMgPSBbMCwzMiwxMCw0M10sIGVkZ2VzID0gW1swLDEsMTBdLFsxLDIsMTVdLFswLDMsMTBdXSwgbWF4VGltZSA9IDQ5CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA3NQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpPbmUgcG9zc2libGUgcGF0aCBpcyAwIC0mZ3Q7IDEgLSZndDsgMCAtJmd0OyAzIC0mZ3Q7IDAuIFRoZSB0b3RhbCB0aW1lIHRha2VuIGlzIDEwICsgMTAgKyAxMCArIDEwID0gNDAgJmx0Oz0gNDkuClRoZSBub2RlcyB2aXNpdGVkIGFyZSAwLCAxLCBhbmQgMywgZ2l2aW5nIGEgbWF4aW1hbCBwYXRoIHF1YWxpdHkgb2YgMCArIDMyICsgNDMgPSA3NS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8xMC8xOS9leDJkcmF3aW8ucG5nIiBzdHlsZT0id2lkdGg6IDI2OXB4OyBoZWlnaHQ6IDE3MHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHZhbHVlcyA9IFs1LDEwLDE1LDIwXSwgZWRnZXMgPSBbWzAsMSwxMF0sWzEsMiwxMF0sWzAsMywxMF1dLCBtYXhUaW1lID0gMzAKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDI1CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ck9uZSBwb3NzaWJsZSBwYXRoIGlzIDAgLSZndDsgMyAtJmd0OyAwLiBUaGUgdG90YWwgdGltZSB0YWtlbiBpcyAxMCArIDEwID0gMjAgJmx0Oz0gMzAuClRoZSBub2RlcyB2aXNpdGVkIGFyZSAwIGFuZCAzLCBnaXZpbmcgYSBtYXhpbWFsIHBhdGggcXVhbGl0eSBvZiA1ICsgMjAgPSAyNS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8xMC8xOS9leDMxZHJhd2lvLnBuZyIgc3R5bGU9IndpZHRoOiAyMzZweDsgaGVpZ2h0OiAxNzBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB2YWx1ZXMgPSBbMSwyLDMsNF0sIGVkZ2VzID0gW1swLDEsMTBdLFsxLDIsMTFdLFsyLDMsMTJdLFsxLDMsMTNdXSwgbWF4VGltZSA9IDUwCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA3CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ck9uZSBwb3NzaWJsZSBwYXRoIGlzIDAgLSZndDsgMSAtJmd0OyAzIC0mZ3Q7IDEgLSZndDsgMC4gVGhlIHRvdGFsIHRpbWUgdGFrZW4gaXMgMTAgKyAxMyArIDEzICsgMTAgPSA0NiAmbHQ7PSA1MC4KVGhlIG5vZGVzIHZpc2l0ZWQgYXJlIDAsIDEsIGFuZCAzLCBnaXZpbmcgYSBtYXhpbWFsIHBhdGggcXVhbGl0eSBvZiAxICsgMiArIDQgPSA3Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IHZhbHVlcy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IHZhbHVlc1tpXSAmbHQ7PSAxMDxzdXA+ODwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBlZGdlcy5sZW5ndGggJmx0Oz0gMjAwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+ZWRnZXNbal0ubGVuZ3RoID09IDMgPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IHU8c3ViPmogPC9zdWI+Jmx0OyB2PHN1Yj5qPC9zdWI+ICZsdDs9IG4gLSAxPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xMCAmbHQ7PSB0aW1lPHN1Yj5qPC9zdWI+LCBtYXhUaW1lICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+QWxsIHRoZSBwYWlycyA8Y29kZT5bdTxzdWI+ajwvc3ViPiwgdjxzdWI+ajwvc3ViPl08L2NvZGU+IGFyZSA8c3Ryb25nPnVuaXF1ZTwvc3Ryb25nPi48L2xpPgo8bGk+VGhlcmUgYXJlIDxzdHJvbmc+YXQgbW9zdCBmb3VyPC9zdHJvbmc+IGVkZ2VzIGNvbm5lY3RlZCB0byBlYWNoIG5vZGUuPC9saT4KPGxpPlRoZSBncmFwaCBtYXkgbm90IGJlIGNvbm5lY3RlZC48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Backtracking",
+ "Graph"
+ ]
+ },
+ {
+ "title": "2060. Check if an Original String Exists Given Two Encoded Strings",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkFuIG9yaWdpbmFsIHN0cmluZywgY29uc2lzdGluZyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLCBjYW4gYmUgZW5jb2RlZCBieSB0aGUgZm9sbG93aW5nIHN0ZXBzOjwvcD4KPHVsPgo8bGk+QXJiaXRyYXJpbHkgPHN0cm9uZz5zcGxpdDwvc3Ryb25nPiBpdCBpbnRvIGEgPHN0cm9uZz5zZXF1ZW5jZTwvc3Ryb25nPiBvZiBzb21lIG51bWJlciBvZiA8c3Ryb25nPm5vbi1lbXB0eTwvc3Ryb25nPiBzdWJzdHJpbmdzLjwvbGk+CjxsaT5BcmJpdHJhcmlseSBjaG9vc2Ugc29tZSBlbGVtZW50cyAocG9zc2libHkgbm9uZSkgb2YgdGhlIHNlcXVlbmNlLCBhbmQgPHN0cm9uZz5yZXBsYWNlPC9zdHJvbmc+IGVhY2ggd2l0aCA8c3Ryb25nPml0cyBsZW5ndGg8L3N0cm9uZz4gKGFzIGEgbnVtZXJpYyBzdHJpbmcpLjwvbGk+CjxsaT48c3Ryb25nPkNvbmNhdGVuYXRlPC9zdHJvbmc+IHRoZSBzZXF1ZW5jZSBhcyB0aGUgZW5jb2RlZCBzdHJpbmcuPC9saT4KPC91bD4KPHA+Rm9yIGV4YW1wbGUsIDxzdHJvbmc+b25lIHdheTwvc3Ryb25nPiB0byBlbmNvZGUgYW4gb3JpZ2luYWwgc3RyaW5nIDxjb2RlPiJhYmNkZWZnaGlqa2xtbm9wIjwvY29kZT4gbWlnaHQgYmU6PC9wPgo8dWw+CjxsaT5TcGxpdCBpdCBhcyBhIHNlcXVlbmNlOiA8Y29kZT5bImFiIiwgImNkZWZnaGlqa2xtbiIsICJvIiwgInAiXTwvY29kZT4uPC9saT4KPGxpPkNob29zZSB0aGUgc2Vjb25kIGFuZCB0aGlyZCBlbGVtZW50cyB0byBiZSByZXBsYWNlZCBieSB0aGVpciBsZW5ndGhzLCByZXNwZWN0aXZlbHkuIFRoZSBzZXF1ZW5jZSBiZWNvbWVzIDxjb2RlPlsiYWIiLCAiMTIiLCAiMSIsICJwIl08L2NvZGU+LjwvbGk+CjxsaT5Db25jYXRlbmF0ZSB0aGUgZWxlbWVudHMgb2YgdGhlIHNlcXVlbmNlIHRvIGdldCB0aGUgZW5jb2RlZCBzdHJpbmc6IDxjb2RlPiJhYjEyMXAiPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5HaXZlbiB0d28gZW5jb2RlZCBzdHJpbmdzIDxjb2RlPnMxPC9jb2RlPiBhbmQgPGNvZGU+czI8L2NvZGU+LCBjb25zaXN0aW5nIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMgYW5kIGRpZ2l0cyA8Y29kZT4xLTk8L2NvZGU+IChpbmNsdXNpdmUpLCByZXR1cm4gPGNvZGU+dHJ1ZTwvY29kZT48ZW0+IGlmIHRoZXJlIGV4aXN0cyBhbiBvcmlnaW5hbCBzdHJpbmcgdGhhdCBjb3VsZCBiZSBlbmNvZGVkIGFzIDxzdHJvbmc+Ym90aDwvc3Ryb25nPiA8L2VtPjxjb2RlPnMxPC9jb2RlPjxlbT4gYW5kIDwvZW0+PGNvZGU+czI8L2NvZGU+PGVtPi4gT3RoZXJ3aXNlLCByZXR1cm4gPC9lbT48Y29kZT5mYWxzZTwvY29kZT4uPC9wPgo8cD48c3Ryb25nPk5vdGU8L3N0cm9uZz46IFRoZSB0ZXN0IGNhc2VzIGFyZSBnZW5lcmF0ZWQgc3VjaCB0aGF0IHRoZSBudW1iZXIgb2YgY29uc2VjdXRpdmUgZGlnaXRzIGluIDxjb2RlPnMxPC9jb2RlPiBhbmQgPGNvZGU+czI8L2NvZGU+IGRvZXMgbm90IGV4Y2VlZCA8Y29kZT4zPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMxID0gImludGVybmF0aW9uYWxpemF0aW9uIiwgczIgPSAiaTE4biIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IHRydWUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gSXQgaXMgcG9zc2libGUgdGhhdCAiaW50ZXJuYXRpb25hbGl6YXRpb24iIHdhcyB0aGUgb3JpZ2luYWwgc3RyaW5nLgotICJpbnRlcm5hdGlvbmFsaXphdGlvbiIgCiAgLSZndDsgU3BsaXQ6ICAgICAgIFsiaW50ZXJuYXRpb25hbGl6YXRpb24iXQogIC0mZ3Q7IERvIG5vdCByZXBsYWNlIGFueSBlbGVtZW50CiAgLSZndDsgQ29uY2F0ZW5hdGU6ICAiaW50ZXJuYXRpb25hbGl6YXRpb24iLCB3aGljaCBpcyBzMS4KLSAiaW50ZXJuYXRpb25hbGl6YXRpb24iCiAgLSZndDsgU3BsaXQ6ICAgICAgIFsiaSIsICJudGVybmF0aW9uYWxpemF0aW8iLCAibiJdCiAgLSZndDsgUmVwbGFjZTogICAgIFsiaSIsICIxOCIsICAgICAgICAgICAgICAgICAibiJdCiAgLSZndDsgQ29uY2F0ZW5hdGU6ICAiaTE4biIsIHdoaWNoIGlzIHMyCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMxID0gImwxMjNlIiwgczIgPSAiNDQiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiB0cnVlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEl0IGlzIHBvc3NpYmxlIHRoYXQgImxlZXRjb2RlIiB3YXMgdGhlIG9yaWdpbmFsIHN0cmluZy4KLSAibGVldGNvZGUiIAogIC0mZ3Q7IFNwbGl0OiAgICAgIFsibCIsICJlIiwgImV0IiwgImNvZCIsICJlIl0KICAtJmd0OyBSZXBsYWNlOiAgICBbImwiLCAiMSIsICIyIiwgICIzIiwgICAiZSJdCiAgLSZndDsgQ29uY2F0ZW5hdGU6ICJsMTIzZSIsIHdoaWNoIGlzIHMxLgotICJsZWV0Y29kZSIgCiAgLSZndDsgU3BsaXQ6ICAgICAgWyJsZWV0IiwgImNvZGUiXQogIC0mZ3Q7IFJlcGxhY2U6ICAgIFsiNCIsICAgICI0Il0KICAtJmd0OyBDb25jYXRlbmF0ZTogIjQ0Iiwgd2hpY2ggaXMgczIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMxID0gImE1YiIsIHMyID0gImM1YiIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IGZhbHNlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEl0IGlzIGltcG9zc2libGUuCi0gVGhlIG9yaWdpbmFsIHN0cmluZyBlbmNvZGVkIGFzIHMxIG11c3Qgc3RhcnQgd2l0aCB0aGUgbGV0dGVyICdhJy4KLSBUaGUgb3JpZ2luYWwgc3RyaW5nIGVuY29kZWQgYXMgczIgbXVzdCBzdGFydCB3aXRoIHRoZSBsZXR0ZXIgJ2MnLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHMxLmxlbmd0aCwgczIubGVuZ3RoICZsdDs9IDQwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zMTwvY29kZT4gYW5kIDxjb2RlPnMyPC9jb2RlPiBjb25zaXN0IG9mIGRpZ2l0cyA8Y29kZT4xLTk8L2NvZGU+IChpbmNsdXNpdmUpLCBhbmQgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycyBvbmx5LjwvbGk+CjxsaT5UaGUgbnVtYmVyIG9mIGNvbnNlY3V0aXZlIGRpZ2l0cyBpbiA8Y29kZT5zMTwvY29kZT4gYW5kIDxjb2RlPnMyPC9jb2RlPiBkb2VzIG5vdCBleGNlZWQgPGNvZGU+MzwvY29kZT4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "String",
+ "Dynamic Programming"
+ ]
+ },
+ {
+ "title": "2071. Maximum Number of Tasks You Can Assign",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBoYXZlIDxjb2RlPm48L2NvZGU+IHRhc2tzIGFuZCA8Y29kZT5tPC9jb2RlPiB3b3JrZXJzLiBFYWNoIHRhc2sgaGFzIGEgc3RyZW5ndGggcmVxdWlyZW1lbnQgc3RvcmVkIGluIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT50YXNrczwvY29kZT4sIHdpdGggdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiB0YXNrIHJlcXVpcmluZyA8Y29kZT50YXNrc1tpXTwvY29kZT4gc3RyZW5ndGggdG8gY29tcGxldGUuIFRoZSBzdHJlbmd0aCBvZiBlYWNoIHdvcmtlciBpcyBzdG9yZWQgaW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPndvcmtlcnM8L2NvZGU+LCB3aXRoIHRoZSA8Y29kZT5qPHN1cD50aDwvc3VwPjwvY29kZT4gd29ya2VyIGhhdmluZyA8Y29kZT53b3JrZXJzW2pdPC9jb2RlPiBzdHJlbmd0aC4gRWFjaCB3b3JrZXIgY2FuIG9ubHkgYmUgYXNzaWduZWQgdG8gYSA8c3Ryb25nPnNpbmdsZTwvc3Ryb25nPiB0YXNrIGFuZCBtdXN0IGhhdmUgYSBzdHJlbmd0aCA8c3Ryb25nPmdyZWF0ZXIgdGhhbiBvciBlcXVhbDwvc3Ryb25nPiB0byB0aGUgdGFzaydzIHN0cmVuZ3RoIHJlcXVpcmVtZW50IChpLmUuLCA8Y29kZT53b3JrZXJzW2pdICZndDs9IHRhc2tzW2ldPC9jb2RlPikuPC9wPgo8cD5BZGRpdGlvbmFsbHksIHlvdSBoYXZlIDxjb2RlPnBpbGxzPC9jb2RlPiBtYWdpY2FsIHBpbGxzIHRoYXQgd2lsbCA8c3Ryb25nPmluY3JlYXNlIGEgd29ya2VyJ3Mgc3RyZW5ndGg8L3N0cm9uZz4gYnkgPGNvZGU+c3RyZW5ndGg8L2NvZGU+LiBZb3UgY2FuIGRlY2lkZSB3aGljaCB3b3JrZXJzIHJlY2VpdmUgdGhlIG1hZ2ljYWwgcGlsbHMsIGhvd2V2ZXIsIHlvdSBtYXkgb25seSBnaXZlIGVhY2ggd29ya2VyIDxzdHJvbmc+YXQgbW9zdCBvbmU8L3N0cm9uZz4gbWFnaWNhbCBwaWxsLjwvcD4KPHA+R2l2ZW4gdGhlIDxzdHJvbmc+MC1pbmRleGVkIDwvc3Ryb25nPmludGVnZXIgYXJyYXlzIDxjb2RlPnRhc2tzPC9jb2RlPiBhbmQgPGNvZGU+d29ya2VyczwvY29kZT4gYW5kIHRoZSBpbnRlZ2VycyA8Y29kZT5waWxsczwvY29kZT4gYW5kIDxjb2RlPnN0cmVuZ3RoPC9jb2RlPiwgcmV0dXJuIDxlbT50aGUgPHN0cm9uZz5tYXhpbXVtPC9zdHJvbmc+IG51bWJlciBvZiB0YXNrcyB0aGF0IGNhbiBiZSBjb21wbGV0ZWQuPC9lbT48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHRhc2tzID0gWzx1PjxzdHJvbmc+Mzwvc3Ryb25nPjwvdT4sPHU+PHN0cm9uZz4yPC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjE8L3N0cm9uZz48L3U+XSwgd29ya2VycyA9IFs8dT48c3Ryb25nPjA8L3N0cm9uZz48L3U+LDx1PjxzdHJvbmc+Mzwvc3Ryb25nPjwvdT4sPHU+PHN0cm9uZz4zPC9zdHJvbmc+PC91Pl0sIHBpbGxzID0gMSwgc3RyZW5ndGggPSAxCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+CldlIGNhbiBhc3NpZ24gdGhlIG1hZ2ljYWwgcGlsbCBhbmQgdGFza3MgYXMgZm9sbG93czoKLSBHaXZlIHRoZSBtYWdpY2FsIHBpbGwgdG8gd29ya2VyIDAuCi0gQXNzaWduIHdvcmtlciAwIHRvIHRhc2sgMiAoMCArIDEgJmd0Oz0gMSkKLSBBc3NpZ24gd29ya2VyIDEgdG8gdGFzayAxICgzICZndDs9IDIpCi0gQXNzaWduIHdvcmtlciAyIHRvIHRhc2sgMCAoMyAmZ3Q7PSAzKQo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB0YXNrcyA9IFs8dT48c3Ryb25nPjU8L3N0cm9uZz48L3U+LDRdLCB3b3JrZXJzID0gWzx1PjxzdHJvbmc+MDwvc3Ryb25nPjwvdT4sMCwwXSwgcGlsbHMgPSAxLCBzdHJlbmd0aCA9IDUKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KV2UgY2FuIGFzc2lnbiB0aGUgbWFnaWNhbCBwaWxsIGFuZCB0YXNrcyBhcyBmb2xsb3dzOgotIEdpdmUgdGhlIG1hZ2ljYWwgcGlsbCB0byB3b3JrZXIgMC4KLSBBc3NpZ24gd29ya2VyIDAgdG8gdGFzayAwICgwICsgNSAmZ3Q7PSA1KQo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB0YXNrcyA9IFs8dT48c3Ryb25nPjEwPC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjE1PC9zdHJvbmc+PC91PiwzMF0sIHdvcmtlcnMgPSBbPHU+PHN0cm9uZz4wPC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjEwPC9zdHJvbmc+PC91PiwxMCwxMCwxMF0sIHBpbGxzID0gMywgc3RyZW5ndGggPSAxMAo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpXZSBjYW4gYXNzaWduIHRoZSBtYWdpY2FsIHBpbGxzIGFuZCB0YXNrcyBhcyBmb2xsb3dzOgotIEdpdmUgdGhlIG1hZ2ljYWwgcGlsbCB0byB3b3JrZXIgMCBhbmQgd29ya2VyIDEuCi0gQXNzaWduIHdvcmtlciAwIHRvIHRhc2sgMCAoMCArIDEwICZndDs9IDEwKQotIEFzc2lnbiB3b3JrZXIgMSB0byB0YXNrIDEgKDEwICsgMTAgJmd0Oz0gMTUpClRoZSBsYXN0IHBpbGwgaXMgbm90IGdpdmVuIGJlY2F1c2UgaXQgd2lsbCBub3QgbWFrZSBhbnkgd29ya2VyIHN0cm9uZyBlbm91Z2ggZm9yIHRoZSBsYXN0IHRhc2suCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gdGFza3MubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5tID09IHdvcmtlcnMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4sIG0gJmx0Oz0gNSAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IHBpbGxzICZsdDs9IG08L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gdGFza3NbaV0sIHdvcmtlcnNbal0sIHN0cmVuZ3RoICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Greedy",
+ "Queue",
+ "Sorting",
+ "Monotonic Queue"
+ ]
+ },
+ {
+ "title": "2050. Parallel Courses III",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5uPC9jb2RlPiwgd2hpY2ggaW5kaWNhdGVzIHRoYXQgdGhlcmUgYXJlIDxjb2RlPm48L2NvZGU+IGNvdXJzZXMgbGFiZWxlZCBmcm9tIDxjb2RlPjE8L2NvZGU+IHRvIDxjb2RlPm48L2NvZGU+LiBZb3UgYXJlIGFsc28gZ2l2ZW4gYSAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPnJlbGF0aW9uczwvY29kZT4gd2hlcmUgPGNvZGU+cmVsYXRpb25zW2pdID0gW3ByZXZDb3Vyc2U8c3ViPmo8L3N1Yj4sIG5leHRDb3Vyc2U8c3ViPmo8L3N1Yj5dPC9jb2RlPiBkZW5vdGVzIHRoYXQgY291cnNlIDxjb2RlPnByZXZDb3Vyc2U8c3ViPmo8L3N1Yj48L2NvZGU+IGhhcyB0byBiZSBjb21wbGV0ZWQgPHN0cm9uZz5iZWZvcmU8L3N0cm9uZz4gY291cnNlIDxjb2RlPm5leHRDb3Vyc2U8c3ViPmo8L3N1Yj48L2NvZGU+IChwcmVyZXF1aXNpdGUgcmVsYXRpb25zaGlwKS4gRnVydGhlcm1vcmUsIHlvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPnRpbWU8L2NvZGU+IHdoZXJlIDxjb2RlPnRpbWVbaV08L2NvZGU+IGRlbm90ZXMgaG93IG1hbnkgPHN0cm9uZz5tb250aHM8L3N0cm9uZz4gaXQgdGFrZXMgdG8gY29tcGxldGUgdGhlIDxjb2RlPihpKzEpPHN1cD50aDwvc3VwPjwvY29kZT4gY291cnNlLjwvcD4KPHA+WW91IG11c3QgZmluZCB0aGUgPHN0cm9uZz5taW5pbXVtPC9zdHJvbmc+IG51bWJlciBvZiBtb250aHMgbmVlZGVkIHRvIGNvbXBsZXRlIGFsbCB0aGUgY291cnNlcyBmb2xsb3dpbmcgdGhlc2UgcnVsZXM6PC9wPgo8dWw+CjxsaT5Zb3UgbWF5IHN0YXJ0IHRha2luZyBhIGNvdXJzZSBhdCA8c3Ryb25nPmFueSB0aW1lPC9zdHJvbmc+IGlmIHRoZSBwcmVyZXF1aXNpdGVzIGFyZSBtZXQuPC9saT4KPGxpPjxzdHJvbmc+QW55IG51bWJlciBvZiBjb3Vyc2VzPC9zdHJvbmc+IGNhbiBiZSB0YWtlbiBhdCB0aGUgPHN0cm9uZz5zYW1lIHRpbWU8L3N0cm9uZz4uPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5taW5pbXVtPC9zdHJvbmc+IG51bWJlciBvZiBtb250aHMgbmVlZGVkIHRvIGNvbXBsZXRlIGFsbCB0aGUgY291cnNlczwvZW0+LjwvcD4KPHA+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGUgdGVzdCBjYXNlcyBhcmUgZ2VuZXJhdGVkIHN1Y2ggdGhhdCBpdCBpcyBwb3NzaWJsZSB0byBjb21wbGV0ZSBldmVyeSBjb3Vyc2UgKGkuZS4sIHRoZSBncmFwaCBpcyBhIGRpcmVjdGVkIGFjeWNsaWMgZ3JhcGgpLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxzdHJvbmc+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzEwLzA3L2V4MS5wbmciIHN0eWxlPSJ3aWR0aDogMzkycHg7IGhlaWdodDogMjMycHg7Ii8+PC9zdHJvbmc+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDMsIHJlbGF0aW9ucyA9IFtbMSwzXSxbMiwzXV0sIHRpbWUgPSBbMywyLDVdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA4CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBmaWd1cmUgYWJvdmUgcmVwcmVzZW50cyB0aGUgZ2l2ZW4gZ3JhcGggYW5kIHRoZSB0aW1lIHJlcXVpcmVkIHRvIGNvbXBsZXRlIGVhY2ggY291cnNlLiAKV2Ugc3RhcnQgY291cnNlIDEgYW5kIGNvdXJzZSAyIHNpbXVsdGFuZW91c2x5IGF0IG1vbnRoIDAuCkNvdXJzZSAxIHRha2VzIDMgbW9udGhzIGFuZCBjb3Vyc2UgMiB0YWtlcyAyIG1vbnRocyB0byBjb21wbGV0ZSByZXNwZWN0aXZlbHkuClRodXMsIHRoZSBlYXJsaWVzdCB0aW1lIHdlIGNhbiBzdGFydCBjb3Vyc2UgMyBpcyBhdCBtb250aCAzLCBhbmQgdGhlIHRvdGFsIHRpbWUgcmVxdWlyZWQgaXMgMyArIDUgPSA4IG1vbnRocy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxzdHJvbmc+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzEwLzA3L2V4Mi5wbmciIHN0eWxlPSJ3aWR0aDogNTAwcHg7IGhlaWdodDogMzY1cHg7Ii8+PC9zdHJvbmc+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDUsIHJlbGF0aW9ucyA9IFtbMSw1XSxbMiw1XSxbMyw1XSxbMyw0XSxbNCw1XV0sIHRpbWUgPSBbMSwyLDMsNCw1XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGZpZ3VyZSBhYm92ZSByZXByZXNlbnRzIHRoZSBnaXZlbiBncmFwaCBhbmQgdGhlIHRpbWUgcmVxdWlyZWQgdG8gY29tcGxldGUgZWFjaCBjb3Vyc2UuCllvdSBjYW4gc3RhcnQgY291cnNlcyAxLCAyLCBhbmQgMyBhdCBtb250aCAwLgpZb3UgY2FuIGNvbXBsZXRlIHRoZW0gYWZ0ZXIgMSwgMiwgYW5kIDMgbW9udGhzIHJlc3BlY3RpdmVseS4KQ291cnNlIDQgY2FuIGJlIHRha2VuIG9ubHkgYWZ0ZXIgY291cnNlIDMgaXMgY29tcGxldGVkLCBpLmUuLCBhZnRlciAzIG1vbnRocy4gSXQgaXMgY29tcGxldGVkIGFmdGVyIDMgKyA0ID0gNyBtb250aHMuCkNvdXJzZSA1IGNhbiBiZSB0YWtlbiBvbmx5IGFmdGVyIGNvdXJzZXMgMSwgMiwgMywgYW5kIDQgaGF2ZSBiZWVuIGNvbXBsZXRlZCwgaS5lLiwgYWZ0ZXIgbWF4KDEsMiwzLDcpID0gNyBtb250aHMuClRodXMsIHRoZSBtaW5pbXVtIHRpbWUgbmVlZGVkIHRvIGNvbXBsZXRlIGFsbCB0aGUgY291cnNlcyBpcyA3ICsgNSA9IDEyIG1vbnRocy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDUgKiAxMDxzdXA+NDwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSByZWxhdGlvbnMubGVuZ3RoICZsdDs9IG1pbihuICogKG4gLSAxKSAvIDIsIDUgKiAxMDxzdXA+NDwvc3VwPik8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnJlbGF0aW9uc1tqXS5sZW5ndGggPT0gMjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBwcmV2Q291cnNlPHN1Yj5qPC9zdWI+LCBuZXh0Q291cnNlPHN1Yj5qPC9zdWI+ICZsdDs9IG48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnByZXZDb3Vyc2U8c3ViPmo8L3N1Yj4gIT0gbmV4dENvdXJzZTxzdWI+ajwvc3ViPjwvY29kZT48L2xpPgo8bGk+QWxsIHRoZSBwYWlycyA8Y29kZT5bcHJldkNvdXJzZTxzdWI+ajwvc3ViPiwgbmV4dENvdXJzZTxzdWI+ajwvc3ViPl08L2NvZGU+IGFyZSA8c3Ryb25nPnVuaXF1ZTwvc3Ryb25nPi48L2xpPgo8bGk+PGNvZGU+dGltZS5sZW5ndGggPT0gbjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSB0aW1lW2ldICZsdDs9IDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT5UaGUgZ2l2ZW4gZ3JhcGggaXMgYSBkaXJlY3RlZCBhY3ljbGljIGdyYXBoLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Dynamic Programming",
+ "Graph",
+ "Topological Sort"
+ ]
+ },
+ {
+ "title": "2045. Second Minimum Time to Reach Destination",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgY2l0eSBpcyByZXByZXNlbnRlZCBhcyBhIDxzdHJvbmc+YmktZGlyZWN0aW9uYWwgY29ubmVjdGVkPC9zdHJvbmc+IGdyYXBoIHdpdGggPGNvZGU+bjwvY29kZT4gdmVydGljZXMgd2hlcmUgZWFjaCB2ZXJ0ZXggaXMgbGFiZWxlZCBmcm9tIDxjb2RlPjE8L2NvZGU+IHRvIDxjb2RlPm48L2NvZGU+ICg8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPikuIFRoZSBlZGdlcyBpbiB0aGUgZ3JhcGggYXJlIHJlcHJlc2VudGVkIGFzIGEgMkQgaW50ZWdlciBhcnJheSA8Y29kZT5lZGdlczwvY29kZT4sIHdoZXJlIGVhY2ggPGNvZGU+ZWRnZXNbaV0gPSBbdTxzdWI+aTwvc3ViPiwgdjxzdWI+aTwvc3ViPl08L2NvZGU+IGRlbm90ZXMgYSBiaS1kaXJlY3Rpb25hbCBlZGdlIGJldHdlZW4gdmVydGV4IDxjb2RlPnU8c3ViPmk8L3N1Yj48L2NvZGU+IGFuZCB2ZXJ0ZXggPGNvZGU+djxzdWI+aTwvc3ViPjwvY29kZT4uIEV2ZXJ5IHZlcnRleCBwYWlyIGlzIGNvbm5lY3RlZCBieSA8c3Ryb25nPmF0IG1vc3Qgb25lPC9zdHJvbmc+IGVkZ2UsIGFuZCBubyB2ZXJ0ZXggaGFzIGFuIGVkZ2UgdG8gaXRzZWxmLiBUaGUgdGltZSB0YWtlbiB0byB0cmF2ZXJzZSBhbnkgZWRnZSBpcyA8Y29kZT50aW1lPC9jb2RlPiBtaW51dGVzLjwvcD4KPHA+RWFjaCB2ZXJ0ZXggaGFzIGEgdHJhZmZpYyBzaWduYWwgd2hpY2ggY2hhbmdlcyBpdHMgY29sb3IgZnJvbSA8c3Ryb25nPmdyZWVuPC9zdHJvbmc+IHRvIDxzdHJvbmc+cmVkPC9zdHJvbmc+IGFuZCB2aWNlIHZlcnNhIGV2ZXJ5wqA8Y29kZT5jaGFuZ2U8L2NvZGU+IG1pbnV0ZXMuIEFsbCBzaWduYWxzIGNoYW5nZSA8c3Ryb25nPmF0IHRoZSBzYW1lIHRpbWU8L3N0cm9uZz4uIFlvdSBjYW4gZW50ZXIgYSB2ZXJ0ZXggYXQgPHN0cm9uZz5hbnkgdGltZTwvc3Ryb25nPiwgYnV0IGNhbiBsZWF2ZSBhIHZlcnRleCA8c3Ryb25nPm9ubHkgd2hlbiB0aGUgc2lnbmFsIGlzIGdyZWVuPC9zdHJvbmc+LiBZb3UgPHN0cm9uZz5jYW5ub3Qgd2FpdCA8L3N0cm9uZz5hdCBhIHZlcnRleCBpZiB0aGUgc2lnbmFsIGlzIDxzdHJvbmc+Z3JlZW48L3N0cm9uZz4uPC9wPgo8cD5UaGUgPHN0cm9uZz5zZWNvbmQgbWluaW11bSB2YWx1ZTwvc3Ryb25nPiBpcyBkZWZpbmVkIGFzIHRoZSBzbWFsbGVzdCB2YWx1ZTxzdHJvbmc+IHN0cmljdGx5IGxhcmdlciA8L3N0cm9uZz50aGFuIHRoZSBtaW5pbXVtIHZhbHVlLjwvcD4KPHVsPgo8bGk+Rm9yIGV4YW1wbGUgdGhlIHNlY29uZCBtaW5pbXVtIHZhbHVlIG9mIDxjb2RlPlsyLCAzLCA0XTwvY29kZT4gaXMgPGNvZGU+MzwvY29kZT4sIGFuZCB0aGUgc2Vjb25kIG1pbmltdW0gdmFsdWUgb2YgPGNvZGU+WzIsIDIsIDRdPC9jb2RlPiBpcyA8Y29kZT40PC9jb2RlPi48L2xpPgo8L3VsPgo8cD5HaXZlbiA8Y29kZT5uPC9jb2RlPiwgPGNvZGU+ZWRnZXM8L2NvZGU+LCA8Y29kZT50aW1lPC9jb2RlPiwgYW5kIDxjb2RlPmNoYW5nZTwvY29kZT4sIHJldHVybiA8ZW0+dGhlIDxzdHJvbmc+c2Vjb25kIG1pbmltdW0gdGltZTwvc3Ryb25nPiBpdCB3aWxsIHRha2UgdG8gZ28gZnJvbSB2ZXJ0ZXggPC9lbT48Y29kZT4xPC9jb2RlPjxlbT4gdG8gdmVydGV4IDwvZW0+PGNvZGU+bjwvY29kZT4uPC9wPgo8cD48c3Ryb25nPk5vdGVzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+WW91IGNhbiBnbyB0aHJvdWdoIGFueSB2ZXJ0ZXggPHN0cm9uZz5hbnk8L3N0cm9uZz4gbnVtYmVyIG9mIHRpbWVzLCA8c3Ryb25nPmluY2x1ZGluZzwvc3Ryb25nPiA8Y29kZT4xPC9jb2RlPiBhbmQgPGNvZGU+bjwvY29kZT4uPC9saT4KPGxpPllvdSBjYW4gYXNzdW1lIHRoYXQgd2hlbiB0aGUgam91cm5leSA8c3Ryb25nPnN0YXJ0czwvc3Ryb25nPiwgYWxsIHNpZ25hbHMgaGF2ZSBqdXN0IHR1cm5lZCA8c3Ryb25nPmdyZWVuPC9zdHJvbmc+LjwvbGk+CjwvdWw+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMDkvMjkvZTEucG5nIiBzdHlsZT0id2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDI1MHB4OyIvPiDigIMg4oCDIOKAgyDigIM8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMDkvMjkvZTIucG5nIiBzdHlsZT0id2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDI1MHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSA1LCBlZGdlcyA9IFtbMSwyXSxbMSwzXSxbMSw0XSxbMyw0XSxbNCw1XV0sIHRpbWUgPSAzLCBjaGFuZ2UgPSA1CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgZmlndXJlIG9uIHRoZSBsZWZ0IHNob3dzIHRoZSBnaXZlbiBncmFwaC4KVGhlIGJsdWUgcGF0aCBpbiB0aGUgZmlndXJlIG9uIHRoZSByaWdodCBpcyB0aGUgbWluaW11bSB0aW1lIHBhdGguClRoZSB0aW1lIHRha2VuIGlzOgotIFN0YXJ0IGF0IDEsIHRpbWUgZWxhcHNlZD0wCi0gMSAtJmd0OyA0OiAzIG1pbnV0ZXMsIHRpbWUgZWxhcHNlZD0zCi0gNCAtJmd0OyA1OiAzIG1pbnV0ZXMsIHRpbWUgZWxhcHNlZD02CkhlbmNlIHRoZSBtaW5pbXVtIHRpbWUgbmVlZGVkIGlzIDYgbWludXRlcy4KClRoZSByZWQgcGF0aCBzaG93cyB0aGUgcGF0aCB0byBnZXQgdGhlIHNlY29uZCBtaW5pbXVtIHRpbWUuCi0gU3RhcnQgYXQgMSwgdGltZSBlbGFwc2VkPTAKLSAxIC0mZ3Q7IDM6IDMgbWludXRlcywgdGltZSBlbGFwc2VkPTMKLSAzIC0mZ3Q7IDQ6IDMgbWludXRlcywgdGltZSBlbGFwc2VkPTYKLSBXYWl0IGF0IDQgZm9yIDQgbWludXRlcywgdGltZSBlbGFwc2VkPTEwCi0gNCAtJmd0OyA1OiAzIG1pbnV0ZXMsIHRpbWUgZWxhcHNlZD0xMwpIZW5jZSB0aGUgc2Vjb25kIG1pbmltdW0gdGltZSBpcyAxMyBtaW51dGVzLiAgICAgIAo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzA5LzI5L2VnMi5wbmciIHN0eWxlPSJ3aWR0aDogMjI1cHg7IGhlaWdodDogNTBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gMiwgZWRnZXMgPSBbWzEsMl1dLCB0aW1lID0gMywgY2hhbmdlID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIG1pbmltdW0gdGltZSBwYXRoIGlzIDEgLSZndDsgMiB3aXRoIHRpbWUgPSAzIG1pbnV0ZXMuClRoZSBzZWNvbmQgbWluaW11bSB0aW1lIHBhdGggaXMgMSAtJmd0OyAyIC0mZ3Q7IDEgLSZndDsgMiB3aXRoIHRpbWUgPSAxMSBtaW51dGVzLjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjIgJmx0Oz0gbiAmbHQ7PSAxMDxzdXA+NDwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+biAtIDEgJmx0Oz0gZWRnZXMubGVuZ3RoICZsdDs9IG1pbigyICogMTA8c3VwPjQ8L3N1cD4sIG4gKiAobiAtIDEpIC8gMik8L2NvZGU+PC9saT4KPGxpPjxjb2RlPmVkZ2VzW2ldLmxlbmd0aCA9PSAyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHU8c3ViPmk8L3N1Yj4sIHY8c3ViPmk8L3N1Yj4gJmx0Oz0gbjwvY29kZT48L2xpPgo8bGk+PGNvZGU+dTxzdWI+aTwvc3ViPiAhPSB2PHN1Yj5pPC9zdWI+PC9jb2RlPjwvbGk+CjxsaT5UaGVyZSBhcmUgbm8gZHVwbGljYXRlIGVkZ2VzLjwvbGk+CjxsaT5FYWNoIHZlcnRleCBjYW4gYmUgcmVhY2hlZCBkaXJlY3RseSBvciBpbmRpcmVjdGx5IGZyb20gZXZlcnkgb3RoZXIgdmVydGV4LjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHRpbWUsIGNoYW5nZSAmbHQ7PSAxMDxzdXA+Mzwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Breadth-First Search",
+ "Graph",
+ "Shortest Path"
+ ]
+ },
+ {
+ "title": "2056. Number of Valid Move Combinations On Chessboard",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGFuIDxjb2RlPjggeCA4PC9jb2RlPiBjaGVzc2JvYXJkIGNvbnRhaW5pbmcgPGNvZGU+bjwvY29kZT4gcGllY2VzIChyb29rcywgcXVlZW5zLCBvciBiaXNob3BzKS4gWW91IGFyZSBnaXZlbiBhIHN0cmluZyBhcnJheSA8Y29kZT5waWVjZXM8L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT5uPC9jb2RlPiwgd2hlcmUgPGNvZGU+cGllY2VzW2ldPC9jb2RlPiBkZXNjcmliZXMgdGhlIHR5cGUgKHJvb2ssIHF1ZWVuLCBvciBiaXNob3ApIG9mIHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gcGllY2UuIEluIGFkZGl0aW9uLCB5b3UgYXJlIGdpdmVuIGEgMkQgaW50ZWdlciBhcnJheSA8Y29kZT5wb3NpdGlvbnM8L2NvZGU+IGFsc28gb2YgbGVuZ3RoIDxjb2RlPm48L2NvZGU+LCB3aGVyZSA8Y29kZT5wb3NpdGlvbnNbaV0gPSBbcjxzdWI+aTwvc3ViPiwgYzxzdWI+aTwvc3ViPl08L2NvZGU+IGluZGljYXRlcyB0aGF0IHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gcGllY2UgaXMgY3VycmVudGx5IGF0IHRoZSA8c3Ryb25nPjEtYmFzZWQ8L3N0cm9uZz4gY29vcmRpbmF0ZSA8Y29kZT4ocjxzdWI+aTwvc3ViPiwgYzxzdWI+aTwvc3ViPik8L2NvZGU+IG9uIHRoZSBjaGVzc2JvYXJkLjwvcD4KPHA+V2hlbiBtYWtpbmcgYSA8c3Ryb25nPm1vdmU8L3N0cm9uZz4gZm9yIGEgcGllY2UsIHlvdSBjaG9vc2UgYSA8c3Ryb25nPmRlc3RpbmF0aW9uPC9zdHJvbmc+IHNxdWFyZSB0aGF0IHRoZSBwaWVjZSB3aWxsIHRyYXZlbCB0b3dhcmQgYW5kIHN0b3Agb24uPC9wPgo8dWw+CjxsaT5BIHJvb2sgY2FuIG9ubHkgdHJhdmVsIDxzdHJvbmc+aG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHk8L3N0cm9uZz4gZnJvbSA8Y29kZT4ociwgYyk8L2NvZGU+IHRvIHRoZSBkaXJlY3Rpb24gb2YgPGNvZGU+KHIrMSwgYyk8L2NvZGU+LCA8Y29kZT4oci0xLCBjKTwvY29kZT4sIDxjb2RlPihyLCBjKzEpPC9jb2RlPiwgb3IgPGNvZGU+KHIsIGMtMSk8L2NvZGU+LjwvbGk+CjxsaT5BIHF1ZWVuIGNhbiBvbmx5IHRyYXZlbCA8c3Ryb25nPmhvcml6b250YWxseSwgdmVydGljYWxseSwgb3IgZGlhZ29uYWxseTwvc3Ryb25nPiBmcm9tIDxjb2RlPihyLCBjKTwvY29kZT4gdG8gdGhlIGRpcmVjdGlvbiBvZiA8Y29kZT4ocisxLCBjKTwvY29kZT4sIDxjb2RlPihyLTEsIGMpPC9jb2RlPiwgPGNvZGU+KHIsIGMrMSk8L2NvZGU+LCA8Y29kZT4ociwgYy0xKTwvY29kZT4sIDxjb2RlPihyKzEsIGMrMSk8L2NvZGU+LCA8Y29kZT4ocisxLCBjLTEpPC9jb2RlPiwgPGNvZGU+KHItMSwgYysxKTwvY29kZT4sIDxjb2RlPihyLTEsIGMtMSk8L2NvZGU+LjwvbGk+CjxsaT5BIGJpc2hvcCBjYW4gb25seSB0cmF2ZWwgPHN0cm9uZz5kaWFnb25hbGx5PC9zdHJvbmc+IGZyb20gPGNvZGU+KHIsIGMpPC9jb2RlPiB0byB0aGUgZGlyZWN0aW9uIG9mIDxjb2RlPihyKzEsIGMrMSk8L2NvZGU+LCA8Y29kZT4ocisxLCBjLTEpPC9jb2RlPiwgPGNvZGU+KHItMSwgYysxKTwvY29kZT4sIDxjb2RlPihyLTEsIGMtMSk8L2NvZGU+LjwvbGk+CjwvdWw+CjxwPllvdSBtdXN0IG1ha2UgYSA8c3Ryb25nPm1vdmU8L3N0cm9uZz4gZm9yIGV2ZXJ5IHBpZWNlIG9uIHRoZSBib2FyZCBzaW11bHRhbmVvdXNseS4gQSA8c3Ryb25nPm1vdmUgY29tYmluYXRpb248L3N0cm9uZz4gY29uc2lzdHMgb2YgYWxsIHRoZSA8c3Ryb25nPm1vdmVzPC9zdHJvbmc+IHBlcmZvcm1lZCBvbiBhbGwgdGhlIGdpdmVuIHBpZWNlcy4gRXZlcnkgc2Vjb25kLCBlYWNoIHBpZWNlIHdpbGwgaW5zdGFudGFuZW91c2x5IHRyYXZlbCA8c3Ryb25nPm9uZSBzcXVhcmU8L3N0cm9uZz4gdG93YXJkcyB0aGVpciBkZXN0aW5hdGlvbiBpZiB0aGV5IGFyZSBub3QgYWxyZWFkeSBhdCBpdC4gQWxsIHBpZWNlcyBzdGFydCB0cmF2ZWxpbmcgYXQgdGhlIDxjb2RlPjA8c3VwPnRoPC9zdXA+PC9jb2RlPiBzZWNvbmQuIEEgbW92ZSBjb21iaW5hdGlvbiBpcyA8c3Ryb25nPmludmFsaWQ8L3N0cm9uZz4gaWYsIGF0IGEgZ2l2ZW4gdGltZSwgPHN0cm9uZz50d28gb3IgbW9yZTwvc3Ryb25nPiBwaWVjZXMgb2NjdXB5IHRoZSBzYW1lIHNxdWFyZS48L3A+CjxwPlJldHVybiA8ZW0+dGhlIG51bWJlciBvZiA8c3Ryb25nPnZhbGlkPC9zdHJvbmc+IG1vdmUgY29tYmluYXRpb25zPC9lbT7igIvigIvigIvigIvigIsuPC9wPgo8cD48c3Ryb25nPk5vdGVzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PHN0cm9uZz5ObyB0d28gcGllY2VzPC9zdHJvbmc+IHdpbGwgc3RhcnQgaW4gdGhlPHN0cm9uZz4gc2FtZTwvc3Ryb25nPiBzcXVhcmUuPC9saT4KPGxpPllvdSBtYXkgY2hvb3NlIHRoZSBzcXVhcmUgYSBwaWVjZSBpcyBhbHJlYWR5IG9uIGFzIGl0cyA8c3Ryb25nPmRlc3RpbmF0aW9uPC9zdHJvbmc+LjwvbGk+CjxsaT5JZiB0d28gcGllY2VzIGFyZSA8c3Ryb25nPmRpcmVjdGx5IGFkamFjZW50PC9zdHJvbmc+IHRvIGVhY2ggb3RoZXIsIGl0IGlzIHZhbGlkIGZvciB0aGVtIHRvIDxzdHJvbmc+bW92ZSBwYXN0IGVhY2ggb3RoZXI8L3N0cm9uZz4gYW5kIHN3YXAgcG9zaXRpb25zIGluIG9uZSBzZWNvbmQuPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8wOS8yMy9hMS5wbmciIHN0eWxlPSJ3aWR0aDogMjE1cHg7IGhlaWdodDogMjE1cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcGllY2VzID0gWyJyb29rIl0sIHBvc2l0aW9ucyA9IFtbMSwxXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDE1CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBpbWFnZSBhYm92ZSBzaG93cyB0aGUgcG9zc2libGUgc3F1YXJlcyB0aGUgcGllY2UgY2FuIG1vdmUgdG8uCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMDkvMjMvYTIucG5nIiBzdHlsZT0id2lkdGg6IDIxNXB4OyBoZWlnaHQ6IDIxNXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHBpZWNlcyA9IFsicXVlZW4iXSwgcG9zaXRpb25zID0gW1sxLDFdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMjIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGltYWdlIGFib3ZlIHNob3dzIHRoZSBwb3NzaWJsZSBzcXVhcmVzIHRoZSBwaWVjZSBjYW4gbW92ZSB0by4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8wOS8yMy9hMy5wbmciIHN0eWxlPSJ3aWR0aDogMjE0cHg7IGhlaWdodDogMjE1cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcGllY2VzID0gWyJiaXNob3AiXSwgcG9zaXRpb25zID0gW1s0LDNdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGltYWdlIGFib3ZlIHNob3dzIHRoZSBwb3NzaWJsZSBzcXVhcmVzIHRoZSBwaWVjZSBjYW4gbW92ZSB0by4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBwaWVjZXMubGVuZ3RoIDwvY29kZT48L2xpPgo8bGk+PGNvZGU+biA9PSBwb3NpdGlvbnMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gNDwvY29kZT48L2xpPgo8bGk+PGNvZGU+cGllY2VzPC9jb2RlPiBvbmx5IGNvbnRhaW5zIHRoZSBzdHJpbmdzIDxjb2RlPiJyb29rIjwvY29kZT4sIDxjb2RlPiJxdWVlbiI8L2NvZGU+LCBhbmQgPGNvZGU+ImJpc2hvcCI8L2NvZGU+LjwvbGk+CjxsaT5UaGVyZSB3aWxsIGJlIGF0IG1vc3Qgb25lIHF1ZWVuIG9uIHRoZSBjaGVzc2JvYXJkLjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHg8c3ViPmk8L3N1Yj4sIHk8c3ViPmk8L3N1Yj4gJmx0Oz0gODwvY29kZT48L2xpPgo8bGk+RWFjaCA8Y29kZT5wb3NpdGlvbnNbaV08L2NvZGU+IGlzIGRpc3RpbmN0LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "String",
+ "Backtracking",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2035. Partition Array Into Two Arrays to Minimize Sum Difference",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBvZiA8Y29kZT4yICogbjwvY29kZT4gaW50ZWdlcnMuIFlvdSBuZWVkIHRvIHBhcnRpdGlvbiA8Y29kZT5udW1zPC9jb2RlPiBpbnRvIDxzdHJvbmc+dHdvPC9zdHJvbmc+IGFycmF5cyBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4gdG8gPHN0cm9uZz5taW5pbWl6ZSB0aGUgYWJzb2x1dGUgZGlmZmVyZW5jZTwvc3Ryb25nPiBvZiB0aGUgPHN0cm9uZz5zdW1zPC9zdHJvbmc+IG9mIHRoZSBhcnJheXMuIFRvIHBhcnRpdGlvbiA8Y29kZT5udW1zPC9jb2RlPiwgcHV0IGVhY2ggZWxlbWVudCBvZiA8Y29kZT5udW1zPC9jb2RlPiBpbnRvIDxzdHJvbmc+b25lPC9zdHJvbmc+IG9mIHRoZSB0d28gYXJyYXlzLjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5taW5pbXVtPC9zdHJvbmc+IHBvc3NpYmxlIGFic29sdXRlIGRpZmZlcmVuY2U8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iZXhhbXBsZS0xIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMTAvMDIvZXgxLnBuZyIgc3R5bGU9IndpZHRoOiAyNDBweDsgaGVpZ2h0OiAxMDZweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzMsOSw3LDNdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IE9uZSBvcHRpbWFsIHBhcnRpdGlvbiBpczogWzMsOV0gYW5kIFs3LDNdLgpUaGUgYWJzb2x1dGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBzdW1zIG9mIHRoZSBhcnJheXMgaXMgYWJzKCgzICsgOSkgLSAoNyArIDMpKSA9IDIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbLTM2LDM2XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNzIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gT25lIG9wdGltYWwgcGFydGl0aW9uIGlzOiBbLTM2XSBhbmQgWzM2XS4KVGhlIGFic29sdXRlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgc3VtcyBvZiB0aGUgYXJyYXlzIGlzIGFicygoLTM2KSAtICgzNikpID0gNzIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iZXhhbXBsZS0zIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMTAvMDIvZXgzLnBuZyIgc3R5bGU9IndpZHRoOiAzMTZweDsgaGVpZ2h0OiAxMDZweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzIsLTEsMCw0LC0yLC05XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBPbmUgb3B0aW1hbCBwYXJ0aXRpb24gaXM6IFsyLDQsLTldIGFuZCBbLTEsMCwtMl0uClRoZSBhYnNvbHV0ZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIHN1bXMgb2YgdGhlIGFycmF5cyBpcyBhYnMoKDIgKyA0ICsgLTkpIC0gKC0xICsgMCArIC0yKSkgPSAwLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTU8L2NvZGU+PC9saT4KPGxpPjxjb2RlPm51bXMubGVuZ3RoID09IDIgKiBuPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4tMTA8c3VwPjc8L3N1cD4gJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+Nzwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Two Pointers",
+ "Binary Search",
+ "Dynamic Programming",
+ "Bit Manipulation",
+ "Ordered Set",
+ "Bitmask"
+ ]
+ },
+ {
+ "title": "2030. Smallest K-Length Subsequence With Occurrences of a Letter",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4sIGFuIGludGVnZXIgPGNvZGU+azwvY29kZT4sIGEgbGV0dGVyIDxjb2RlPmxldHRlcjwvY29kZT4sIGFuZCBhbiBpbnRlZ2VyIDxjb2RlPnJlcGV0aXRpb248L2NvZGU+LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5sZXhpY29ncmFwaGljYWxseSBzbWFsbGVzdDwvc3Ryb25nPiBzdWJzZXF1ZW5jZSBvZjwvZW0+IDxjb2RlPnM8L2NvZGU+PGVtPiBvZiBsZW5ndGg8L2VtPiA8Y29kZT5rPC9jb2RlPiA8ZW0+dGhhdCBoYXMgdGhlIGxldHRlcjwvZW0+IDxjb2RlPmxldHRlcjwvY29kZT4gPGVtPmFwcGVhciA8c3Ryb25nPmF0IGxlYXN0PC9zdHJvbmc+PC9lbT4gPGNvZGU+cmVwZXRpdGlvbjwvY29kZT4gPGVtPnRpbWVzPC9lbT4uIFRoZSB0ZXN0IGNhc2VzIGFyZSBnZW5lcmF0ZWQgc28gdGhhdCB0aGUgPGNvZGU+bGV0dGVyPC9jb2RlPiBhcHBlYXJzIGluIDxjb2RlPnM8L2NvZGU+IDxzdHJvbmc+YXQgbGVhc3Q8L3N0cm9uZz4gPGNvZGU+cmVwZXRpdGlvbjwvY29kZT4gdGltZXMuPC9wPgo8cD5BIDxzdHJvbmc+c3Vic2VxdWVuY2U8L3N0cm9uZz4gaXMgYSBzdHJpbmcgdGhhdCBjYW4gYmUgZGVyaXZlZCBmcm9tIGFub3RoZXIgc3RyaW5nIGJ5IGRlbGV0aW5nIHNvbWUgb3Igbm8gY2hhcmFjdGVycyB3aXRob3V0IGNoYW5naW5nIHRoZSBvcmRlciBvZiB0aGUgcmVtYWluaW5nIGNoYXJhY3RlcnMuPC9wPgo8cD5BIHN0cmluZyA8Y29kZT5hPC9jb2RlPiBpcyA8c3Ryb25nPmxleGljb2dyYXBoaWNhbGx5IHNtYWxsZXI8L3N0cm9uZz4gdGhhbiBhIHN0cmluZyA8Y29kZT5iPC9jb2RlPiBpZiBpbiB0aGUgZmlyc3QgcG9zaXRpb24gd2hlcmUgPGNvZGU+YTwvY29kZT4gYW5kIDxjb2RlPmI8L2NvZGU+IGRpZmZlciwgc3RyaW5nIDxjb2RlPmE8L2NvZGU+IGhhcyBhIGxldHRlciB0aGF0IGFwcGVhcnMgZWFybGllciBpbiB0aGUgYWxwaGFiZXQgdGhhbiB0aGUgY29ycmVzcG9uZGluZyBsZXR0ZXIgaW4gPGNvZGU+YjwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImxlZXQiLCBrID0gMywgbGV0dGVyID0gImUiLCByZXBldGl0aW9uID0gMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gImVldCIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgYXJlIGZvdXIgc3Vic2VxdWVuY2VzIG9mIGxlbmd0aCAzIHRoYXQgaGF2ZSB0aGUgbGV0dGVyICdlJyBhcHBlYXIgYXQgbGVhc3QgMSB0aW1lOgotICJsZWUiIChmcm9tICI8c3Ryb25nPjx1PmxlZTwvdT48L3N0cm9uZz50IikKLSAibGV0IiAoZnJvbSAiPHN0cm9uZz48dT5sZTwvdT48L3N0cm9uZz5lPHU+PHN0cm9uZz50PC9zdHJvbmc+PC91PiIpCi0gImxldCIgKGZyb20gIjx1PjxzdHJvbmc+bDwvc3Ryb25nPjwvdT5lPHU+PHN0cm9uZz5ldDwvc3Ryb25nPjwvdT4iKQotICJlZXQiIChmcm9tICJsPHU+PHN0cm9uZz5lZXQ8L3N0cm9uZz48L3U+IikKVGhlIGxleGljb2dyYXBoaWNhbGx5IHNtYWxsZXN0IHN1YnNlcXVlbmNlIGFtb25nIHRoZW0gaXMgImVldCIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iZXhhbXBsZS0yIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMDkvMTMvc21hbGxlc3Qtay1sZW5ndGgtc3Vic2VxdWVuY2UucG5nIiBzdHlsZT0id2lkdGg6IDMzOXB4OyBoZWlnaHQ6IDY3cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJsZWV0Y29kZSIsIGsgPSA0LCBsZXR0ZXIgPSAiZSIsIHJlcGV0aXRpb24gPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiZWNkZSIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gImVjZGUiIGlzIHRoZSBsZXhpY29ncmFwaGljYWxseSBzbWFsbGVzdCBzdWJzZXF1ZW5jZSBvZiBsZW5ndGggNCB0aGF0IGhhcyB0aGUgbGV0dGVyICJlIiBhcHBlYXIgYXQgbGVhc3QgMiB0aW1lcy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJiYiIsIGsgPSAyLCBsZXR0ZXIgPSAiYiIsIHJlcGV0aXRpb24gPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiYmIiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ICJiYiIgaXMgdGhlIG9ubHkgc3Vic2VxdWVuY2Ugb2YgbGVuZ3RoIDIgdGhhdCBoYXMgdGhlIGxldHRlciAiYiIgYXBwZWFyIGF0IGxlYXN0IDIgdGltZXMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gcmVwZXRpdGlvbiAmbHQ7PSBrICZsdDs9IHMubGVuZ3RoICZsdDs9IDUgKiAxMDxzdXA+NDwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+czwvY29kZT4gY29uc2lzdHMgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycy48L2xpPgo8bGk+PGNvZGU+bGV0dGVyPC9jb2RlPiBpcyBhIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlciwgYW5kIGFwcGVhcnMgaW4gPGNvZGU+czwvY29kZT4gYXQgbGVhc3QgPGNvZGU+cmVwZXRpdGlvbjwvY29kZT4gdGltZXMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "String",
+ "Stack",
+ "Greedy",
+ "Monotonic Stack"
+ ]
+ },
+ {
+ "title": "2040. Kth Smallest Product of Two Sorted Arrays",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PkdpdmVuIHR3byA8c3Ryb25nPnNvcnRlZCAwLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheXMgPGNvZGU+bnVtczE8L2NvZGU+IGFuZCA8Y29kZT5udW1zMjwvY29kZT4gYXMgd2VsbCBhcyBhbiBpbnRlZ2VyIDxjb2RlPms8L2NvZGU+LCByZXR1cm4gPGVtPnRoZSA8L2VtPjxjb2RlPms8c3VwPnRoPC9zdXA+PC9jb2RlPjxlbT4gKDxzdHJvbmc+MS1iYXNlZDwvc3Ryb25nPikgc21hbGxlc3QgcHJvZHVjdCBvZiA8L2VtPjxjb2RlPm51bXMxW2ldICogbnVtczJbal08L2NvZGU+PGVtPiB3aGVyZSA8L2VtPjxjb2RlPjAgJmx0Oz0gaSAmbHQ7IG51bXMxLmxlbmd0aDwvY29kZT48ZW0+IGFuZCA8L2VtPjxjb2RlPjAgJmx0Oz0gaiAmbHQ7IG51bXMyLmxlbmd0aDwvY29kZT4uCjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMxID0gWzIsNV0sIG51bXMyID0gWzMsNF0sIGsgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA4CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSAyIHNtYWxsZXN0IHByb2R1Y3RzIGFyZToKLSBudW1zMVswXSAqIG51bXMyWzBdID0gMiAqIDMgPSA2Ci0gbnVtczFbMF0gKiBudW1zMlsxXSA9IDIgKiA0ID0gOApUaGUgMjxzdXA+bmQ8L3N1cD4gc21hbGxlc3QgcHJvZHVjdCBpcyA4Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zMSA9IFstNCwtMiwwLDNdLCBudW1zMiA9IFsyLDRdLCBrID0gNgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgNiBzbWFsbGVzdCBwcm9kdWN0cyBhcmU6Ci0gbnVtczFbMF0gKiBudW1zMlsxXSA9ICgtNCkgKiA0ID0gLTE2Ci0gbnVtczFbMF0gKiBudW1zMlswXSA9ICgtNCkgKiAyID0gLTgKLSBudW1zMVsxXSAqIG51bXMyWzFdID0gKC0yKSAqIDQgPSAtOAotIG51bXMxWzFdICogbnVtczJbMF0gPSAoLTIpICogMiA9IC00Ci0gbnVtczFbMl0gKiBudW1zMlswXSA9IDAgKiAyID0gMAotIG51bXMxWzJdICogbnVtczJbMV0gPSAwICogNCA9IDAKVGhlIDY8c3VwPnRoPC9zdXA+IHNtYWxsZXN0IHByb2R1Y3QgaXMgMC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtczEgPSBbLTIsLTEsMCwxLDJdLCBudW1zMiA9IFstMywtMSwyLDQsNV0sIGsgPSAzCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAtNgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgMyBzbWFsbGVzdCBwcm9kdWN0cyBhcmU6Ci0gbnVtczFbMF0gKiBudW1zMls0XSA9ICgtMikgKiA1ID0gLTEwCi0gbnVtczFbMF0gKiBudW1zMlszXSA9ICgtMikgKiA0ID0gLTgKLSBudW1zMVs0XSAqIG51bXMyWzBdID0gMiAqICgtMykgPSAtNgpUaGUgMzxzdXA+cmQ8L3N1cD4gc21hbGxlc3QgcHJvZHVjdCBpcyAtNi4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zMS5sZW5ndGgsIG51bXMyLmxlbmd0aCAmbHQ7PSA1ICogMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPi0xMDxzdXA+NTwvc3VwPiAmbHQ7PSBudW1zMVtpXSwgbnVtczJbal0gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gayAmbHQ7PSBudW1zMS5sZW5ndGggKiBudW1zMi5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPm51bXMxPC9jb2RlPiBhbmQgPGNvZGU+bnVtczI8L2NvZGU+IGFyZSBzb3J0ZWQuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search"
+ ]
+ },
+ {
+ "title": "2019. The Score of Students Solving Math Expression",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4gdGhhdCBjb250YWlucyBkaWdpdHMgPGNvZGU+MC05PC9jb2RlPiwgYWRkaXRpb24gc3ltYm9scyA8Y29kZT4nKyc8L2NvZGU+LCBhbmQgbXVsdGlwbGljYXRpb24gc3ltYm9scyA8Y29kZT4nKic8L2NvZGU+IDxzdHJvbmc+b25seTwvc3Ryb25nPiwgcmVwcmVzZW50aW5nIGEgPHN0cm9uZz52YWxpZDwvc3Ryb25nPiBtYXRoIGV4cHJlc3Npb24gb2YgPHN0cm9uZz5zaW5nbGUgZGlnaXQgbnVtYmVyczwvc3Ryb25nPiAoZS5nLiwgPGNvZGU+Mys1KjI8L2NvZGU+KS4gVGhpcyBleHByZXNzaW9uIHdhcyBnaXZlbiB0byA8Y29kZT5uPC9jb2RlPiBlbGVtZW50YXJ5IHNjaG9vbCBzdHVkZW50cy4gVGhlIHN0dWRlbnRzIHdlcmUgaW5zdHJ1Y3RlZCB0byBnZXQgdGhlIGFuc3dlciBvZiB0aGUgZXhwcmVzc2lvbiBieSBmb2xsb3dpbmcgdGhpcyA8c3Ryb25nPm9yZGVyIG9mIG9wZXJhdGlvbnM8L3N0cm9uZz46PC9wPgo8b2w+CjxsaT5Db21wdXRlIDxzdHJvbmc+bXVsdGlwbGljYXRpb248L3N0cm9uZz4sIHJlYWRpbmcgZnJvbSA8c3Ryb25nPmxlZnQgdG8gcmlnaHQ8L3N0cm9uZz47IFRoZW4sPC9saT4KPGxpPkNvbXB1dGUgPHN0cm9uZz5hZGRpdGlvbjwvc3Ryb25nPiwgcmVhZGluZyBmcm9tIDxzdHJvbmc+bGVmdCB0byByaWdodDwvc3Ryb25nPi48L2xpPgo8L29sPgo8cD5Zb3UgYXJlIGdpdmVuIGFuIGludGVnZXIgYXJyYXkgPGNvZGU+YW5zd2VyczwvY29kZT4gb2YgbGVuZ3RoIDxjb2RlPm48L2NvZGU+LCB3aGljaCBhcmUgdGhlIHN1Ym1pdHRlZCBhbnN3ZXJzIG9mIHRoZSBzdHVkZW50cyBpbiBubyBwYXJ0aWN1bGFyIG9yZGVyLiBZb3UgYXJlIGFza2VkIHRvIGdyYWRlIHRoZSA8Y29kZT5hbnN3ZXJzPC9jb2RlPiwgYnkgZm9sbG93aW5nIHRoZXNlIDxzdHJvbmc+cnVsZXM8L3N0cm9uZz46PC9wPgo8dWw+CjxsaT5JZiBhbiBhbnN3ZXIgPHN0cm9uZz5lcXVhbHM8L3N0cm9uZz4gdGhlIGNvcnJlY3QgYW5zd2VyIG9mIHRoZSBleHByZXNzaW9uLCB0aGlzIHN0dWRlbnQgd2lsbCBiZSByZXdhcmRlZCA8Y29kZT41PC9jb2RlPiBwb2ludHM7PC9saT4KPGxpPk90aGVyd2lzZSwgaWYgdGhlIGFuc3dlciA8c3Ryb25nPmNvdWxkIGJlIGludGVycHJldGVkPC9zdHJvbmc+IGFzIGlmIHRoZSBzdHVkZW50IGFwcGxpZWQgdGhlIG9wZXJhdG9ycyA8c3Ryb25nPmluIHRoZSB3cm9uZyBvcmRlcjwvc3Ryb25nPiBidXQgaGFkIDxzdHJvbmc+Y29ycmVjdCBhcml0aG1ldGljPC9zdHJvbmc+LCB0aGlzIHN0dWRlbnQgd2lsbCBiZSByZXdhcmRlZCA8Y29kZT4yPC9jb2RlPiBwb2ludHM7PC9saT4KPGxpPk90aGVyd2lzZSwgdGhpcyBzdHVkZW50IHdpbGwgYmUgcmV3YXJkZWQgPGNvZGU+MDwvY29kZT4gcG9pbnRzLjwvbGk+CjwvdWw+CjxwPlJldHVybiA8ZW0+dGhlIHN1bSBvZiB0aGUgcG9pbnRzIG9mIHRoZSBzdHVkZW50czwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8wOS8xNy9zdHVkZW50X3NvbHZpbmdfbWF0aC5wbmciIHN0eWxlPSJ3aWR0aDogNjc4cHg7IGhlaWdodDogMTA5cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICI3KzMqMSoyIiwgYW5zd2VycyA9IFsyMCwxMyw0Ml0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDcKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gQXMgaWxsdXN0cmF0ZWQgYWJvdmUsIHRoZSBjb3JyZWN0IGFuc3dlciBvZiB0aGUgZXhwcmVzc2lvbiBpcyAxMywgdGhlcmVmb3JlIG9uZSBzdHVkZW50IGlzIHJld2FyZGVkIDUgcG9pbnRzOiBbMjAsPHU+PHN0cm9uZz4xMzwvc3Ryb25nPjwvdT4sNDJdCkEgc3R1ZGVudCBtaWdodCBoYXZlIGFwcGxpZWQgdGhlIG9wZXJhdG9ycyBpbiB0aGlzIHdyb25nIG9yZGVyOiAoKDcrMykqMSkqMiA9IDIwLiBUaGVyZWZvcmUgb25lIHN0dWRlbnQgaXMgcmV3YXJkZWQgMiBwb2ludHM6IFs8dT48c3Ryb25nPjIwPC9zdHJvbmc+PC91PiwxMyw0Ml0KVGhlIHBvaW50cyBmb3IgdGhlIHN0dWRlbnRzIGFyZTogWzIsNSwwXS4gVGhlIHN1bSBvZiB0aGUgcG9pbnRzIGlzIDIrNSswPTcuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiMys1KjIiLCBhbnN3ZXJzID0gWzEzLDAsMTAsMTMsMTMsMTYsMTZdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxOQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgY29ycmVjdCBhbnN3ZXIgb2YgdGhlIGV4cHJlc3Npb24gaXMgMTMsIHRoZXJlZm9yZSB0aHJlZSBzdHVkZW50cyBhcmUgcmV3YXJkZWQgNSBwb2ludHMgZWFjaDogWzxzdHJvbmc+PHU+MTM8L3U+PC9zdHJvbmc+LDAsMTAsPHN0cm9uZz48dT4xMzwvdT48L3N0cm9uZz4sPHN0cm9uZz48dT4xMzwvdT48L3N0cm9uZz4sMTYsMTZdCkEgc3R1ZGVudCBtaWdodCBoYXZlIGFwcGxpZWQgdGhlIG9wZXJhdG9ycyBpbiB0aGlzIHdyb25nIG9yZGVyOiAoKDMrNSkqMiA9IDE2LiBUaGVyZWZvcmUgdHdvIHN0dWRlbnRzIGFyZSByZXdhcmRlZCAyIHBvaW50czogWzEzLDAsMTAsMTMsMTMsPHN0cm9uZz48dT4xNjwvdT48L3N0cm9uZz4sPHN0cm9uZz48dT4xNjwvdT48L3N0cm9uZz5dClRoZSBwb2ludHMgZm9yIHRoZSBzdHVkZW50cyBhcmU6IFs1LDAsMCw1LDUsMiwyXS4gVGhlIHN1bSBvZiB0aGUgcG9pbnRzIGlzIDUrMCswKzUrNSsyKzI9MTkuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiNiswKjEiLCBhbnN3ZXJzID0gWzEyLDksNiw0LDgsNl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBjb3JyZWN0IGFuc3dlciBvZiB0aGUgZXhwcmVzc2lvbiBpcyA2LgpJZiBhIHN0dWRlbnQgaGFkIGluY29ycmVjdGx5IGRvbmUgKDYrMCkqMSwgdGhlIGFuc3dlciB3b3VsZCBhbHNvIGJlIDYuCkJ5IHRoZSBydWxlcyBvZiBncmFkaW5nLCB0aGUgc3R1ZGVudHMgd2lsbCBzdGlsbCBiZSByZXdhcmRlZCA1IHBvaW50cyAoYXMgdGhleSBnb3QgdGhlIGNvcnJlY3QgYW5zd2VyKSwgbm90IDIgcG9pbnRzLgpUaGUgcG9pbnRzIGZvciB0aGUgc3R1ZGVudHMgYXJlOiBbMCwwLDUsMCwwLDVdLiBUaGUgc3VtIG9mIHRoZSBwb2ludHMgaXMgMTAuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjMgJmx0Oz0gcy5sZW5ndGggJmx0Oz0gMzE8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnM8L2NvZGU+IHJlcHJlc2VudHMgYSB2YWxpZCBleHByZXNzaW9uIHRoYXQgY29udGFpbnMgb25seSBkaWdpdHMgPGNvZGU+MC05PC9jb2RlPiwgPGNvZGU+JysnPC9jb2RlPiwgYW5kIDxjb2RlPicqJzwvY29kZT4gb25seS48L2xpPgo8bGk+QWxsIHRoZSBpbnRlZ2VyIG9wZXJhbmRzIGluIHRoZSBleHByZXNzaW9uIGFyZSBpbiB0aGUgPHN0cm9uZz5pbmNsdXNpdmU8L3N0cm9uZz4gcmFuZ2UgPGNvZGU+WzAsIDldPC9jb2RlPi48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PTwvY29kZT4gVGhlIGNvdW50IG9mIGFsbCBvcGVyYXRvcnMgKDxjb2RlPicrJzwvY29kZT4gYW5kIDxjb2RlPicqJzwvY29kZT4pIGluIHRoZSBtYXRoIGV4cHJlc3Npb24gPGNvZGU+Jmx0Oz0gMTU8L2NvZGU+PC9saT4KPGxpPlRlc3QgZGF0YSBhcmUgZ2VuZXJhdGVkIHN1Y2ggdGhhdCB0aGUgY29ycmVjdCBhbnN3ZXIgb2YgdGhlIGV4cHJlc3Npb24gaXMgaW4gdGhlIHJhbmdlIG9mIDxjb2RlPlswLCAxMDAwXTwvY29kZT4uPC9saT4KPGxpPjxjb2RlPm4gPT0gYW5zd2Vycy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDxzdXA+NDwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBhbnN3ZXJzW2ldICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Math",
+ "String",
+ "Dynamic Programming",
+ "Stack",
+ "Memoization"
+ ]
+ },
+ {
+ "title": "2014. Longest Subsequence Repeated k Times",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4gb2YgbGVuZ3RoIDxjb2RlPm48L2NvZGU+LCBhbmQgYW4gaW50ZWdlciA8Y29kZT5rPC9jb2RlPi4gWW91IGFyZSB0YXNrZWQgdG8gZmluZCB0aGUgPHN0cm9uZz5sb25nZXN0IHN1YnNlcXVlbmNlIHJlcGVhdGVkPC9zdHJvbmc+IDxjb2RlPms8L2NvZGU+IHRpbWVzIGluIHN0cmluZyA8Y29kZT5zPC9jb2RlPi48L3A+CjxwPkEgPHN0cm9uZz5zdWJzZXF1ZW5jZTwvc3Ryb25nPiBpcyBhIHN0cmluZyB0aGF0IGNhbiBiZSBkZXJpdmVkIGZyb20gYW5vdGhlciBzdHJpbmcgYnkgZGVsZXRpbmcgc29tZSBvciBubyBjaGFyYWN0ZXJzIHdpdGhvdXQgY2hhbmdpbmcgdGhlIG9yZGVyIG9mIHRoZSByZW1haW5pbmcgY2hhcmFjdGVycy48L3A+CjxwPkEgc3Vic2VxdWVuY2UgPGNvZGU+c2VxPC9jb2RlPiBpcyA8c3Ryb25nPnJlcGVhdGVkPC9zdHJvbmc+IDxjb2RlPms8L2NvZGU+IHRpbWVzIGluIHRoZSBzdHJpbmcgPGNvZGU+czwvY29kZT4gaWYgPGNvZGU+c2VxICogazwvY29kZT4gaXMgYSBzdWJzZXF1ZW5jZSBvZiA8Y29kZT5zPC9jb2RlPiwgd2hlcmUgPGNvZGU+c2VxICogazwvY29kZT4gcmVwcmVzZW50cyBhIHN0cmluZyBjb25zdHJ1Y3RlZCBieSBjb25jYXRlbmF0aW5nIDxjb2RlPnNlcTwvY29kZT4gPGNvZGU+azwvY29kZT4gdGltZXMuPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgPGNvZGU+ImJiYSI8L2NvZGU+IGlzIHJlcGVhdGVkIDxjb2RlPjI8L2NvZGU+IHRpbWVzIGluIHRoZSBzdHJpbmcgPGNvZGU+ImJhYmFiY2JhIjwvY29kZT4sIGJlY2F1c2UgdGhlIHN0cmluZyA8Y29kZT4iYmJhYmJhIjwvY29kZT4sIGNvbnN0cnVjdGVkIGJ5IGNvbmNhdGVuYXRpbmcgPGNvZGU+ImJiYSI8L2NvZGU+IDxjb2RlPjI8L2NvZGU+IHRpbWVzLCBpcyBhIHN1YnNlcXVlbmNlIG9mIHRoZSBzdHJpbmcgPGNvZGU+IjxzdHJvbmc+PHU+YjwvdT48L3N0cm9uZz5hPHN0cm9uZz48dT5iYWI8L3U+PC9zdHJvbmc+YzxzdHJvbmc+PHU+YmE8L3U+PC9zdHJvbmc+IjwvY29kZT4uPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5sb25nZXN0IHN1YnNlcXVlbmNlIHJlcGVhdGVkPC9zdHJvbmc+IDwvZW0+PGNvZGU+azwvY29kZT48ZW0+IHRpbWVzIGluIHN0cmluZyA8L2VtPjxjb2RlPnM8L2NvZGU+PGVtPi4gSWYgbXVsdGlwbGUgc3VjaCBzdWJzZXF1ZW5jZXMgYXJlIGZvdW5kLCByZXR1cm4gdGhlIDxzdHJvbmc+bGV4aWNvZ3JhcGhpY2FsbHkgbGFyZ2VzdDwvc3Ryb25nPiBvbmUuIElmIHRoZXJlIGlzIG5vIHN1Y2ggc3Vic2VxdWVuY2UsIHJldHVybiBhbiA8c3Ryb25nPmVtcHR5PC9zdHJvbmc+IHN0cmluZzwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSJleGFtcGxlIDEiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8wOC8zMC9sb25nZXN0LXN1YnNlcXVlbmNlLXJlcGVhdC1rLXRpbWVzLnBuZyIgc3R5bGU9IndpZHRoOiA0NTdweDsgaGVpZ2h0OiA5OXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAibGV0c2xlZXRjb2RlIiwgayA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICJsZXQiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSB0d28gbG9uZ2VzdCBzdWJzZXF1ZW5jZXMgcmVwZWF0ZWQgMiB0aW1lczogImxldCIgYW5kICJldGUiLgoibGV0IiBpcyB0aGUgbGV4aWNvZ3JhcGhpY2FsbHkgbGFyZ2VzdCBvbmUuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiYmIiLCBrID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gImIiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBsb25nZXN0IHN1YnNlcXVlbmNlIHJlcGVhdGVkIDIgdGltZXMgaXMgImIiLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImFiIiwgayA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICIiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGlzIG5vIHN1YnNlcXVlbmNlIHJlcGVhdGVkIDIgdGltZXMuIEVtcHR5IHN0cmluZyBpcyByZXR1cm5lZC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBzLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MiAmbHQ7PSBuLCBrICZsdDs9IDIwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjIgJmx0Oz0gbiAmbHQ7IGsgKiA4PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zPC9jb2RlPiBjb25zaXN0cyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "String",
+ "Backtracking",
+ "Greedy",
+ "Counting",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2025. Maximum Number of Ways to Partition an Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT5uPC9jb2RlPi4gVGhlIG51bWJlciBvZiB3YXlzIHRvIDxzdHJvbmc+cGFydGl0aW9uPC9zdHJvbmc+IDxjb2RlPm51bXM8L2NvZGU+IGlzIHRoZSBudW1iZXIgb2YgPGNvZGU+cGl2b3Q8L2NvZGU+IGluZGljZXMgdGhhdCBzYXRpc2Z5IGJvdGggY29uZGl0aW9uczo8L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gcGl2b3QgJmx0OyBuPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5udW1zWzBdICsgbnVtc1sxXSArIC4uLiArIG51bXNbcGl2b3QgLSAxXSA9PSBudW1zW3Bpdm90XSArIG51bXNbcGl2b3QgKyAxXSArIC4uLiArIG51bXNbbiAtIDFdPC9jb2RlPjwvbGk+CjwvdWw+CjxwPllvdSBhcmUgYWxzbyBnaXZlbiBhbiBpbnRlZ2VyIDxjb2RlPms8L2NvZGU+LiBZb3UgY2FuIGNob29zZSB0byBjaGFuZ2UgdGhlIHZhbHVlIG9mIDxzdHJvbmc+b25lPC9zdHJvbmc+IGVsZW1lbnQgb2YgPGNvZGU+bnVtczwvY29kZT4gdG8gPGNvZGU+azwvY29kZT4sIG9yIHRvIGxlYXZlIHRoZSBhcnJheSA8c3Ryb25nPnVuY2hhbmdlZDwvc3Ryb25nPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBwb3NzaWJsZSBudW1iZXIgb2Ygd2F5cyB0byA8c3Ryb25nPnBhcnRpdGlvbjwvc3Ryb25nPiA8L2VtPjxjb2RlPm51bXM8L2NvZGU+PGVtPiB0byBzYXRpc2Z5IGJvdGggY29uZGl0aW9ucyBhZnRlciBjaGFuZ2luZyA8c3Ryb25nPmF0IG1vc3Q8L3N0cm9uZz4gb25lIGVsZW1lbnQ8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMiwtMSwyXSwgayA9IDMKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gT25lIG9wdGltYWwgYXBwcm9hY2ggaXMgdG8gY2hhbmdlIG51bXNbMF0gdG8gay4gVGhlIGFycmF5IGJlY29tZXMgWzxzdHJvbmc+PHU+MzwvdT48L3N0cm9uZz4sLTEsMl0uClRoZXJlIGlzIG9uZSB3YXkgdG8gcGFydGl0aW9uIHRoZSBhcnJheToKLSBGb3IgcGl2b3QgPSAyLCB3ZSBoYXZlIHRoZSBwYXJ0aXRpb24gWzMsLTEgfCAyXTogMyArIC0xID09IDIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMCwwLDBdLCBrID0gMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgb3B0aW1hbCBhcHByb2FjaCBpcyB0byBsZWF2ZSB0aGUgYXJyYXkgdW5jaGFuZ2VkLgpUaGVyZSBhcmUgdHdvIHdheXMgdG8gcGFydGl0aW9uIHRoZSBhcnJheToKLSBGb3IgcGl2b3QgPSAxLCB3ZSBoYXZlIHRoZSBwYXJ0aXRpb24gWzAgfCAwLDBdOiAwID09IDAgKyAwLgotIEZvciBwaXZvdCA9IDIsIHdlIGhhdmUgdGhlIHBhcnRpdGlvbiBbMCwwIHwgMF06IDAgKyAwID09IDAuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMjIsNCwtMjUsLTIwLC0xNSwxNSwtMTYsNywxOSwtMTAsMCwtMTMsLTE0XSwgayA9IC0zMwo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBPbmUgb3B0aW1hbCBhcHByb2FjaCBpcyB0byBjaGFuZ2UgbnVtc1syXSB0byBrLiBUaGUgYXJyYXkgYmVjb21lcyBbMjIsNCw8dT48c3Ryb25nPi0zMzwvc3Ryb25nPjwvdT4sLTIwLC0xNSwxNSwtMTYsNywxOSwtMTAsMCwtMTMsLTE0XS4KVGhlcmUgYXJlIGZvdXIgd2F5cyB0byBwYXJ0aXRpb24gdGhlIGFycmF5Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IG51bXMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4yICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPi0xMDxzdXA+NTwvc3VwPiAmbHQ7PSBrLCBudW1zW2ldICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Counting",
+ "Enumeration",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2003. Smallest Missing Genetic Value in Each Subtree",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGEgPHN0cm9uZz5mYW1pbHkgdHJlZTwvc3Ryb25nPiByb290ZWQgYXQgPGNvZGU+MDwvY29kZT4gY29uc2lzdGluZyBvZiA8Y29kZT5uPC9jb2RlPiBub2RlcyBudW1iZXJlZCA8Y29kZT4wPC9jb2RlPiB0byA8Y29kZT5uIC0gMTwvY29kZT4uIFlvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPnBhcmVudHM8L2NvZGU+LCB3aGVyZSA8Y29kZT5wYXJlbnRzW2ldPC9jb2RlPiBpcyB0aGUgcGFyZW50IGZvciBub2RlIDxjb2RlPmk8L2NvZGU+LiBTaW5jZSBub2RlIDxjb2RlPjA8L2NvZGU+IGlzIHRoZSA8c3Ryb25nPnJvb3Q8L3N0cm9uZz4sIDxjb2RlPnBhcmVudHNbMF0gPT0gLTE8L2NvZGU+LjwvcD4KPHA+VGhlcmUgYXJlIDxjb2RlPjEwPHN1cD41PC9zdXA+PC9jb2RlPiBnZW5ldGljIHZhbHVlcywgZWFjaCByZXByZXNlbnRlZCBieSBhbiBpbnRlZ2VyIGluIHRoZSA8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPiByYW5nZSA8Y29kZT5bMSwgMTA8c3VwPjU8L3N1cD5dPC9jb2RlPi4gWW91IGFyZSBnaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4sIHdoZXJlIDxjb2RlPm51bXNbaV08L2NvZGU+IGlzIGEgPHN0cm9uZz5kaXN0aW5jdCA8L3N0cm9uZz5nZW5ldGljIHZhbHVlIGZvciBub2RlIDxjb2RlPmk8L2NvZGU+LjwvcD4KPHA+UmV0dXJuIDxlbT5hbiBhcnJheSA8L2VtPjxjb2RlPmFuczwvY29kZT48ZW0+IG9mIGxlbmd0aCA8L2VtPjxjb2RlPm48L2NvZGU+PGVtPiB3aGVyZSA8L2VtPjxjb2RlPmFuc1tpXTwvY29kZT48ZW0+IGlzPC9lbT4gPGVtPnRoZSA8c3Ryb25nPnNtYWxsZXN0PC9zdHJvbmc+IGdlbmV0aWMgdmFsdWUgdGhhdCBpcyA8c3Ryb25nPm1pc3Npbmc8L3N0cm9uZz4gZnJvbSB0aGUgc3VidHJlZSByb290ZWQgYXQgbm9kZTwvZW0+IDxjb2RlPmk8L2NvZGU+LjwvcD4KPHA+VGhlIDxzdHJvbmc+c3VidHJlZTwvc3Ryb25nPiByb290ZWQgYXQgYSBub2RlIDxjb2RlPng8L2NvZGU+IGNvbnRhaW5zIG5vZGUgPGNvZGU+eDwvY29kZT4gYW5kIGFsbCBvZiBpdHMgPHN0cm9uZz5kZXNjZW5kYW50PC9zdHJvbmc+IG5vZGVzLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8wOC8yMy9jYXNlLTEucG5nIiBzdHlsZT0id2lkdGg6IDIwNHB4OyBoZWlnaHQ6IDE2N3B4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHBhcmVudHMgPSBbLTEsMCwwLDJdLCBudW1zID0gWzEsMiwzLDRdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbNSwxLDEsMV0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGFuc3dlciBmb3IgZWFjaCBzdWJ0cmVlIGlzIGNhbGN1bGF0ZWQgYXMgZm9sbG93czoKLSAwOiBUaGUgc3VidHJlZSBjb250YWlucyBub2RlcyBbMCwxLDIsM10gd2l0aCB2YWx1ZXMgWzEsMiwzLDRdLiA1IGlzIHRoZSBzbWFsbGVzdCBtaXNzaW5nIHZhbHVlLgotIDE6IFRoZSBzdWJ0cmVlIGNvbnRhaW5zIG9ubHkgbm9kZSAxIHdpdGggdmFsdWUgMi4gMSBpcyB0aGUgc21hbGxlc3QgbWlzc2luZyB2YWx1ZS4KLSAyOiBUaGUgc3VidHJlZSBjb250YWlucyBub2RlcyBbMiwzXSB3aXRoIHZhbHVlcyBbMyw0XS4gMSBpcyB0aGUgc21hbGxlc3QgbWlzc2luZyB2YWx1ZS4KLSAzOiBUaGUgc3VidHJlZSBjb250YWlucyBvbmx5IG5vZGUgMyB3aXRoIHZhbHVlIDQuIDEgaXMgdGhlIHNtYWxsZXN0IG1pc3NpbmcgdmFsdWUuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMDgvMjMvY2FzZS0yLnBuZyIgc3R5bGU9IndpZHRoOiAyNDdweDsgaGVpZ2h0OiAxNjhweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBwYXJlbnRzID0gWy0xLDAsMSwwLDMsM10sIG51bXMgPSBbNSw0LDYsMiwxLDNdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbNywxLDEsNCwyLDFdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBhbnN3ZXIgZm9yIGVhY2ggc3VidHJlZSBpcyBjYWxjdWxhdGVkIGFzIGZvbGxvd3M6Ci0gMDogVGhlIHN1YnRyZWUgY29udGFpbnMgbm9kZXMgWzAsMSwyLDMsNCw1XSB3aXRoIHZhbHVlcyBbNSw0LDYsMiwxLDNdLiA3IGlzIHRoZSBzbWFsbGVzdCBtaXNzaW5nIHZhbHVlLgotIDE6IFRoZSBzdWJ0cmVlIGNvbnRhaW5zIG5vZGVzIFsxLDJdIHdpdGggdmFsdWVzIFs0LDZdLiAxIGlzIHRoZSBzbWFsbGVzdCBtaXNzaW5nIHZhbHVlLgotIDI6IFRoZSBzdWJ0cmVlIGNvbnRhaW5zIG9ubHkgbm9kZSAyIHdpdGggdmFsdWUgNi4gMSBpcyB0aGUgc21hbGxlc3QgbWlzc2luZyB2YWx1ZS4KLSAzOiBUaGUgc3VidHJlZSBjb250YWlucyBub2RlcyBbMyw0LDVdIHdpdGggdmFsdWVzIFsyLDEsM10uIDQgaXMgdGhlIHNtYWxsZXN0IG1pc3NpbmcgdmFsdWUuCi0gNDogVGhlIHN1YnRyZWUgY29udGFpbnMgb25seSBub2RlIDQgd2l0aCB2YWx1ZSAxLiAyIGlzIHRoZSBzbWFsbGVzdCBtaXNzaW5nIHZhbHVlLgotIDU6IFRoZSBzdWJ0cmVlIGNvbnRhaW5zIG9ubHkgbm9kZSA1IHdpdGggdmFsdWUgMy4gMSBpcyB0aGUgc21hbGxlc3QgbWlzc2luZyB2YWx1ZS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcGFyZW50cyA9IFstMSwyLDMsMCwyLDQsMV0sIG51bXMgPSBbMiwzLDQsNSw2LDcsOF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsxLDEsMSwxLDEsMSwxXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgdmFsdWUgMSBpcyBtaXNzaW5nIGZyb20gYWxsIHRoZSBzdWJ0cmVlcy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBwYXJlbnRzLmxlbmd0aCA9PSBudW1zLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MiAmbHQ7PSBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IHBhcmVudHNbaV0gJmx0Oz0gbiAtIDE8L2NvZGU+IGZvciA8Y29kZT5pICE9IDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnBhcmVudHNbMF0gPT0gLTE8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnBhcmVudHM8L2NvZGU+IHJlcHJlc2VudHMgYSB2YWxpZCB0cmVlLjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPkVhY2ggPGNvZGU+bnVtc1tpXTwvY29kZT4gaXMgZGlzdGluY3QuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Dynamic Programming",
+ "Tree",
+ "Depth-First Search",
+ "Union Find"
+ ]
+ },
+ {
+ "title": "1998. GCD Sort of an Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiwgYW5kIHlvdSBjYW4gcGVyZm9ybSB0aGUgZm9sbG93aW5nIG9wZXJhdGlvbiA8c3Ryb25nPmFueTwvc3Ryb25nPiBudW1iZXIgb2YgdGltZXMgb24gPGNvZGU+bnVtczwvY29kZT46PC9wPgo8dWw+CjxsaT5Td2FwIHRoZSBwb3NpdGlvbnMgb2YgdHdvIGVsZW1lbnRzIDxjb2RlPm51bXNbaV08L2NvZGU+IGFuZCA8Y29kZT5udW1zW2pdPC9jb2RlPiBpZiA8Y29kZT5nY2QobnVtc1tpXSwgbnVtc1tqXSkgJmd0OyAxPC9jb2RlPiB3aGVyZSA8Y29kZT5nY2QobnVtc1tpXSwgbnVtc1tqXSk8L2NvZGU+IGlzIHRoZSA8c3Ryb25nPmdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yPC9zdHJvbmc+IG9mIDxjb2RlPm51bXNbaV08L2NvZGU+IGFuZCA8Y29kZT5udW1zW2pdPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGNvZGU+dHJ1ZTwvY29kZT4gPGVtPmlmIGl0IGlzIHBvc3NpYmxlIHRvIHNvcnQgPC9lbT48Y29kZT5udW1zPC9jb2RlPjxlbT4gaW4gPHN0cm9uZz5ub24tZGVjcmVhc2luZzwvc3Ryb25nPiBvcmRlciB1c2luZyB0aGUgYWJvdmUgc3dhcCBtZXRob2QsIG9yIDwvZW0+PGNvZGU+ZmFsc2U8L2NvZGU+PGVtPiBvdGhlcndpc2UuPC9lbT48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNywyMSwzXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gdHJ1ZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSBjYW4gc29ydCBbNywyMSwzXSBieSBwZXJmb3JtaW5nIHRoZSBmb2xsb3dpbmcgb3BlcmF0aW9uczoKLSBTd2FwIDcgYW5kIDIxIGJlY2F1c2UgZ2NkKDcsMjEpID0gNy4gbnVtcyA9IFs8dT48c3Ryb25nPjIxPC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjc8L3N0cm9uZz48L3U+LDNdCi0gU3dhcCAyMSBhbmQgMyBiZWNhdXNlIGdjZCgyMSwzKSA9IDMuIG51bXMgPSBbPHU+PHN0cm9uZz4zPC9zdHJvbmc+PC91Piw3LDx1PjxzdHJvbmc+MjE8L3N0cm9uZz48L3U+XQo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzUsMiw2LDJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBmYWxzZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBJdCBpcyBpbXBvc3NpYmxlIHRvIHNvcnQgdGhlIGFycmF5IGJlY2F1c2UgNSBjYW5ub3QgYmUgc3dhcHBlZCB3aXRoIGFueSBvdGhlciBlbGVtZW50Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEwLDUsOSwzLDE1XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gdHJ1ZQpXZSBjYW4gc29ydCBbMTAsNSw5LDMsMTVdIGJ5IHBlcmZvcm1pbmcgdGhlIGZvbGxvd2luZyBvcGVyYXRpb25zOgotIFN3YXAgMTAgYW5kIDE1IGJlY2F1c2UgZ2NkKDEwLDE1KSA9IDUuIG51bXMgPSBbPHU+PHN0cm9uZz4xNTwvc3Ryb25nPjwvdT4sNSw5LDMsPHU+PHN0cm9uZz4xMDwvc3Ryb25nPjwvdT5dCi0gU3dhcCAxNSBhbmQgMyBiZWNhdXNlIGdjZCgxNSwzKSA9IDMuIG51bXMgPSBbPHU+PHN0cm9uZz4zPC9zdHJvbmc+PC91Piw1LDksPHU+PHN0cm9uZz4xNTwvc3Ryb25nPjwvdT4sMTBdCi0gU3dhcCAxMCBhbmQgMTUgYmVjYXVzZSBnY2QoMTAsMTUpID0gNS4gbnVtcyA9IFszLDUsOSw8dT48c3Ryb25nPjEwPC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjE1PC9zdHJvbmc+PC91Pl0KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAzICogMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjIgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Math",
+ "Union Find",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2009. Minimum Number of Operations to Make Array Continuous",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPi4gSW4gb25lIG9wZXJhdGlvbiwgeW91IGNhbiByZXBsYWNlIDxzdHJvbmc+YW55PC9zdHJvbmc+IGVsZW1lbnQgaW4gPGNvZGU+bnVtczwvY29kZT4gd2l0aCA8c3Ryb25nPmFueTwvc3Ryb25nPiBpbnRlZ2VyLjwvcD4KPHA+PGNvZGU+bnVtczwvY29kZT4gaXMgY29uc2lkZXJlZCA8c3Ryb25nPmNvbnRpbnVvdXM8L3N0cm9uZz4gaWYgYm90aCBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIGZ1bGZpbGxlZDo8L3A+Cjx1bD4KPGxpPkFsbCBlbGVtZW50cyBpbiA8Y29kZT5udW1zPC9jb2RlPiBhcmUgPHN0cm9uZz51bmlxdWU8L3N0cm9uZz4uPC9saT4KPGxpPlRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBlbGVtZW50IGFuZCB0aGUgPHN0cm9uZz5taW5pbXVtPC9zdHJvbmc+IGVsZW1lbnQgaW4gPGNvZGU+bnVtczwvY29kZT4gZXF1YWxzIDxjb2RlPm51bXMubGVuZ3RoIC0gMTwvY29kZT4uPC9saT4KPC91bD4KPHA+Rm9yIGV4YW1wbGUsIDxjb2RlPm51bXMgPSBbNCwgMiwgNSwgM108L2NvZGU+IGlzIDxzdHJvbmc+Y29udGludW91czwvc3Ryb25nPiwgYnV0IDxjb2RlPm51bXMgPSBbMSwgMiwgMywgNSwgNl08L2NvZGU+IGlzIDxzdHJvbmc+bm90IGNvbnRpbnVvdXM8L3N0cm9uZz4uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1pbmltdW08L3N0cm9uZz4gbnVtYmVyIG9mIG9wZXJhdGlvbnMgdG8gbWFrZSA8L2VtPjxjb2RlPm51bXM8L2NvZGU+PGVtPiA8L2VtPjxzdHJvbmc+PGVtPmNvbnRpbnVvdXM8L2VtPjwvc3Ryb25nPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNCwyLDUsM10KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz7CoG51bXMgaXMgYWxyZWFkeSBjb250aW51b3VzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMiwzLDUsNl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz7CoE9uZSBwb3NzaWJsZSBzb2x1dGlvbiBpcyB0byBjaGFuZ2UgdGhlIGxhc3QgZWxlbWVudCB0byA0LgpUaGUgcmVzdWx0aW5nIGFycmF5IGlzIFsxLDIsMyw1LDRdLCB3aGljaCBpcyBjb250aW51b3VzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMTAsMTAwLDEwMDBdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+wqBPbmUgcG9zc2libGUgc29sdXRpb24gaXMgdG86Ci0gQ2hhbmdlIHRoZSBzZWNvbmQgZWxlbWVudCB0byAyLgotIENoYW5nZSB0aGUgdGhpcmQgZWxlbWVudCB0byAzLgotIENoYW5nZSB0aGUgZm91cnRoIGVsZW1lbnQgdG8gNC4KVGhlIHJlc3VsdGluZyBhcnJheSBpcyBbMSwyLDMsNF0sIHdoaWNoIGlzIGNvbnRpbnVvdXMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search"
+ ]
+ },
+ {
+ "title": "1987. Number of Unique Good Subsequences",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBiaW5hcnkgc3RyaW5nIDxjb2RlPmJpbmFyeTwvY29kZT4uIEEgPHN0cm9uZz5zdWJzZXF1ZW5jZTwvc3Ryb25nPiBvZiA8Y29kZT5iaW5hcnk8L2NvZGU+IGlzIGNvbnNpZGVyZWQgPHN0cm9uZz5nb29kPC9zdHJvbmc+IGlmIGl0IGlzIDxzdHJvbmc+bm90IGVtcHR5PC9zdHJvbmc+IGFuZCBoYXMgPHN0cm9uZz5ubyBsZWFkaW5nIHplcm9zPC9zdHJvbmc+ICh3aXRoIHRoZSBleGNlcHRpb24gb2YgPGNvZGU+IjAiPC9jb2RlPikuPC9wPgo8cD5GaW5kIHRoZSBudW1iZXIgb2YgPHN0cm9uZz51bmlxdWUgZ29vZCBzdWJzZXF1ZW5jZXM8L3N0cm9uZz4gb2YgPGNvZGU+YmluYXJ5PC9jb2RlPi48L3A+Cjx1bD4KPGxpPkZvciBleGFtcGxlLCBpZiA8Y29kZT5iaW5hcnkgPSAiMDAxIjwvY29kZT4sIHRoZW4gYWxsIHRoZSA8c3Ryb25nPmdvb2Q8L3N0cm9uZz4gc3Vic2VxdWVuY2VzIGFyZSA8Y29kZT5bIjAiLCAiMCIsICIxIl08L2NvZGU+LCBzbyB0aGUgPHN0cm9uZz51bmlxdWU8L3N0cm9uZz4gZ29vZCBzdWJzZXF1ZW5jZXMgYXJlIDxjb2RlPiIwIjwvY29kZT4gYW5kIDxjb2RlPiIxIjwvY29kZT4uIE5vdGUgdGhhdCBzdWJzZXF1ZW5jZXMgPGNvZGU+IjAwIjwvY29kZT4sIDxjb2RlPiIwMSI8L2NvZGU+LCBhbmQgPGNvZGU+IjAwMSI8L2NvZGU+IGFyZSBub3QgZ29vZCBiZWNhdXNlIHRoZXkgaGF2ZSBsZWFkaW5nIHplcm9zLjwvbGk+CjwvdWw+CjxwPlJldHVybiA8ZW0+dGhlIG51bWJlciBvZiA8c3Ryb25nPnVuaXF1ZSBnb29kIHN1YnNlcXVlbmNlczwvc3Ryb25nPiBvZiA8L2VtPjxjb2RlPmJpbmFyeTwvY29kZT4uIFNpbmNlIHRoZSBhbnN3ZXIgbWF5IGJlIHZlcnkgbGFyZ2UsIHJldHVybiBpdCA8c3Ryb25nPm1vZHVsbzwvc3Ryb25nPiA8Y29kZT4xMDxzdXA+OTwvc3VwPiArIDc8L2NvZGU+LjwvcD4KPHA+QSA8c3Ryb25nPnN1YnNlcXVlbmNlPC9zdHJvbmc+IGlzIGEgc2VxdWVuY2UgdGhhdCBjYW4gYmUgZGVyaXZlZCBmcm9tIGFub3RoZXIgc2VxdWVuY2UgYnkgZGVsZXRpbmcgc29tZSBvciBubyBlbGVtZW50cyB3aXRob3V0IGNoYW5naW5nIHRoZSBvcmRlciBvZiB0aGUgcmVtYWluaW5nIGVsZW1lbnRzLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gYmluYXJ5ID0gIjAwMSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGdvb2Qgc3Vic2VxdWVuY2VzIG9mIGJpbmFyeSBhcmUgWyIwIiwgIjAiLCAiMSJdLgpUaGUgdW5pcXVlIGdvb2Qgc3Vic2VxdWVuY2VzIGFyZSAiMCIgYW5kICIxIi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gYmluYXJ5ID0gIjExIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgZ29vZCBzdWJzZXF1ZW5jZXMgb2YgYmluYXJ5IGFyZSBbIjEiLCAiMSIsICIxMSJdLgpUaGUgdW5pcXVlIGdvb2Qgc3Vic2VxdWVuY2VzIGFyZSAiMSIgYW5kICIxMSIuPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gYmluYXJ5ID0gIjEwMSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGdvb2Qgc3Vic2VxdWVuY2VzIG9mIGJpbmFyeSBhcmUgWyIxIiwgIjAiLCAiMSIsICIxMCIsICIxMSIsICIxMDEiXS4gClRoZSB1bmlxdWUgZ29vZCBzdWJzZXF1ZW5jZXMgYXJlICIwIiwgIjEiLCAiMTAiLCAiMTEiLCBhbmQgIjEwMSIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gYmluYXJ5Lmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+YmluYXJ5PC9jb2RlPiBjb25zaXN0cyBvZiBvbmx5IDxjb2RlPicwJzwvY29kZT5zIGFuZCA8Y29kZT4nMSc8L2NvZGU+cy48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "String",
+ "Dynamic Programming"
+ ]
+ },
+ {
+ "title": "1982. Find Array Given Subset Sums",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5uPC9jb2RlPiByZXByZXNlbnRpbmcgdGhlIGxlbmd0aCBvZiBhbiB1bmtub3duIGFycmF5IHRoYXQgeW91IGFyZSB0cnlpbmcgdG8gcmVjb3Zlci4gWW91IGFyZSBhbHNvIGdpdmVuIGFuIGFycmF5IDxjb2RlPnN1bXM8L2NvZGU+IGNvbnRhaW5pbmcgdGhlIHZhbHVlcyBvZiBhbGwgPGNvZGU+MjxzdXA+bjwvc3VwPjwvY29kZT4gPHN0cm9uZz5zdWJzZXQgc3Vtczwvc3Ryb25nPiBvZiB0aGUgdW5rbm93biBhcnJheSAoaW4gbm8gcGFydGljdWxhciBvcmRlcikuPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSBhcnJheSA8L2VtPjxjb2RlPmFuczwvY29kZT48ZW0+IG9mIGxlbmd0aCA8L2VtPjxjb2RlPm48L2NvZGU+PGVtPiByZXByZXNlbnRpbmcgdGhlIHVua25vd24gYXJyYXkuIElmIDxzdHJvbmc+bXVsdGlwbGU8L3N0cm9uZz4gYW5zd2VycyBleGlzdCwgcmV0dXJuIDxzdHJvbmc+YW55PC9zdHJvbmc+IG9mIHRoZW08L2VtPi48L3A+CjxwPkFuIGFycmF5IDxjb2RlPnN1YjwvY29kZT4gaXMgYSA8c3Ryb25nPnN1YnNldDwvc3Ryb25nPiBvZiBhbiBhcnJheSA8Y29kZT5hcnI8L2NvZGU+IGlmIDxjb2RlPnN1YjwvY29kZT4gY2FuIGJlIG9idGFpbmVkIGZyb20gPGNvZGU+YXJyPC9jb2RlPiBieSBkZWxldGluZyBzb21lIChwb3NzaWJseSB6ZXJvIG9yIGFsbCkgZWxlbWVudHMgb2YgPGNvZGU+YXJyPC9jb2RlPi4gVGhlIHN1bSBvZiB0aGUgZWxlbWVudHMgaW4gPGNvZGU+c3ViPC9jb2RlPiBpcyBvbmUgcG9zc2libGUgPHN0cm9uZz5zdWJzZXQgc3VtPC9zdHJvbmc+IG9mIDxjb2RlPmFycjwvY29kZT4uIFRoZSBzdW0gb2YgYW4gZW1wdHkgYXJyYXkgaXMgY29uc2lkZXJlZCB0byBiZSA8Y29kZT4wPC9jb2RlPi48L3A+CjxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGVzdCBjYXNlcyBhcmUgZ2VuZXJhdGVkIHN1Y2ggdGhhdCB0aGVyZSB3aWxsIDxzdHJvbmc+YWx3YXlzPC9zdHJvbmc+IGJlIGF0IGxlYXN0IG9uZSBjb3JyZWN0IGFuc3dlci48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSAzLCBzdW1zID0gWy0zLC0yLC0xLDAsMCwxLDIsM10KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsxLDIsLTNdCjxzdHJvbmc+RXhwbGFuYXRpb246IDwvc3Ryb25nPlsxLDIsLTNdIGlzIGFibGUgdG8gYWNoaWV2ZSB0aGUgZ2l2ZW4gc3Vic2V0IHN1bXM6Ci0gW106IHN1bSBpcyAwCi0gWzFdOiBzdW0gaXMgMQotIFsyXTogc3VtIGlzIDIKLSBbMSwyXTogc3VtIGlzIDMKLSBbLTNdOiBzdW0gaXMgLTMKLSBbMSwtM106IHN1bSBpcyAtMgotIFsyLC0zXTogc3VtIGlzIC0xCi0gWzEsMiwtM106IHN1bSBpcyAwCk5vdGUgdGhhdCBhbnkgcGVybXV0YXRpb24gb2YgWzEsMiwtM10gYW5kIGFsc28gYW55IHBlcm11dGF0aW9uIG9mIFstMSwtMiwzXSB3aWxsIGFsc28gYmUgYWNjZXB0ZWQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSAyLCBzdW1zID0gWzAsMCwwLDBdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMCwwXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgb25seSBjb3JyZWN0IGFuc3dlciBpcyBbMCwwXS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDQsIHN1bXMgPSBbMCwwLDUsNSw0LC0xLDQsOSw5LC0xLDQsMyw0LDgsMyw4XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzAsLTEsNCw1XQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBbMCwtMSw0LDVdIGlzIGFibGUgdG8gYWNoaWV2ZSB0aGUgZ2l2ZW4gc3Vic2V0IHN1bXMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxNTwvY29kZT48L2xpPgo8bGk+PGNvZGU+c3Vtcy5sZW5ndGggPT0gMjxzdXA+bjwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+LTEwPHN1cD40PC9zdXA+ICZsdDs9IHN1bXNbaV0gJmx0Oz0gMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Divide and Conquer"
+ ]
+ },
+ {
+ "title": "1994. The Number of Good Subsets",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPi4gV2UgY2FsbCBhIHN1YnNldCBvZiA8Y29kZT5udW1zPC9jb2RlPiA8c3Ryb25nPmdvb2Q8L3N0cm9uZz4gaWYgaXRzIHByb2R1Y3QgY2FuIGJlIHJlcHJlc2VudGVkIGFzIGEgcHJvZHVjdCBvZiBvbmUgb3IgbW9yZSA8c3Ryb25nPmRpc3RpbmN0IHByaW1lPC9zdHJvbmc+IG51bWJlcnMuPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgaWYgPGNvZGU+bnVtcyA9IFsxLCAyLCAzLCA0XTwvY29kZT46CgoJPHVsPgo8bGk+PGNvZGU+WzIsIDNdPC9jb2RlPiwgPGNvZGU+WzEsIDIsIDNdPC9jb2RlPiwgYW5kIDxjb2RlPlsxLCAzXTwvY29kZT4gYXJlIDxzdHJvbmc+Z29vZDwvc3Ryb25nPiBzdWJzZXRzIHdpdGggcHJvZHVjdHMgPGNvZGU+NiA9IDIqMzwvY29kZT4sIDxjb2RlPjYgPSAyKjM8L2NvZGU+LCBhbmQgPGNvZGU+MyA9IDM8L2NvZGU+IHJlc3BlY3RpdmVseS48L2xpPgo8bGk+PGNvZGU+WzEsIDRdPC9jb2RlPiBhbmQgPGNvZGU+WzRdPC9jb2RlPiBhcmUgbm90IDxzdHJvbmc+Z29vZDwvc3Ryb25nPiBzdWJzZXRzIHdpdGggcHJvZHVjdHMgPGNvZGU+NCA9IDIqMjwvY29kZT4gYW5kIDxjb2RlPjQgPSAyKjI8L2NvZGU+IHJlc3BlY3RpdmVseS48L2xpPgo8L3VsPgo8L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPnRoZSBudW1iZXIgb2YgZGlmZmVyZW50IDxzdHJvbmc+Z29vZDwvc3Ryb25nPiBzdWJzZXRzIGluIDwvZW0+PGNvZGU+bnVtczwvY29kZT48ZW0+IDxzdHJvbmc+bW9kdWxvPC9zdHJvbmc+IDwvZW0+PGNvZGU+MTA8c3VwPjk8L3N1cD4gKyA3PC9jb2RlPi48L3A+CjxwPkEgPHN0cm9uZz5zdWJzZXQ8L3N0cm9uZz4gb2YgPGNvZGU+bnVtczwvY29kZT4gaXMgYW55IGFycmF5IHRoYXQgY2FuIGJlIG9idGFpbmVkIGJ5IGRlbGV0aW5nIHNvbWUgKHBvc3NpYmx5IG5vbmUgb3IgYWxsKSBlbGVtZW50cyBmcm9tIDxjb2RlPm51bXM8L2NvZGU+LiBUd28gc3Vic2V0cyBhcmUgZGlmZmVyZW50IGlmIGFuZCBvbmx5IGlmIHRoZSBjaG9zZW4gaW5kaWNlcyB0byBkZWxldGUgYXJlIGRpZmZlcmVudC48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSwyLDMsNF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDYKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGdvb2Qgc3Vic2V0cyBhcmU6Ci0gWzEsMl06IHByb2R1Y3QgaXMgMiwgd2hpY2ggaXMgdGhlIHByb2R1Y3Qgb2YgZGlzdGluY3QgcHJpbWUgMi4KLSBbMSwyLDNdOiBwcm9kdWN0IGlzIDYsIHdoaWNoIGlzIHRoZSBwcm9kdWN0IG9mIGRpc3RpbmN0IHByaW1lcyAyIGFuZCAzLgotIFsxLDNdOiBwcm9kdWN0IGlzIDMsIHdoaWNoIGlzIHRoZSBwcm9kdWN0IG9mIGRpc3RpbmN0IHByaW1lIDMuCi0gWzJdOiBwcm9kdWN0IGlzIDIsIHdoaWNoIGlzIHRoZSBwcm9kdWN0IG9mIGRpc3RpbmN0IHByaW1lIDIuCi0gWzIsM106IHByb2R1Y3QgaXMgNiwgd2hpY2ggaXMgdGhlIHByb2R1Y3Qgb2YgZGlzdGluY3QgcHJpbWVzIDIgYW5kIDMuCi0gWzNdOiBwcm9kdWN0IGlzIDMsIHdoaWNoIGlzIHRoZSBwcm9kdWN0IG9mIGRpc3RpbmN0IHByaW1lIDMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNCwyLDMsMTVdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA1CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBnb29kIHN1YnNldHMgYXJlOgotIFsyXTogcHJvZHVjdCBpcyAyLCB3aGljaCBpcyB0aGUgcHJvZHVjdCBvZiBkaXN0aW5jdCBwcmltZSAyLgotIFsyLDNdOiBwcm9kdWN0IGlzIDYsIHdoaWNoIGlzIHRoZSBwcm9kdWN0IG9mIGRpc3RpbmN0IHByaW1lcyAyIGFuZCAzLgotIFsyLDE1XTogcHJvZHVjdCBpcyAzMCwgd2hpY2ggaXMgdGhlIHByb2R1Y3Qgb2YgZGlzdGluY3QgcHJpbWVzIDIsIDMsIGFuZCA1LgotIFszXTogcHJvZHVjdCBpcyAzLCB3aGljaCBpcyB0aGUgcHJvZHVjdCBvZiBkaXN0aW5jdCBwcmltZSAzLgotIFsxNV06IHByb2R1Y3QgaXMgMTUsIHdoaWNoIGlzIHRoZSBwcm9kdWN0IG9mIGRpc3RpbmN0IHByaW1lcyAzIGFuZCA1Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0gJmx0Oz0gMzA8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Math",
+ "Dynamic Programming",
+ "Bit Manipulation",
+ "Bitmask"
+ ]
+ },
+ {
+ "title": "1970. Last Day Where You Can Still Cross",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGEgPHN0cm9uZz4xLWJhc2VkPC9zdHJvbmc+IGJpbmFyeSBtYXRyaXggd2hlcmUgPGNvZGU+MDwvY29kZT4gcmVwcmVzZW50cyBsYW5kIGFuZCA8Y29kZT4xPC9jb2RlPiByZXByZXNlbnRzIHdhdGVyLiBZb3UgYXJlIGdpdmVuIGludGVnZXJzIDxjb2RlPnJvdzwvY29kZT4gYW5kIDxjb2RlPmNvbDwvY29kZT4gcmVwcmVzZW50aW5nIHRoZSBudW1iZXIgb2Ygcm93cyBhbmQgY29sdW1ucyBpbiB0aGUgbWF0cml4LCByZXNwZWN0aXZlbHkuPC9wPgo8cD5Jbml0aWFsbHkgb24gZGF5IDxjb2RlPjA8L2NvZGU+LCB0aGUgPHN0cm9uZz5lbnRpcmU8L3N0cm9uZz4gbWF0cml4IGlzIDxzdHJvbmc+bGFuZDwvc3Ryb25nPi4gSG93ZXZlciwgZWFjaCBkYXkgYSBuZXcgY2VsbCBiZWNvbWVzIGZsb29kZWQgd2l0aCA8c3Ryb25nPndhdGVyPC9zdHJvbmc+LiBZb3UgYXJlIGdpdmVuIGEgPHN0cm9uZz4xLWJhc2VkPC9zdHJvbmc+IDJEIGFycmF5IDxjb2RlPmNlbGxzPC9jb2RlPiwgd2hlcmUgPGNvZGU+Y2VsbHNbaV0gPSBbcjxzdWI+aTwvc3ViPiwgYzxzdWI+aTwvc3ViPl08L2NvZGU+IHJlcHJlc2VudHMgdGhhdCBvbiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGRheSwgdGhlIGNlbGwgb24gdGhlIDxjb2RlPnI8c3ViPmk8L3N1Yj48c3VwPnRoPC9zdXA+PC9jb2RlPiByb3cgYW5kIDxjb2RlPmM8c3ViPmk8L3N1Yj48c3VwPnRoPC9zdXA+PC9jb2RlPiBjb2x1bW4gKDxzdHJvbmc+MS1iYXNlZDwvc3Ryb25nPiBjb29yZGluYXRlcykgd2lsbCBiZSBjb3ZlcmVkIHdpdGggPHN0cm9uZz53YXRlcjwvc3Ryb25nPiAoaS5lLiwgY2hhbmdlZCB0byA8Y29kZT4xPC9jb2RlPikuPC9wPgo8cD5Zb3Ugd2FudCB0byBmaW5kIHRoZSA8c3Ryb25nPmxhc3Q8L3N0cm9uZz4gZGF5IHRoYXQgaXQgaXMgcG9zc2libGUgdG8gd2FsayBmcm9tIHRoZSA8c3Ryb25nPnRvcDwvc3Ryb25nPiB0byB0aGUgPHN0cm9uZz5ib3R0b208L3N0cm9uZz4gYnkgb25seSB3YWxraW5nIG9uIGxhbmQgY2VsbHMuIFlvdSBjYW4gc3RhcnQgZnJvbSA8c3Ryb25nPmFueTwvc3Ryb25nPiBjZWxsIGluIHRoZSB0b3Agcm93IGFuZCBlbmQgYXQgPHN0cm9uZz5hbnk8L3N0cm9uZz4gY2VsbCBpbiB0aGUgYm90dG9tIHJvdy4gWW91IGNhbiBvbmx5IHRyYXZlbCBpbiB0aGU8c3Ryb25nPiBmb3VyPC9zdHJvbmc+IGNhcmRpbmFsIGRpcmVjdGlvbnMgKGxlZnQsIHJpZ2h0LCB1cCwgYW5kIGRvd24pLjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5sYXN0PC9zdHJvbmc+IGRheSB3aGVyZSBpdCBpcyBwb3NzaWJsZSB0byB3YWxrIGZyb20gdGhlIDxzdHJvbmc+dG9wPC9zdHJvbmc+IHRvIHRoZSA8c3Ryb25nPmJvdHRvbTwvc3Ryb25nPiBieSBvbmx5IHdhbGtpbmcgb24gbGFuZCBjZWxsczwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8wNy8yNy8xLnBuZyIgc3R5bGU9IndpZHRoOiA2MjRweDsgaGVpZ2h0OiAxNjJweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiByb3cgPSAyLCBjb2wgPSAyLCBjZWxscyA9IFtbMSwxXSxbMiwxXSxbMSwyXSxbMiwyXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGFib3ZlIGltYWdlIGRlcGljdHMgaG93IHRoZSBtYXRyaXggY2hhbmdlcyBlYWNoIGRheSBzdGFydGluZyBmcm9tIGRheSAwLgpUaGUgbGFzdCBkYXkgd2hlcmUgaXQgaXMgcG9zc2libGUgdG8gY3Jvc3MgZnJvbSB0b3AgdG8gYm90dG9tIGlzIG9uIGRheSAyLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzA3LzI3LzIucG5nIiBzdHlsZT0id2lkdGg6IDUwNHB4OyBoZWlnaHQ6IDE3OHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHJvdyA9IDIsIGNvbCA9IDIsIGNlbGxzID0gW1sxLDFdLFsxLDJdLFsyLDFdLFsyLDJdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgYWJvdmUgaW1hZ2UgZGVwaWN0cyBob3cgdGhlIG1hdHJpeCBjaGFuZ2VzIGVhY2ggZGF5IHN0YXJ0aW5nIGZyb20gZGF5IDAuClRoZSBsYXN0IGRheSB3aGVyZSBpdCBpcyBwb3NzaWJsZSB0byBjcm9zcyBmcm9tIHRvcCB0byBib3R0b20gaXMgb24gZGF5IDEuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMDcvMjcvMy5wbmciIHN0eWxlPSJ3aWR0aDogNjY2cHg7IGhlaWdodDogMTY3cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcm93ID0gMywgY29sID0gMywgY2VsbHMgPSBbWzEsMl0sWzIsMV0sWzMsM10sWzIsMl0sWzEsMV0sWzEsM10sWzIsM10sWzMsMl0sWzMsMV1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBhYm92ZSBpbWFnZSBkZXBpY3RzIGhvdyB0aGUgbWF0cml4IGNoYW5nZXMgZWFjaCBkYXkgc3RhcnRpbmcgZnJvbSBkYXkgMC4KVGhlIGxhc3QgZGF5IHdoZXJlIGl0IGlzIHBvc3NpYmxlIHRvIGNyb3NzIGZyb20gdG9wIHRvIGJvdHRvbSBpcyBvbiBkYXkgMy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MiAmbHQ7PSByb3csIGNvbCAmbHQ7PSAyICogMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjQgJmx0Oz0gcm93ICogY29sICZsdDs9IDIgKiAxMDxzdXA+NDwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+Y2VsbHMubGVuZ3RoID09IHJvdyAqIGNvbDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSByPHN1Yj5pPC9zdWI+ICZsdDs9IHJvdzwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBjPHN1Yj5pPC9zdWI+ICZsdDs9IGNvbDwvY29kZT48L2xpPgo8bGk+QWxsIHRoZSB2YWx1ZXMgb2YgPGNvZGU+Y2VsbHM8L2NvZGU+IGFyZSA8c3Ryb25nPnVuaXF1ZTwvc3Ryb25nPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Depth-First Search",
+ "Breadth-First Search",
+ "Union Find",
+ "Matrix"
+ ]
+ },
+ {
+ "title": "1964. Find the Longest Valid Obstacle Course at Each Position",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSB3YW50IHRvIGJ1aWxkIHNvbWUgb2JzdGFjbGUgY291cnNlcy4gWW91IGFyZSBnaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXkgPGNvZGU+b2JzdGFjbGVzPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4sIHdoZXJlIDxjb2RlPm9ic3RhY2xlc1tpXTwvY29kZT4gZGVzY3JpYmVzIHRoZSBoZWlnaHQgb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBvYnN0YWNsZS48L3A+CjxwPkZvciBldmVyeSBpbmRleCA8Y29kZT5pPC9jb2RlPiBiZXR3ZWVuIDxjb2RlPjA8L2NvZGU+IGFuZCA8Y29kZT5uIC0gMTwvY29kZT4gKDxzdHJvbmc+aW5jbHVzaXZlPC9zdHJvbmc+KSwgZmluZCB0aGUgbGVuZ3RoIG9mIHRoZSA8c3Ryb25nPmxvbmdlc3Qgb2JzdGFjbGUgY291cnNlPC9zdHJvbmc+IGluIDxjb2RlPm9ic3RhY2xlczwvY29kZT4gc3VjaCB0aGF0OjwvcD4KPHVsPgo8bGk+WW91IGNob29zZSBhbnkgbnVtYmVyIG9mIG9ic3RhY2xlcyBiZXR3ZWVuIDxjb2RlPjA8L2NvZGU+IGFuZCA8Y29kZT5pPC9jb2RlPiA8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPi48L2xpPgo8bGk+WW91IG11c3QgaW5jbHVkZSB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IG9ic3RhY2xlIGluIHRoZSBjb3Vyc2UuPC9saT4KPGxpPllvdSBtdXN0IHB1dCB0aGUgY2hvc2VuIG9ic3RhY2xlcyBpbiB0aGUgPHN0cm9uZz5zYW1lIG9yZGVyPC9zdHJvbmc+IGFzIHRoZXkgYXBwZWFyIGluIDxjb2RlPm9ic3RhY2xlczwvY29kZT4uPC9saT4KPGxpPkV2ZXJ5IG9ic3RhY2xlIChleGNlcHQgdGhlIGZpcnN0KSBpcyA8c3Ryb25nPnRhbGxlcjwvc3Ryb25nPiB0aGFuIG9yIHRoZSA8c3Ryb25nPnNhbWUgaGVpZ2h0PC9zdHJvbmc+IGFzIHRoZSBvYnN0YWNsZSBpbW1lZGlhdGVseSBiZWZvcmUgaXQuPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT5hbiBhcnJheTwvZW0+IDxjb2RlPmFuczwvY29kZT4gPGVtPm9mIGxlbmd0aDwvZW0+IDxjb2RlPm48L2NvZGU+LCA8ZW0+d2hlcmU8L2VtPiA8Y29kZT5hbnNbaV08L2NvZGU+IDxlbT5pcyB0aGUgbGVuZ3RoIG9mIHRoZSA8c3Ryb25nPmxvbmdlc3Qgb2JzdGFjbGUgY291cnNlPC9zdHJvbmc+IGZvciBpbmRleDwvZW0+IDxjb2RlPmk8L2NvZGU+PGVtPiBhcyBkZXNjcmliZWQgYWJvdmU8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG9ic3RhY2xlcyA9IFsxLDIsMywyXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzEsMiwzLDNdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBsb25nZXN0IHZhbGlkIG9ic3RhY2xlIGNvdXJzZSBhdCBlYWNoIHBvc2l0aW9uIGlzOgotIGkgPSAwOiBbPHU+MTwvdT5dLCBbMV0gaGFzIGxlbmd0aCAxLgotIGkgPSAxOiBbPHU+MTwvdT4sPHU+MjwvdT5dLCBbMSwyXSBoYXMgbGVuZ3RoIDIuCi0gaSA9IDI6IFs8dT4xPC91Piw8dT4yPC91Piw8dT4zPC91Pl0sIFsxLDIsM10gaGFzIGxlbmd0aCAzLgotIGkgPSAzOiBbPHU+MTwvdT4sPHU+MjwvdT4sMyw8dT4yPC91Pl0sIFsxLDIsMl0gaGFzIGxlbmd0aCAzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBvYnN0YWNsZXMgPSBbMiwyLDFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMSwyLDFdCjxzdHJvbmc+RXhwbGFuYXRpb246IDwvc3Ryb25nPlRoZSBsb25nZXN0IHZhbGlkIG9ic3RhY2xlIGNvdXJzZSBhdCBlYWNoIHBvc2l0aW9uIGlzOgotIGkgPSAwOiBbPHU+MjwvdT5dLCBbMl0gaGFzIGxlbmd0aCAxLgotIGkgPSAxOiBbPHU+MjwvdT4sPHU+MjwvdT5dLCBbMiwyXSBoYXMgbGVuZ3RoIDIuCi0gaSA9IDI6IFsyLDIsPHU+MTwvdT5dLCBbMV0gaGFzIGxlbmd0aCAxLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBvYnN0YWNsZXMgPSBbMywxLDUsNiw0LDJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMSwxLDIsMywyLDJdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBsb25nZXN0IHZhbGlkIG9ic3RhY2xlIGNvdXJzZSBhdCBlYWNoIHBvc2l0aW9uIGlzOgotIGkgPSAwOiBbPHU+MzwvdT5dLCBbM10gaGFzIGxlbmd0aCAxLgotIGkgPSAxOiBbMyw8dT4xPC91Pl0sIFsxXSBoYXMgbGVuZ3RoIDEuCi0gaSA9IDI6IFs8dT4zPC91PiwxLDx1PjU8L3U+XSwgWzMsNV0gaGFzIGxlbmd0aCAyLiBbMSw1XSBpcyBhbHNvIHZhbGlkLgotIGkgPSAzOiBbPHU+MzwvdT4sMSw8dT41PC91Piw8dT42PC91Pl0sIFszLDUsNl0gaGFzIGxlbmd0aCAzLiBbMSw1LDZdIGlzIGFsc28gdmFsaWQuCi0gaSA9IDQ6IFs8dT4zPC91PiwxLDUsNiw8dT40PC91Pl0sIFszLDRdIGhhcyBsZW5ndGggMi4gWzEsNF0gaXMgYWxzbyB2YWxpZC4KLSBpID0gNTogWzMsPHU+MTwvdT4sNSw2LDQsPHU+MjwvdT5dLCBbMSwyXSBoYXMgbGVuZ3RoIDIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gb2JzdGFjbGVzLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG9ic3RhY2xlc1tpXSAmbHQ7PSAxMDxzdXA+Nzwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Binary Indexed Tree"
+ ]
+ },
+ {
+ "title": "1977. Number of Ways to Separate Numbers",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSB3cm90ZSBkb3duIG1hbnkgPHN0cm9uZz5wb3NpdGl2ZTwvc3Ryb25nPiBpbnRlZ2VycyBpbiBhIHN0cmluZyBjYWxsZWQgPGNvZGU+bnVtPC9jb2RlPi4gSG93ZXZlciwgeW91IHJlYWxpemVkIHRoYXQgeW91IGZvcmdvdCB0byBhZGQgY29tbWFzIHRvIHNlcGVyYXRlIHRoZSBkaWZmZXJlbnQgbnVtYmVycy4gWW91IHJlbWVtYmVyIHRoYXQgdGhlIGxpc3Qgb2YgaW50ZWdlcnMgd2FzIDxzdHJvbmc+bm9uLWRlY3JlYXNpbmc8L3N0cm9uZz4gYW5kIHRoYXQgPHN0cm9uZz5ubzwvc3Ryb25nPiBpbnRlZ2VyIGhhZCBsZWFkaW5nIHplcm9zLjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5udW1iZXIgb2YgcG9zc2libGUgbGlzdHMgb2YgaW50ZWdlcnM8L3N0cm9uZz4gdGhhdCB5b3UgY291bGQgaGF2ZSB3cml0dGVuIGRvd24gdG8gZ2V0IHRoZSBzdHJpbmcgPC9lbT48Y29kZT5udW08L2NvZGU+LiBTaW5jZSB0aGUgYW5zd2VyIG1heSBiZSBsYXJnZSwgcmV0dXJuIGl0IDxzdHJvbmc+bW9kdWxvPC9zdHJvbmc+IDxjb2RlPjEwPHN1cD45PC9zdXA+ICsgNzwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW0gPSAiMzI3Igo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBZb3UgY291bGQgaGF2ZSB3cml0dGVuIGRvd24gdGhlIG51bWJlcnM6CjMsIDI3CjMyNwo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW0gPSAiMDk0Igo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBObyBudW1iZXJzIGNhbiBoYXZlIGxlYWRpbmcgemVyb3MgYW5kIGFsbCBudW1iZXJzIG11c3QgYmUgcG9zaXRpdmUuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bSA9ICIwIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBObyBudW1iZXJzIGNhbiBoYXZlIGxlYWRpbmcgemVyb3MgYW5kIGFsbCBudW1iZXJzIG11c3QgYmUgcG9zaXRpdmUuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtLmxlbmd0aCAmbHQ7PSAzNTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5udW08L2NvZGU+IGNvbnNpc3RzIG9mIGRpZ2l0cyA8Y29kZT4nMCc8L2NvZGU+IHRocm91Z2ggPGNvZGU+JzknPC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "String",
+ "Dynamic Programming",
+ "Suffix Array"
+ ]
+ },
+ {
+ "title": "1955. Count Number of Special Subsequences",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgc2VxdWVuY2UgaXMgPHN0cm9uZz5zcGVjaWFsPC9zdHJvbmc+IGlmIGl0IGNvbnNpc3RzIG9mIGEgPHN0cm9uZz5wb3NpdGl2ZTwvc3Ryb25nPiBudW1iZXIgb2YgPGNvZGU+MDwvY29kZT5zLCBmb2xsb3dlZCBieSBhIDxzdHJvbmc+cG9zaXRpdmU8L3N0cm9uZz4gbnVtYmVyIG9mIDxjb2RlPjE8L2NvZGU+cywgdGhlbiBhIDxzdHJvbmc+cG9zaXRpdmU8L3N0cm9uZz4gbnVtYmVyIG9mIDxjb2RlPjI8L2NvZGU+cy48L3A+Cjx1bD4KPGxpPkZvciBleGFtcGxlLCA8Y29kZT5bMCwxLDJdPC9jb2RlPiBhbmQgPGNvZGU+WzAsMCwxLDEsMSwyXTwvY29kZT4gYXJlIHNwZWNpYWwuPC9saT4KPGxpPkluIGNvbnRyYXN0LCA8Y29kZT5bMiwxLDBdPC9jb2RlPiwgPGNvZGU+WzFdPC9jb2RlPiwgYW5kIDxjb2RlPlswLDEsMiwwXTwvY29kZT4gYXJlIG5vdCBzcGVjaWFsLjwvbGk+CjwvdWw+CjxwPkdpdmVuIGFuIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IChjb25zaXN0aW5nIG9mIDxzdHJvbmc+b25seTwvc3Ryb25nPiBpbnRlZ2VycyA8Y29kZT4wPC9jb2RlPiwgPGNvZGU+MTwvY29kZT4sIGFuZCA8Y29kZT4yPC9jb2RlPiksIHJldHVybjxlbT4gdGhlIDxzdHJvbmc+bnVtYmVyIG9mIGRpZmZlcmVudCBzdWJzZXF1ZW5jZXM8L3N0cm9uZz4gdGhhdCBhcmUgc3BlY2lhbDwvZW0+LiBTaW5jZSB0aGUgYW5zd2VyIG1heSBiZSB2ZXJ5IGxhcmdlLCA8c3Ryb25nPnJldHVybiBpdCBtb2R1bG8gPC9zdHJvbmc+PGNvZGU+MTA8c3VwPjk8L3N1cD4gKyA3PC9jb2RlPi48L3A+CjxwPkEgPHN0cm9uZz5zdWJzZXF1ZW5jZTwvc3Ryb25nPiBvZiBhbiBhcnJheSBpcyBhIHNlcXVlbmNlIHRoYXQgY2FuIGJlIGRlcml2ZWQgZnJvbSB0aGUgYXJyYXkgYnkgZGVsZXRpbmcgc29tZSBvciBubyBlbGVtZW50cyB3aXRob3V0IGNoYW5naW5nIHRoZSBvcmRlciBvZiB0aGUgcmVtYWluaW5nIGVsZW1lbnRzLiBUd28gc3Vic2VxdWVuY2VzIGFyZSA8c3Ryb25nPmRpZmZlcmVudDwvc3Ryb25nPiBpZiB0aGUgPHN0cm9uZz5zZXQgb2YgaW5kaWNlczwvc3Ryb25nPiBjaG9zZW4gYXJlIGRpZmZlcmVudC48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMCwxLDIsMl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHNwZWNpYWwgc3Vic2VxdWVuY2VzIGFyZSBib2xkZWQgWzxzdHJvbmc+PHU+MDwvdT48L3N0cm9uZz4sPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPiw8c3Ryb25nPjx1PjI8L3U+PC9zdHJvbmc+LDJdLCBbPHN0cm9uZz48dT4wPC91Pjwvc3Ryb25nPiw8c3Ryb25nPjx1PjE8L3U+PC9zdHJvbmc+LDIsPHN0cm9uZz48dT4yPC91Pjwvc3Ryb25nPl0sIGFuZCBbPHN0cm9uZz48dT4wPC91Pjwvc3Ryb25nPiw8c3Ryb25nPjx1PjE8L3U+PC9zdHJvbmc+LDxzdHJvbmc+PHU+MjwvdT48L3N0cm9uZz4sPHN0cm9uZz48dT4yPC91Pjwvc3Ryb25nPl0uCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMiwyLDAsMF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgYXJlIG5vIHNwZWNpYWwgc3Vic2VxdWVuY2VzIGluIFsyLDIsMCwwXS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFswLDEsMiwwLDEsMl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDcKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHNwZWNpYWwgc3Vic2VxdWVuY2VzIGFyZSBib2xkZWQ6Ci0gWzxzdHJvbmc+PHU+MDwvdT48L3N0cm9uZz4sPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPiw8c3Ryb25nPjx1PjI8L3U+PC9zdHJvbmc+LDAsMSwyXQotIFs8c3Ryb25nPjx1PjA8L3U+PC9zdHJvbmc+LDxzdHJvbmc+PHU+MTwvdT48L3N0cm9uZz4sMiwwLDEsPHN0cm9uZz48dT4yPC91Pjwvc3Ryb25nPl0KLSBbPHN0cm9uZz48dT4wPC91Pjwvc3Ryb25nPiw8c3Ryb25nPjx1PjE8L3U+PC9zdHJvbmc+LDxzdHJvbmc+PHU+MjwvdT48L3N0cm9uZz4sMCwxLDxzdHJvbmc+PHU+MjwvdT48L3N0cm9uZz5dCi0gWzxzdHJvbmc+PHU+MDwvdT48L3N0cm9uZz4sPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPiwyLDAsPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPiw8c3Ryb25nPjx1PjI8L3U+PC9zdHJvbmc+XQotIFs8c3Ryb25nPjx1PjA8L3U+PC9zdHJvbmc+LDEsMiw8c3Ryb25nPjx1PjA8L3U+PC9zdHJvbmc+LDxzdHJvbmc+PHU+MTwvdT48L3N0cm9uZz4sPHN0cm9uZz48dT4yPC91Pjwvc3Ryb25nPl0KLSBbPHN0cm9uZz48dT4wPC91Pjwvc3Ryb25nPiwxLDIsMCw8c3Ryb25nPjx1PjE8L3U+PC9zdHJvbmc+LDxzdHJvbmc+PHU+MjwvdT48L3N0cm9uZz5dCi0gWzAsMSwyLDxzdHJvbmc+PHU+MDwvdT48L3N0cm9uZz4sPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPiw8c3Ryb25nPjx1PjI8L3U+PC9zdHJvbmc+XQo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IG51bXNbaV0gJmx0Oz0gMjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Dynamic Programming"
+ ]
+ },
+ {
+ "title": "1948. Delete Duplicate Folders in System",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkR1ZSB0byBhIGJ1ZywgdGhlcmUgYXJlIG1hbnkgZHVwbGljYXRlIGZvbGRlcnMgaW4gYSBmaWxlIHN5c3RlbS4gWW91IGFyZSBnaXZlbiBhIDJEIGFycmF5IDxjb2RlPnBhdGhzPC9jb2RlPiwgd2hlcmUgPGNvZGU+cGF0aHNbaV08L2NvZGU+IGlzIGFuIGFycmF5IHJlcHJlc2VudGluZyBhbiBhYnNvbHV0ZSBwYXRoIHRvIHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gZm9sZGVyIGluIHRoZSBmaWxlIHN5c3RlbS48L3A+Cjx1bD4KPGxpPkZvciBleGFtcGxlLCA8Y29kZT5bIm9uZSIsICJ0d28iLCAidGhyZWUiXTwvY29kZT4gcmVwcmVzZW50cyB0aGUgcGF0aCA8Y29kZT4iL29uZS90d28vdGhyZWUiPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5Ud28gZm9sZGVycyAobm90IG5lY2Vzc2FyaWx5IG9uIHRoZSBzYW1lIGxldmVsKSBhcmUgPHN0cm9uZz5pZGVudGljYWw8L3N0cm9uZz4gaWYgdGhleSBjb250YWluIHRoZSA8c3Ryb25nPnNhbWUgbm9uLWVtcHR5PC9zdHJvbmc+IHNldCBvZiBpZGVudGljYWwgc3ViZm9sZGVycyBhbmQgdW5kZXJseWluZyBzdWJmb2xkZXIgc3RydWN0dXJlLiBUaGUgZm9sZGVycyA8c3Ryb25nPmRvIG5vdDwvc3Ryb25nPiBuZWVkIHRvIGJlIGF0IHRoZSByb290IGxldmVsIHRvIGJlIGlkZW50aWNhbC4gSWYgdHdvIG9yIG1vcmUgZm9sZGVycyBhcmUgPHN0cm9uZz5pZGVudGljYWw8L3N0cm9uZz4sIHRoZW4gPHN0cm9uZz5tYXJrPC9zdHJvbmc+IHRoZSBmb2xkZXJzIGFzIHdlbGwgYXMgYWxsIHRoZWlyIHN1YmZvbGRlcnMuPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgZm9sZGVycyA8Y29kZT4iL2EiPC9jb2RlPiBhbmQgPGNvZGU+Ii9iIjwvY29kZT4gaW4gdGhlIGZpbGUgc3RydWN0dXJlIGJlbG93IGFyZSBpZGVudGljYWwuIFRoZXkgKGFzIHdlbGwgYXMgdGhlaXIgc3ViZm9sZGVycykgc2hvdWxkIDxzdHJvbmc+YWxsPC9zdHJvbmc+IGJlIG1hcmtlZDoKCgk8dWw+CjxsaT48Y29kZT4vYTwvY29kZT48L2xpPgo8bGk+PGNvZGU+L2EveDwvY29kZT48L2xpPgo8bGk+PGNvZGU+L2EveC95PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4vYS96PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4vYjwvY29kZT48L2xpPgo8bGk+PGNvZGU+L2IveDwvY29kZT48L2xpPgo8bGk+PGNvZGU+L2IveC95PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4vYi96PC9jb2RlPjwvbGk+CjwvdWw+CjwvbGk+CjxsaT5Ib3dldmVyLCBpZiB0aGUgZmlsZSBzdHJ1Y3R1cmUgYWxzbyBpbmNsdWRlZCB0aGUgcGF0aCA8Y29kZT4iL2IvdyI8L2NvZGU+LCB0aGVuIHRoZSBmb2xkZXJzIDxjb2RlPiIvYSI8L2NvZGU+IGFuZCA8Y29kZT4iL2IiPC9jb2RlPiB3b3VsZCBub3QgYmUgaWRlbnRpY2FsLiBOb3RlIHRoYXQgPGNvZGU+Ii9hL3giPC9jb2RlPiBhbmQgPGNvZGU+Ii9iL3giPC9jb2RlPiB3b3VsZCBzdGlsbCBiZSBjb25zaWRlcmVkIGlkZW50aWNhbCBldmVuIHdpdGggdGhlIGFkZGVkIGZvbGRlci48L2xpPgo8L3VsPgo8cD5PbmNlIGFsbCB0aGUgaWRlbnRpY2FsIGZvbGRlcnMgYW5kIHRoZWlyIHN1YmZvbGRlcnMgaGF2ZSBiZWVuIG1hcmtlZCwgdGhlIGZpbGUgc3lzdGVtIHdpbGwgPHN0cm9uZz5kZWxldGU8L3N0cm9uZz4gYWxsIG9mIHRoZW0uIFRoZSBmaWxlIHN5c3RlbSBvbmx5IHJ1bnMgdGhlIGRlbGV0aW9uIG9uY2UsIHNvIGFueSBmb2xkZXJzIHRoYXQgYmVjb21lIGlkZW50aWNhbCBhZnRlciB0aGUgaW5pdGlhbCBkZWxldGlvbiBhcmUgbm90IGRlbGV0ZWQuPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSAyRCBhcnJheSA8L2VtPjxjb2RlPmFuczwvY29kZT4gPGVtPmNvbnRhaW5pbmcgdGhlIHBhdGhzIG9mIHRoZSA8c3Ryb25nPnJlbWFpbmluZzwvc3Ryb25nPiBmb2xkZXJzIGFmdGVyIGRlbGV0aW5nIGFsbCB0aGUgbWFya2VkIGZvbGRlcnMuIFRoZSBwYXRocyBtYXkgYmUgcmV0dXJuZWQgaW4gPHN0cm9uZz5hbnk8L3N0cm9uZz4gb3JkZXI8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMDcvMTkvbGMtZHVwZm9sZGVyMS5qcGciIHN0eWxlPSJ3aWR0aDogMjAwcHg7IGhlaWdodDogMjE4cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcGF0aHMgPSBbWyJhIl0sWyJjIl0sWyJkIl0sWyJhIiwiYiJdLFsiYyIsImIiXSxbImQiLCJhIl1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbWyJkIl0sWyJkIiwiYSJdXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgZmlsZSBzdHJ1Y3R1cmUgaXMgYXMgc2hvd24uCkZvbGRlcnMgIi9hIiBhbmQgIi9jIiAoYW5kIHRoZWlyIHN1YmZvbGRlcnMpIGFyZSBtYXJrZWQgZm9yIGRlbGV0aW9uIGJlY2F1c2UgdGhleSBib3RoIGNvbnRhaW4gYW4gZW1wdHkKZm9sZGVyIG5hbWVkICJiIi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8wNy8xOS9sYy1kdXBmb2xkZXIyLmpwZyIgc3R5bGU9IndpZHRoOiAyMDBweDsgaGVpZ2h0OiAzNTVweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBwYXRocyA9IFtbImEiXSxbImMiXSxbImEiLCJiIl0sWyJjIiwiYiJdLFsiYSIsImIiLCJ4Il0sWyJhIiwiYiIsIngiLCJ5Il0sWyJ3Il0sWyJ3IiwieSJdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gW1siYyJdLFsiYyIsImIiXSxbImEiXSxbImEiLCJiIl1dCjxzdHJvbmc+RXhwbGFuYXRpb246IDwvc3Ryb25nPlRoZSBmaWxlIHN0cnVjdHVyZSBpcyBhcyBzaG93bi4gCkZvbGRlcnMgIi9hL2IveCIgYW5kICIvdyIgKGFuZCB0aGVpciBzdWJmb2xkZXJzKSBhcmUgbWFya2VkIGZvciBkZWxldGlvbiBiZWNhdXNlIHRoZXkgYm90aCBjb250YWluIGFuIGVtcHR5IGZvbGRlciBuYW1lZCAieSIuCk5vdGUgdGhhdCBmb2xkZXJzICIvYSIgYW5kICIvYyIgYXJlIGlkZW50aWNhbCBhZnRlciB0aGUgZGVsZXRpb24sIGJ1dCB0aGV5IGFyZSBub3QgZGVsZXRlZCBiZWNhdXNlIHRoZXkgd2VyZSBub3QgbWFya2VkIGJlZm9yZWhhbmQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMDcvMTkvbGMtZHVwZm9sZGVyMy5qcGciIHN0eWxlPSJ3aWR0aDogMjAwcHg7IGhlaWdodDogMjAxcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcGF0aHMgPSBbWyJhIiwiYiJdLFsiYyIsImQiXSxbImMiXSxbImEiXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFtbImMiXSxbImMiLCJkIl0sWyJhIl0sWyJhIiwiYiJdXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBBbGwgZm9sZGVycyBhcmUgdW5pcXVlIGluIHRoZSBmaWxlIHN5c3RlbS4KTm90ZSB0aGF0IHRoZSByZXR1cm5lZCBhcnJheSBjYW4gYmUgaW4gYSBkaWZmZXJlbnQgb3JkZXIgYXMgdGhlIG9yZGVyIGRvZXMgbm90IG1hdHRlci4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBwYXRocy5sZW5ndGggJmx0Oz0gMiAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHBhdGhzW2ldLmxlbmd0aCAmbHQ7PSA1MDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gcGF0aHNbaV1bal0ubGVuZ3RoICZsdDs9IDEwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHN1bShwYXRoc1tpXVtqXS5sZW5ndGgpICZsdDs9IDIgKiAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+cGF0aFtpXVtqXTwvY29kZT4gY29uc2lzdHMgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycy48L2xpPgo8bGk+Tm8gdHdvIHBhdGhzIGxlYWQgdG8gdGhlIHNhbWUgZm9sZGVyLjwvbGk+CjxsaT5Gb3IgYW55IGZvbGRlciBub3QgYXQgdGhlIHJvb3QgbGV2ZWwsIGl0cyBwYXJlbnQgZm9sZGVyIHdpbGwgYWxzbyBiZSBpbiB0aGUgaW5wdXQuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "String",
+ "Trie",
+ "Hash Function"
+ ]
+ },
+ {
+ "title": "1938. Maximum Genetic Difference Query",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGEgcm9vdGVkIHRyZWUgY29uc2lzdGluZyBvZiA8Y29kZT5uPC9jb2RlPiBub2RlcyBudW1iZXJlZCA8Y29kZT4wPC9jb2RlPiB0byA8Y29kZT5uIC0gMTwvY29kZT4uIEVhY2ggbm9kZSdzIG51bWJlciBkZW5vdGVzIGl0cyA8c3Ryb25nPnVuaXF1ZSBnZW5ldGljIHZhbHVlPC9zdHJvbmc+IChpLmUuIHRoZSBnZW5ldGljIHZhbHVlIG9mIG5vZGUgPGNvZGU+eDwvY29kZT4gaXMgPGNvZGU+eDwvY29kZT4pLiBUaGUgPHN0cm9uZz5nZW5ldGljIGRpZmZlcmVuY2U8L3N0cm9uZz4gYmV0d2VlbiB0d28gZ2VuZXRpYyB2YWx1ZXMgaXMgZGVmaW5lZCBhcyB0aGUgPHN0cm9uZz5iaXR3aXNlLTwvc3Ryb25nPjxzdHJvbmc+WE9SPC9zdHJvbmc+IG9mIHRoZWlyIHZhbHVlcy4gWW91IGFyZSBnaXZlbiB0aGUgaW50ZWdlciBhcnJheSA8Y29kZT5wYXJlbnRzPC9jb2RlPiwgd2hlcmUgPGNvZGU+cGFyZW50c1tpXTwvY29kZT4gaXMgdGhlIHBhcmVudCBmb3Igbm9kZSA8Y29kZT5pPC9jb2RlPi4gSWYgbm9kZSA8Y29kZT54PC9jb2RlPiBpcyB0aGUgPHN0cm9uZz5yb290PC9zdHJvbmc+IG9mIHRoZSB0cmVlLCB0aGVuIDxjb2RlPnBhcmVudHNbeF0gPT0gLTE8L2NvZGU+LjwvcD4KPHA+WW91IGFyZSBhbHNvIGdpdmVuIHRoZSBhcnJheSA8Y29kZT5xdWVyaWVzPC9jb2RlPiB3aGVyZSA8Y29kZT5xdWVyaWVzW2ldID0gW25vZGU8c3ViPmk8L3N1Yj4sIHZhbDxzdWI+aTwvc3ViPl08L2NvZGU+LiBGb3IgZWFjaCBxdWVyeSA8Y29kZT5pPC9jb2RlPiwgZmluZCB0aGUgPHN0cm9uZz5tYXhpbXVtIGdlbmV0aWMgZGlmZmVyZW5jZTwvc3Ryb25nPiBiZXR3ZWVuIDxjb2RlPnZhbDxzdWI+aTwvc3ViPjwvY29kZT4gYW5kIDxjb2RlPnA8c3ViPmk8L3N1Yj48L2NvZGU+LCB3aGVyZSA8Y29kZT5wPHN1Yj5pPC9zdWI+PC9jb2RlPiBpcyB0aGUgZ2VuZXRpYyB2YWx1ZSBvZiBhbnkgbm9kZSB0aGF0IGlzIG9uIHRoZSBwYXRoIGJldHdlZW4gPGNvZGU+bm9kZTxzdWI+aTwvc3ViPjwvY29kZT4gYW5kIHRoZSByb290IChpbmNsdWRpbmcgPGNvZGU+bm9kZTxzdWI+aTwvc3ViPjwvY29kZT4gYW5kIHRoZSByb290KS4gTW9yZSBmb3JtYWxseSwgeW91IHdhbnQgdG8gbWF4aW1pemUgPGNvZGU+dmFsPHN1Yj5pPC9zdWI+IFhPUiBwPHN1Yj5pPC9zdWI+PC9jb2RlPi48L3A+CjxwPlJldHVybiA8ZW0+YW4gYXJyYXkgPC9lbT48Y29kZT5hbnM8L2NvZGU+PGVtPiB3aGVyZSA8L2VtPjxjb2RlPmFuc1tpXTwvY29kZT48ZW0+IGlzIHRoZSBhbnN3ZXIgdG8gdGhlIDwvZW0+PGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+PGVtPiBxdWVyeTwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8wNi8yOS9jMS5wbmciIHN0eWxlPSJ3aWR0aDogMTE4cHg7IGhlaWdodDogMTYzcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcGFyZW50cyA9IFstMSwwLDEsMV0sIHF1ZXJpZXMgPSBbWzAsMl0sWzMsMl0sWzIsNV1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMiwzLDddCjxzdHJvbmc+RXhwbGFuYXRpb246IDwvc3Ryb25nPlRoZSBxdWVyaWVzIGFyZSBwcm9jZXNzZWQgYXMgZm9sbG93czoKLSBbMCwyXTogVGhlIG5vZGUgd2l0aCB0aGUgbWF4aW11bSBnZW5ldGljIGRpZmZlcmVuY2UgaXMgMCwgd2l0aCBhIGRpZmZlcmVuY2Ugb2YgMiBYT1IgMCA9IDIuCi0gWzMsMl06IFRoZSBub2RlIHdpdGggdGhlIG1heGltdW0gZ2VuZXRpYyBkaWZmZXJlbmNlIGlzIDEsIHdpdGggYSBkaWZmZXJlbmNlIG9mIDIgWE9SIDEgPSAzLgotIFsyLDVdOiBUaGUgbm9kZSB3aXRoIHRoZSBtYXhpbXVtIGdlbmV0aWMgZGlmZmVyZW5jZSBpcyAyLCB3aXRoIGEgZGlmZmVyZW5jZSBvZiA1IFhPUiAyID0gNy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8wNi8yOS9jMi5wbmciIHN0eWxlPSJ3aWR0aDogMjU2cHg7IGhlaWdodDogMjIxcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcGFyZW50cyA9IFszLDcsLTEsMiwwLDcsMCwyXSwgcXVlcmllcyA9IFtbNCw2XSxbMSwxNV0sWzAsNV1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbNiwxNCw3XQo8c3Ryb25nPkV4cGxhbmF0aW9uOiA8L3N0cm9uZz5UaGUgcXVlcmllcyBhcmUgcHJvY2Vzc2VkIGFzIGZvbGxvd3M6Ci0gWzQsNl06IFRoZSBub2RlIHdpdGggdGhlIG1heGltdW0gZ2VuZXRpYyBkaWZmZXJlbmNlIGlzIDAsIHdpdGggYSBkaWZmZXJlbmNlIG9mIDYgWE9SIDAgPSA2LgotIFsxLDE1XTogVGhlIG5vZGUgd2l0aCB0aGUgbWF4aW11bSBnZW5ldGljIGRpZmZlcmVuY2UgaXMgMSwgd2l0aCBhIGRpZmZlcmVuY2Ugb2YgMTUgWE9SIDEgPSAxNC4KLSBbMCw1XTogVGhlIG5vZGUgd2l0aCB0aGUgbWF4aW11bSBnZW5ldGljIGRpZmZlcmVuY2UgaXMgMiwgd2l0aCBhIGRpZmZlcmVuY2Ugb2YgNSBYT1IgMiA9IDcuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjIgJmx0Oz0gcGFyZW50cy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gcGFyZW50c1tpXSAmbHQ7PSBwYXJlbnRzLmxlbmd0aCAtIDE8L2NvZGU+IGZvciBldmVyeSBub2RlIDxjb2RlPmk8L2NvZGU+IHRoYXQgaXMgPHN0cm9uZz5ub3Q8L3N0cm9uZz4gdGhlIHJvb3QuPC9saT4KPGxpPjxjb2RlPnBhcmVudHNbcm9vdF0gPT0gLTE8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gcXVlcmllcy5sZW5ndGggJmx0Oz0gMyAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IG5vZGU8c3ViPmk8L3N1Yj4gJmx0Oz0gcGFyZW50cy5sZW5ndGggLSAxPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IHZhbDxzdWI+aTwvc3ViPiAmbHQ7PSAyICogMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Bit Manipulation",
+ "Trie"
+ ]
+ },
+ {
+ "title": "1931. Painting a Grid With Three Different Colors",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIGludGVnZXJzIDxjb2RlPm08L2NvZGU+IGFuZCA8Y29kZT5uPC9jb2RlPi4gQ29uc2lkZXIgYW4gPGNvZGU+bSB4IG48L2NvZGU+IGdyaWQgd2hlcmUgZWFjaCBjZWxsIGlzIGluaXRpYWxseSB3aGl0ZS4gWW91IGNhbiBwYWludCBlYWNoIGNlbGwgPHN0cm9uZz5yZWQ8L3N0cm9uZz4sIDxzdHJvbmc+Z3JlZW48L3N0cm9uZz4sIG9yIDxzdHJvbmc+Ymx1ZTwvc3Ryb25nPi4gQWxsIGNlbGxzIDxzdHJvbmc+bXVzdDwvc3Ryb25nPiBiZSBwYWludGVkLjwvcD4KPHA+UmV0dXJuPGVtPiB0aGUgbnVtYmVyIG9mIHdheXMgdG8gY29sb3IgdGhlIGdyaWQgd2l0aCA8c3Ryb25nPm5vIHR3byBhZGphY2VudCBjZWxscyBoYXZpbmcgdGhlIHNhbWUgY29sb3I8L3N0cm9uZz48L2VtPi4gU2luY2UgdGhlIGFuc3dlciBjYW4gYmUgdmVyeSBsYXJnZSwgcmV0dXJuIGl0IDxzdHJvbmc+bW9kdWxvPC9zdHJvbmc+IDxjb2RlPjEwPHN1cD45PC9zdXA+ICsgNzwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzA2LzIyL2NvbG9ydGhlZ3JpZC5wbmciIHN0eWxlPSJ3aWR0aDogMjAwcHg7IGhlaWdodDogNTBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBtID0gMSwgbiA9IDEKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHRocmVlIHBvc3NpYmxlIGNvbG9yaW5ncyBhcmUgc2hvd24gaW4gdGhlIGltYWdlIGFib3ZlLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzA2LzIyL2NvcHktb2YtY29sb3J0aGVncmlkLnBuZyIgc3R5bGU9IndpZHRoOiAzMjFweDsgaGVpZ2h0OiAxMjFweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBtID0gMSwgbiA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDYKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHNpeCBwb3NzaWJsZSBjb2xvcmluZ3MgYXJlIHNob3duIGluIHRoZSBpbWFnZSBhYm92ZS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbSA9IDUsIG4gPSA1CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA1ODA5ODYKPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBtICZsdDs9IDU8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Dynamic Programming"
+ ]
+ }
+]
diff --git a/question-service/.dockerignore b/question-service/.dockerignore
new file mode 100644
index 0000000..edd83c0
--- /dev/null
+++ b/question-service/.dockerignore
@@ -0,0 +1,4 @@
+node_modules
+npm-debug.log
+Dockerfile
+.dockerignore
\ No newline at end of file
diff --git a/question-service/Dockerfile b/question-service/Dockerfile
new file mode 100644
index 0000000..aca1efa
--- /dev/null
+++ b/question-service/Dockerfile
@@ -0,0 +1,18 @@
+
+FROM node:latest
+
+RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app
+
+WORKDIR /home/node/app
+
+COPY --chown=node:node package*.json ./
+
+USER node
+
+RUN npm install
+
+COPY --chown=node:node . .
+
+EXPOSE 5200
+
+CMD [ "node", "index.js" ]
diff --git a/question-service/Tests/test.js b/question-service/Tests/test.js
new file mode 100644
index 0000000..36ee305
--- /dev/null
+++ b/question-service/Tests/test.js
@@ -0,0 +1,89 @@
+import "dotenv/config";
+import chai from "chai";
+import chaiHttp from 'chai-http';
+import { expect } from "chai";
+import { app } from '../index.js';
+
+chai.use(chaiHttp)
+describe("Question Service tests", () => {
+
+ before(function(done) {
+ done()
+ });
+
+ after(function(done) {
+ done()
+ });
+
+ describe('Question Service Valid REST API Calls', function() {
+ it('it should GET random Easy Question', (done) => {
+ chai.request('http://localhost:5200')
+ .get('/api/randomquestion')
+ .query({difficulty: 'Easy'})
+ .end((err, res) => {
+ expect(res).to.have.status(200);
+ expect(res.body.data[0].title).to.be.a('string');
+ expect(res.body.data[0].questionDesc).to.be.a('string');
+ expect(res.body.data[0].topic).to.be.a('array');
+ expect(res.body.data[0].difficulty).to.equal("Easy");
+ done();
+ });
+ });
+
+ it('it should GET random Medium Question', (done) => {
+ chai.request('http://localhost:5200')
+ .get('/api/randomquestion')
+ .query({difficulty: 'Medium'})
+ .end((err, res) => {
+ expect(res).to.have.status(200);
+ expect(res.body.data[0].title).to.be.a('string');
+ expect(res.body.data[0].questionDesc).to.be.a('string');
+ expect(res.body.data[0].topic).to.be.a('array');
+ expect(res.body.data[0].difficulty).to.equal("Medium");
+ done();
+ });
+ });
+
+ it('it should GET random Hard Question', (done) => {
+ chai.request('http://localhost:5200')
+ .get('/api/randomquestion')
+ .query({difficulty: 'Hard'})
+ .end((err, res) => {
+ expect(res).to.have.status(200);
+ expect(res.body.data[0].title).to.be.a('string');
+ expect(res.body.data[0].questionDesc).to.be.a('string');
+ expect(res.body.data[0].topic).to.be.a('array');
+ expect(res.body.data[0].difficulty).to.equal("Hard");
+ done();
+ });
+ });
+ });
+
+ describe('Question Service Inalid REST API Calls', function() {
+ it('it should safely fail to GET invalid difficulty value question', (done) => {
+ chai.request('http://localhost:5200')
+ .get('/api/randomquestion')
+ .query({difficulty: 'INVALID'})
+ .end((err, res) => {
+ expect(res).to.have.status(500);
+ expect(res.body.status).to.equal('Invalid difficulty value provided');
+ expect(res.body.message).to.equal('Invalid difficulty value provided');
+ // expect(res.body.data[0].title).to.be.a('string');
+ // expect(res.body.data[0].questionDesc).to.be.a('string');
+ // expect(res.body.data[0].topic).to.be.a('array');
+ // expect(res.body.data[0].difficulty).to.equal("Hard");
+ done();
+ });
+ });
+
+ it('it should safely fail to GET invalid URL', (done) => {
+ chai.request('http://localhost:5200')
+ .get('/invalid/url')
+ .end((err, res) => {
+ // console.log(res)
+ expect(res).to.have.status(404);
+ done();
+ });
+ });
+ });
+});
\ No newline at end of file
diff --git a/question-service/api-routes.js b/question-service/api-routes.js
new file mode 100644
index 0000000..2a8be2c
--- /dev/null
+++ b/question-service/api-routes.js
@@ -0,0 +1,25 @@
+// Initialize express router
+import { Router } from 'express'
+
+let router = Router();
+// Set default API response
+router.get('/', function (req, res) {
+ res.status(200).json({
+ status: 'API is Working',
+ message: 'Welcome to Question Service API!'
+ });
+});
+
+// Import contact controller
+
+import questionController from './controller/question-controller.js'// Question routes
+
+router.route('/questions')
+ .get(questionController.index);
+
+router.route('/randomquestion')
+ .get(questionController.randomQuestion);
+
+// Export API routes
+export default router;
+
diff --git a/question-service/controller/question-controller.js b/question-service/controller/question-controller.js
new file mode 100644
index 0000000..b645146
--- /dev/null
+++ b/question-service/controller/question-controller.js
@@ -0,0 +1,60 @@
+import { Question } from '../model/question-model.js'
+
+const index = function (req, res) {
+ Question.get(function (err, questions) {
+ if (err) {
+ res.status(500).json({
+ status: "error",
+ message: err,
+ });
+ } else {
+ res.status(200).json({
+ status: "success",
+ message: "Question retrieved successfully",
+ data: questions
+ });
+ }
+ });
+};
+
+const randomQuestion = function (req, res) {
+ if (!req.query.difficulty || !req.query.difficulty.match(/^(Easy|Medium|Hard)$/)) {
+ res.status(500).json({
+ status: "Invalid difficulty value provided",
+ message: "Invalid difficulty value provided",
+ })
+ } else {
+ const randQuestion = Question.aggregate([
+ {
+ $match : {
+ difficulty: req.query.difficulty
+ }
+ },
+ {
+ $sample: {
+ size:1
+ }
+ }
+ ]).exec((err, question) => {
+ if (err) {
+ res.status(500).json({
+ status: "error",
+ message: err,
+ })
+ } else {
+ res.status(200).json({
+ status: "success",
+ message: "Random Question retrieved successfully",
+ data: question
+ })
+ }
+ })
+ }
+}
+
+const questionController = {
+ index: index,
+ randomQuestion: randomQuestion
+}
+
+export default questionController
\ No newline at end of file
diff --git a/question-service/index.js b/question-service/index.js
new file mode 100644
index 0000000..97c826c
--- /dev/null
+++ b/question-service/index.js
@@ -0,0 +1,54 @@
+// FileName: index.js// Import express
+import express from 'express'// Initialize the app
+import "dotenv/config";
+export let app = express();// Setup server port
+
+
+// Import routes
+// Use Api routes in the App
+import router from "./api-routes.js"
+
+// Import Body parser
+import bodyParser from 'body-parser'
+// Import Mongoose
+import mongoose from 'mongoose'
+
+app.use(bodyParser.json());
+// Configure bodyparser to handle post requests
+app.use(bodyParser.urlencoded({
+ extended: true
+}));
+async function mongooseConnect() {
+ await mongoose.connect('mongodb://' + process.env.QN_MONGO_IP + ':' + process.env.QN_MONGO_PORT,
+ {
+ useNewUrlParser: true,
+ useUnifiedTopology: true
+ });
+}
+
+try {
+ mongooseConnect()
+
+ } catch (error) {
+ console.log('Error while trying to connect to mongoDB.')
+ console.log(error)
+ }
+var db = mongoose.connection;
+
+// Added check for DB connection
+if(!db)
+ console.log("Error connecting db")
+else
+ console.log("Db connected successfully")
+
+app.use('/api', router)
+var port = process.env.PORT || 5200;// Send message for default URL
+app.get('/', (req, res) => res.send('Hello World from Question Service'));// Launch app to listen to specified port
+
+app.get('*', function(req, res){
+ res.status(404).send('Not Found Error')
+})
+
+app.listen(port, function () {
+ console.log("Running Question Service on port " + port);
+});
diff --git a/question-service/model/question-model.js b/question-service/model/question-model.js
new file mode 100644
index 0000000..85fd505
--- /dev/null
+++ b/question-service/model/question-model.js
@@ -0,0 +1,17 @@
+
+import mongoose, {Schema} from 'mongoose'
+
+const QuestionSchema = new Schema ({
+ _id: Schema.Types.ObjectId,
+ title: String,
+ questionDesc: String,
+ difficulty: "Easy" | "Medium" | "Hard",
+ topic: [String]
+})
+
+const questionModel = mongoose.model('Question', QuestionSchema)
+questionModel.get = function (callback, limit) {
+ Question.find(callback).limit(limit);
+}
+
+export const Question = questionModel;
\ No newline at end of file
diff --git a/question-service/package-lock.json b/question-service/package-lock.json
new file mode 100644
index 0000000..45c2b98
--- /dev/null
+++ b/question-service/package-lock.json
@@ -0,0 +1,3924 @@
+{
+ "name": "question-service",
+ "version": "1.0.0",
+ "lockfileVersion": 2,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "question-service",
+ "version": "1.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "@types/socket.io-client": "^3.0.0",
+ "chai": "^4.3.7",
+ "chai-http": "^4.3.0",
+ "dotenv": "^16.0.3",
+ "express": "^4.18.1",
+ "mocha": "^10.1.0",
+ "mongoose": "^6.6.4",
+ "nodemon": "^2.0.20",
+ "socket.io-client": "^4.5.3"
+ }
+ },
+ "node_modules/@socket.io/component-emitter": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
+ "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
+ },
+ "node_modules/@types/chai": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz",
+ "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw=="
+ },
+ "node_modules/@types/cookiejar": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz",
+ "integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog=="
+ },
+ "node_modules/@types/node": {
+ "version": "18.8.0",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.0.tgz",
+ "integrity": "sha512-u+h43R6U8xXDt2vzUaVP3VwjjLyOJk6uEciZS8OSyziUQGOwmk+l+4drxcsDboHXwyTaqS1INebghmWMRxq3LA=="
+ },
+ "node_modules/@types/socket.io-client": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/socket.io-client/-/socket.io-client-3.0.0.tgz",
+ "integrity": "sha512-s+IPvFoEIjKA3RdJz/Z2dGR4gLgysKi8owcnrVwNjgvc01Lk68LJDDsG2GRqegFITcxmvCMYM7bhMpwEMlHmDg==",
+ "deprecated": "This is a stub types definition. socket.io-client provides its own type definitions, so you do not need this installed.",
+ "dependencies": {
+ "socket.io-client": "*"
+ }
+ },
+ "node_modules/@types/superagent": {
+ "version": "3.8.7",
+ "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-3.8.7.tgz",
+ "integrity": "sha512-9KhCkyXv268A2nZ1Wvu7rQWM+BmdYUVkycFeNnYrUL5Zwu7o8wPQ3wBfW59dDP+wuoxw0ww8YKgTNv8j/cgscA==",
+ "dependencies": {
+ "@types/cookiejar": "*",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog=="
+ },
+ "node_modules/@types/whatwg-url": {
+ "version": "8.2.2",
+ "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz",
+ "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==",
+ "dependencies": {
+ "@types/node": "*",
+ "@types/webidl-conversions": "*"
+ }
+ },
+ "node_modules/abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+ },
+ "node_modules/accepts": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+ "dependencies": {
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/ansi-colors": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+ "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
+ },
+ "node_modules/array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
+ },
+ "node_modules/assertion-error": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
+ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ },
+ "node_modules/base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/binary-extensions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/body-parser": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
+ "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "content-type": "~1.0.4",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "on-finished": "2.4.1",
+ "qs": "6.10.3",
+ "raw-body": "2.5.1",
+ "type-is": "~1.6.18",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/body-parser/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/body-parser/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dependencies": {
+ "fill-range": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browser-stdout": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
+ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw=="
+ },
+ "node_modules/bson": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/bson/-/bson-4.7.0.tgz",
+ "integrity": "sha512-VrlEE4vuiO1WTpfof4VmaVolCVYkYTgB9iWgYNOrVlnifpME/06fhFRmONgBhClD5pFC1t9ZWqFUQEQAzY43bA==",
+ "dependencies": {
+ "buffer": "^5.6.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "node_modules/bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/call-bind": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/camelcase": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/chai": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz",
+ "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==",
+ "dependencies": {
+ "assertion-error": "^1.1.0",
+ "check-error": "^1.0.2",
+ "deep-eql": "^4.1.2",
+ "get-func-name": "^2.0.0",
+ "loupe": "^2.3.1",
+ "pathval": "^1.1.1",
+ "type-detect": "^4.0.5"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/chai-http": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/chai-http/-/chai-http-4.3.0.tgz",
+ "integrity": "sha512-zFTxlN7HLMv+7+SPXZdkd5wUlK+KxH6Q7bIEMiEx0FK3zuuMqL7cwICAQ0V1+yYRozBburYuxN1qZstgHpFZQg==",
+ "dependencies": {
+ "@types/chai": "4",
+ "@types/superagent": "^3.8.3",
+ "cookiejar": "^2.1.1",
+ "is-ip": "^2.0.0",
+ "methods": "^1.1.2",
+ "qs": "^6.5.1",
+ "superagent": "^3.7.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/chalk/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/chalk/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/check-error": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
+ "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/chokidar": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ ],
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/cliui": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/component-emitter": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
+ },
+ "node_modules/content-disposition": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
+ "dependencies": {
+ "safe-buffer": "5.2.1"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/content-type": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cookie": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
+ "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cookie-signature": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
+ },
+ "node_modules/cookiejar": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz",
+ "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ=="
+ },
+ "node_modules/core-util-is": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
+ },
+ "node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/decamelize": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
+ "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/deep-eql": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.2.tgz",
+ "integrity": "sha512-gT18+YW4CcW/DBNTwAmqTtkJh7f9qqScu2qFVlx7kCoeY9tlBu9cUcr7+I+Z/noG8INehS3xQgLpTtd/QUTn4w==",
+ "dependencies": {
+ "type-detect": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/denque": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
+ "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==",
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/destroy": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/diff": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
+ "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
+ "engines": {
+ "node": ">=0.3.1"
+ }
+ },
+ "node_modules/dotenv": {
+ "version": "16.0.3",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
+ "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
+ },
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "node_modules/encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/engine.io-client": {
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.3.tgz",
+ "integrity": "sha512-aXPtgF1JS3RuuKcpSrBtimSjYvrbhKW9froICH4s0F3XQWLxsKNxqzG39nnvQZQnva4CMvUK63T7shevxRyYHw==",
+ "dependencies": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.1",
+ "engine.io-parser": "~5.0.3",
+ "ws": "~8.2.3",
+ "xmlhttprequest-ssl": "~2.0.0"
+ }
+ },
+ "node_modules/engine.io-client/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/engine.io-client/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/engine.io-parser": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
+ "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==",
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/express": {
+ "version": "4.18.1",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz",
+ "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==",
+ "dependencies": {
+ "accepts": "~1.3.8",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.20.0",
+ "content-disposition": "0.5.4",
+ "content-type": "~1.0.4",
+ "cookie": "0.5.0",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "1.2.0",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.7",
+ "qs": "6.10.3",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.2.1",
+ "send": "0.18.0",
+ "serve-static": "1.15.0",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "node_modules/express/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/express/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
+ },
+ "node_modules/fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/finalhandler": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
+ "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
+ "dependencies": {
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "statuses": "2.0.1",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/finalhandler/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/finalhandler/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/flat": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
+ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
+ "bin": {
+ "flat": "cli.js"
+ }
+ },
+ "node_modules/form-data": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz",
+ "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 0.12"
+ }
+ },
+ "node_modules/formidable": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz",
+ "integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==",
+ "deprecated": "Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau",
+ "funding": {
+ "url": "https://ko-fi.com/tunnckoCore/commissions"
+ }
+ },
+ "node_modules/forwarded": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ },
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "node_modules/get-func-name": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
+ "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
+ "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/glob": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+ "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dependencies": {
+ "function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/he": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
+ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
+ "bin": {
+ "he": "bin/he"
+ }
+ },
+ "node_modules/http-errors": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+ "dependencies": {
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/ignore-by-default": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
+ "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA=="
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "node_modules/ip": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
+ "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
+ },
+ "node_modules/ip-regex": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
+ "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/ipaddr.js": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-ip": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz",
+ "integrity": "sha512-9MTn0dteHETtyUx8pxqMwg5hMBi3pvlyglJ+b79KOCca0po23337LbVV2Hl4xmMvfw++ljnO0/+5G6G+0Szh6g==",
+ "dependencies": {
+ "ip-regex": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-plain-obj": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+ "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-unicode-supported": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
+ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
+ },
+ "node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/kareem": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.4.1.tgz",
+ "integrity": "sha512-aJ9opVoXroQUPfovYP5kaj2lM7Jn02Gw13bL0lg9v0V7SaUc0qavPs0Eue7d2DcC3NjqI6QAUElXNsuZSeM+EA=="
+ },
+ "node_modules/locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/log-symbols": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+ "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+ "dependencies": {
+ "chalk": "^4.1.0",
+ "is-unicode-supported": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/loupe": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz",
+ "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==",
+ "dependencies": {
+ "get-func-name": "^2.0.0"
+ }
+ },
+ "node_modules/media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/memory-pager": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
+ "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
+ "optional": true
+ },
+ "node_modules/merge-descriptors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+ "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
+ },
+ "node_modules/methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/mocha": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.1.0.tgz",
+ "integrity": "sha512-vUF7IYxEoN7XhQpFLxQAEMtE4W91acW4B6En9l97MwE9stL1A9gusXfoHZCLVHDUJ/7V5+lbCM6yMqzo5vNymg==",
+ "dependencies": {
+ "ansi-colors": "4.1.1",
+ "browser-stdout": "1.3.1",
+ "chokidar": "3.5.3",
+ "debug": "4.3.4",
+ "diff": "5.0.0",
+ "escape-string-regexp": "4.0.0",
+ "find-up": "5.0.0",
+ "glob": "7.2.0",
+ "he": "1.2.0",
+ "js-yaml": "4.1.0",
+ "log-symbols": "4.1.0",
+ "minimatch": "5.0.1",
+ "ms": "2.1.3",
+ "nanoid": "3.3.3",
+ "serialize-javascript": "6.0.0",
+ "strip-json-comments": "3.1.1",
+ "supports-color": "8.1.1",
+ "workerpool": "6.2.1",
+ "yargs": "16.2.0",
+ "yargs-parser": "20.2.4",
+ "yargs-unparser": "2.0.0"
+ },
+ "bin": {
+ "_mocha": "bin/_mocha",
+ "mocha": "bin/mocha.js"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mochajs"
+ }
+ },
+ "node_modules/mocha/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/mocha/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/mocha/node_modules/debug/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/mocha/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/mocha/node_modules/minimatch": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
+ "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/mocha/node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/mongodb": {
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.9.1.tgz",
+ "integrity": "sha512-ZhgI/qBf84fD7sI4waZBoLBNJYPQN5IOC++SBCiPiyhzpNKOxN/fi0tBHvH2dEC42HXtNEbFB0zmNz4+oVtorQ==",
+ "dependencies": {
+ "bson": "^4.7.0",
+ "denque": "^2.1.0",
+ "mongodb-connection-string-url": "^2.5.3",
+ "socks": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=12.9.0"
+ },
+ "optionalDependencies": {
+ "saslprep": "^1.0.3"
+ }
+ },
+ "node_modules/mongodb-connection-string-url": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.5.4.tgz",
+ "integrity": "sha512-SeAxuWs0ez3iI3vvmLk/j2y+zHwigTDKQhtdxTgt5ZCOQQS5+HW4g45/Xw5vzzbn7oQXCNQ24Z40AkJsizEy7w==",
+ "dependencies": {
+ "@types/whatwg-url": "^8.2.1",
+ "whatwg-url": "^11.0.0"
+ }
+ },
+ "node_modules/mongoose": {
+ "version": "6.6.4",
+ "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.6.4.tgz",
+ "integrity": "sha512-gkH17ZFdwUHIadWXIjNfZ3y/Wa7WlWu54SeieHMnpDuk8QNaA9RezmFN+s4CvghfvdfVIgifsv/jviqUMFFdnw==",
+ "dependencies": {
+ "bson": "^4.6.5",
+ "kareem": "2.4.1",
+ "mongodb": "4.9.1",
+ "mpath": "0.9.0",
+ "mquery": "4.0.3",
+ "ms": "2.1.3",
+ "sift": "16.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mongoose"
+ }
+ },
+ "node_modules/mpath": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz",
+ "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==",
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/mquery": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.3.tgz",
+ "integrity": "sha512-J5heI+P08I6VJ2Ky3+33IpCdAvlYGTSUjwTPxkAr8i8EoduPMBX2OY/wa3IKZIQl7MU4SbFk8ndgSKyB/cl1zA==",
+ "dependencies": {
+ "debug": "4.x"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/mquery/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/mquery/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
+ "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/negotiator": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/nodemon": {
+ "version": "2.0.20",
+ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.20.tgz",
+ "integrity": "sha512-Km2mWHKKY5GzRg6i1j5OxOHQtuvVsgskLfigG25yTtbyfRGn/GNvIbRyOf1PSCKJ2aT/58TiuUsuOU5UToVViw==",
+ "dependencies": {
+ "chokidar": "^3.5.2",
+ "debug": "^3.2.7",
+ "ignore-by-default": "^1.0.1",
+ "minimatch": "^3.1.2",
+ "pstree.remy": "^1.1.8",
+ "semver": "^5.7.1",
+ "simple-update-notifier": "^1.0.7",
+ "supports-color": "^5.5.0",
+ "touch": "^3.1.0",
+ "undefsafe": "^2.0.5"
+ },
+ "bin": {
+ "nodemon": "bin/nodemon.js"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/nodemon"
+ }
+ },
+ "node_modules/nopt": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
+ "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==",
+ "dependencies": {
+ "abbrev": "1"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-inspect": {
+ "version": "1.12.2",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
+ "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-to-regexp": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+ "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
+ },
+ "node_modules/pathval": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
+ "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
+ },
+ "node_modules/proxy-addr": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
+ "dependencies": {
+ "forwarded": "0.2.0",
+ "ipaddr.js": "1.9.1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/pstree.remy": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
+ "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w=="
+ },
+ "node_modules/punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/qs": {
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+ "dependencies": {
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "dependencies": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "node_modules/range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/raw-body": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
+ "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/readable-stream/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "node_modules/saslprep": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
+ "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==",
+ "optional": true,
+ "dependencies": {
+ "sparse-bitfield": "^3.0.3"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/send": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
+ "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
+ "dependencies": {
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/send/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/send/node_modules/debug/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/serialize-javascript": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
+ "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
+ "dependencies": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "node_modules/serve-static": {
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
+ "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
+ "dependencies": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.18.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/setprototypeof": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
+ },
+ "node_modules/side-channel": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/sift": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/sift/-/sift-16.0.0.tgz",
+ "integrity": "sha512-ILTjdP2Mv9V1kIxWMXeMTIRbOBrqKc4JAXmFMnFq3fKeyQ2Qwa3Dw1ubcye3vR+Y6ofA0b9gNDr/y2t6eUeIzQ=="
+ },
+ "node_modules/simple-update-notifier": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz",
+ "integrity": "sha512-BBKgR84BJQJm6WjWFMHgLVuo61FBDSj1z/xSFUIozqO6wO7ii0JxCqlIud7Enr/+LhlbNI0whErq96P2qHNWew==",
+ "dependencies": {
+ "semver": "~7.0.0"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/simple-update-notifier/node_modules/semver": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
+ "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/smart-buffer": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
+ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
+ "engines": {
+ "node": ">= 6.0.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "node_modules/socket.io-client": {
+ "version": "4.5.3",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.3.tgz",
+ "integrity": "sha512-I/hqDYpQ6JKwtJOf5ikM+Qz+YujZPMEl6qBLhxiP0nX+TfXKhW4KZZG8lamrD6Y5ngjmYHreESVasVCgi5Kl3A==",
+ "dependencies": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.2",
+ "engine.io-client": "~6.2.3",
+ "socket.io-parser": "~4.2.0"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/socket.io-client/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/socket.io-client/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/socket.io-parser": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz",
+ "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==",
+ "dependencies": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.1"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/socket.io-parser/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/socket.io-parser/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/socks": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
+ "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
+ "dependencies": {
+ "ip": "^2.0.0",
+ "smart-buffer": "^4.2.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "node_modules/sparse-bitfield": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
+ "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==",
+ "optional": true,
+ "dependencies": {
+ "memory-pager": "^1.0.2"
+ }
+ },
+ "node_modules/statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/string_decoder/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/superagent": {
+ "version": "3.8.3",
+ "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz",
+ "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==",
+ "deprecated": "Please upgrade to v7.0.2+ of superagent. We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing. See the releases tab for more information at .",
+ "dependencies": {
+ "component-emitter": "^1.2.0",
+ "cookiejar": "^2.1.0",
+ "debug": "^3.1.0",
+ "extend": "^3.0.0",
+ "form-data": "^2.3.1",
+ "formidable": "^1.2.0",
+ "methods": "^1.1.1",
+ "mime": "^1.4.1",
+ "qs": "^6.5.1",
+ "readable-stream": "^2.3.5"
+ },
+ "engines": {
+ "node": ">= 4.0"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/toidentifier": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/touch": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
+ "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==",
+ "dependencies": {
+ "nopt": "~1.0.10"
+ },
+ "bin": {
+ "nodetouch": "bin/nodetouch.js"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
+ "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
+ "dependencies": {
+ "punycode": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/type-detect": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "dependencies": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/undefsafe": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
+ "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA=="
+ },
+ "node_modules/unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+ },
+ "node_modules/utils-merge": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/whatwg-url": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
+ "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
+ "dependencies": {
+ "tr46": "^3.0.0",
+ "webidl-conversions": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/workerpool": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz",
+ "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw=="
+ },
+ "node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ },
+ "node_modules/ws": {
+ "version": "8.2.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
+ "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/xmlhttprequest-ssl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
+ "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yargs": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+ "dependencies": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.0",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^20.2.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "20.2.4",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
+ "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yargs-unparser": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+ "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+ "dependencies": {
+ "camelcase": "^6.0.0",
+ "decamelize": "^4.0.0",
+ "flat": "^5.0.2",
+ "is-plain-obj": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ }
+ },
+ "dependencies": {
+ "@socket.io/component-emitter": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
+ "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
+ },
+ "@types/chai": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz",
+ "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw=="
+ },
+ "@types/cookiejar": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz",
+ "integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog=="
+ },
+ "@types/node": {
+ "version": "18.8.0",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.0.tgz",
+ "integrity": "sha512-u+h43R6U8xXDt2vzUaVP3VwjjLyOJk6uEciZS8OSyziUQGOwmk+l+4drxcsDboHXwyTaqS1INebghmWMRxq3LA=="
+ },
+ "@types/socket.io-client": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/socket.io-client/-/socket.io-client-3.0.0.tgz",
+ "integrity": "sha512-s+IPvFoEIjKA3RdJz/Z2dGR4gLgysKi8owcnrVwNjgvc01Lk68LJDDsG2GRqegFITcxmvCMYM7bhMpwEMlHmDg==",
+ "requires": {
+ "socket.io-client": "*"
+ }
+ },
+ "@types/superagent": {
+ "version": "3.8.7",
+ "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-3.8.7.tgz",
+ "integrity": "sha512-9KhCkyXv268A2nZ1Wvu7rQWM+BmdYUVkycFeNnYrUL5Zwu7o8wPQ3wBfW59dDP+wuoxw0ww8YKgTNv8j/cgscA==",
+ "requires": {
+ "@types/cookiejar": "*",
+ "@types/node": "*"
+ }
+ },
+ "@types/webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog=="
+ },
+ "@types/whatwg-url": {
+ "version": "8.2.2",
+ "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz",
+ "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==",
+ "requires": {
+ "@types/node": "*",
+ "@types/webidl-conversions": "*"
+ }
+ },
+ "abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+ },
+ "accepts": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+ "requires": {
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
+ }
+ },
+ "ansi-colors": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+ "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA=="
+ },
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
+ },
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "anymatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
+ },
+ "array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
+ },
+ "assertion-error": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
+ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw=="
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+ },
+ "balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ },
+ "base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
+ },
+ "binary-extensions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
+ },
+ "body-parser": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
+ "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
+ "requires": {
+ "bytes": "3.1.2",
+ "content-type": "~1.0.4",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "on-finished": "2.4.1",
+ "qs": "6.10.3",
+ "raw-body": "2.5.1",
+ "type-is": "~1.6.18",
+ "unpipe": "1.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ }
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "browser-stdout": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
+ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw=="
+ },
+ "bson": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/bson/-/bson-4.7.0.tgz",
+ "integrity": "sha512-VrlEE4vuiO1WTpfof4VmaVolCVYkYTgB9iWgYNOrVlnifpME/06fhFRmONgBhClD5pFC1t9ZWqFUQEQAzY43bA==",
+ "requires": {
+ "buffer": "^5.6.0"
+ }
+ },
+ "buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "requires": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="
+ },
+ "call-bind": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+ "requires": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
+ }
+ },
+ "camelcase": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA=="
+ },
+ "chai": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz",
+ "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==",
+ "requires": {
+ "assertion-error": "^1.1.0",
+ "check-error": "^1.0.2",
+ "deep-eql": "^4.1.2",
+ "get-func-name": "^2.0.0",
+ "loupe": "^2.3.1",
+ "pathval": "^1.1.1",
+ "type-detect": "^4.0.5"
+ }
+ },
+ "chai-http": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/chai-http/-/chai-http-4.3.0.tgz",
+ "integrity": "sha512-zFTxlN7HLMv+7+SPXZdkd5wUlK+KxH6Q7bIEMiEx0FK3zuuMqL7cwICAQ0V1+yYRozBburYuxN1qZstgHpFZQg==",
+ "requires": {
+ "@types/chai": "4",
+ "@types/superagent": "^3.8.3",
+ "cookiejar": "^2.1.1",
+ "is-ip": "^2.0.0",
+ "methods": "^1.1.2",
+ "qs": "^6.5.1",
+ "superagent": "^3.7.0"
+ }
+ },
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "dependencies": {
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "check-error": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
+ "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA=="
+ },
+ "chokidar": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "requires": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "fsevents": "~2.3.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ }
+ },
+ "cliui": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+ "requires": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
+ "component-emitter": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
+ },
+ "content-disposition": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
+ "requires": {
+ "safe-buffer": "5.2.1"
+ }
+ },
+ "content-type": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
+ },
+ "cookie": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
+ "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw=="
+ },
+ "cookie-signature": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
+ },
+ "cookiejar": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz",
+ "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ=="
+ },
+ "core-util-is": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
+ },
+ "debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "decamelize": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
+ "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ=="
+ },
+ "deep-eql": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.2.tgz",
+ "integrity": "sha512-gT18+YW4CcW/DBNTwAmqTtkJh7f9qqScu2qFVlx7kCoeY9tlBu9cUcr7+I+Z/noG8INehS3xQgLpTtd/QUTn4w==",
+ "requires": {
+ "type-detect": "^4.0.0"
+ }
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
+ },
+ "denque": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
+ "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw=="
+ },
+ "depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="
+ },
+ "destroy": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="
+ },
+ "diff": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
+ "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w=="
+ },
+ "dotenv": {
+ "version": "16.0.3",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
+ "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ=="
+ },
+ "ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="
+ },
+ "engine.io-client": {
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.3.tgz",
+ "integrity": "sha512-aXPtgF1JS3RuuKcpSrBtimSjYvrbhKW9froICH4s0F3XQWLxsKNxqzG39nnvQZQnva4CMvUK63T7shevxRyYHw==",
+ "requires": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.1",
+ "engine.io-parser": "~5.0.3",
+ "ws": "~8.2.3",
+ "xmlhttprequest-ssl": "~2.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
+ "engine.io-parser": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
+ "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg=="
+ },
+ "escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
+ },
+ "escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
+ },
+ "escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="
+ },
+ "etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="
+ },
+ "express": {
+ "version": "4.18.1",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz",
+ "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==",
+ "requires": {
+ "accepts": "~1.3.8",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.20.0",
+ "content-disposition": "0.5.4",
+ "content-type": "~1.0.4",
+ "cookie": "0.5.0",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "1.2.0",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.7",
+ "qs": "6.10.3",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.2.1",
+ "send": "0.18.0",
+ "serve-static": "1.15.0",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ }
+ }
+ },
+ "extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "finalhandler": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
+ "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
+ "requires": {
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "statuses": "2.0.1",
+ "unpipe": "~1.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ }
+ }
+ },
+ "find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "requires": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "flat": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
+ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ=="
+ },
+ "form-data": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz",
+ "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==",
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ }
+ },
+ "formidable": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz",
+ "integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ=="
+ },
+ "forwarded": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="
+ },
+ "fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
+ },
+ "fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "optional": true
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ },
+ "get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
+ },
+ "get-func-name": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
+ "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig=="
+ },
+ "get-intrinsic": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
+ "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
+ "requires": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.3"
+ }
+ },
+ "glob": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+ "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="
+ },
+ "has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
+ },
+ "he": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
+ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
+ },
+ "http-errors": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+ "requires": {
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
+ },
+ "ignore-by-default": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
+ "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA=="
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "ip": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
+ "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
+ },
+ "ip-regex": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
+ "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw=="
+ },
+ "ipaddr.js": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
+ },
+ "is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "requires": {
+ "binary-extensions": "^2.0.0"
+ }
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
+ },
+ "is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-ip": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz",
+ "integrity": "sha512-9MTn0dteHETtyUx8pxqMwg5hMBi3pvlyglJ+b79KOCca0po23337LbVV2Hl4xmMvfw++ljnO0/+5G6G+0Szh6g==",
+ "requires": {
+ "ip-regex": "^2.0.0"
+ }
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
+ },
+ "is-plain-obj": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+ "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA=="
+ },
+ "is-unicode-supported": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
+ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw=="
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
+ },
+ "js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "requires": {
+ "argparse": "^2.0.1"
+ }
+ },
+ "kareem": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.4.1.tgz",
+ "integrity": "sha512-aJ9opVoXroQUPfovYP5kaj2lM7Jn02Gw13bL0lg9v0V7SaUc0qavPs0Eue7d2DcC3NjqI6QAUElXNsuZSeM+EA=="
+ },
+ "locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "requires": {
+ "p-locate": "^5.0.0"
+ }
+ },
+ "log-symbols": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+ "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+ "requires": {
+ "chalk": "^4.1.0",
+ "is-unicode-supported": "^0.1.0"
+ }
+ },
+ "loupe": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz",
+ "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==",
+ "requires": {
+ "get-func-name": "^2.0.0"
+ }
+ },
+ "media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ=="
+ },
+ "memory-pager": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
+ "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
+ "optional": true
+ },
+ "merge-descriptors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+ "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
+ },
+ "methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w=="
+ },
+ "mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
+ },
+ "mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
+ },
+ "mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "requires": {
+ "mime-db": "1.52.0"
+ }
+ },
+ "minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "mocha": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.1.0.tgz",
+ "integrity": "sha512-vUF7IYxEoN7XhQpFLxQAEMtE4W91acW4B6En9l97MwE9stL1A9gusXfoHZCLVHDUJ/7V5+lbCM6yMqzo5vNymg==",
+ "requires": {
+ "ansi-colors": "4.1.1",
+ "browser-stdout": "1.3.1",
+ "chokidar": "3.5.3",
+ "debug": "4.3.4",
+ "diff": "5.0.0",
+ "escape-string-regexp": "4.0.0",
+ "find-up": "5.0.0",
+ "glob": "7.2.0",
+ "he": "1.2.0",
+ "js-yaml": "4.1.0",
+ "log-symbols": "4.1.0",
+ "minimatch": "5.0.1",
+ "ms": "2.1.3",
+ "nanoid": "3.3.3",
+ "serialize-javascript": "6.0.0",
+ "strip-json-comments": "3.1.1",
+ "supports-color": "8.1.1",
+ "workerpool": "6.2.1",
+ "yargs": "16.2.0",
+ "yargs-parser": "20.2.4",
+ "yargs-unparser": "2.0.0"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "requires": {
+ "ms": "2.1.2"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
+ },
+ "minimatch": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
+ "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
+ },
+ "supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "mongodb": {
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.9.1.tgz",
+ "integrity": "sha512-ZhgI/qBf84fD7sI4waZBoLBNJYPQN5IOC++SBCiPiyhzpNKOxN/fi0tBHvH2dEC42HXtNEbFB0zmNz4+oVtorQ==",
+ "requires": {
+ "bson": "^4.7.0",
+ "denque": "^2.1.0",
+ "mongodb-connection-string-url": "^2.5.3",
+ "saslprep": "^1.0.3",
+ "socks": "^2.7.0"
+ }
+ },
+ "mongodb-connection-string-url": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.5.4.tgz",
+ "integrity": "sha512-SeAxuWs0ez3iI3vvmLk/j2y+zHwigTDKQhtdxTgt5ZCOQQS5+HW4g45/Xw5vzzbn7oQXCNQ24Z40AkJsizEy7w==",
+ "requires": {
+ "@types/whatwg-url": "^8.2.1",
+ "whatwg-url": "^11.0.0"
+ }
+ },
+ "mongoose": {
+ "version": "6.6.4",
+ "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.6.4.tgz",
+ "integrity": "sha512-gkH17ZFdwUHIadWXIjNfZ3y/Wa7WlWu54SeieHMnpDuk8QNaA9RezmFN+s4CvghfvdfVIgifsv/jviqUMFFdnw==",
+ "requires": {
+ "bson": "^4.6.5",
+ "kareem": "2.4.1",
+ "mongodb": "4.9.1",
+ "mpath": "0.9.0",
+ "mquery": "4.0.3",
+ "ms": "2.1.3",
+ "sift": "16.0.0"
+ }
+ },
+ "mpath": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz",
+ "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew=="
+ },
+ "mquery": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.3.tgz",
+ "integrity": "sha512-J5heI+P08I6VJ2Ky3+33IpCdAvlYGTSUjwTPxkAr8i8EoduPMBX2OY/wa3IKZIQl7MU4SbFk8ndgSKyB/cl1zA==",
+ "requires": {
+ "debug": "4.x"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ },
+ "nanoid": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
+ "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w=="
+ },
+ "negotiator": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="
+ },
+ "nodemon": {
+ "version": "2.0.20",
+ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.20.tgz",
+ "integrity": "sha512-Km2mWHKKY5GzRg6i1j5OxOHQtuvVsgskLfigG25yTtbyfRGn/GNvIbRyOf1PSCKJ2aT/58TiuUsuOU5UToVViw==",
+ "requires": {
+ "chokidar": "^3.5.2",
+ "debug": "^3.2.7",
+ "ignore-by-default": "^1.0.1",
+ "minimatch": "^3.1.2",
+ "pstree.remy": "^1.1.8",
+ "semver": "^5.7.1",
+ "simple-update-notifier": "^1.0.7",
+ "supports-color": "^5.5.0",
+ "touch": "^3.1.0",
+ "undefsafe": "^2.0.5"
+ }
+ },
+ "nopt": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
+ "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==",
+ "requires": {
+ "abbrev": "1"
+ }
+ },
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
+ },
+ "object-inspect": {
+ "version": "1.12.2",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
+ "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ=="
+ },
+ "on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "requires": {
+ "ee-first": "1.1.1"
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "requires": {
+ "yocto-queue": "^0.1.0"
+ }
+ },
+ "p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "requires": {
+ "p-limit": "^3.0.2"
+ }
+ },
+ "parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
+ },
+ "path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="
+ },
+ "path-to-regexp": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+ "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
+ },
+ "pathval": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
+ "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ=="
+ },
+ "picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
+ },
+ "process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
+ },
+ "proxy-addr": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
+ "requires": {
+ "forwarded": "0.2.0",
+ "ipaddr.js": "1.9.1"
+ }
+ },
+ "pstree.remy": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
+ "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w=="
+ },
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
+ },
+ "qs": {
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+ "requires": {
+ "side-channel": "^1.0.4"
+ }
+ },
+ "randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "requires": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
+ },
+ "raw-body": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
+ "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
+ "requires": {
+ "bytes": "3.1.2",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ },
+ "dependencies": {
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ }
+ }
+ },
+ "readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "requires": {
+ "picomatch": "^2.2.1"
+ }
+ },
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="
+ },
+ "safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "saslprep": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
+ "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==",
+ "optional": true,
+ "requires": {
+ "sparse-bitfield": "^3.0.3"
+ }
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+ },
+ "send": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
+ "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
+ "requires": {
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ }
+ }
+ }
+ }
+ },
+ "serialize-javascript": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
+ "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
+ "requires": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "serve-static": {
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
+ "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
+ "requires": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.18.0"
+ }
+ },
+ "setprototypeof": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
+ },
+ "side-channel": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+ "requires": {
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ }
+ },
+ "sift": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/sift/-/sift-16.0.0.tgz",
+ "integrity": "sha512-ILTjdP2Mv9V1kIxWMXeMTIRbOBrqKc4JAXmFMnFq3fKeyQ2Qwa3Dw1ubcye3vR+Y6ofA0b9gNDr/y2t6eUeIzQ=="
+ },
+ "simple-update-notifier": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz",
+ "integrity": "sha512-BBKgR84BJQJm6WjWFMHgLVuo61FBDSj1z/xSFUIozqO6wO7ii0JxCqlIud7Enr/+LhlbNI0whErq96P2qHNWew==",
+ "requires": {
+ "semver": "~7.0.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
+ "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A=="
+ }
+ }
+ },
+ "smart-buffer": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
+ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg=="
+ },
+ "socket.io-client": {
+ "version": "4.5.3",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.3.tgz",
+ "integrity": "sha512-I/hqDYpQ6JKwtJOf5ikM+Qz+YujZPMEl6qBLhxiP0nX+TfXKhW4KZZG8lamrD6Y5ngjmYHreESVasVCgi5Kl3A==",
+ "requires": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.2",
+ "engine.io-client": "~6.2.3",
+ "socket.io-parser": "~4.2.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
+ "socket.io-parser": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz",
+ "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==",
+ "requires": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.3.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
+ "socks": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
+ "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
+ "requires": {
+ "ip": "^2.0.0",
+ "smart-buffer": "^4.2.0"
+ }
+ },
+ "sparse-bitfield": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
+ "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==",
+ "optional": true,
+ "requires": {
+ "memory-pager": "^1.0.2"
+ }
+ },
+ "statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ },
+ "dependencies": {
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ }
+ }
+ },
+ "string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
+ "strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="
+ },
+ "superagent": {
+ "version": "3.8.3",
+ "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz",
+ "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==",
+ "requires": {
+ "component-emitter": "^1.2.0",
+ "cookiejar": "^2.1.0",
+ "debug": "^3.1.0",
+ "extend": "^3.0.0",
+ "form-data": "^2.3.1",
+ "formidable": "^1.2.0",
+ "methods": "^1.1.1",
+ "mime": "^1.4.1",
+ "qs": "^6.5.1",
+ "readable-stream": "^2.3.5"
+ }
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "toidentifier": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="
+ },
+ "touch": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
+ "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==",
+ "requires": {
+ "nopt": "~1.0.10"
+ }
+ },
+ "tr46": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
+ "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
+ "requires": {
+ "punycode": "^2.1.1"
+ }
+ },
+ "type-detect": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g=="
+ },
+ "type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "requires": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ }
+ },
+ "undefsafe": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
+ "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA=="
+ },
+ "unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+ },
+ "utils-merge": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA=="
+ },
+ "vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="
+ },
+ "webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="
+ },
+ "whatwg-url": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
+ "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
+ "requires": {
+ "tr46": "^3.0.0",
+ "webidl-conversions": "^7.0.0"
+ }
+ },
+ "workerpool": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz",
+ "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw=="
+ },
+ "wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ },
+ "ws": {
+ "version": "8.2.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
+ "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
+ "requires": {}
+ },
+ "xmlhttprequest-ssl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
+ "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A=="
+ },
+ "y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="
+ },
+ "yargs": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+ "requires": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.0",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^20.2.2"
+ }
+ },
+ "yargs-parser": {
+ "version": "20.2.4",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
+ "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA=="
+ },
+ "yargs-unparser": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+ "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+ "requires": {
+ "camelcase": "^6.0.0",
+ "decamelize": "^4.0.0",
+ "flat": "^5.0.2",
+ "is-plain-obj": "^2.1.0"
+ }
+ },
+ "yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="
+ }
+ }
+}
diff --git a/question-service/package.json b/question-service/package.json
new file mode 100644
index 0000000..ddf5ff9
--- /dev/null
+++ b/question-service/package.json
@@ -0,0 +1,26 @@
+{
+ "name": "question-service",
+ "version": "1.0.0",
+ "description": "",
+ "main": "index.js",
+ "type": "module",
+ "scripts": {
+ "dev": "nodemon index.js",
+ "start": "node index.js",
+ "test": "mocha ./Tests --exit",
+ "seed": "node ./question-service-mongodb/seed-mongodb/seed-mongodb.js"
+ },
+ "author": "",
+ "license": "ISC",
+ "dependencies": {
+ "@types/socket.io-client": "^3.0.0",
+ "chai": "^4.3.7",
+ "chai-http": "^4.3.0",
+ "dotenv": "^16.0.3",
+ "express": "^4.18.1",
+ "mocha": "^10.1.0",
+ "mongoose": "^6.6.4",
+ "nodemon": "^2.0.20",
+ "socket.io-client": "^4.5.3"
+ }
+}
diff --git a/question-service/question-service-mongodb/mongod.conf b/question-service/question-service-mongodb/mongod.conf
new file mode 100644
index 0000000..233eeef
--- /dev/null
+++ b/question-service/question-service-mongodb/mongod.conf
@@ -0,0 +1,10 @@
+systemLog:
+ destination: file
+ path: ./log/mongo.log
+ logAppend: true
+storage:
+ dbPath: ./data
+net:
+ bindIp: 127.0.0.1
+ port: 5100
+ ipv6: true
diff --git a/question-service/question-service-mongodb/seed-mongodb/README.md b/question-service/question-service-mongodb/seed-mongodb/README.md
new file mode 100644
index 0000000..5229e66
--- /dev/null
+++ b/question-service/question-service-mongodb/seed-mongodb/README.md
@@ -0,0 +1,24 @@
+
+1. Create empty `mongo.log` file in `question-service-mongodb/log`
+
+
+2. Run
+`mongod --config mongod.conf ` for Apple M1
+`mongod --config mongod.conf` for Windows
+
+Note: Windows version is untested, referenced this [link](https://www.mongodb.com/community/forums/t/how-to-start-mongod-from-configuration-file-in-windows/52508).
+
+
+3. In `seed-mongodb` folder, run `npm install`
+
+
+4. To initialise question service with mock data, run:
+`npm run seed`
+
+Complete!
+
+Additional Functions:
+
+1. To see what questions is in the db, run
+`node print-questions.js`
+Note: need to `Ctrl+C` to get out of this.
\ No newline at end of file
diff --git a/question-service/question-service-mongodb/seed-mongodb/package-lock.json b/question-service/question-service-mongodb/seed-mongodb/package-lock.json
new file mode 100644
index 0000000..01f8002
--- /dev/null
+++ b/question-service/question-service-mongodb/seed-mongodb/package-lock.json
@@ -0,0 +1,511 @@
+{
+ "name": "seed-mongodb",
+ "version": "1.0.0",
+ "lockfileVersion": 2,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "seed-mongodb",
+ "version": "1.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "mongoose": "^6.6.4"
+ }
+ },
+ "node_modules/@types/node": {
+ "version": "18.8.1",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.1.tgz",
+ "integrity": "sha512-vuYaNuEIbOYLTLUAJh50ezEbvxrD43iby+lpUA2aa148Nh5kX/AVO/9m1Ahmbux2iU5uxJTNF9g2Y+31uml7RQ=="
+ },
+ "node_modules/@types/webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog=="
+ },
+ "node_modules/@types/whatwg-url": {
+ "version": "8.2.2",
+ "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz",
+ "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==",
+ "dependencies": {
+ "@types/node": "*",
+ "@types/webidl-conversions": "*"
+ }
+ },
+ "node_modules/base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/bson": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/bson/-/bson-4.7.0.tgz",
+ "integrity": "sha512-VrlEE4vuiO1WTpfof4VmaVolCVYkYTgB9iWgYNOrVlnifpME/06fhFRmONgBhClD5pFC1t9ZWqFUQEQAzY43bA==",
+ "dependencies": {
+ "buffer": "^5.6.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/debug/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/denque": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
+ "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==",
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/ip": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
+ "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
+ },
+ "node_modules/kareem": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.4.1.tgz",
+ "integrity": "sha512-aJ9opVoXroQUPfovYP5kaj2lM7Jn02Gw13bL0lg9v0V7SaUc0qavPs0Eue7d2DcC3NjqI6QAUElXNsuZSeM+EA=="
+ },
+ "node_modules/memory-pager": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
+ "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
+ "optional": true
+ },
+ "node_modules/mongodb": {
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.9.1.tgz",
+ "integrity": "sha512-ZhgI/qBf84fD7sI4waZBoLBNJYPQN5IOC++SBCiPiyhzpNKOxN/fi0tBHvH2dEC42HXtNEbFB0zmNz4+oVtorQ==",
+ "dependencies": {
+ "bson": "^4.7.0",
+ "denque": "^2.1.0",
+ "mongodb-connection-string-url": "^2.5.3",
+ "socks": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=12.9.0"
+ },
+ "optionalDependencies": {
+ "saslprep": "^1.0.3"
+ }
+ },
+ "node_modules/mongodb-connection-string-url": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.5.4.tgz",
+ "integrity": "sha512-SeAxuWs0ez3iI3vvmLk/j2y+zHwigTDKQhtdxTgt5ZCOQQS5+HW4g45/Xw5vzzbn7oQXCNQ24Z40AkJsizEy7w==",
+ "dependencies": {
+ "@types/whatwg-url": "^8.2.1",
+ "whatwg-url": "^11.0.0"
+ }
+ },
+ "node_modules/mongoose": {
+ "version": "6.6.4",
+ "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.6.4.tgz",
+ "integrity": "sha512-gkH17ZFdwUHIadWXIjNfZ3y/Wa7WlWu54SeieHMnpDuk8QNaA9RezmFN+s4CvghfvdfVIgifsv/jviqUMFFdnw==",
+ "dependencies": {
+ "bson": "^4.6.5",
+ "kareem": "2.4.1",
+ "mongodb": "4.9.1",
+ "mpath": "0.9.0",
+ "mquery": "4.0.3",
+ "ms": "2.1.3",
+ "sift": "16.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mongoose"
+ }
+ },
+ "node_modules/mpath": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz",
+ "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==",
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/mquery": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.3.tgz",
+ "integrity": "sha512-J5heI+P08I6VJ2Ky3+33IpCdAvlYGTSUjwTPxkAr8i8EoduPMBX2OY/wa3IKZIQl7MU4SbFk8ndgSKyB/cl1zA==",
+ "dependencies": {
+ "debug": "4.x"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ },
+ "node_modules/punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/saslprep": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
+ "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==",
+ "optional": true,
+ "dependencies": {
+ "sparse-bitfield": "^3.0.3"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/sift": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/sift/-/sift-16.0.0.tgz",
+ "integrity": "sha512-ILTjdP2Mv9V1kIxWMXeMTIRbOBrqKc4JAXmFMnFq3fKeyQ2Qwa3Dw1ubcye3vR+Y6ofA0b9gNDr/y2t6eUeIzQ=="
+ },
+ "node_modules/smart-buffer": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
+ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
+ "engines": {
+ "node": ">= 6.0.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "node_modules/socks": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
+ "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
+ "dependencies": {
+ "ip": "^2.0.0",
+ "smart-buffer": "^4.2.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "node_modules/sparse-bitfield": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
+ "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==",
+ "optional": true,
+ "dependencies": {
+ "memory-pager": "^1.0.2"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
+ "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
+ "dependencies": {
+ "punycode": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/whatwg-url": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
+ "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
+ "dependencies": {
+ "tr46": "^3.0.0",
+ "webidl-conversions": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ }
+ },
+ "dependencies": {
+ "@types/node": {
+ "version": "18.8.1",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.1.tgz",
+ "integrity": "sha512-vuYaNuEIbOYLTLUAJh50ezEbvxrD43iby+lpUA2aa148Nh5kX/AVO/9m1Ahmbux2iU5uxJTNF9g2Y+31uml7RQ=="
+ },
+ "@types/webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog=="
+ },
+ "@types/whatwg-url": {
+ "version": "8.2.2",
+ "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz",
+ "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==",
+ "requires": {
+ "@types/node": "*",
+ "@types/webidl-conversions": "*"
+ }
+ },
+ "base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
+ },
+ "bson": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/bson/-/bson-4.7.0.tgz",
+ "integrity": "sha512-VrlEE4vuiO1WTpfof4VmaVolCVYkYTgB9iWgYNOrVlnifpME/06fhFRmONgBhClD5pFC1t9ZWqFUQEQAzY43bA==",
+ "requires": {
+ "buffer": "^5.6.0"
+ }
+ },
+ "buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "requires": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "requires": {
+ "ms": "2.1.2"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
+ "denque": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
+ "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw=="
+ },
+ "ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
+ },
+ "ip": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
+ "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
+ },
+ "kareem": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.4.1.tgz",
+ "integrity": "sha512-aJ9opVoXroQUPfovYP5kaj2lM7Jn02Gw13bL0lg9v0V7SaUc0qavPs0Eue7d2DcC3NjqI6QAUElXNsuZSeM+EA=="
+ },
+ "memory-pager": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
+ "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
+ "optional": true
+ },
+ "mongodb": {
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.9.1.tgz",
+ "integrity": "sha512-ZhgI/qBf84fD7sI4waZBoLBNJYPQN5IOC++SBCiPiyhzpNKOxN/fi0tBHvH2dEC42HXtNEbFB0zmNz4+oVtorQ==",
+ "requires": {
+ "bson": "^4.7.0",
+ "denque": "^2.1.0",
+ "mongodb-connection-string-url": "^2.5.3",
+ "saslprep": "^1.0.3",
+ "socks": "^2.7.0"
+ }
+ },
+ "mongodb-connection-string-url": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.5.4.tgz",
+ "integrity": "sha512-SeAxuWs0ez3iI3vvmLk/j2y+zHwigTDKQhtdxTgt5ZCOQQS5+HW4g45/Xw5vzzbn7oQXCNQ24Z40AkJsizEy7w==",
+ "requires": {
+ "@types/whatwg-url": "^8.2.1",
+ "whatwg-url": "^11.0.0"
+ }
+ },
+ "mongoose": {
+ "version": "6.6.4",
+ "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.6.4.tgz",
+ "integrity": "sha512-gkH17ZFdwUHIadWXIjNfZ3y/Wa7WlWu54SeieHMnpDuk8QNaA9RezmFN+s4CvghfvdfVIgifsv/jviqUMFFdnw==",
+ "requires": {
+ "bson": "^4.6.5",
+ "kareem": "2.4.1",
+ "mongodb": "4.9.1",
+ "mpath": "0.9.0",
+ "mquery": "4.0.3",
+ "ms": "2.1.3",
+ "sift": "16.0.0"
+ }
+ },
+ "mpath": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz",
+ "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew=="
+ },
+ "mquery": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.3.tgz",
+ "integrity": "sha512-J5heI+P08I6VJ2Ky3+33IpCdAvlYGTSUjwTPxkAr8i8EoduPMBX2OY/wa3IKZIQl7MU4SbFk8ndgSKyB/cl1zA==",
+ "requires": {
+ "debug": "4.x"
+ }
+ },
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ },
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
+ },
+ "saslprep": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
+ "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==",
+ "optional": true,
+ "requires": {
+ "sparse-bitfield": "^3.0.3"
+ }
+ },
+ "sift": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/sift/-/sift-16.0.0.tgz",
+ "integrity": "sha512-ILTjdP2Mv9V1kIxWMXeMTIRbOBrqKc4JAXmFMnFq3fKeyQ2Qwa3Dw1ubcye3vR+Y6ofA0b9gNDr/y2t6eUeIzQ=="
+ },
+ "smart-buffer": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
+ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg=="
+ },
+ "socks": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
+ "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
+ "requires": {
+ "ip": "^2.0.0",
+ "smart-buffer": "^4.2.0"
+ }
+ },
+ "sparse-bitfield": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
+ "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==",
+ "optional": true,
+ "requires": {
+ "memory-pager": "^1.0.2"
+ }
+ },
+ "tr46": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
+ "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
+ "requires": {
+ "punycode": "^2.1.1"
+ }
+ },
+ "webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="
+ },
+ "whatwg-url": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
+ "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
+ "requires": {
+ "tr46": "^3.0.0",
+ "webidl-conversions": "^7.0.0"
+ }
+ }
+ }
+}
diff --git a/question-service/question-service-mongodb/seed-mongodb/package.json b/question-service/question-service-mongodb/seed-mongodb/package.json
new file mode 100644
index 0000000..f7013ab
--- /dev/null
+++ b/question-service/question-service-mongodb/seed-mongodb/package.json
@@ -0,0 +1,16 @@
+{
+ "name": "seed-mongodb",
+ "version": "1.0.0",
+ "description": "",
+ "main": "seed-mongodb.js",
+ "type": "module",
+ "scripts": {
+ "seed": "node seed-mongodb.js",
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "author": "",
+ "license": "ISC",
+ "dependencies": {
+ "mongoose": "^6.6.4"
+ }
+}
diff --git a/question-service/question-service-mongodb/seed-mongodb/print-questions.js b/question-service/question-service-mongodb/seed-mongodb/print-questions.js
new file mode 100644
index 0000000..665f92c
--- /dev/null
+++ b/question-service/question-service-mongodb/seed-mongodb/print-questions.js
@@ -0,0 +1,19 @@
+import mongoose from 'mongoose'
+import { Question } from './question-model.js'
+
+mongoose.connect('mongodb://localhost:5100', {
+ useNewUrlParser: true, useUnifiedTopology: true
+}).then(() => {
+ console.log('Connected to MongoDB instance.')
+}).catch((err) => {
+ console.log(err)
+})
+
+// Note no `await` here
+const cursor = Question.find().cursor();
+
+await cursor.forEach((question) => {
+ console.log(question)
+})
+
+//TODO: Fix having to Ctrl+C to terminate this program
diff --git a/question-service/question-service-mongodb/seed-mongodb/question-model.js b/question-service/question-service-mongodb/seed-mongodb/question-model.js
new file mode 100644
index 0000000..6ee6a5b
--- /dev/null
+++ b/question-service/question-service-mongodb/seed-mongodb/question-model.js
@@ -0,0 +1,11 @@
+import mongoose, {Schema} from 'mongoose'
+
+const QuestionSchema = new Schema ({
+ _id: Schema.Types.ObjectId,
+ title: String,
+ questionDesc: String,
+ difficulty: "Easy" | "Medium" | "Hard",
+ topic: [String]
+})
+
+export const Question = mongoose.model('Question', QuestionSchema)
diff --git a/question-service/question-service-mongodb/seed-mongodb/questionData.js b/question-service/question-service-mongodb/seed-mongodb/questionData.js
new file mode 100644
index 0000000..e96c1f5
--- /dev/null
+++ b/question-service/question-service-mongodb/seed-mongodb/questionData.js
@@ -0,0 +1,3024 @@
+export const questionData = [
+ {
+ "title": "2451. Odd String Difference",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gYXJyYXkgb2YgZXF1YWwtbGVuZ3RoIHN0cmluZ3MgPGNvZGU+d29yZHM8L2NvZGU+LiBBc3N1bWUgdGhhdCB0aGUgbGVuZ3RoIG9mIGVhY2ggc3RyaW5nIGlzIDxjb2RlPm48L2NvZGU+LjwvcD4KPHA+RWFjaCBzdHJpbmcgPGNvZGU+d29yZHNbaV08L2NvZGU+IGNhbiBiZSBjb252ZXJ0ZWQgaW50byBhIDxzdHJvbmc+ZGlmZmVyZW5jZSBpbnRlZ2VyIGFycmF5PC9zdHJvbmc+IDxjb2RlPmRpZmZlcmVuY2VbaV08L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT5uIC0gMTwvY29kZT4gd2hlcmUgPGNvZGU+ZGlmZmVyZW5jZVtpXVtqXSA9IHdvcmRzW2ldW2orMV0gLSB3b3Jkc1tpXVtqXTwvY29kZT4gd2hlcmUgPGNvZGU+MCAmbHQ7PSBqICZsdDs9IG4gLSAyPC9jb2RlPi4gTm90ZSB0aGF0IHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdHdvIGxldHRlcnMgaXMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGVpciA8c3Ryb25nPnBvc2l0aW9uczwvc3Ryb25nPiBpbiB0aGUgYWxwaGFiZXQgaS5lLsKgdGhlIHBvc2l0aW9uIG9mIDxjb2RlPidhJzwvY29kZT4gaXMgPGNvZGU+MDwvY29kZT4sIDxjb2RlPidiJzwvY29kZT4gaXMgPGNvZGU+MTwvY29kZT4sIGFuZCA8Y29kZT4neic8L2NvZGU+IGlzIDxjb2RlPjI1PC9jb2RlPi48L3A+Cjx1bD4KPGxpPkZvciBleGFtcGxlLCBmb3IgdGhlIHN0cmluZyA8Y29kZT4iYWNiIjwvY29kZT4sIHRoZSBkaWZmZXJlbmNlIGludGVnZXIgYXJyYXkgaXMgPGNvZGU+WzIgLSAwLCAxIC0gMl0gPSBbMiwgLTFdPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5BbGwgdGhlIHN0cmluZ3MgaW4gd29yZHMgaGF2ZSB0aGUgc2FtZSBkaWZmZXJlbmNlIGludGVnZXIgYXJyYXksIDxzdHJvbmc+ZXhjZXB0IG9uZTwvc3Ryb25nPi4gWW91IHNob3VsZCBmaW5kIHRoYXQgc3RyaW5nLjwvcD4KPHA+UmV0dXJuPGVtPiB0aGUgc3RyaW5nIGluIDwvZW0+PGNvZGU+d29yZHM8L2NvZGU+PGVtPiB0aGF0IGhhcyBkaWZmZXJlbnQgPHN0cm9uZz5kaWZmZXJlbmNlIGludGVnZXIgYXJyYXk8L3N0cm9uZz4uPC9lbT48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHdvcmRzID0gWyJhZGMiLCJ3enkiLCJhYmMiXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gImFiYyIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCi0gVGhlIGRpZmZlcmVuY2UgaW50ZWdlciBhcnJheSBvZiAiYWRjIiBpcyBbMyAtIDAsIDIgLSAzXSA9IFszLCAtMV0uCi0gVGhlIGRpZmZlcmVuY2UgaW50ZWdlciBhcnJheSBvZiAid3p5IiBpcyBbMjUgLSAyMiwgMjQgLSAyNV09IFszLCAtMV0uCi0gVGhlIGRpZmZlcmVuY2UgaW50ZWdlciBhcnJheSBvZiAiYWJjIiBpcyBbMSAtIDAsIDIgLSAxXSA9IFsxLCAxXS4gClRoZSBvZGQgYXJyYXkgb3V0IGlzIFsxLCAxXSwgc28gd2UgcmV0dXJuIHRoZSBjb3JyZXNwb25kaW5nIHN0cmluZywgImFiYyIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHdvcmRzID0gWyJhYWEiLCJib2IiLCJjY2MiLCJkZGQiXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gImJvYiIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gQWxsIHRoZSBpbnRlZ2VyIGFycmF5cyBhcmUgWzAsIDBdIGV4Y2VwdCBmb3IgImJvYiIsIHdoaWNoIGNvcnJlc3BvbmRzIHRvIFsxMywgLTEzXS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MyAmbHQ7PSB3b3Jkcy5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5uID09IHdvcmRzW2ldLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MiAmbHQ7PSBuICZsdDs9IDIwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT53b3Jkc1tpXTwvY29kZT4gY29uc2lzdHMgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycy48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Hash Table",
+ "Math",
+ "String"
+ ]
+ },
+ {
+ "title": "2455. Average Value of Even Numbers That Are Divisible by Three",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGludGVnZXIgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4gb2YgPHN0cm9uZz5wb3NpdGl2ZTwvc3Ryb25nPiBpbnRlZ2VycywgcmV0dXJuIDxlbT50aGUgYXZlcmFnZSB2YWx1ZSBvZiBhbGwgZXZlbiBpbnRlZ2VycyB0aGF0IGFyZSBkaXZpc2libGUgYnk8L2VtPiA8Y29kZT4zPC9jb2RlPjxpPi48L2k+PC9wPgo8cD5Ob3RlIHRoYXQgdGhlIDxzdHJvbmc+YXZlcmFnZTwvc3Ryb25nPiBvZiA8Y29kZT5uPC9jb2RlPiBlbGVtZW50cyBpcyB0aGUgPHN0cm9uZz5zdW08L3N0cm9uZz4gb2YgdGhlIDxjb2RlPm48L2NvZGU+IGVsZW1lbnRzIGRpdmlkZWQgYnkgPGNvZGU+bjwvY29kZT4gYW5kIDxzdHJvbmc+cm91bmRlZCBkb3duPC9zdHJvbmc+IHRvIHRoZSBuZWFyZXN0IGludGVnZXIuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMyw2LDEwLDEyLDE1XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gOQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiA2IGFuZCAxMiBhcmUgZXZlbiBudW1iZXJzIHRoYXQgYXJlIGRpdmlzaWJsZSBieSAzLiAoNiArIDEyKSAvIDIgPSA5Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMiw0LDcsMTBdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGlzIG5vIHNpbmdsZSBudW1iZXIgdGhhdCBzYXRpc2ZpZXMgdGhlIHJlcXVpcmVtZW50LCBzbyByZXR1cm4gMC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0gJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Math"
+ ]
+ },
+ {
+ "title": "2446. Determine if Two Events Have Conflict",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIGFycmF5cyBvZiBzdHJpbmdzIHRoYXQgcmVwcmVzZW50IHR3byBpbmNsdXNpdmUgZXZlbnRzIHRoYXQgaGFwcGVuZWQgPHN0cm9uZz5vbiB0aGUgc2FtZSBkYXk8L3N0cm9uZz4sIDxjb2RlPmV2ZW50MTwvY29kZT4gYW5kIDxjb2RlPmV2ZW50MjwvY29kZT4sIHdoZXJlOjwvcD4KPHVsPgo8bGk+PGNvZGU+ZXZlbnQxID0gW3N0YXJ0VGltZTxzdWI+MTwvc3ViPiwgZW5kVGltZTxzdWI+MTwvc3ViPl08L2NvZGU+IGFuZDwvbGk+CjxsaT48Y29kZT5ldmVudDIgPSBbc3RhcnRUaW1lPHN1Yj4yPC9zdWI+LCBlbmRUaW1lPHN1Yj4yPC9zdWI+XTwvY29kZT4uPC9saT4KPC91bD4KPHA+RXZlbnQgdGltZXMgYXJlIHZhbGlkIDI0IGhvdXJzIGZvcm1hdCBpbiB0aGUgZm9ybSBvZiA8Y29kZT5ISDpNTTwvY29kZT4uPC9wPgo8cD5BIDxzdHJvbmc+Y29uZmxpY3Q8L3N0cm9uZz4gaGFwcGVucyB3aGVuIHR3byBldmVudHMgaGF2ZSBzb21lIG5vbi1lbXB0eSBpbnRlcnNlY3Rpb24gKGkuZS4sIHNvbWUgbW9tZW50IGlzIGNvbW1vbiB0byBib3RoIGV2ZW50cykuPC9wPgo8cD5SZXR1cm4gPGNvZGU+dHJ1ZTwvY29kZT48ZW0+IGlmIHRoZXJlIGlzIGEgY29uZmxpY3QgYmV0d2VlbiB0d28gZXZlbnRzLiBPdGhlcndpc2UsIHJldHVybiA8L2VtPjxjb2RlPmZhbHNlPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGV2ZW50MSA9IFsiMDE6MTUiLCIwMjowMCJdLCBldmVudDIgPSBbIjAyOjAwIiwiMDM6MDAiXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gdHJ1ZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgdHdvIGV2ZW50cyBpbnRlcnNlY3QgYXQgdGltZSAyOjAwLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBldmVudDEgPSBbIjAxOjAwIiwiMDI6MDAiXSwgZXZlbnQyID0gWyIwMToyMCIsIjAzOjAwIl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IHRydWUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHR3byBldmVudHMgaW50ZXJzZWN0IHN0YXJ0aW5nIGZyb20gMDE6MjAgdG8gMDI6MDAuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGV2ZW50MSA9IFsiMTA6MDAiLCIxMTowMCJdLCBldmVudDIgPSBbIjE0OjAwIiwiMTU6MDAiXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gZmFsc2UKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHR3byBldmVudHMgZG8gbm90IGludGVyc2VjdC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+ZXZuZXQxLmxlbmd0aCA9PSBldmVudDIubGVuZ3RoID09IDIuPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5ldmVudDFbaV0ubGVuZ3RoID09IGV2ZW50MltpXS5sZW5ndGggPT0gNTwvY29kZT48L2xpPgo8bGk+PGNvZGU+c3RhcnRUaW1lPHN1Yj4xPC9zdWI+ICZsdDs9IGVuZFRpbWU8c3ViPjE8L3N1Yj48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnN0YXJ0VGltZTxzdWI+Mjwvc3ViPiAmbHQ7PSBlbmRUaW1lPHN1Yj4yPC9zdWI+PC9jb2RlPjwvbGk+CjxsaT5BbGwgdGhlIGV2ZW50IHRpbWVzIGZvbGxvdyB0aGUgPGNvZGU+SEg6TU08L2NvZGU+IGZvcm1hdC48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "String"
+ ]
+ },
+ {
+ "title": "2423. Remove Letter To Equalize Frequency",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBzdHJpbmcgPGNvZGU+d29yZDwvY29kZT4sIGNvbnNpc3Rpbmcgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycy4gWW91IG5lZWQgdG8gc2VsZWN0IDxzdHJvbmc+b25lPC9zdHJvbmc+IGluZGV4IGFuZCA8c3Ryb25nPnJlbW92ZTwvc3Ryb25nPiB0aGUgbGV0dGVyIGF0IHRoYXQgaW5kZXggZnJvbSA8Y29kZT53b3JkPC9jb2RlPiBzbyB0aGF0IHRoZSA8c3Ryb25nPmZyZXF1ZW5jeTwvc3Ryb25nPiBvZiBldmVyeSBsZXR0ZXIgcHJlc2VudCBpbiA8Y29kZT53b3JkPC9jb2RlPiBpcyBlcXVhbC48L3A+CjxwPlJldHVybjxlbT4gPC9lbT48Y29kZT50cnVlPC9jb2RlPjxlbT4gaWYgaXQgaXMgcG9zc2libGUgdG8gcmVtb3ZlIG9uZSBsZXR0ZXIgc28gdGhhdCB0aGUgZnJlcXVlbmN5IG9mIGFsbCBsZXR0ZXJzIGluIDwvZW0+PGNvZGU+d29yZDwvY29kZT48ZW0+IGFyZSBlcXVhbCwgYW5kIDwvZW0+PGNvZGU+ZmFsc2U8L2NvZGU+PGVtPiBvdGhlcndpc2U8L2VtPi48L3A+CjxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPlRoZSA8Yj5mcmVxdWVuY3k8L2I+IG9mIGEgbGV0dGVyIDxjb2RlPng8L2NvZGU+IGlzIHRoZSBudW1iZXIgb2YgdGltZXMgaXQgb2NjdXJzIGluIHRoZSBzdHJpbmcuPC9saT4KPGxpPllvdSA8c3Ryb25nPm11c3Q8L3N0cm9uZz4gcmVtb3ZlIGV4YWN0bHkgb25lIGxldHRlciBhbmQgY2Fubm90IGNob3NlIHRvIGRvIG5vdGhpbmcuPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZCA9ICJhYmNjIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gdHJ1ZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBTZWxlY3QgaW5kZXggMyBhbmQgZGVsZXRlIGl0OiB3b3JkIGJlY29tZXMgImFiYyIgYW5kIGVhY2ggY2hhcmFjdGVyIGhhcyBhIGZyZXF1ZW5jeSBvZiAxLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB3b3JkID0gImFhenoiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBmYWxzZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSBtdXN0IGRlbGV0ZSBhIGNoYXJhY3Rlciwgc28gZWl0aGVyIHRoZSBmcmVxdWVuY3kgb2YgImEiIGlzIDEgYW5kIHRoZSBmcmVxdWVuY3kgb2YgInoiIGlzIDIsIG9yIHZpY2UgdmVyc2EuIEl0IGlzIGltcG9zc2libGUgdG8gbWFrZSBhbGwgcHJlc2VudCBsZXR0ZXJzIGhhdmUgZXF1YWwgZnJlcXVlbmN5Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4yICZsdDs9IHdvcmQubGVuZ3RoICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+d29yZDwvY29kZT4gY29uc2lzdHMgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycyBvbmx5LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Hash Table",
+ "String",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2437. Number of Valid Clock Times",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgb2YgbGVuZ3RoIDxjb2RlPjU8L2NvZGU+IGNhbGxlZCA8Y29kZT50aW1lPC9jb2RlPiwgcmVwcmVzZW50aW5nIHRoZSBjdXJyZW50IHRpbWUgb24gYSBkaWdpdGFsIGNsb2NrIGluIHRoZSBmb3JtYXQgPGNvZGU+ImhoOm1tIjwvY29kZT4uIFRoZSA8c3Ryb25nPmVhcmxpZXN0PC9zdHJvbmc+IHBvc3NpYmxlIHRpbWUgaXMgPGNvZGU+IjAwOjAwIjwvY29kZT4gYW5kIHRoZSA8c3Ryb25nPmxhdGVzdDwvc3Ryb25nPiBwb3NzaWJsZSB0aW1lIGlzIDxjb2RlPiIyMzo1OSI8L2NvZGU+LjwvcD4KPHA+SW4gdGhlIHN0cmluZyA8Y29kZT50aW1lPC9jb2RlPiwgdGhlIGRpZ2l0cyByZXByZXNlbnRlZCBieSB0aGUgPGNvZGU+PzwvY29kZT7CoHN5bWJvbCBhcmUgPHN0cm9uZz51bmtub3duPC9zdHJvbmc+LCBhbmQgbXVzdCBiZSA8c3Ryb25nPnJlcGxhY2VkPC9zdHJvbmc+IHdpdGggYSBkaWdpdCBmcm9tIDxjb2RlPjA8L2NvZGU+IHRvIDxjb2RlPjk8L2NvZGU+LjwvcD4KPHA+UmV0dXJuPGVtPiBhbiBpbnRlZ2VyIDwvZW0+PGNvZGU+YW5zd2VyPC9jb2RlPjxlbT4sIHRoZSBudW1iZXIgb2YgdmFsaWQgY2xvY2sgdGltZXMgdGhhdCBjYW4gYmUgY3JlYXRlZCBieSByZXBsYWNpbmcgZXZlcnkgPC9lbT48Y29kZT4/PC9jb2RlPjxlbT7CoHdpdGggYSBkaWdpdCBmcm9tIDwvZW0+PGNvZGU+MDwvY29kZT48ZW0+IHRvIDwvZW0+PGNvZGU+OTwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB0aW1lID0gIj81OjAwIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSBjYW4gcmVwbGFjZSB0aGUgPyB3aXRoIGVpdGhlciBhIDAgb3IgMSwgcHJvZHVjaW5nICIwNTowMCIgb3IgIjE1OjAwIi4gTm90ZSB0aGF0IHdlIGNhbm5vdCByZXBsYWNlIGl0IHdpdGggYSAyLCBzaW5jZSB0aGUgdGltZSAiMjU6MDAiIGlzIGludmFsaWQuIEluIHRvdGFsLCB3ZSBoYXZlIHR3byBjaG9pY2VzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB0aW1lID0gIjA/OjA/Igo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEVhY2ggPyBjYW4gYmUgcmVwbGFjZWQgYnkgYW55IGRpZ2l0IGZyb20gMCB0byA5LCBzbyB3ZSBoYXZlIDEwMCB0b3RhbCBjaG9pY2VzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB0aW1lID0gIj8/Oj8/Igo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTQ0MAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGVyZSBhcmUgMjQgcG9zc2libGUgY2hvaWNlcyBmb3IgdGhlIGhvdXJzLCBhbmQgNjAgcG9zc2libGUgY2hvaWNlcyBmb3IgdGhlIG1pbnV0ZXMuIEluIHRvdGFsLCB3ZSBoYXZlIDI0ICogNjAgPSAxNDQwIGNob2ljZXMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPnRpbWU8L2NvZGU+IGlzIGEgdmFsaWQgc3RyaW5nIG9mIGxlbmd0aCA8Y29kZT41PC9jb2RlPiBpbiB0aGUgZm9ybWF0IDxjb2RlPiJoaDptbSI8L2NvZGU+LjwvbGk+CjxsaT48Y29kZT4iMDAiICZsdDs9IGhoICZsdDs9ICIyMyI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPiIwMCIgJmx0Oz0gbW0gJmx0Oz0gIjU5IjwvY29kZT48L2xpPgo8bGk+U29tZSBvZiB0aGUgZGlnaXRzIG1pZ2h0IGJlIHJlcGxhY2VkIHdpdGggPGNvZGU+Jz8nPC9jb2RlPiBhbmQgbmVlZCB0byBiZSByZXBsYWNlZCB3aXRoIGRpZ2l0cyBmcm9tIDxjb2RlPjA8L2NvZGU+IHRvIDxjb2RlPjk8L2NvZGU+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "String",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2441. Largest Positive Integer That Exists With Its Negative",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGludGVnZXIgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4gdGhhdCA8c3Ryb25nPmRvZXMgbm90IGNvbnRhaW48L3N0cm9uZz4gYW55IHplcm9zLCBmaW5kIDxzdHJvbmc+dGhlIGxhcmdlc3QgcG9zaXRpdmU8L3N0cm9uZz4gaW50ZWdlciA8Y29kZT5rPC9jb2RlPiBzdWNoIHRoYXQgPGNvZGU+LWs8L2NvZGU+IGFsc28gZXhpc3RzIGluIHRoZSBhcnJheS48L3A+CjxwPlJldHVybiA8ZW0+dGhlIHBvc2l0aXZlIGludGVnZXIgPC9lbT48Y29kZT5rPC9jb2RlPi4gSWYgdGhlcmUgaXMgbm8gc3VjaCBpbnRlZ2VyLCByZXR1cm4gPGNvZGU+LTE8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFstMSwyLC0zLDNdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IDMgaXMgdGhlIG9ubHkgdmFsaWQgayB3ZSBjYW4gZmluZCBpbiB0aGUgYXJyYXkuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbLTEsMTAsNiw3LC03LDFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA3CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEJvdGggMSBhbmQgNyBoYXZlIHRoZWlyIGNvcnJlc3BvbmRpbmcgbmVnYXRpdmUgdmFsdWVzIGluIHRoZSBhcnJheS4gNyBoYXMgYSBsYXJnZXIgdmFsdWUuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbLTEwLDgsNiw3LC0yLC0zXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gLTEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgaXMgbm8gYSBzaW5nbGUgdmFsaWQgaywgd2UgcmV0dXJuIC0xLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPi0xMDAwICZsdDs9IG51bXNbaV0gJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+bnVtc1tpXSAhPSAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table"
+ ]
+ },
+ {
+ "title": "2432. The Employee That Worked on the Longest Task",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGFyZSA8Y29kZT5uPC9jb2RlPiBlbXBsb3llZXMsIGVhY2ggd2l0aCBhIHVuaXF1ZSBpZCBmcm9tIDxjb2RlPjA8L2NvZGU+IHRvIDxjb2RlPm4gLSAxPC9jb2RlPi48L3A+CjxwPllvdSBhcmUgZ2l2ZW4gYSAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPmxvZ3M8L2NvZGU+IHdoZXJlIDxjb2RlPmxvZ3NbaV0gPSBbaWQ8c3ViPmk8L3N1Yj4sIGxlYXZlVGltZTxzdWI+aTwvc3ViPl08L2NvZGU+IHdoZXJlOjwvcD4KPHVsPgo8bGk+PGNvZGU+aWQ8c3ViPmk8L3N1Yj48L2NvZGU+IGlzIHRoZSBpZCBvZiB0aGUgZW1wbG95ZWUgdGhhdCB3b3JrZWQgb24gdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiB0YXNrLCBhbmQ8L2xpPgo8bGk+PGNvZGU+bGVhdmVUaW1lPHN1Yj5pPC9zdWI+PC9jb2RlPiBpcyB0aGUgdGltZSBhdCB3aGljaCB0aGUgZW1wbG95ZWUgZmluaXNoZWQgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiB0YXNrLiBBbGwgdGhlIHZhbHVlcyA8Y29kZT5sZWF2ZVRpbWU8c3ViPmk8L3N1Yj48L2NvZGU+IGFyZSA8c3Ryb25nPnVuaXF1ZTwvc3Ryb25nPi48L2xpPgo8L3VsPgo8cD5Ob3RlIHRoYXQgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiB0YXNrIHN0YXJ0cyB0aGUgbW9tZW50IHJpZ2h0IGFmdGVyIHRoZSA8Y29kZT4oaSAtIDEpPHN1cD50aDwvc3VwPjwvY29kZT4gdGFzayBlbmRzLCBhbmQgdGhlIDxjb2RlPjA8c3VwPnRoPC9zdXA+PC9jb2RlPiB0YXNrIHN0YXJ0cyBhdCB0aW1lIDxjb2RlPjA8L2NvZGU+LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgaWQgb2YgdGhlIGVtcGxveWVlIHRoYXQgd29ya2VkIHRoZSB0YXNrIHdpdGggdGhlIGxvbmdlc3QgdGltZS48L2VtPiBJZiB0aGVyZSBpcyBhIHRpZSBiZXR3ZWVuIHR3byBvciBtb3JlIGVtcGxveWVlcywgcmV0dXJuPGVtPiB0aGUgPHN0cm9uZz5zbWFsbGVzdDwvc3Ryb25nPiBpZCBhbW9uZyB0aGVtPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gMTAsIGxvZ3MgPSBbWzAsM10sWzIsNV0sWzAsOV0sWzEsMTVdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKVGFzayAwIHN0YXJ0ZWQgYXQgMCBhbmQgZW5kZWQgYXQgMyB3aXRoIDMgdW5pdHMgb2YgdGltZXMuClRhc2sgMSBzdGFydGVkIGF0IDMgYW5kIGVuZGVkIGF0IDUgd2l0aCAyIHVuaXRzIG9mIHRpbWVzLgpUYXNrIDIgc3RhcnRlZCBhdCA1IGFuZCBlbmRlZCBhdCA5IHdpdGggNCB1bml0cyBvZiB0aW1lcy4KVGFzayAzIHN0YXJ0ZWQgYXQgOSBhbmQgZW5kZWQgYXQgMTUgd2l0aCA2IHVuaXRzIG9mIHRpbWVzLgpUaGUgdGFzayB3aXRoIHRoZSBsb25nZXN0IHRpbWUgaXMgdGFzayAzIGFuZCB0aGUgZW1wbG95ZWUgd2l0aCBpZCAxIGlzIHRoZSBvbmUgdGhhdCB3b3JrZWQgb24gaXQsIHNvIHdlIHJldHVybiAxLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gMjYsIGxvZ3MgPSBbWzEsMV0sWzMsN10sWzIsMTJdLFs3LDE3XV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gClRhc2sgMCBzdGFydGVkIGF0IDAgYW5kIGVuZGVkIGF0IDEgd2l0aCAxIHVuaXQgb2YgdGltZXMuClRhc2sgMSBzdGFydGVkIGF0IDEgYW5kIGVuZGVkIGF0IDcgd2l0aCA2IHVuaXRzIG9mIHRpbWVzLgpUYXNrIDIgc3RhcnRlZCBhdCA3IGFuZCBlbmRlZCBhdCAxMiB3aXRoIDUgdW5pdHMgb2YgdGltZXMuClRhc2sgMyBzdGFydGVkIGF0IDEyIGFuZCBlbmRlZCBhdCAxNyB3aXRoIDUgdW5pdHMgb2YgdGltZXMuClRoZSB0YXNrcyB3aXRoIHRoZSBsb25nZXN0IHRpbWUgaXMgdGFzayAxLiBUaGUgZW1wbG95ZWVzIHRoYXQgd29ya2VkIG9uIGl0IGlzIDMsIHNvIHdlIHJldHVybiAzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gMiwgbG9ncyA9IFtbMCwxMF0sWzEsMjBdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKVGFzayAwIHN0YXJ0ZWQgYXQgMCBhbmQgZW5kZWQgYXQgMTAgd2l0aCAxMCB1bml0cyBvZiB0aW1lcy4KVGFzayAxIHN0YXJ0ZWQgYXQgMTAgYW5kIGVuZGVkIGF0IDIwIHdpdGggMTAgdW5pdHMgb2YgdGltZXMuClRoZSB0YXNrcyB3aXRoIHRoZSBsb25nZXN0IHRpbWUgYXJlIHRhc2tzIDAgYW5kIDEuIFRoZSBlbXBsb3llZXMgdGhhdCB3b3JrZWQgb24gdGhlbSBhcmUgMCBhbmQgMSwgc28gd2UgcmV0dXJuIHRoZSBzbWFsbGVzdCBpZCAwLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4yICZsdDs9IG4gJmx0Oz0gNTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGxvZ3MubGVuZ3RoICZsdDs9IDUwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+bG9nc1tpXS5sZW5ndGggPT0gMjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBpZDxzdWI+aTwvc3ViPiAmbHQ7PSBuIC0gMTwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBsZWF2ZVRpbWU8c3ViPmk8L3N1Yj4gJmx0Oz0gNTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5pZDxzdWI+aTwvc3ViPiAhPSBpZDxzdWI+aSsxPC9zdWI+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5sZWF2ZVRpbWU8c3ViPmk8L3N1Yj48L2NvZGU+IGFyZSBzb3J0ZWQgaW4gYSBzdHJpY3RseSBpbmNyZWFzaW5nIG9yZGVyLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array"
+ ]
+ },
+ {
+ "title": "2427. Number of Common Factors",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIHR3byBwb3NpdGl2ZSBpbnRlZ2VycyA8Y29kZT5hPC9jb2RlPiBhbmQgPGNvZGU+YjwvY29kZT4sIHJldHVybiA8ZW0+dGhlIG51bWJlciBvZiA8c3Ryb25nPmNvbW1vbjwvc3Ryb25nPiBmYWN0b3JzIG9mIDwvZW0+PGNvZGU+YTwvY29kZT48ZW0+IGFuZCA8L2VtPjxjb2RlPmI8L2NvZGU+LjwvcD4KPHA+QW4gaW50ZWdlciA8Y29kZT54PC9jb2RlPiBpcyBhIDxzdHJvbmc+Y29tbW9uIGZhY3Rvcjwvc3Ryb25nPiBvZiA8Y29kZT5hPC9jb2RlPiBhbmQgPGNvZGU+YjwvY29kZT4gaWYgPGNvZGU+eDwvY29kZT4gZGl2aWRlcyBib3RoIDxjb2RlPmE8L2NvZGU+IGFuZCA8Y29kZT5iPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGEgPSAxMiwgYiA9IDYKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGNvbW1vbiBmYWN0b3JzIG9mIDEyIGFuZCA2IGFyZSAxLCAyLCAzLCA2Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBhID0gMjUsIGIgPSAzMAo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgY29tbW9uIGZhY3RvcnMgb2YgMjUgYW5kIDMwIGFyZSAxLCA1Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IGEsIGIgJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Math",
+ "Enumeration",
+ "Number Theory"
+ ]
+ },
+ {
+ "title": "2418. Sort the People",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gYXJyYXkgb2Ygc3RyaW5ncyA8Y29kZT5uYW1lczwvY29kZT4sIGFuZCBhbiBhcnJheSA8Y29kZT5oZWlnaHRzPC9jb2RlPiB0aGF0IGNvbnNpc3RzIG9mIDxzdHJvbmc+ZGlzdGluY3Q8L3N0cm9uZz4gcG9zaXRpdmUgaW50ZWdlcnMuIEJvdGggYXJyYXlzIGFyZSBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4uPC9wPgo8cD5Gb3IgZWFjaCBpbmRleCA8Y29kZT5pPC9jb2RlPiwgPGNvZGU+bmFtZXNbaV08L2NvZGU+IGFuZCA8Y29kZT5oZWlnaHRzW2ldPC9jb2RlPiBkZW5vdGUgdGhlIG5hbWUgYW5kIGhlaWdodCBvZiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHBlcnNvbi48L3A+CjxwPlJldHVybiA8Y29kZT5uYW1lczwvY29kZT48ZW0+IHNvcnRlZCBpbiA8c3Ryb25nPmRlc2NlbmRpbmc8L3N0cm9uZz4gb3JkZXIgYnkgdGhlIHBlb3BsZSdzIGhlaWdodHM8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG5hbWVzID0gWyJNYXJ5IiwiSm9obiIsIkVtbWEiXSwgaGVpZ2h0cyA9IFsxODAsMTY1LDE3MF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsiTWFyeSIsIkVtbWEiLCJKb2huIl0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gTWFyeSBpcyB0aGUgdGFsbGVzdCwgZm9sbG93ZWQgYnkgRW1tYSBhbmQgSm9obi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbmFtZXMgPSBbIkFsaWNlIiwiQm9iIiwiQm9iIl0sIGhlaWdodHMgPSBbMTU1LDE4NSwxNTBdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbIkJvYiIsIkFsaWNlIiwiQm9iIl0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGZpcnN0IEJvYiBpcyB0aGUgdGFsbGVzdCwgZm9sbG93ZWQgYnkgQWxpY2UgYW5kIHRoZSBzZWNvbmQgQm9iLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IG5hbWVzLmxlbmd0aCA9PSBoZWlnaHRzLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDEwPHN1cD4zPC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG5hbWVzW2ldLmxlbmd0aCAmbHQ7PSAyMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBoZWlnaHRzW2ldICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5uYW1lc1tpXTwvY29kZT4gY29uc2lzdHMgb2YgbG93ZXIgYW5kIHVwcGVyIGNhc2UgRW5nbGlzaCBsZXR0ZXJzLjwvbGk+CjxsaT5BbGwgdGhlIHZhbHVlcyBvZiA8Y29kZT5oZWlnaHRzPC9jb2RlPiBhcmUgZGlzdGluY3QuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "String",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2409. Count Days Spent Together",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkFsaWNlIGFuZCBCb2IgYXJlIHRyYXZlbGluZyB0byBSb21lIGZvciBzZXBhcmF0ZSBidXNpbmVzcyBtZWV0aW5ncy48L3A+CjxwPllvdSBhcmUgZ2l2ZW4gNCBzdHJpbmdzIDxjb2RlPmFycml2ZUFsaWNlPC9jb2RlPiwgPGNvZGU+bGVhdmVBbGljZTwvY29kZT4sIDxjb2RlPmFycml2ZUJvYjwvY29kZT4sIGFuZCA8Y29kZT5sZWF2ZUJvYjwvY29kZT4uIEFsaWNlIHdpbGwgYmUgaW4gdGhlIGNpdHkgZnJvbSB0aGUgZGF0ZXMgPGNvZGU+YXJyaXZlQWxpY2U8L2NvZGU+IHRvIDxjb2RlPmxlYXZlQWxpY2U8L2NvZGU+ICg8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPiksIHdoaWxlIEJvYiB3aWxsIGJlIGluIHRoZSBjaXR5IGZyb20gdGhlIGRhdGVzIDxjb2RlPmFycml2ZUJvYjwvY29kZT4gdG8gPGNvZGU+bGVhdmVCb2I8L2NvZGU+ICg8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPikuIEVhY2ggd2lsbCBiZSBhIDUtY2hhcmFjdGVyIHN0cmluZyBpbiB0aGUgZm9ybWF0IDxjb2RlPiJNTS1ERCI8L2NvZGU+LCBjb3JyZXNwb25kaW5nIHRvIHRoZSBtb250aCBhbmQgZGF5IG9mIHRoZSBkYXRlLjwvcD4KPHA+UmV0dXJuPGVtPiB0aGUgdG90YWwgbnVtYmVyIG9mIGRheXMgdGhhdCBBbGljZSBhbmQgQm9iIGFyZSBpbiBSb21lIHRvZ2V0aGVyLjwvZW0+PC9wPgo8cD5Zb3UgY2FuIGFzc3VtZSB0aGF0IGFsbCBkYXRlcyBvY2N1ciBpbiB0aGUgPHN0cm9uZz5zYW1lPC9zdHJvbmc+IGNhbGVuZGFyIHllYXIsIHdoaWNoIGlzIDxzdHJvbmc+bm90PC9zdHJvbmc+IGEgbGVhcCB5ZWFyLiBOb3RlIHRoYXQgdGhlIG51bWJlciBvZiBkYXlzIHBlciBtb250aCBjYW4gYmUgcmVwcmVzZW50ZWQgYXM6IDxjb2RlPlszMSwgMjgsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzEsIDMwLCAzMSwgMzAsIDMxXTwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBhcnJpdmVBbGljZSA9ICIwOC0xNSIsIGxlYXZlQWxpY2UgPSAiMDgtMTgiLCBhcnJpdmVCb2IgPSAiMDgtMTYiLCBsZWF2ZUJvYiA9ICIwOC0xOSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gQWxpY2Ugd2lsbCBiZSBpbiBSb21lIGZyb20gQXVndXN0IDE1IHRvIEF1Z3VzdCAxOC4gQm9iIHdpbGwgYmUgaW4gUm9tZSBmcm9tIEF1Z3VzdCAxNiB0byBBdWd1c3QgMTkuIFRoZXkgYXJlIGJvdGggaW4gUm9tZSB0b2dldGhlciBvbiBBdWd1c3QgMTZ0aCwgMTd0aCwgYW5kIDE4dGgsIHNvIHRoZSBhbnN3ZXIgaXMgMy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gYXJyaXZlQWxpY2UgPSAiMTAtMDEiLCBsZWF2ZUFsaWNlID0gIjEwLTMxIiwgYXJyaXZlQm9iID0gIjExLTAxIiwgbGVhdmVCb2IgPSAiMTItMzEiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGlzIG5vIGRheSB3aGVuIEFsaWNlIGFuZCBCb2IgYXJlIGluIFJvbWUgdG9nZXRoZXIsIHNvIHdlIHJldHVybiAwLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT5BbGwgZGF0ZXMgYXJlIHByb3ZpZGVkIGluIHRoZSBmb3JtYXQgPGNvZGU+Ik1NLUREIjwvY29kZT4uPC9saT4KPGxpPkFsaWNlIGFuZCBCb2IncyBhcnJpdmFsIGRhdGVzIGFyZSA8c3Ryb25nPmVhcmxpZXIgdGhhbiBvciBlcXVhbCB0bzwvc3Ryb25nPiB0aGVpciBsZWF2aW5nIGRhdGVzLjwvbGk+CjxsaT5UaGUgZ2l2ZW4gZGF0ZXMgYXJlIHZhbGlkIGRhdGVzIG9mIGEgPHN0cm9uZz5ub24tbGVhcDwvc3Ryb25nPiB5ZWFyLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Math",
+ "String"
+ ]
+ },
+ {
+ "title": "2413. Smallest Even Multiple",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PkdpdmVuIGEgPHN0cm9uZz5wb3NpdGl2ZTwvc3Ryb25nPiBpbnRlZ2VyIDxjb2RlPm48L2NvZGU+LCByZXR1cm4gPGVtPnRoZSBzbWFsbGVzdCBwb3NpdGl2ZSBpbnRlZ2VyIHRoYXQgaXMgYSBtdWx0aXBsZSBvZiA8c3Ryb25nPmJvdGg8L3N0cm9uZz4gPC9lbT48Y29kZT4yPC9jb2RlPjxlbT4gYW5kIDwvZW0+PGNvZGU+bjwvY29kZT4uCjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSA1CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgc21hbGxlc3QgbXVsdGlwbGUgb2YgYm90aCA1IGFuZCAyIGlzIDEwLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gNgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgc21hbGxlc3QgbXVsdGlwbGUgb2YgYm90aCA2IGFuZCAyIGlzIDYuIE5vdGUgdGhhdCBhIG51bWJlciBpcyBhIG11bHRpcGxlIG9mIGl0c2VsZi4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDE1MDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Math",
+ "Number Theory"
+ ]
+ },
+ {
+ "title": "2404. Most Frequent Even Element",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGludGVnZXIgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4sIHJldHVybiA8ZW0+dGhlIG1vc3QgZnJlcXVlbnQgZXZlbiBlbGVtZW50PC9lbT4uPC9wPgo8cD5JZiB0aGVyZSBpcyBhIHRpZSwgcmV0dXJuIHRoZSA8c3Ryb25nPnNtYWxsZXN0PC9zdHJvbmc+IG9uZS4gSWYgdGhlcmUgaXMgbm8gc3VjaCBlbGVtZW50LCByZXR1cm4gPGNvZGU+LTE8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFswLDEsMiwyLDQsNCwxXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgZXZlbiBlbGVtZW50cyBhcmUgMCwgMiwgYW5kIDQuIE9mIHRoZXNlLCAyIGFuZCA0IGFwcGVhciB0aGUgbW9zdC4KV2UgcmV0dXJuIHRoZSBzbWFsbGVzdCBvbmUsIHdoaWNoIGlzIDIuPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs0LDQsNCw5LDIsNF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gNCBpcyB0aGUgZXZlbiBlbGVtZW50IGFwcGVhcnMgdGhlIG1vc3QuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMjksNDcsMjEsNDEsMTMsMzcsMjUsN10KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IC0xCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGlzIG5vIGV2ZW4gZWxlbWVudC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAyMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IG51bXNbaV0gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2395. Find Subarrays With Equal Sum",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiwgZGV0ZXJtaW5lIHdoZXRoZXIgdGhlcmUgZXhpc3QgPHN0cm9uZz50d288L3N0cm9uZz4gc3ViYXJyYXlzIG9mIGxlbmd0aCA8Y29kZT4yPC9jb2RlPiB3aXRoIDxzdHJvbmc+ZXF1YWw8L3N0cm9uZz4gc3VtLiBOb3RlIHRoYXQgdGhlIHR3byBzdWJhcnJheXMgbXVzdCBiZWdpbiBhdCA8c3Ryb25nPmRpZmZlcmVudDwvc3Ryb25nPiBpbmRpY2VzLjwvcD4KPHA+UmV0dXJuIDxjb2RlPnRydWU8L2NvZGU+PGVtPiBpZiB0aGVzZSBzdWJhcnJheXMgZXhpc3QsIGFuZCA8L2VtPjxjb2RlPmZhbHNlPC9jb2RlPjxlbT4gb3RoZXJ3aXNlLjwvZW0+PC9wPgo8cD5BIDxiPnN1YmFycmF5PC9iPiBpcyBhIGNvbnRpZ3VvdXMgbm9uLWVtcHR5IHNlcXVlbmNlIG9mIGVsZW1lbnRzIHdpdGhpbiBhbiBhcnJheS48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNCwyLDRdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiB0cnVlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBzdWJhcnJheXMgd2l0aCBlbGVtZW50cyBbNCwyXSBhbmQgWzIsNF0gaGF2ZSB0aGUgc2FtZSBzdW0gb2YgNi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDIsMyw0LDVdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBmYWxzZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBObyB0d28gc3ViYXJyYXlzIG9mIHNpemUgMiBoYXZlIHRoZSBzYW1lIHN1bS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFswLDAsMF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IHRydWUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHN1YmFycmF5cyBbbnVtc1swXSxudW1zWzFdXSBhbmQgW251bXNbMV0sbnVtc1syXV0gaGF2ZSB0aGUgc2FtZSBzdW0gb2YgMC4gCk5vdGUgdGhhdCBldmVuIHRob3VnaCB0aGUgc3ViYXJyYXlzIGhhdmUgdGhlIHNhbWUgY29udGVudCwgdGhlIHR3byBzdWJhcnJheXMgYXJlIGNvbnNpZGVyZWQgZGlmZmVyZW50IGJlY2F1c2UgdGhleSBhcmUgaW4gZGlmZmVyZW50IHBvc2l0aW9ucyBpbiB0aGUgb3JpZ2luYWwgYXJyYXkuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjIgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+LTEwPHN1cD45PC9zdXA+ICZsdDs9IG51bXNbaV0gJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table"
+ ]
+ },
+ {
+ "title": "2399. Check Distances Between Same Letters",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBzdHJpbmcgPGNvZGU+czwvY29kZT4gY29uc2lzdGluZyBvZiBvbmx5IGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMsIHdoZXJlIGVhY2ggbGV0dGVyIGluIDxjb2RlPnM8L2NvZGU+IGFwcGVhcnMgPHN0cm9uZz5leGFjdGx5PC9zdHJvbmc+IDxzdHJvbmc+dHdpY2U8L3N0cm9uZz4uIFlvdSBhcmUgYWxzbyBnaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXkgPGNvZGU+ZGlzdGFuY2U8L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT4yNjwvY29kZT4uPC9wPgo8cD5FYWNoIGxldHRlciBpbiB0aGUgYWxwaGFiZXQgaXMgbnVtYmVyZWQgZnJvbSA8Y29kZT4wPC9jb2RlPiB0byA8Y29kZT4yNTwvY29kZT4gKGkuZS4gPGNvZGU+J2EnIC0mZ3Q7IDA8L2NvZGU+LCA8Y29kZT4nYicgLSZndDsgMTwvY29kZT4sIDxjb2RlPidjJyAtJmd0OyAyPC9jb2RlPiwgLi4uICwgPGNvZGU+J3onIC0mZ3Q7IDI1PC9jb2RlPikuPC9wPgo8cD5JbiBhIDxzdHJvbmc+d2VsbC1zcGFjZWQ8L3N0cm9uZz4gc3RyaW5nLCB0aGUgbnVtYmVyIG9mIGxldHRlcnMgYmV0d2VlbiB0aGUgdHdvIG9jY3VycmVuY2VzIG9mIHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gbGV0dGVyIGlzIDxjb2RlPmRpc3RhbmNlW2ldPC9jb2RlPi4gSWYgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBsZXR0ZXIgZG9lcyBub3QgYXBwZWFyIGluIDxjb2RlPnM8L2NvZGU+LCB0aGVuIDxjb2RlPmRpc3RhbmNlW2ldPC9jb2RlPiBjYW4gYmUgPHN0cm9uZz5pZ25vcmVkPC9zdHJvbmc+LjwvcD4KPHA+UmV0dXJuIDxjb2RlPnRydWU8L2NvZGU+PGVtPiBpZiA8L2VtPjxjb2RlPnM8L2NvZGU+PGVtPiBpcyBhIDxzdHJvbmc+d2VsbC1zcGFjZWQ8L3N0cm9uZz4gc3RyaW5nLCBvdGhlcndpc2UgcmV0dXJuIDwvZW0+PGNvZGU+ZmFsc2U8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJhYmFjY2IiLCBkaXN0YW5jZSA9IFsxLDMsMCw1LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiB0cnVlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ci0gJ2EnIGFwcGVhcnMgYXQgaW5kaWNlcyAwIGFuZCAyIHNvIGl0IHNhdGlzZmllcyBkaXN0YW5jZVswXSA9IDEuCi0gJ2InIGFwcGVhcnMgYXQgaW5kaWNlcyAxIGFuZCA1IHNvIGl0IHNhdGlzZmllcyBkaXN0YW5jZVsxXSA9IDMuCi0gJ2MnIGFwcGVhcnMgYXQgaW5kaWNlcyAzIGFuZCA0IHNvIGl0IHNhdGlzZmllcyBkaXN0YW5jZVsyXSA9IDAuCk5vdGUgdGhhdCBkaXN0YW5jZVszXSA9IDUsIGJ1dCBzaW5jZSAnZCcgZG9lcyBub3QgYXBwZWFyIGluIHMsIGl0IGNhbiBiZSBpZ25vcmVkLgpSZXR1cm4gdHJ1ZSBiZWNhdXNlIHMgaXMgYSB3ZWxsLXNwYWNlZCBzdHJpbmcuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiYWEiLCBkaXN0YW5jZSA9IFsxLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBmYWxzZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgotICdhJyBhcHBlYXJzIGF0IGluZGljZXMgMCBhbmQgMSBzbyB0aGVyZSBhcmUgemVybyBsZXR0ZXJzIGJldHdlZW4gdGhlbS4KQmVjYXVzZSBkaXN0YW5jZVswXSA9IDEsIHMgaXMgbm90IGEgd2VsbC1zcGFjZWQgc3RyaW5nLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4yICZsdDs9IHMubGVuZ3RoICZsdDs9IDUyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zPC9jb2RlPiBjb25zaXN0cyBvbmx5IG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPGxpPkVhY2ggbGV0dGVyIGFwcGVhcnMgaW4gPGNvZGU+czwvY29kZT4gZXhhY3RseSB0d2ljZS48L2xpPgo8bGk+PGNvZGU+ZGlzdGFuY2UubGVuZ3RoID09IDI2PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IGRpc3RhbmNlW2ldICZsdDs9IDUwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "String"
+ ]
+ },
+ {
+ "title": "2389. Longest Subsequence With Limited Sum",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4sIGFuZCBhbiBpbnRlZ2VyIGFycmF5IDxjb2RlPnF1ZXJpZXM8L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT5tPC9jb2RlPi48L3A+CjxwPlJldHVybiA8ZW0+YW4gYXJyYXkgPC9lbT48Y29kZT5hbnN3ZXI8L2NvZGU+PGVtPiBvZiBsZW5ndGggPC9lbT48Y29kZT5tPC9jb2RlPjxlbT4gd2hlcmUgPC9lbT48Y29kZT5hbnN3ZXJbaV08L2NvZGU+PGVtPiBpcyB0aGUgPHN0cm9uZz5tYXhpbXVtPC9zdHJvbmc+IHNpemUgb2YgYSA8c3Ryb25nPnN1YnNlcXVlbmNlPC9zdHJvbmc+IHRoYXQgeW91IGNhbiB0YWtlIGZyb20gPC9lbT48Y29kZT5udW1zPC9jb2RlPjxlbT4gc3VjaCB0aGF0IHRoZSA8c3Ryb25nPnN1bTwvc3Ryb25nPiBvZiBpdHMgZWxlbWVudHMgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDwvZW0+PGNvZGU+cXVlcmllc1tpXTwvY29kZT4uPC9wPgo8cD5BIDxzdHJvbmc+c3Vic2VxdWVuY2U8L3N0cm9uZz4gaXMgYW4gYXJyYXkgdGhhdCBjYW4gYmUgZGVyaXZlZCBmcm9tIGFub3RoZXIgYXJyYXkgYnkgZGVsZXRpbmcgc29tZSBvciBubyBlbGVtZW50cyB3aXRob3V0IGNoYW5naW5nIHRoZSBvcmRlciBvZiB0aGUgcmVtYWluaW5nIGVsZW1lbnRzLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs0LDUsMiwxXSwgcXVlcmllcyA9IFszLDEwLDIxXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzIsMyw0XQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSBhbnN3ZXIgdGhlIHF1ZXJpZXMgYXMgZm9sbG93czoKLSBUaGUgc3Vic2VxdWVuY2UgWzIsMV0gaGFzIGEgc3VtIGxlc3MgdGhhbiBvciBlcXVhbCB0byAzLiBJdCBjYW4gYmUgcHJvdmVuIHRoYXQgMiBpcyB0aGUgbWF4aW11bSBzaXplIG9mIHN1Y2ggYSBzdWJzZXF1ZW5jZSwgc28gYW5zd2VyWzBdID0gMi4KLSBUaGUgc3Vic2VxdWVuY2UgWzQsNSwxXSBoYXMgYSBzdW0gbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDEwLiBJdCBjYW4gYmUgcHJvdmVuIHRoYXQgMyBpcyB0aGUgbWF4aW11bSBzaXplIG9mIHN1Y2ggYSBzdWJzZXF1ZW5jZSwgc28gYW5zd2VyWzFdID0gMy4KLSBUaGUgc3Vic2VxdWVuY2UgWzQsNSwyLDFdIGhhcyBhIHN1bSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMjEuIEl0IGNhbiBiZSBwcm92ZW4gdGhhdCA0IGlzIHRoZSBtYXhpbXVtIHNpemUgb2Ygc3VjaCBhIHN1YnNlcXVlbmNlLCBzbyBhbnN3ZXJbMl0gPSA0Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzIsMyw0LDVdLCBxdWVyaWVzID0gWzFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMF0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGVtcHR5IHN1YnNlcXVlbmNlIGlzIHRoZSBvbmx5IHN1YnNlcXVlbmNlIHRoYXQgaGFzIGEgc3VtIGxlc3MgdGhhbiBvciBlcXVhbCB0byAxLCBzbyBhbnN3ZXJbMF0gPSAwLjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gbnVtcy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPm0gPT0gcXVlcmllcy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiwgbSAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0sIHF1ZXJpZXNbaV0gJmx0Oz0gMTA8c3VwPjY8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Greedy",
+ "Sorting",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2379. Minimum Recolors to Get K Consecutive Black Blocks",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBzdHJpbmcgPGNvZGU+YmxvY2tzPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4sIHdoZXJlIDxjb2RlPmJsb2Nrc1tpXTwvY29kZT4gaXMgZWl0aGVyIDxjb2RlPidXJzwvY29kZT4gb3IgPGNvZGU+J0InPC9jb2RlPiwgcmVwcmVzZW50aW5nIHRoZSBjb2xvciBvZiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGJsb2NrLiBUaGUgY2hhcmFjdGVycyA8Y29kZT4nVyc8L2NvZGU+IGFuZCA8Y29kZT4nQic8L2NvZGU+IGRlbm90ZSB0aGUgY29sb3JzIHdoaXRlIGFuZCBibGFjaywgcmVzcGVjdGl2ZWx5LjwvcD4KPHA+WW91IGFyZSBhbHNvIGdpdmVuIGFuIGludGVnZXIgPGNvZGU+azwvY29kZT4sIHdoaWNoIGlzIHRoZSBkZXNpcmVkIG51bWJlciBvZiA8c3Ryb25nPmNvbnNlY3V0aXZlPC9zdHJvbmc+IGJsYWNrIGJsb2Nrcy48L3A+CjxwPkluIG9uZSBvcGVyYXRpb24sIHlvdSBjYW4gPHN0cm9uZz5yZWNvbG9yPC9zdHJvbmc+IGEgd2hpdGUgYmxvY2sgc3VjaCB0aGF0IGl0IGJlY29tZXMgYSBibGFjayBibG9jay48L3A+CjxwPlJldHVybjxlbT4gdGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiBudW1iZXIgb2Ygb3BlcmF0aW9ucyBuZWVkZWQgc3VjaCB0aGF0IHRoZXJlIGlzIGF0IGxlYXN0IDxzdHJvbmc+b25lPC9zdHJvbmc+IG9jY3VycmVuY2Ugb2YgPC9lbT48Y29kZT5rPC9jb2RlPjxlbT4gY29uc2VjdXRpdmUgYmxhY2sgYmxvY2tzLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBibG9ja3MgPSAiV0JCV1dCQldCVyIsIGsgPSA3CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ck9uZSB3YXkgdG8gYWNoaWV2ZSA3IGNvbnNlY3V0aXZlIGJsYWNrIGJsb2NrcyBpcyB0byByZWNvbG9yIHRoZSAwdGgsIDNyZCwgYW5kIDR0aCBibG9ja3MKc28gdGhhdCBibG9ja3MgPSAiQkJCQkJCQldCVyIuIApJdCBjYW4gYmUgc2hvd24gdGhhdCB0aGVyZSBpcyBubyB3YXkgdG8gYWNoaWV2ZSA3IGNvbnNlY3V0aXZlIGJsYWNrIGJsb2NrcyBpbiBsZXNzIHRoYW4gMyBvcGVyYXRpb25zLgpUaGVyZWZvcmUsIHdlIHJldHVybiAzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBibG9ja3MgPSAiV0JXQkJCVyIsIGsgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ck5vIGNoYW5nZXMgbmVlZCB0byBiZSBtYWRlLCBzaW5jZSAyIGNvbnNlY3V0aXZlIGJsYWNrIGJsb2NrcyBhbHJlYWR5IGV4aXN0LgpUaGVyZWZvcmUsIHdlIHJldHVybiAwLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IGJsb2Nrcy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPmJsb2Nrc1tpXTwvY29kZT4gaXMgZWl0aGVyIDxjb2RlPidXJzwvY29kZT4gb3IgPGNvZGU+J0InPC9jb2RlPi48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBrICZsdDs9IG48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "String",
+ "Sliding Window"
+ ]
+ },
+ {
+ "title": "2383. Minimum Hours of Training to Win a Competition",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZW50ZXJpbmcgYSBjb21wZXRpdGlvbiwgYW5kIGFyZSBnaXZlbiB0d28gPHN0cm9uZz5wb3NpdGl2ZTwvc3Ryb25nPiBpbnRlZ2VycyA8Y29kZT5pbml0aWFsRW5lcmd5PC9jb2RlPiBhbmQgPGNvZGU+aW5pdGlhbEV4cGVyaWVuY2U8L2NvZGU+IGRlbm90aW5nIHlvdXIgaW5pdGlhbCBlbmVyZ3kgYW5kIGluaXRpYWwgZXhwZXJpZW5jZSByZXNwZWN0aXZlbHkuPC9wPgo8cD5Zb3UgYXJlIGFsc28gZ2l2ZW4gdHdvIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXlzIDxjb2RlPmVuZXJneTwvY29kZT4gYW5kIDxjb2RlPmV4cGVyaWVuY2U8L2NvZGU+LCBib3RoIG9mIGxlbmd0aCA8Y29kZT5uPC9jb2RlPi48L3A+CjxwPllvdSB3aWxsIGZhY2UgPGNvZGU+bjwvY29kZT4gb3Bwb25lbnRzIDxzdHJvbmc+aW4gb3JkZXI8L3N0cm9uZz4uIFRoZSBlbmVyZ3kgYW5kIGV4cGVyaWVuY2Ugb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBvcHBvbmVudCBpcyBkZW5vdGVkIGJ5IDxjb2RlPmVuZXJneVtpXTwvY29kZT4gYW5kIDxjb2RlPmV4cGVyaWVuY2VbaV08L2NvZGU+IHJlc3BlY3RpdmVseS4gV2hlbiB5b3UgZmFjZSBhbiBvcHBvbmVudCwgeW91IG5lZWQgdG8gaGF2ZSBib3RoIDxzdHJvbmc+c3RyaWN0bHk8L3N0cm9uZz4gZ3JlYXRlciBleHBlcmllbmNlIGFuZCBlbmVyZ3kgdG8gZGVmZWF0IHRoZW0gYW5kIG1vdmUgdG8gdGhlIG5leHQgb3Bwb25lbnQgaWYgYXZhaWxhYmxlLjwvcD4KPHA+RGVmZWF0aW5nIHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gb3Bwb25lbnQgPHN0cm9uZz5pbmNyZWFzZXM8L3N0cm9uZz4geW91ciBleHBlcmllbmNlIGJ5IDxjb2RlPmV4cGVyaWVuY2VbaV08L2NvZGU+LCBidXQgPHN0cm9uZz5kZWNyZWFzZXM8L3N0cm9uZz4geW91ciBlbmVyZ3kgYnkgPGNvZGU+ZW5lcmd5W2ldPC9jb2RlPi48L3A+CjxwPkJlZm9yZSBzdGFydGluZyB0aGUgY29tcGV0aXRpb24sIHlvdSBjYW4gdHJhaW4gZm9yIHNvbWUgbnVtYmVyIG9mIGhvdXJzLiBBZnRlciBlYWNoIGhvdXIgb2YgdHJhaW5pbmcsIHlvdSBjYW4gPHN0cm9uZz5laXRoZXI8L3N0cm9uZz4gY2hvb3NlIHRvIGluY3JlYXNlIHlvdXIgaW5pdGlhbCBleHBlcmllbmNlIGJ5IG9uZSwgb3IgaW5jcmVhc2UgeW91ciBpbml0aWFsIGVuZXJneSBieSBvbmUuPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1pbmltdW08L3N0cm9uZz4gbnVtYmVyIG9mIHRyYWluaW5nIGhvdXJzIHJlcXVpcmVkIHRvIGRlZmVhdCBhbGwgPC9lbT48Y29kZT5uPC9jb2RlPjxlbT4gb3Bwb25lbnRzPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBpbml0aWFsRW5lcmd5ID0gNSwgaW5pdGlhbEV4cGVyaWVuY2UgPSAzLCBlbmVyZ3kgPSBbMSw0LDMsMl0sIGV4cGVyaWVuY2UgPSBbMiw2LDMsMV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDgKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gWW91IGNhbiBpbmNyZWFzZSB5b3VyIGVuZXJneSB0byAxMSBhZnRlciA2IGhvdXJzIG9mIHRyYWluaW5nLCBhbmQgeW91ciBleHBlcmllbmNlIHRvIDUgYWZ0ZXIgMiBob3VycyBvZiB0cmFpbmluZy4KWW91IGZhY2UgdGhlIG9wcG9uZW50cyBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOgotIFlvdSBoYXZlIG1vcmUgZW5lcmd5IGFuZCBleHBlcmllbmNlIHRoYW4gdGhlIDA8c3VwPnRoPC9zdXA+IG9wcG9uZW50IHNvIHlvdSB3aW4uCiAgWW91ciBlbmVyZ3kgYmVjb21lcyAxMSAtIDEgPSAxMCwgYW5kIHlvdXIgZXhwZXJpZW5jZSBiZWNvbWVzIDUgKyAyID0gNy4KLSBZb3UgaGF2ZSBtb3JlIGVuZXJneSBhbmQgZXhwZXJpZW5jZSB0aGFuIHRoZSAxPHN1cD5zdDwvc3VwPiBvcHBvbmVudCBzbyB5b3Ugd2luLgogIFlvdXIgZW5lcmd5IGJlY29tZXMgMTAgLSA0ID0gNiwgYW5kIHlvdXIgZXhwZXJpZW5jZSBiZWNvbWVzIDcgKyA2ID0gMTMuCi0gWW91IGhhdmUgbW9yZSBlbmVyZ3kgYW5kIGV4cGVyaWVuY2UgdGhhbiB0aGUgMjxzdXA+bmQ8L3N1cD4gb3Bwb25lbnQgc28geW91IHdpbi4KICBZb3VyIGVuZXJneSBiZWNvbWVzIDYgLSAzID0gMywgYW5kIHlvdXIgZXhwZXJpZW5jZSBiZWNvbWVzIDEzICsgMyA9IDE2LgotIFlvdSBoYXZlIG1vcmUgZW5lcmd5IGFuZCBleHBlcmllbmNlIHRoYW4gdGhlIDM8c3VwPnJkPC9zdXA+IG9wcG9uZW50IHNvIHlvdSB3aW4uCiAgWW91ciBlbmVyZ3kgYmVjb21lcyAzIC0gMiA9IDEsIGFuZCB5b3VyIGV4cGVyaWVuY2UgYmVjb21lcyAxNiArIDEgPSAxNy4KWW91IGRpZCBhIHRvdGFsIG9mIDYgKyAyID0gOCBob3VycyBvZiB0cmFpbmluZyBiZWZvcmUgdGhlIGNvbXBldGl0aW9uLCBzbyB3ZSByZXR1cm4gOC4KSXQgY2FuIGJlIHByb3ZlbiB0aGF0IG5vIHNtYWxsZXIgYW5zd2VyIGV4aXN0cy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gaW5pdGlhbEVuZXJneSA9IDIsIGluaXRpYWxFeHBlcmllbmNlID0gNCwgZW5lcmd5ID0gWzFdLCBleHBlcmllbmNlID0gWzNdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFlvdSBkbyBub3QgbmVlZCBhbnkgYWRkaXRpb25hbCBlbmVyZ3kgb3IgZXhwZXJpZW5jZSB0byB3aW4gdGhlIGNvbXBldGl0aW9uLCBzbyB3ZSByZXR1cm4gMC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBlbmVyZ3kubGVuZ3RoID09IGV4cGVyaWVuY2UubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGluaXRpYWxFbmVyZ3ksIGluaXRpYWxFeHBlcmllbmNlLCBlbmVyZ3lbaV0sIGV4cGVyaWVuY2VbaV0gJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Greedy"
+ ]
+ },
+ {
+ "title": "2373. Largest Local Values in a Matrix",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gPGNvZGU+biB4IG48L2NvZGU+IGludGVnZXIgbWF0cml4IDxjb2RlPmdyaWQ8L2NvZGU+LjwvcD4KPHA+R2VuZXJhdGUgYW4gaW50ZWdlciBtYXRyaXggPGNvZGU+bWF4TG9jYWw8L2NvZGU+IG9mIHNpemUgPGNvZGU+KG4gLSAyKSB4IChuIC0gMik8L2NvZGU+IHN1Y2ggdGhhdDo8L3A+Cjx1bD4KPGxpPjxjb2RlPm1heExvY2FsW2ldW2pdPC9jb2RlPiBpcyBlcXVhbCB0byB0aGUgPHN0cm9uZz5sYXJnZXN0PC9zdHJvbmc+IHZhbHVlIG9mIHRoZSA8Y29kZT4zIHggMzwvY29kZT4gbWF0cml4IGluIDxjb2RlPmdyaWQ8L2NvZGU+IGNlbnRlcmVkIGFyb3VuZCByb3cgPGNvZGU+aSArIDE8L2NvZGU+IGFuZCBjb2x1bW4gPGNvZGU+aiArIDE8L2NvZGU+LjwvbGk+CjwvdWw+CjxwPkluIG90aGVyIHdvcmRzLCB3ZSB3YW50IHRvIGZpbmQgdGhlIGxhcmdlc3QgdmFsdWUgaW4gZXZlcnkgY29udGlndW91cyA8Y29kZT4zIHggMzwvY29kZT4gbWF0cml4IGluIDxjb2RlPmdyaWQ8L2NvZGU+LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgZ2VuZXJhdGVkIG1hdHJpeDwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wNi8yMS9leDEucG5nIiBzdHlsZT0id2lkdGg6IDM3MXB4OyBoZWlnaHQ6IDIxMHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGdyaWQgPSBbWzksOSw4LDFdLFs1LDYsMiw2XSxbOCwyLDYsNF0sWzYsMiwyLDJdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gW1s5LDldLFs4LDZdXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgZGlhZ3JhbSBhYm92ZSBzaG93cyB0aGUgb3JpZ2luYWwgbWF0cml4IGFuZCB0aGUgZ2VuZXJhdGVkIG1hdHJpeC4KTm90aWNlIHRoYXQgZWFjaCB2YWx1ZSBpbiB0aGUgZ2VuZXJhdGVkIG1hdHJpeCBjb3JyZXNwb25kcyB0byB0aGUgbGFyZ2VzdCB2YWx1ZSBvZiBhIGNvbnRpZ3VvdXMgMyB4IDMgbWF0cml4IGluIGdyaWQuPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wNy8wMi9leDJuZXcyLnBuZyIgc3R5bGU9IndpZHRoOiA0MzZweDsgaGVpZ2h0OiAyNDBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBncmlkID0gW1sxLDEsMSwxLDFdLFsxLDEsMSwxLDFdLFsxLDEsMiwxLDFdLFsxLDEsMSwxLDFdLFsxLDEsMSwxLDFdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gW1syLDIsMl0sWzIsMiwyXSxbMiwyLDJdXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBOb3RpY2UgdGhhdCB0aGUgMiBpcyBjb250YWluZWQgd2l0aGluIGV2ZXJ5IGNvbnRpZ3VvdXMgMyB4IDMgbWF0cml4IGluIGdyaWQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gZ3JpZC5sZW5ndGggPT0gZ3JpZFtpXS5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjMgJmx0Oz0gbiAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gZ3JpZFtpXVtqXSAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Matrix"
+ ]
+ },
+ {
+ "title": "2363. Merge Similar Items",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIDJEIGludGVnZXIgYXJyYXlzLCA8Y29kZT5pdGVtczE8L2NvZGU+IGFuZCA8Y29kZT5pdGVtczI8L2NvZGU+LCByZXByZXNlbnRpbmcgdHdvIHNldHMgb2YgaXRlbXMuIEVhY2ggYXJyYXkgPGNvZGU+aXRlbXM8L2NvZGU+IGhhcyB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6PC9wPgo8dWw+CjxsaT48Y29kZT5pdGVtc1tpXSA9IFt2YWx1ZTxzdWI+aTwvc3ViPiwgd2VpZ2h0PHN1Yj5pPC9zdWI+XTwvY29kZT4gd2hlcmUgPGNvZGU+dmFsdWU8c3ViPmk8L3N1Yj48L2NvZGU+IHJlcHJlc2VudHMgdGhlIDxzdHJvbmc+dmFsdWU8L3N0cm9uZz4gYW5kIDxjb2RlPndlaWdodDxzdWI+aTwvc3ViPjwvY29kZT4gcmVwcmVzZW50cyB0aGUgPHN0cm9uZz53ZWlnaHQgPC9zdHJvbmc+b2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBpdGVtLjwvbGk+CjxsaT5UaGUgdmFsdWUgb2YgZWFjaCBpdGVtIGluIDxjb2RlPml0ZW1zPC9jb2RlPiBpcyA8c3Ryb25nPnVuaXF1ZTwvc3Ryb25nPi48L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPmEgMkQgaW50ZWdlciBhcnJheTwvZW0+IDxjb2RlPnJldDwvY29kZT4gPGVtPndoZXJlPC9lbT4gPGNvZGU+cmV0W2ldID0gW3ZhbHVlPHN1Yj5pPC9zdWI+LCB3ZWlnaHQ8c3ViPmk8L3N1Yj5dPC9jb2RlPjxlbT4sPC9lbT4gPGVtPndpdGg8L2VtPiA8Y29kZT53ZWlnaHQ8c3ViPmk8L3N1Yj48L2NvZGU+IDxlbT5iZWluZyB0aGUgPHN0cm9uZz5zdW0gb2Ygd2VpZ2h0czwvc3Ryb25nPiBvZiBhbGwgaXRlbXMgd2l0aCB2YWx1ZTwvZW0+IDxjb2RlPnZhbHVlPHN1Yj5pPC9zdWI+PC9jb2RlPi48L3A+CjxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gPGNvZGU+cmV0PC9jb2RlPiBzaG91bGQgYmUgcmV0dXJuZWQgaW4gPHN0cm9uZz5hc2NlbmRpbmc8L3N0cm9uZz4gb3JkZXIgYnkgdmFsdWUuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBpdGVtczEgPSBbWzEsMV0sWzQsNV0sWzMsOF1dLCBpdGVtczIgPSBbWzMsMV0sWzEsNV1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbWzEsNl0sWzMsOV0sWzQsNV1dCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApUaGUgaXRlbSB3aXRoIHZhbHVlID0gMSBvY2N1cnMgaW4gaXRlbXMxIHdpdGggd2VpZ2h0ID0gMSBhbmQgaW4gaXRlbXMyIHdpdGggd2VpZ2h0ID0gNSwgdG90YWwgd2VpZ2h0ID0gMSArIDUgPSA2LgpUaGUgaXRlbSB3aXRoIHZhbHVlID0gMyBvY2N1cnMgaW4gaXRlbXMxIHdpdGggd2VpZ2h0ID0gOCBhbmQgaW4gaXRlbXMyIHdpdGggd2VpZ2h0ID0gMSwgdG90YWwgd2VpZ2h0ID0gOCArIDEgPSA5LgpUaGUgaXRlbSB3aXRoIHZhbHVlID0gNCBvY2N1cnMgaW4gaXRlbXMxIHdpdGggd2VpZ2h0ID0gNSwgdG90YWwgd2VpZ2h0ID0gNS4gIApUaGVyZWZvcmUsIHdlIHJldHVybiBbWzEsNl0sWzMsOV0sWzQsNV1dLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBpdGVtczEgPSBbWzEsMV0sWzMsMl0sWzIsM11dLCBpdGVtczIgPSBbWzIsMV0sWzMsMl0sWzEsM11dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbWzEsNF0sWzIsNF0sWzMsNF1dCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApUaGUgaXRlbSB3aXRoIHZhbHVlID0gMSBvY2N1cnMgaW4gaXRlbXMxIHdpdGggd2VpZ2h0ID0gMSBhbmQgaW4gaXRlbXMyIHdpdGggd2VpZ2h0ID0gMywgdG90YWwgd2VpZ2h0ID0gMSArIDMgPSA0LgpUaGUgaXRlbSB3aXRoIHZhbHVlID0gMiBvY2N1cnMgaW4gaXRlbXMxIHdpdGggd2VpZ2h0ID0gMyBhbmQgaW4gaXRlbXMyIHdpdGggd2VpZ2h0ID0gMSwgdG90YWwgd2VpZ2h0ID0gMyArIDEgPSA0LgpUaGUgaXRlbSB3aXRoIHZhbHVlID0gMyBvY2N1cnMgaW4gaXRlbXMxIHdpdGggd2VpZ2h0ID0gMiBhbmQgaW4gaXRlbXMyIHdpdGggd2VpZ2h0ID0gMiwgdG90YWwgd2VpZ2h0ID0gMiArIDIgPSA0LgpUaGVyZWZvcmUsIHdlIHJldHVybiBbWzEsNF0sWzIsNF0sWzMsNF1dLjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGl0ZW1zMSA9IFtbMSwzXSxbMiwyXV0sIGl0ZW1zMiA9IFtbNywxXSxbMiwyXSxbMSw0XV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFtbMSw3XSxbMiw0XSxbNywxXV0KPHN0cm9uZz5FeHBsYW5hdGlvbjoKPC9zdHJvbmc+VGhlIGl0ZW0gd2l0aCB2YWx1ZSA9IDEgb2NjdXJzIGluIGl0ZW1zMSB3aXRoIHdlaWdodCA9IDMgYW5kIGluIGl0ZW1zMiB3aXRoIHdlaWdodCA9IDQsIHRvdGFsIHdlaWdodCA9IDMgKyA0ID0gNy4gClRoZSBpdGVtIHdpdGggdmFsdWUgPSAyIG9jY3VycyBpbiBpdGVtczEgd2l0aCB3ZWlnaHQgPSAyIGFuZCBpbiBpdGVtczIgd2l0aCB3ZWlnaHQgPSAyLCB0b3RhbCB3ZWlnaHQgPSAyICsgMiA9IDQuIApUaGUgaXRlbSB3aXRoIHZhbHVlID0gNyBvY2N1cnMgaW4gaXRlbXMyIHdpdGggd2VpZ2h0ID0gMSwgdG90YWwgd2VpZ2h0ID0gMS4KVGhlcmVmb3JlLCB3ZSByZXR1cm4gW1sxLDddLFsyLDRdLFs3LDFdXS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBpdGVtczEubGVuZ3RoLCBpdGVtczIubGVuZ3RoICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPml0ZW1zMVtpXS5sZW5ndGggPT0gaXRlbXMyW2ldLmxlbmd0aCA9PSAyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHZhbHVlPHN1Yj5pPC9zdWI+LCB3ZWlnaHQ8c3ViPmk8L3N1Yj4gJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8bGk+RWFjaCA8Y29kZT52YWx1ZTxzdWI+aTwvc3ViPjwvY29kZT4gaW4gPGNvZGU+aXRlbXMxPC9jb2RlPiBpcyA8c3Ryb25nPnVuaXF1ZTwvc3Ryb25nPi48L2xpPgo8bGk+RWFjaCA8Y29kZT52YWx1ZTxzdWI+aTwvc3ViPjwvY29kZT4gaW4gPGNvZGU+aXRlbXMyPC9jb2RlPiBpcyA8c3Ryb25nPnVuaXF1ZTwvc3Ryb25nPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Sorting",
+ "Ordered Set"
+ ]
+ },
+ {
+ "title": "2367. Number of Arithmetic Triplets",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiwgPHN0cm9uZz5zdHJpY3RseSBpbmNyZWFzaW5nPC9zdHJvbmc+IGludGVnZXIgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4gYW5kIGEgcG9zaXRpdmUgaW50ZWdlciA8Y29kZT5kaWZmPC9jb2RlPi4gQSB0cmlwbGV0IDxjb2RlPihpLCBqLCBrKTwvY29kZT4gaXMgYW4gPHN0cm9uZz5hcml0aG1ldGljIHRyaXBsZXQ8L3N0cm9uZz4gaWYgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6PC9wPgo8dWw+CjxsaT48Y29kZT5pICZsdDsgaiAmbHQ7IGs8L2NvZGU+LDwvbGk+CjxsaT48Y29kZT5udW1zW2pdIC0gbnVtc1tpXSA9PSBkaWZmPC9jb2RlPiwgYW5kPC9saT4KPGxpPjxjb2RlPm51bXNba10gLSBudW1zW2pdID09IGRpZmY8L2NvZGU+LjwvbGk+CjwvdWw+CjxwPlJldHVybiA8ZW0+dGhlIG51bWJlciBvZiB1bmlxdWUgPHN0cm9uZz5hcml0aG1ldGljIHRyaXBsZXRzPC9zdHJvbmc+LjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzAsMSw0LDYsNywxMF0sIGRpZmYgPSAzCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+CigxLCAyLCA0KSBpcyBhbiBhcml0aG1ldGljIHRyaXBsZXQgYmVjYXVzZSBib3RoIDcgLSA0ID09IDMgYW5kIDQgLSAxID09IDMuCigyLCA0LCA1KSBpcyBhbiBhcml0aG1ldGljIHRyaXBsZXQgYmVjYXVzZSBib3RoIDEwIC0gNyA9PSAzIGFuZCA3IC0gNCA9PSAzLiAKPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs0LDUsNiw3LDgsOV0sIGRpZmYgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+CigwLCAyLCA0KSBpcyBhbiBhcml0aG1ldGljIHRyaXBsZXQgYmVjYXVzZSBib3RoIDggLSA2ID09IDIgYW5kIDYgLSA0ID09IDIuCigxLCAzLCA1KSBpcyBhbiBhcml0aG1ldGljIHRyaXBsZXQgYmVjYXVzZSBib3RoIDkgLSA3ID09IDIgYW5kIDcgLSA1ID09IDIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjMgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMjAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IG51bXNbaV0gJmx0Oz0gMjAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGRpZmYgJmx0Oz0gNTA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPm51bXM8L2NvZGU+IGlzIDxzdHJvbmc+c3RyaWN0bHk8L3N0cm9uZz4gaW5jcmVhc2luZy48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Two Pointers",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2357. Make Array Zero by Subtracting Equal Amounts",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBub24tbmVnYXRpdmUgaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPi4gSW4gb25lIG9wZXJhdGlvbiwgeW91IG11c3Q6PC9wPgo8dWw+CjxsaT5DaG9vc2UgYSBwb3NpdGl2ZSBpbnRlZ2VyIDxjb2RlPng8L2NvZGU+IHN1Y2ggdGhhdCA8Y29kZT54PC9jb2RlPiBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIDxzdHJvbmc+c21hbGxlc3Qgbm9uLXplcm88L3N0cm9uZz4gZWxlbWVudCBpbiA8Y29kZT5udW1zPC9jb2RlPi48L2xpPgo8bGk+U3VidHJhY3QgPGNvZGU+eDwvY29kZT4gZnJvbSBldmVyeSA8c3Ryb25nPnBvc2l0aXZlPC9zdHJvbmc+IGVsZW1lbnQgaW4gPGNvZGU+bnVtczwvY29kZT4uPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5taW5pbXVtPC9zdHJvbmc+IG51bWJlciBvZiBvcGVyYXRpb25zIHRvIG1ha2UgZXZlcnkgZWxlbWVudCBpbiA8L2VtPjxjb2RlPm51bXM8L2NvZGU+PGVtPiBlcXVhbCB0byA8L2VtPjxjb2RlPjA8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDUsMCwzLDVdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+CkluIHRoZSBmaXJzdCBvcGVyYXRpb24sIGNob29zZSB4ID0gMS4gTm93LCBudW1zID0gWzAsNCwwLDIsNF0uCkluIHRoZSBzZWNvbmQgb3BlcmF0aW9uLCBjaG9vc2UgeCA9IDIuIE5vdywgbnVtcyA9IFswLDIsMCwwLDJdLgpJbiB0aGUgdGhpcmQgb3BlcmF0aW9uLCBjaG9vc2UgeCA9IDIuIE5vdywgbnVtcyA9IFswLDAsMCwwLDBdLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzBdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEVhY2ggZWxlbWVudCBpbiBudW1zIGlzIGFscmVhZHkgMCBzbyBubyBvcGVyYXRpb25zIGFyZSBuZWVkZWQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IG51bXNbaV0gJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Sorting",
+ "Heap (Priority Queue)",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2347. Best Poker Hand",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5yYW5rczwvY29kZT4gYW5kIGEgY2hhcmFjdGVyIGFycmF5IDxjb2RlPnN1aXRzPC9jb2RlPi4gWW91IGhhdmUgPGNvZGU+NTwvY29kZT4gY2FyZHMgd2hlcmUgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBjYXJkIGhhcyBhIHJhbmsgb2YgPGNvZGU+cmFua3NbaV08L2NvZGU+IGFuZCBhIHN1aXQgb2YgPGNvZGU+c3VpdHNbaV08L2NvZGU+LjwvcD4KPHA+VGhlIGZvbGxvd2luZyBhcmUgdGhlIHR5cGVzIG9mIDxzdHJvbmc+cG9rZXIgaGFuZHM8L3N0cm9uZz4geW91IGNhbiBtYWtlIGZyb20gYmVzdCB0byB3b3JzdDo8L3A+CjxvbD4KPGxpPjxjb2RlPiJGbHVzaCI8L2NvZGU+OiBGaXZlIGNhcmRzIG9mIHRoZSBzYW1lIHN1aXQuPC9saT4KPGxpPjxjb2RlPiJUaHJlZSBvZiBhIEtpbmQiPC9jb2RlPjogVGhyZWUgY2FyZHMgb2YgdGhlIHNhbWUgcmFuay48L2xpPgo8bGk+PGNvZGU+IlBhaXIiPC9jb2RlPjogVHdvIGNhcmRzIG9mIHRoZSBzYW1lIHJhbmsuPC9saT4KPGxpPjxjb2RlPiJIaWdoIENhcmQiPC9jb2RlPjogQW55IHNpbmdsZSBjYXJkLjwvbGk+Cjwvb2w+CjxwPlJldHVybiA8ZW0+YSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSA8c3Ryb25nPmJlc3Q8L3N0cm9uZz4gdHlwZSBvZiA8c3Ryb25nPnBva2VyIGhhbmQ8L3N0cm9uZz4geW91IGNhbiBtYWtlIHdpdGggdGhlIGdpdmVuIGNhcmRzLjwvZW0+PC9wPgo8cD48c3Ryb25nPk5vdGU8L3N0cm9uZz4gdGhhdCB0aGUgcmV0dXJuIHZhbHVlcyBhcmUgPHN0cm9uZz5jYXNlLXNlbnNpdGl2ZTwvc3Ryb25nPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHJhbmtzID0gWzEzLDIsMywxLDldLCBzdWl0cyA9IFsiYSIsImEiLCJhIiwiYSIsImEiXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gIkZsdXNoIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgaGFuZCB3aXRoIGFsbCB0aGUgY2FyZHMgY29uc2lzdHMgb2YgNSBjYXJkcyB3aXRoIHRoZSBzYW1lIHN1aXQsIHNvIHdlIGhhdmUgYSAiRmx1c2giLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiByYW5rcyA9IFs0LDQsMiw0LDRdLCBzdWl0cyA9IFsiZCIsImEiLCJhIiwiYiIsImMiXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gIlRocmVlIG9mIGEgS2luZCIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGhhbmQgd2l0aCB0aGUgZmlyc3QsIHNlY29uZCwgYW5kIGZvdXJ0aCBjYXJkIGNvbnNpc3RzIG9mIDMgY2FyZHMgd2l0aCB0aGUgc2FtZSByYW5rLCBzbyB3ZSBoYXZlIGEgIlRocmVlIG9mIGEgS2luZCIuCk5vdGUgdGhhdCB3ZSBjb3VsZCBhbHNvIG1ha2UgYSAiUGFpciIgaGFuZCBidXQgIlRocmVlIG9mIGEgS2luZCIgaXMgYSBiZXR0ZXIgaGFuZC4KQWxzbyBub3RlIHRoYXQgb3RoZXIgY2FyZHMgY291bGQgYmUgdXNlZCB0byBtYWtlIHRoZSAiVGhyZWUgb2YgYSBLaW5kIiBoYW5kLjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHJhbmtzID0gWzEwLDEwLDIsMTIsOV0sIHN1aXRzID0gWyJhIiwiYiIsImMiLCJhIiwiZCJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiUGFpciIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGhhbmQgd2l0aCB0aGUgZmlyc3QgYW5kIHNlY29uZCBjYXJkIGNvbnNpc3RzIG9mIDIgY2FyZHMgd2l0aCB0aGUgc2FtZSByYW5rLCBzbyB3ZSBoYXZlIGEgIlBhaXIiLgpOb3RlIHRoYXQgd2UgY2Fubm90IG1ha2UgYSAiRmx1c2giIG9yIGEgIlRocmVlIG9mIGEgS2luZCIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPnJhbmtzLmxlbmd0aCA9PSBzdWl0cy5sZW5ndGggPT0gNTwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSByYW5rc1tpXSAmbHQ7PSAxMzwvY29kZT48L2xpPgo8bGk+PGNvZGU+J2EnICZsdDs9IHN1aXRzW2ldICZsdDs9ICdkJzwvY29kZT48L2xpPgo8bGk+Tm8gdHdvIGNhcmRzIGhhdmUgdGhlIHNhbWUgcmFuayBhbmQgc3VpdC48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2351. First Letter to Appear Twice",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgc3RyaW5nIDxjb2RlPnM8L2NvZGU+IGNvbnNpc3Rpbmcgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycywgcmV0dXJuIDxlbT50aGUgZmlyc3QgbGV0dGVyIHRvIGFwcGVhciA8c3Ryb25nPnR3aWNlPC9zdHJvbmc+PC9lbT4uPC9wPgo8cD48c3Ryb25nPk5vdGU8L3N0cm9uZz46PC9wPgo8dWw+CjxsaT5BIGxldHRlciA8Y29kZT5hPC9jb2RlPiBhcHBlYXJzIHR3aWNlIGJlZm9yZSBhbm90aGVyIGxldHRlciA8Y29kZT5iPC9jb2RlPiBpZiB0aGUgPHN0cm9uZz5zZWNvbmQ8L3N0cm9uZz4gb2NjdXJyZW5jZSBvZiA8Y29kZT5hPC9jb2RlPiBpcyBiZWZvcmUgdGhlIDxzdHJvbmc+c2Vjb25kPC9zdHJvbmc+IG9jY3VycmVuY2Ugb2YgPGNvZGU+YjwvY29kZT4uPC9saT4KPGxpPjxjb2RlPnM8L2NvZGU+IHdpbGwgY29udGFpbiBhdCBsZWFzdCBvbmUgbGV0dGVyIHRoYXQgYXBwZWFycyB0d2ljZS48L2xpPgo8L3VsPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImFiY2NiYWFjeiIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICJjIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgbGV0dGVyICdhJyBhcHBlYXJzIG9uIHRoZSBpbmRleGVzIDAsIDUgYW5kIDYuClRoZSBsZXR0ZXIgJ2InIGFwcGVhcnMgb24gdGhlIGluZGV4ZXMgMSBhbmQgNC4KVGhlIGxldHRlciAnYycgYXBwZWFycyBvbiB0aGUgaW5kZXhlcyAyLCAzIGFuZCA3LgpUaGUgbGV0dGVyICd6JyBhcHBlYXJzIG9uIHRoZSBpbmRleCA4LgpUaGUgbGV0dGVyICdjJyBpcyB0aGUgZmlyc3QgbGV0dGVyIHRvIGFwcGVhciB0d2ljZSwgYmVjYXVzZSBvdXQgb2YgYWxsIHRoZSBsZXR0ZXJzIHRoZSBpbmRleCBvZiBpdHMgc2Vjb25kIG9jY3VycmVuY2UgaXMgdGhlIHNtYWxsZXN0Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImFiY2RkIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gImQiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBvbmx5IGxldHRlciB0aGF0IGFwcGVhcnMgdHdpY2UgaXMgJ2QnIHNvIHdlIHJldHVybiAnZCcuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjIgJmx0Oz0gcy5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zPC9jb2RlPiBjb25zaXN0cyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLjwvbGk+CjxsaT48Y29kZT5zPC9jb2RlPiBoYXMgYXQgbGVhc3Qgb25lIHJlcGVhdGVkIGxldHRlci48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Hash Table",
+ "String",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2341. Maximum Number of Pairs in Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+LiBJbiBvbmUgb3BlcmF0aW9uLCB5b3UgbWF5IGRvIHRoZSBmb2xsb3dpbmc6PC9wPgo8dWw+CjxsaT5DaG9vc2UgPHN0cm9uZz50d288L3N0cm9uZz4gaW50ZWdlcnMgaW4gPGNvZGU+bnVtczwvY29kZT4gdGhhdCBhcmUgPHN0cm9uZz5lcXVhbDwvc3Ryb25nPi48L2xpPgo8bGk+UmVtb3ZlIGJvdGggaW50ZWdlcnMgZnJvbSA8Y29kZT5udW1zPC9jb2RlPiwgZm9ybWluZyBhIDxzdHJvbmc+cGFpcjwvc3Ryb25nPi48L2xpPgo8L3VsPgo8cD5UaGUgb3BlcmF0aW9uIGlzIGRvbmUgb24gPGNvZGU+bnVtczwvY29kZT4gYXMgbWFueSB0aW1lcyBhcyBwb3NzaWJsZS48L3A+CjxwPlJldHVybiA8ZW0+YSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDwvZW0+PGNvZGU+YW5zd2VyPC9jb2RlPjxlbT4gb2Ygc2l6ZSA8L2VtPjxjb2RlPjI8L2NvZGU+PGVtPiB3aGVyZSA8L2VtPjxjb2RlPmFuc3dlclswXTwvY29kZT48ZW0+IGlzIHRoZSBudW1iZXIgb2YgcGFpcnMgdGhhdCBhcmUgZm9ybWVkIGFuZCA8L2VtPjxjb2RlPmFuc3dlclsxXTwvY29kZT48ZW0+IGlzIHRoZSBudW1iZXIgb2YgbGVmdG92ZXIgaW50ZWdlcnMgaW4gPC9lbT48Y29kZT5udW1zPC9jb2RlPjxlbT4gYWZ0ZXIgZG9pbmcgdGhlIG9wZXJhdGlvbiBhcyBtYW55IHRpbWVzIGFzIHBvc3NpYmxlPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMywyLDEsMywyLDJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMywxXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpGb3JtIGEgcGFpciB3aXRoIG51bXNbMF0gYW5kIG51bXNbM10gYW5kIHJlbW92ZSB0aGVtIGZyb20gbnVtcy4gTm93LCBudW1zID0gWzMsMiwzLDIsMl0uCkZvcm0gYSBwYWlyIHdpdGggbnVtc1swXSBhbmQgbnVtc1syXSBhbmQgcmVtb3ZlIHRoZW0gZnJvbSBudW1zLiBOb3csIG51bXMgPSBbMiwyLDJdLgpGb3JtIGEgcGFpciB3aXRoIG51bXNbMF0gYW5kIG51bXNbMV0gYW5kIHJlbW92ZSB0aGVtIGZyb20gbnVtcy4gTm93LCBudW1zID0gWzJdLgpObyBtb3JlIHBhaXJzIGNhbiBiZSBmb3JtZWQuIEEgdG90YWwgb2YgMyBwYWlycyBoYXZlIGJlZW4gZm9ybWVkLCBhbmQgdGhlcmUgaXMgMSBudW1iZXIgbGVmdG92ZXIgaW4gbnVtcy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMSwwXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBGb3JtIGEgcGFpciB3aXRoIG51bXNbMF0gYW5kIG51bXNbMV0gYW5kIHJlbW92ZSB0aGVtIGZyb20gbnVtcy4gTm93LCBudW1zID0gW10uCk5vIG1vcmUgcGFpcnMgY2FuIGJlIGZvcm1lZC4gQSB0b3RhbCBvZiAxIHBhaXIgaGFzIGJlZW4gZm9ybWVkLCBhbmQgdGhlcmUgYXJlIDAgbnVtYmVycyBsZWZ0b3ZlciBpbiBudW1zLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzBdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMCwxXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBObyBwYWlycyBjYW4gYmUgZm9ybWVkLCBhbmQgdGhlcmUgaXMgMSBudW1iZXIgbGVmdG92ZXIgaW4gbnVtcy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2331. Evaluate Boolean Binary Tree",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdGhlIDxjb2RlPnJvb3Q8L2NvZGU+IG9mIGEgPHN0cm9uZz5mdWxsIGJpbmFyeSB0cmVlPC9zdHJvbmc+IHdpdGggdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOjwvcD4KPHVsPgo8bGk+PHN0cm9uZz5MZWFmIG5vZGVzPC9zdHJvbmc+IGhhdmUgZWl0aGVyIHRoZSB2YWx1ZSA8Y29kZT4wPC9jb2RlPiBvciA8Y29kZT4xPC9jb2RlPiwgd2hlcmUgPGNvZGU+MDwvY29kZT4gcmVwcmVzZW50cyA8Y29kZT5GYWxzZTwvY29kZT4gYW5kIDxjb2RlPjE8L2NvZGU+IHJlcHJlc2VudHMgPGNvZGU+VHJ1ZTwvY29kZT4uPC9saT4KPGxpPjxzdHJvbmc+Tm9uLWxlYWYgbm9kZXM8L3N0cm9uZz4gaGF2ZSBlaXRoZXIgdGhlIHZhbHVlIDxjb2RlPjI8L2NvZGU+IG9yIDxjb2RlPjM8L2NvZGU+LCB3aGVyZSA8Y29kZT4yPC9jb2RlPiByZXByZXNlbnRzIHRoZSBib29sZWFuIDxjb2RlPk9SPC9jb2RlPiBhbmQgPGNvZGU+MzwvY29kZT4gcmVwcmVzZW50cyB0aGUgYm9vbGVhbiA8Y29kZT5BTkQ8L2NvZGU+LjwvbGk+CjwvdWw+CjxwPlRoZSA8c3Ryb25nPmV2YWx1YXRpb248L3N0cm9uZz4gb2YgYSBub2RlIGlzIGFzIGZvbGxvd3M6PC9wPgo8dWw+CjxsaT5JZiB0aGUgbm9kZSBpcyBhIGxlYWYgbm9kZSwgdGhlIGV2YWx1YXRpb24gaXMgdGhlIDxzdHJvbmc+dmFsdWU8L3N0cm9uZz4gb2YgdGhlIG5vZGUsIGkuZS4gPGNvZGU+VHJ1ZTwvY29kZT4gb3IgPGNvZGU+RmFsc2U8L2NvZGU+LjwvbGk+CjxsaT5PdGhlcndpc2UsIDxzdHJvbmc+ZXZhbHVhdGU8L3N0cm9uZz4gdGhlIG5vZGUncyB0d28gY2hpbGRyZW4gYW5kIDxzdHJvbmc+YXBwbHk8L3N0cm9uZz4gdGhlIGJvb2xlYW4gb3BlcmF0aW9uIG9mIGl0cyB2YWx1ZSB3aXRoIHRoZSBjaGlsZHJlbidzIGV2YWx1YXRpb25zLjwvbGk+CjwvdWw+CjxwPlJldHVybjxlbT4gdGhlIGJvb2xlYW4gcmVzdWx0IG9mIDxzdHJvbmc+ZXZhbHVhdGluZzwvc3Ryb25nPiB0aGUgPC9lbT48Y29kZT5yb290PC9jb2RlPjxlbT4gbm9kZS48L2VtPjwvcD4KPHA+QSA8c3Ryb25nPmZ1bGwgYmluYXJ5IHRyZWU8L3N0cm9uZz4gaXMgYSBiaW5hcnkgdHJlZSB3aGVyZSBlYWNoIG5vZGUgaGFzIGVpdGhlciA8Y29kZT4wPC9jb2RlPiBvciA8Y29kZT4yPC9jb2RlPiBjaGlsZHJlbi48L3A+CjxwPkEgPHN0cm9uZz5sZWFmIG5vZGU8L3N0cm9uZz4gaXMgYSBub2RlIHRoYXQgaGFzIHplcm8gY2hpbGRyZW4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA1LzE2L2V4YW1wbGUxZHJhd2lvMS5wbmciIHN0eWxlPSJ3aWR0aDogNzAwcHg7IGhlaWdodDogMjUycHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcm9vdCA9IFsyLDEsMyxudWxsLG51bGwsMCwxXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gdHJ1ZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgYWJvdmUgZGlhZ3JhbSBpbGx1c3RyYXRlcyB0aGUgZXZhbHVhdGlvbiBwcm9jZXNzLgpUaGUgQU5EIG5vZGUgZXZhbHVhdGVzIHRvIEZhbHNlIEFORCBUcnVlID0gRmFsc2UuClRoZSBPUiBub2RlIGV2YWx1YXRlcyB0byBUcnVlIE9SIEZhbHNlID0gVHJ1ZS4KVGhlIHJvb3Qgbm9kZSBldmFsdWF0ZXMgdG8gVHJ1ZSwgc28gd2UgcmV0dXJuIHRydWUuPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcm9vdCA9IFswXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gZmFsc2UKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHJvb3Qgbm9kZSBpcyBhIGxlYWYgbm9kZSBhbmQgaXQgZXZhbHVhdGVzIHRvIGZhbHNlLCBzbyB3ZSByZXR1cm4gZmFsc2UuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPlRoZSBudW1iZXIgb2Ygbm9kZXMgaW4gdGhlIHRyZWUgaXMgaW4gdGhlIHJhbmdlIDxjb2RlPlsxLCAxMDAwXTwvY29kZT4uPC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gTm9kZS52YWwgJmx0Oz0gMzwvY29kZT48L2xpPgo8bGk+RXZlcnkgbm9kZSBoYXMgZWl0aGVyIDxjb2RlPjA8L2NvZGU+IG9yIDxjb2RlPjI8L2NvZGU+IGNoaWxkcmVuLjwvbGk+CjxsaT5MZWFmIG5vZGVzIGhhdmUgYSB2YWx1ZSBvZiA8Y29kZT4wPC9jb2RlPiBvciA8Y29kZT4xPC9jb2RlPi48L2xpPgo8bGk+Tm9uLWxlYWYgbm9kZXMgaGF2ZSBhIHZhbHVlIG9mIDxjb2RlPjI8L2NvZGU+IG9yIDxjb2RlPjM8L2NvZGU+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Binary Search",
+ "Tree",
+ "Depth-First Search"
+ ]
+ },
+ {
+ "title": "2335. Minimum Amount of Time to Fill Cups",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBoYXZlIGEgd2F0ZXIgZGlzcGVuc2VyIHRoYXQgY2FuIGRpc3BlbnNlIGNvbGQsIHdhcm0sIGFuZCBob3Qgd2F0ZXIuIEV2ZXJ5IHNlY29uZCwgeW91IGNhbiBlaXRoZXIgZmlsbCB1cCA8Y29kZT4yPC9jb2RlPiBjdXBzIHdpdGggPHN0cm9uZz5kaWZmZXJlbnQ8L3N0cm9uZz4gdHlwZXMgb2Ygd2F0ZXIsIG9yIDxjb2RlPjE8L2NvZGU+IGN1cCBvZiBhbnkgdHlwZSBvZiB3YXRlci48L3A+CjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPmFtb3VudDwvY29kZT4gb2YgbGVuZ3RoIDxjb2RlPjM8L2NvZGU+IHdoZXJlIDxjb2RlPmFtb3VudFswXTwvY29kZT4sIDxjb2RlPmFtb3VudFsxXTwvY29kZT4sIGFuZCA8Y29kZT5hbW91bnRbMl08L2NvZGU+IGRlbm90ZSB0aGUgbnVtYmVyIG9mIGNvbGQsIHdhcm0sIGFuZCBob3Qgd2F0ZXIgY3VwcyB5b3UgbmVlZCB0byBmaWxsIHJlc3BlY3RpdmVseS4gUmV0dXJuIDxlbT50aGUgPHN0cm9uZz5taW5pbXVtPC9zdHJvbmc+IG51bWJlciBvZiBzZWNvbmRzIG5lZWRlZCB0byBmaWxsIHVwIGFsbCB0aGUgY3VwczwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gYW1vdW50ID0gWzEsNCwyXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBPbmUgd2F5IHRvIGZpbGwgdXAgdGhlIGN1cHMgaXM6ClNlY29uZCAxOiBGaWxsIHVwIGEgY29sZCBjdXAgYW5kIGEgd2FybSBjdXAuClNlY29uZCAyOiBGaWxsIHVwIGEgd2FybSBjdXAgYW5kIGEgaG90IGN1cC4KU2Vjb25kIDM6IEZpbGwgdXAgYSB3YXJtIGN1cCBhbmQgYSBob3QgY3VwLgpTZWNvbmQgNDogRmlsbCB1cCBhIHdhcm0gY3VwLgpJdCBjYW4gYmUgcHJvdmVuIHRoYXQgNCBpcyB0aGUgbWluaW11bSBudW1iZXIgb2Ygc2Vjb25kcyBuZWVkZWQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGFtb3VudCA9IFs1LDQsNF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDcKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gT25lIHdheSB0byBmaWxsIHVwIHRoZSBjdXBzIGlzOgpTZWNvbmQgMTogRmlsbCB1cCBhIGNvbGQgY3VwLCBhbmQgYSBob3QgY3VwLgpTZWNvbmQgMjogRmlsbCB1cCBhIGNvbGQgY3VwLCBhbmQgYSB3YXJtIGN1cC4KU2Vjb25kIDM6IEZpbGwgdXAgYSBjb2xkIGN1cCwgYW5kIGEgd2FybSBjdXAuClNlY29uZCA0OiBGaWxsIHVwIGEgd2FybSBjdXAsIGFuZCBhIGhvdCBjdXAuClNlY29uZCA1OiBGaWxsIHVwIGEgY29sZCBjdXAsIGFuZCBhIGhvdCBjdXAuClNlY29uZCA2OiBGaWxsIHVwIGEgY29sZCBjdXAsIGFuZCBhIHdhcm0gY3VwLgpTZWNvbmQgNzogRmlsbCB1cCBhIGhvdCBjdXAuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGFtb3VudCA9IFs1LDAsMF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gRXZlcnkgc2Vjb25kLCB3ZSBmaWxsIHVwIGEgY29sZCBjdXAuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPmFtb3VudC5sZW5ndGggPT0gMzwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBhbW91bnRbaV0gJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Greedy",
+ "Heap (Priority Queue)"
+ ]
+ },
+ {
+ "title": "2325. Decode the Message",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdGhlIHN0cmluZ3MgPGNvZGU+a2V5PC9jb2RlPiBhbmQgPGNvZGU+bWVzc2FnZTwvY29kZT4sIHdoaWNoIHJlcHJlc2VudCBhIGNpcGhlciBrZXkgYW5kIGEgc2VjcmV0IG1lc3NhZ2UsIHJlc3BlY3RpdmVseS4gVGhlIHN0ZXBzIHRvIGRlY29kZSA8Y29kZT5tZXNzYWdlPC9jb2RlPiBhcmUgYXMgZm9sbG93czo8L3A+CjxvbD4KPGxpPlVzZSB0aGUgPHN0cm9uZz5maXJzdDwvc3Ryb25nPiBhcHBlYXJhbmNlIG9mIGFsbCAyNiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzIGluIDxjb2RlPmtleTwvY29kZT4gYXMgdGhlIDxzdHJvbmc+b3JkZXI8L3N0cm9uZz4gb2YgdGhlIHN1YnN0aXR1dGlvbiB0YWJsZS48L2xpPgo8bGk+QWxpZ24gdGhlIHN1YnN0aXR1dGlvbiB0YWJsZSB3aXRoIHRoZSByZWd1bGFyIEVuZ2xpc2ggYWxwaGFiZXQuPC9saT4KPGxpPkVhY2ggbGV0dGVyIGluIDxjb2RlPm1lc3NhZ2U8L2NvZGU+IGlzIHRoZW4gPHN0cm9uZz5zdWJzdGl0dXRlZDwvc3Ryb25nPiB1c2luZyB0aGUgdGFibGUuPC9saT4KPGxpPlNwYWNlcyA8Y29kZT4nICc8L2NvZGU+IGFyZSB0cmFuc2Zvcm1lZCB0byB0aGVtc2VsdmVzLjwvbGk+Cjwvb2w+Cjx1bD4KPGxpPkZvciBleGFtcGxlLCBnaXZlbiA8Y29kZT5rZXkgPSAiPHU+PHN0cm9uZz5oYXA8L3N0cm9uZz48L3U+cDx1PjxzdHJvbmc+eTwvc3Ryb25nPjwvdT4gPHU+PHN0cm9uZz5ibzwvc3Ryb25nPjwvdT55IjwvY29kZT4gKGFjdHVhbCBrZXkgd291bGQgaGF2ZSA8c3Ryb25nPmF0IGxlYXN0IG9uZTwvc3Ryb25nPiBpbnN0YW5jZSBvZiBlYWNoIGxldHRlciBpbiB0aGUgYWxwaGFiZXQpLCB3ZSBoYXZlIHRoZSBwYXJ0aWFsIHN1YnN0aXR1dGlvbiB0YWJsZSBvZiAoPGNvZGU+J2gnIC0mZ3Q7ICdhJzwvY29kZT4sIDxjb2RlPidhJyAtJmd0OyAnYic8L2NvZGU+LCA8Y29kZT4ncCcgLSZndDsgJ2MnPC9jb2RlPiwgPGNvZGU+J3knIC0mZ3Q7ICdkJzwvY29kZT4sIDxjb2RlPidiJyAtJmd0OyAnZSc8L2NvZGU+LCA8Y29kZT4nbycgLSZndDsgJ2YnPC9jb2RlPikuPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgZGVjb2RlZCBtZXNzYWdlPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA1LzA4L2V4MW5ldzQuanBnIiBzdHlsZT0id2lkdGg6IDc1MnB4OyBoZWlnaHQ6IDE1MHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGtleSA9ICJ0aGUgcXVpY2sgYnJvd24gZm94IGp1bXBzIG92ZXIgdGhlIGxhenkgZG9nIiwgbWVzc2FnZSA9ICJ2a2JzIGJzIHQgc3VlcHV2Igo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gInRoaXMgaXMgYSBzZWNyZXQiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBkaWFncmFtIGFib3ZlIHNob3dzIHRoZSBzdWJzdGl0dXRpb24gdGFibGUuCkl0IGlzIG9idGFpbmVkIGJ5IHRha2luZyB0aGUgZmlyc3QgYXBwZWFyYW5jZSBvZiBlYWNoIGxldHRlciBpbiAiPHU+PHN0cm9uZz50aGU8L3N0cm9uZz48L3U+IDx1PjxzdHJvbmc+cXVpY2s8L3N0cm9uZz48L3U+IDx1PjxzdHJvbmc+YnJvd248L3N0cm9uZz48L3U+IDx1PjxzdHJvbmc+Zjwvc3Ryb25nPjwvdT5vPHU+PHN0cm9uZz54PC9zdHJvbmc+PC91PiA8dT48c3Ryb25nPmo8L3N0cm9uZz48L3U+dTx1PjxzdHJvbmc+bXBzPC9zdHJvbmc+PC91PiBvPHU+PHN0cm9uZz52PC9zdHJvbmc+PC91PmVyIHRoZSA8dT48c3Ryb25nPmxhenk8L3N0cm9uZz48L3U+IDx1PjxzdHJvbmc+ZDwvc3Ryb25nPjwvdT5vPHU+PHN0cm9uZz5nPC9zdHJvbmc+PC91PiIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDUvMDgvZXgybmV3LmpwZyIgc3R5bGU9IndpZHRoOiA3NTRweDsgaGVpZ2h0OiAxNTBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBrZXkgPSAiZWxqdXhocHdueXJkZ3Rxa3Zpc3pjZm1hYm8iLCBtZXNzYWdlID0gInp3eCBobmZ4IGxxYW50cCBtbm9laXVzIHljZ2sgdmNuanJkYiIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICJ0aGUgZml2ZSBib3hpbmcgd2l6YXJkcyBqdW1wIHF1aWNrbHkiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBkaWFncmFtIGFib3ZlIHNob3dzIHRoZSBzdWJzdGl0dXRpb24gdGFibGUuCkl0IGlzIG9idGFpbmVkIGJ5IHRha2luZyB0aGUgZmlyc3QgYXBwZWFyYW5jZSBvZiBlYWNoIGxldHRlciBpbiAiPHU+PHN0cm9uZz5lbGp1eGhwd255cmRndHFrdmlzemNmbWFibzwvc3Ryb25nPjwvdT4iLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4yNiAmbHQ7PSBrZXkubGVuZ3RoICZsdDs9IDIwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPmtleTwvY29kZT4gY29uc2lzdHMgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycyBhbmQgPGNvZGU+JyAnPC9jb2RlPi48L2xpPgo8bGk+PGNvZGU+a2V5PC9jb2RlPiBjb250YWlucyBldmVyeSBsZXR0ZXIgaW4gdGhlIEVuZ2xpc2ggYWxwaGFiZXQgKDxjb2RlPidhJzwvY29kZT4gdG8gPGNvZGU+J3onPC9jb2RlPikgPHN0cm9uZz5hdCBsZWFzdCBvbmNlPC9zdHJvbmc+LjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG1lc3NhZ2UubGVuZ3RoICZsdDs9IDIwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPm1lc3NhZ2U8L2NvZGU+IGNvbnNpc3RzIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMgYW5kIDxjb2RlPicgJzwvY29kZT4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Hash Table",
+ "String"
+ ]
+ },
+ {
+ "title": "2315. Count Asterisks",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4sIHdoZXJlIGV2ZXJ5IDxzdHJvbmc+dHdvPC9zdHJvbmc+IGNvbnNlY3V0aXZlIHZlcnRpY2FsIGJhcnMgPGNvZGU+J3wnPC9jb2RlPiBhcmUgZ3JvdXBlZCBpbnRvIGEgPHN0cm9uZz5wYWlyPC9zdHJvbmc+LiBJbiBvdGhlciB3b3JkcywgdGhlIDE8c3VwPnN0PC9zdXA+IGFuZCAyPHN1cD5uZDwvc3VwPiA8Y29kZT4nfCc8L2NvZGU+IG1ha2UgYSBwYWlyLCB0aGUgMzxzdXA+cmQ8L3N1cD4gYW5kIDQ8c3VwPnRoPC9zdXA+IDxjb2RlPid8JzwvY29kZT4gbWFrZSBhIHBhaXIsIGFuZCBzbyBmb3J0aC48L3A+CjxwPlJldHVybiA8ZW0+dGhlIG51bWJlciBvZiA8L2VtPjxjb2RlPicqJzwvY29kZT48ZW0+IGluIDwvZW0+PGNvZGU+czwvY29kZT48ZW0+LCA8c3Ryb25nPmV4Y2x1ZGluZzwvc3Ryb25nPiB0aGUgPC9lbT48Y29kZT4nKic8L2NvZGU+PGVtPiBiZXR3ZWVuIGVhY2ggcGFpciBvZiA8L2VtPjxjb2RlPid8JzwvY29kZT4uPC9wPgo8cD48c3Ryb25nPk5vdGU8L3N0cm9uZz4gdGhhdCBlYWNoIDxjb2RlPid8JzwvY29kZT4gd2lsbCBiZWxvbmcgdG8gPHN0cm9uZz5leGFjdGx5PC9zdHJvbmc+IG9uZSBwYWlyLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJsfCplKmV0fGMqKm98KmRlfCIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGNvbnNpZGVyZWQgY2hhcmFjdGVycyBhcmUgdW5kZXJsaW5lZDogIjx1Pmw8L3U+fCplKmV0fDx1PmMqKm88L3U+fCpkZXwiLgpUaGUgY2hhcmFjdGVycyBiZXR3ZWVuIHRoZSBmaXJzdCBhbmQgc2Vjb25kICd8JyBhcmUgZXhjbHVkZWQgZnJvbSB0aGUgYW5zd2VyLgpBbHNvLCB0aGUgY2hhcmFjdGVycyBiZXR3ZWVuIHRoZSB0aGlyZCBhbmQgZm91cnRoICd8JyBhcmUgZXhjbHVkZWQgZnJvbSB0aGUgYW5zd2VyLgpUaGVyZSBhcmUgMiBhc3Rlcmlza3MgY29uc2lkZXJlZC4gVGhlcmVmb3JlLCB3ZSByZXR1cm4gMi48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImlhbXByb2dyYW1tZXIiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEluIHRoaXMgZXhhbXBsZSwgdGhlcmUgYXJlIG5vIGFzdGVyaXNrcyBpbiBzLiBUaGVyZWZvcmUsIHdlIHJldHVybiAwLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gInlvfHVhcnxlKip8YnxlKioqYXV8dGlmdXxsIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgY29uc2lkZXJlZCBjaGFyYWN0ZXJzIGFyZSB1bmRlcmxpbmVkOiAiPHU+eW88L3U+fHVhcnw8dT5lKio8L3U+fGJ8PHU+ZSoqKmF1PC91Pnx0aWZ1fDx1Pmw8L3U+Ii4gVGhlcmUgYXJlIDUgYXN0ZXJpc2tzIGNvbnNpZGVyZWQuIFRoZXJlZm9yZSwgd2UgcmV0dXJuIDUuPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBzLmxlbmd0aCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zPC9jb2RlPiBjb25zaXN0cyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLCB2ZXJ0aWNhbCBiYXJzIDxjb2RlPid8JzwvY29kZT4sIGFuZCBhc3Rlcmlza3MgPGNvZGU+JyonPC9jb2RlPi48L2xpPgo8bGk+PGNvZGU+czwvY29kZT4gY29udGFpbnMgYW4gPHN0cm9uZz5ldmVuPC9zdHJvbmc+IG51bWJlciBvZiB2ZXJ0aWNhbCBiYXJzIDxjb2RlPid8JzwvY29kZT4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "String"
+ ]
+ },
+ {
+ "title": "2319. Check if Matrix Is X-Matrix",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgc3F1YXJlIG1hdHJpeCBpcyBzYWlkIHRvIGJlIGFuIDxzdHJvbmc+WC1NYXRyaXg8L3N0cm9uZz4gaWYgPHN0cm9uZz5ib3RoPC9zdHJvbmc+IG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBob2xkOjwvcD4KPG9sPgo8bGk+QWxsIHRoZSBlbGVtZW50cyBpbiB0aGUgZGlhZ29uYWxzIG9mIHRoZSBtYXRyaXggYXJlIDxzdHJvbmc+bm9uLXplcm88L3N0cm9uZz4uPC9saT4KPGxpPkFsbCBvdGhlciBlbGVtZW50cyBhcmUgMC48L2xpPgo8L29sPgo8cD5HaXZlbiBhIDJEIGludGVnZXIgYXJyYXkgPGNvZGU+Z3JpZDwvY29kZT4gb2Ygc2l6ZSA8Y29kZT5uIHggbjwvY29kZT4gcmVwcmVzZW50aW5nIGEgc3F1YXJlIG1hdHJpeCwgcmV0dXJuIDxjb2RlPnRydWU8L2NvZGU+PGVtPiBpZiA8L2VtPjxjb2RlPmdyaWQ8L2NvZGU+PGVtPiBpcyBhbiBYLU1hdHJpeDwvZW0+LiBPdGhlcndpc2UsIHJldHVybiA8Y29kZT5mYWxzZTwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA1LzAzL2V4MS5qcGciIHN0eWxlPSJ3aWR0aDogMzExcHg7IGhlaWdodDogMzIwcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbMiwwLDAsMV0sWzAsMywxLDBdLFswLDUsMiwwXSxbNCwwLDAsMl1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiB0cnVlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFJlZmVyIHRvIHRoZSBkaWFncmFtIGFib3ZlLiAKQW4gWC1NYXRyaXggc2hvdWxkIGhhdmUgdGhlIGdyZWVuIGVsZW1lbnRzIChkaWFnb25hbHMpIGJlIG5vbi16ZXJvIGFuZCB0aGUgcmVkIGVsZW1lbnRzIGJlIDAuClRodXMsIGdyaWQgaXMgYW4gWC1NYXRyaXguCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDUvMDMvZXgyLmpwZyIgc3R5bGU9IndpZHRoOiAyMzhweDsgaGVpZ2h0OiAyNDZweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBncmlkID0gW1s1LDcsMF0sWzAsMywxXSxbMCw1LDBdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gZmFsc2UKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gUmVmZXIgdG8gdGhlIGRpYWdyYW0gYWJvdmUuCkFuIFgtTWF0cml4IHNob3VsZCBoYXZlIHRoZSBncmVlbiBlbGVtZW50cyAoZGlhZ29uYWxzKSBiZSBub24temVybyBhbmQgdGhlIHJlZCBlbGVtZW50cyBiZSAwLgpUaHVzLCBncmlkIGlzIG5vdCBhbiBYLU1hdHJpeC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBncmlkLmxlbmd0aCA9PSBncmlkW2ldLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MyAmbHQ7PSBuICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBncmlkW2ldW2pdICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Matrix"
+ ]
+ },
+ {
+ "title": "2299. Strong Password Checker II",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgcGFzc3dvcmQgaXMgc2FpZCB0byBiZSA8c3Ryb25nPnN0cm9uZzwvc3Ryb25nPiBpZiBpdCBzYXRpc2ZpZXMgYWxsIHRoZSBmb2xsb3dpbmcgY3JpdGVyaWE6PC9wPgo8dWw+CjxsaT5JdCBoYXMgYXQgbGVhc3QgPGNvZGU+ODwvY29kZT4gY2hhcmFjdGVycy48L2xpPgo8bGk+SXQgY29udGFpbnMgYXQgbGVhc3QgPHN0cm9uZz5vbmUgbG93ZXJjYXNlPC9zdHJvbmc+IGxldHRlci48L2xpPgo8bGk+SXQgY29udGFpbnMgYXQgbGVhc3QgPHN0cm9uZz5vbmUgdXBwZXJjYXNlPC9zdHJvbmc+IGxldHRlci48L2xpPgo8bGk+SXQgY29udGFpbnMgYXQgbGVhc3QgPHN0cm9uZz5vbmUgZGlnaXQ8L3N0cm9uZz4uPC9saT4KPGxpPkl0IGNvbnRhaW5zIGF0IGxlYXN0IDxzdHJvbmc+b25lIHNwZWNpYWwgY2hhcmFjdGVyPC9zdHJvbmc+LiBUaGUgc3BlY2lhbCBjaGFyYWN0ZXJzIGFyZSB0aGUgY2hhcmFjdGVycyBpbiB0aGUgZm9sbG93aW5nIHN0cmluZzogPGNvZGU+IiFAIyQlXiZhbXA7KigpLSsiPC9jb2RlPi48L2xpPgo8bGk+SXQgZG9lcyA8c3Ryb25nPm5vdDwvc3Ryb25nPiBjb250YWluIDxjb2RlPjI8L2NvZGU+IG9mIHRoZSBzYW1lIGNoYXJhY3RlciBpbiBhZGphY2VudCBwb3NpdGlvbnMgKGkuZS4sIDxjb2RlPiJhYWIiPC9jb2RlPiB2aW9sYXRlcyB0aGlzIGNvbmRpdGlvbiwgYnV0IDxjb2RlPiJhYmEiPC9jb2RlPiBkb2VzIG5vdCkuPC9saT4KPC91bD4KPHA+R2l2ZW4gYSBzdHJpbmcgPGNvZGU+cGFzc3dvcmQ8L2NvZGU+LCByZXR1cm4gPGNvZGU+dHJ1ZTwvY29kZT48ZW0+IGlmIGl0IGlzIGEgPHN0cm9uZz5zdHJvbmc8L3N0cm9uZz4gcGFzc3dvcmQ8L2VtPi4gT3RoZXJ3aXNlLCByZXR1cm4gPGNvZGU+ZmFsc2U8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcGFzc3dvcmQgPSAiSWxvdmVMZTN0Y29kZSEiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiB0cnVlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBwYXNzd29yZCBtZWV0cyBhbGwgdGhlIHJlcXVpcmVtZW50cy4gVGhlcmVmb3JlLCB3ZSByZXR1cm4gdHJ1ZS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcGFzc3dvcmQgPSAiTWUrWW91LS1Jc015RHJlYW0iCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBmYWxzZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgcGFzc3dvcmQgZG9lcyBub3QgY29udGFpbiBhIGRpZ2l0IGFuZCBhbHNvIGNvbnRhaW5zIDIgb2YgdGhlIHNhbWUgY2hhcmFjdGVyIGluIGFkamFjZW50IHBvc2l0aW9ucy4gVGhlcmVmb3JlLCB3ZSByZXR1cm4gZmFsc2UuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHBhc3N3b3JkID0gIjFhQiEiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBmYWxzZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgcGFzc3dvcmQgZG9lcyBub3QgbWVldCB0aGUgbGVuZ3RoIHJlcXVpcmVtZW50LiBUaGVyZWZvcmUsIHdlIHJldHVybiBmYWxzZS48L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHBhc3N3b3JkLmxlbmd0aCAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnBhc3N3b3JkPC9jb2RlPiBjb25zaXN0cyBvZiBsZXR0ZXJzLCBkaWdpdHMsIGFuZCBzcGVjaWFsIGNoYXJhY3RlcnM6IDxjb2RlPiIhQCMkJV4mYW1wOyooKS0rIjwvY29kZT4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "String"
+ ]
+ },
+ {
+ "title": "2293. Min Max Game",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IHdob3NlIGxlbmd0aCBpcyBhIHBvd2VyIG9mIDxjb2RlPjI8L2NvZGU+LjwvcD4KPHA+QXBwbHkgdGhlIGZvbGxvd2luZyBhbGdvcml0aG0gb24gPGNvZGU+bnVtczwvY29kZT46PC9wPgo8b2w+CjxsaT5MZXQgPGNvZGU+bjwvY29kZT4gYmUgdGhlIGxlbmd0aCBvZiA8Y29kZT5udW1zPC9jb2RlPi4gSWYgPGNvZGU+biA9PSAxPC9jb2RlPiwgPHN0cm9uZz5lbmQ8L3N0cm9uZz4gdGhlIHByb2Nlc3MuIE90aGVyd2lzZSwgPHN0cm9uZz5jcmVhdGU8L3N0cm9uZz4gYSBuZXcgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT5uZXdOdW1zPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+biAvIDI8L2NvZGU+LjwvbGk+CjxsaT5Gb3IgZXZlcnkgPHN0cm9uZz5ldmVuPC9zdHJvbmc+IGluZGV4IDxjb2RlPmk8L2NvZGU+IHdoZXJlIDxjb2RlPjAgJmx0Oz0gaSAmbHQ7IG4gLyAyPC9jb2RlPiwgPHN0cm9uZz5hc3NpZ248L3N0cm9uZz4gdGhlIHZhbHVlIG9mIDxjb2RlPm5ld051bXNbaV08L2NvZGU+IGFzIDxjb2RlPm1pbihudW1zWzIgKiBpXSwgbnVtc1syICogaSArIDFdKTwvY29kZT4uPC9saT4KPGxpPkZvciBldmVyeSA8c3Ryb25nPm9kZDwvc3Ryb25nPiBpbmRleCA8Y29kZT5pPC9jb2RlPiB3aGVyZSA8Y29kZT4wICZsdDs9IGkgJmx0OyBuIC8gMjwvY29kZT4sIDxzdHJvbmc+YXNzaWduPC9zdHJvbmc+IHRoZSB2YWx1ZSBvZiA8Y29kZT5uZXdOdW1zW2ldPC9jb2RlPiBhcyA8Y29kZT5tYXgobnVtc1syICogaV0sIG51bXNbMiAqIGkgKyAxXSk8L2NvZGU+LjwvbGk+CjxsaT48c3Ryb25nPlJlcGxhY2U8L3N0cm9uZz4gdGhlIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IHdpdGggPGNvZGU+bmV3TnVtczwvY29kZT4uPC9saT4KPGxpPjxzdHJvbmc+UmVwZWF0PC9zdHJvbmc+IHRoZSBlbnRpcmUgcHJvY2VzcyBzdGFydGluZyBmcm9tIHN0ZXAgMS48L2xpPgo8L29sPgo8cD5SZXR1cm4gPGVtPnRoZSBsYXN0IG51bWJlciB0aGF0IHJlbWFpbnMgaW4gPC9lbT48Y29kZT5udW1zPC9jb2RlPjxlbT4gYWZ0ZXIgYXBwbHlpbmcgdGhlIGFsZ29yaXRobS48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wNC8xMy9leGFtcGxlMWRyYXdpby0xLnBuZyIgc3R5bGU9IndpZHRoOiA1MDBweDsgaGVpZ2h0OiAyNDBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMyw1LDIsNCw4LDIsMl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGZvbGxvd2luZyBhcnJheXMgYXJlIHRoZSByZXN1bHRzIG9mIGFwcGx5aW5nIHRoZSBhbGdvcml0aG0gcmVwZWF0ZWRseS4KRmlyc3Q6IG51bXMgPSBbMSw1LDQsMl0KU2Vjb25kOiBudW1zID0gWzEsNF0KVGhpcmQ6IG51bXMgPSBbMV0KMSBpcyB0aGUgbGFzdCByZW1haW5pbmcgbnVtYmVyLCBzbyB3ZSByZXR1cm4gMS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFszXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAzIGlzIGFscmVhZHkgdGhlIGxhc3QgcmVtYWluaW5nIG51bWJlciwgc28gd2UgcmV0dXJuIDMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTAyNDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5udW1zLmxlbmd0aDwvY29kZT4gaXMgYSBwb3dlciBvZiA8Y29kZT4yPC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2236. Root Equals Sum of Children",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdGhlIDxjb2RlPnJvb3Q8L2NvZGU+IG9mIGEgPHN0cm9uZz5iaW5hcnkgdHJlZTwvc3Ryb25nPiB0aGF0IGNvbnNpc3RzIG9mIGV4YWN0bHkgPGNvZGU+MzwvY29kZT4gbm9kZXM6IHRoZSByb290LCBpdHMgbGVmdCBjaGlsZCwgYW5kIGl0cyByaWdodCBjaGlsZC48L3A+CjxwPlJldHVybiA8Y29kZT50cnVlPC9jb2RlPiA8ZW0+aWYgdGhlIHZhbHVlIG9mIHRoZSByb290IGlzIGVxdWFsIHRvIHRoZSA8c3Ryb25nPnN1bTwvc3Ryb25nPiBvZiB0aGUgdmFsdWVzIG9mIGl0cyB0d28gY2hpbGRyZW4sIG9yIDwvZW0+PGNvZGU+ZmFsc2U8L2NvZGU+PGVtPiBvdGhlcndpc2U8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDQvMDgvZ3JhcGgzZHJhd2lvLnBuZyIgc3R5bGU9IndpZHRoOiAyODFweDsgaGVpZ2h0OiAxOTlweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiByb290ID0gWzEwLDQsNl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IHRydWUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHZhbHVlcyBvZiB0aGUgcm9vdCwgaXRzIGxlZnQgY2hpbGQsIGFuZCBpdHMgcmlnaHQgY2hpbGQgYXJlIDEwLCA0LCBhbmQgNiwgcmVzcGVjdGl2ZWx5LgoxMCBpcyBlcXVhbCB0byA0ICsgNiwgc28gd2UgcmV0dXJuIHRydWUuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDQvMDgvZ3JhcGgzZHJhd2lvLTEucG5nIiBzdHlsZT0id2lkdGg6IDI4MXB4OyBoZWlnaHQ6IDE5OXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHJvb3QgPSBbNSwzLDFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBmYWxzZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgdmFsdWVzIG9mIHRoZSByb290LCBpdHMgbGVmdCBjaGlsZCwgYW5kIGl0cyByaWdodCBjaGlsZCBhcmUgNSwgMywgYW5kIDEsIHJlc3BlY3RpdmVseS4KNSBpcyBub3QgZXF1YWwgdG8gMyArIDEsIHNvIHdlIHJldHVybiBmYWxzZS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+VGhlIHRyZWUgY29uc2lzdHMgb25seSBvZiB0aGUgcm9vdCwgaXRzIGxlZnQgY2hpbGQsIGFuZCBpdHMgcmlnaHQgY2hpbGQuPC9saT4KPGxpPjxjb2RlPi0xMDAgJmx0Oz0gTm9kZS52YWwgJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Tree",
+ "Binary Tree"
+ ]
+ },
+ {
+ "title": "2235. Add Two Integers",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PkdpdmVuIHR3byBpbnRlZ2VycyA8Y29kZT5udW0xPC9jb2RlPiBhbmQgPGNvZGU+bnVtMjwvY29kZT4sIHJldHVybiA8ZW0+dGhlIDxzdHJvbmc+c3VtPC9zdHJvbmc+IG9mIHRoZSB0d28gaW50ZWdlcnM8L2VtPi4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtMSA9IDEyLCBudW0yID0gNQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTcKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gbnVtMSBpcyAxMiwgbnVtMiBpcyA1LCBhbmQgdGhlaXIgc3VtIGlzIDEyICsgNSA9IDE3LCBzbyAxNyBpcyByZXR1cm5lZC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtMSA9IC0xMCwgbnVtMiA9IDQKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IC02CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IG51bTEgKyBudW0yID0gLTYsIHNvIC02IGlzIHJldHVybmVkLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4tMTAwICZsdDs9IG51bTEsIG51bTIgJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Math"
+ ]
+ },
+ {
+ "title": "2283. Check if Number Has Equal Digit Count and Digit Value",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBzdHJpbmcgPGNvZGU+bnVtPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4gY29uc2lzdGluZyBvZiBkaWdpdHMuPC9wPgo8cD5SZXR1cm4gPGNvZGU+dHJ1ZTwvY29kZT4gPGVtPmlmIGZvciA8c3Ryb25nPmV2ZXJ5PC9zdHJvbmc+IGluZGV4IDwvZW0+PGNvZGU+aTwvY29kZT48ZW0+IGluIHRoZSByYW5nZSA8L2VtPjxjb2RlPjAgJmx0Oz0gaSAmbHQ7IG48L2NvZGU+PGVtPiwgdGhlIGRpZ2l0IDwvZW0+PGNvZGU+aTwvY29kZT48ZW0+IG9jY3VycyA8L2VtPjxjb2RlPm51bVtpXTwvY29kZT48ZW0+IHRpbWVzIGluIDwvZW0+PGNvZGU+bnVtPC9jb2RlPjxlbT4sIG90aGVyd2lzZSByZXR1cm4gPC9lbT48Y29kZT5mYWxzZTwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW0gPSAiMTIxMCIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IHRydWUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KbnVtWzBdID0gJzEnLiBUaGUgZGlnaXQgMCBvY2N1cnMgb25jZSBpbiBudW0uCm51bVsxXSA9ICcyJy4gVGhlIGRpZ2l0IDEgb2NjdXJzIHR3aWNlIGluIG51bS4KbnVtWzJdID0gJzEnLiBUaGUgZGlnaXQgMiBvY2N1cnMgb25jZSBpbiBudW0uCm51bVszXSA9ICcwJy4gVGhlIGRpZ2l0IDMgb2NjdXJzIHplcm8gdGltZXMgaW4gbnVtLgpUaGUgY29uZGl0aW9uIGhvbGRzIHRydWUgZm9yIGV2ZXJ5IGluZGV4IGluICIxMjEwIiwgc28gcmV0dXJuIHRydWUuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bSA9ICIwMzAiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBmYWxzZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpudW1bMF0gPSAnMCcuIFRoZSBkaWdpdCAwIHNob3VsZCBvY2N1ciB6ZXJvIHRpbWVzLCBidXQgYWN0dWFsbHkgb2NjdXJzIHR3aWNlIGluIG51bS4KbnVtWzFdID0gJzMnLiBUaGUgZGlnaXQgMSBzaG91bGQgb2NjdXIgdGhyZWUgdGltZXMsIGJ1dCBhY3R1YWxseSBvY2N1cnMgemVybyB0aW1lcyBpbiBudW0uCm51bVsyXSA9ICcwJy4gVGhlIGRpZ2l0IDIgb2NjdXJzIHplcm8gdGltZXMgaW4gbnVtLgpUaGUgaW5kaWNlcyAwIGFuZCAxIGJvdGggdmlvbGF0ZSB0aGUgY29uZGl0aW9uLCBzbyByZXR1cm4gZmFsc2UuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gbnVtLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDEwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5udW08L2NvZGU+IGNvbnNpc3RzIG9mIGRpZ2l0cy48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Hash Table",
+ "String",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2287. Rearrange Characters to Make Target String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IHN0cmluZ3MgPGNvZGU+czwvY29kZT4gYW5kIDxjb2RlPnRhcmdldDwvY29kZT4uIFlvdSBjYW4gdGFrZSBzb21lIGxldHRlcnMgZnJvbSA8Y29kZT5zPC9jb2RlPiBhbmQgcmVhcnJhbmdlIHRoZW0gdG8gZm9ybSBuZXcgc3RyaW5ncy48L3A+CjxwPlJldHVybjxlbT4gdGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBudW1iZXIgb2YgY29waWVzIG9mIDwvZW0+PGNvZGU+dGFyZ2V0PC9jb2RlPjxlbT4gdGhhdCBjYW4gYmUgZm9ybWVkIGJ5IHRha2luZyBsZXR0ZXJzIGZyb20gPC9lbT48Y29kZT5zPC9jb2RlPjxlbT4gYW5kIHJlYXJyYW5naW5nIHRoZW0uPC9lbT48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiaWxvdmVjb2RpbmdvbmxlZXRjb2RlIiwgdGFyZ2V0ID0gImNvZGUiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+CkZvciB0aGUgZmlyc3QgY29weSBvZiAiY29kZSIsIHRha2UgdGhlIGxldHRlcnMgYXQgaW5kaWNlcyA0LCA1LCA2LCBhbmQgNy4KRm9yIHRoZSBzZWNvbmQgY29weSBvZiAiY29kZSIsIHRha2UgdGhlIGxldHRlcnMgYXQgaW5kaWNlcyAxNywgMTgsIDE5LCBhbmQgMjAuClRoZSBzdHJpbmdzIHRoYXQgYXJlIGZvcm1lZCBhcmUgImVjb2QiIGFuZCAiY29kZSIgd2hpY2ggY2FuIGJvdGggYmUgcmVhcnJhbmdlZCBpbnRvICJjb2RlIi4KV2UgY2FuIG1ha2UgYXQgbW9zdCB0d28gY29waWVzIG9mICJjb2RlIiwgc28gd2UgcmV0dXJuIDIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiYWJjYmEiLCB0YXJnZXQgPSAiYWJjIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpXZSBjYW4gbWFrZSBvbmUgY29weSBvZiAiYWJjIiBieSB0YWtpbmcgdGhlIGxldHRlcnMgYXQgaW5kaWNlcyAwLCAxLCBhbmQgMi4KV2UgY2FuIG1ha2UgYXQgbW9zdCBvbmUgY29weSBvZiAiYWJjIiwgc28gd2UgcmV0dXJuIDEuCk5vdGUgdGhhdCB3aGlsZSB0aGVyZSBpcyBhbiBleHRyYSAnYScgYW5kICdiJyBhdCBpbmRpY2VzIDMgYW5kIDQsIHdlIGNhbm5vdCByZXVzZSB0aGUgbGV0dGVyICdjJyBhdCBpbmRleCAyLCBzbyB3ZSBjYW5ub3QgbWFrZSBhIHNlY29uZCBjb3B5IG9mICJhYmMiLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImFiYmFjY2FkZGFlZWEiLCB0YXJnZXQgPSAiYWFhYWEiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+CldlIGNhbiBtYWtlIG9uZSBjb3B5IG9mICJhYWFhYSIgYnkgdGFraW5nIHRoZSBsZXR0ZXJzIGF0IGluZGljZXMgMCwgMywgNiwgOSwgYW5kIDEyLgpXZSBjYW4gbWFrZSBhdCBtb3N0IG9uZSBjb3B5IG9mICJhYWFhYSIsIHNvIHdlIHJldHVybiAxLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHMubGVuZ3RoICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSB0YXJnZXQubGVuZ3RoICZsdDs9IDEwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zPC9jb2RlPiBhbmQgPGNvZGU+dGFyZ2V0PC9jb2RlPiBjb25zaXN0IG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Hash Table",
+ "String",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2278. Percentage of Letter in String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgc3RyaW5nIDxjb2RlPnM8L2NvZGU+IGFuZCBhIGNoYXJhY3RlciA8Y29kZT5sZXR0ZXI8L2NvZGU+LCByZXR1cm48ZW0+IHRoZSA8c3Ryb25nPnBlcmNlbnRhZ2U8L3N0cm9uZz4gb2YgY2hhcmFjdGVycyBpbiA8L2VtPjxjb2RlPnM8L2NvZGU+PGVtPiB0aGF0IGVxdWFsIDwvZW0+PGNvZGU+bGV0dGVyPC9jb2RlPjxlbT4gPHN0cm9uZz5yb3VuZGVkIGRvd248L3N0cm9uZz4gdG8gdGhlIG5lYXJlc3Qgd2hvbGUgcGVyY2VudC48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJmb29iYXIiLCBsZXR0ZXIgPSAibyIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBwZXJjZW50YWdlIG9mIGNoYXJhY3RlcnMgaW4gcyB0aGF0IGVxdWFsIHRoZSBsZXR0ZXIgJ28nIGlzIDIgLyA2ICogMTAwJSA9IDMzJSB3aGVuIHJvdW5kZWQgZG93biwgc28gd2UgcmV0dXJuIDMzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImpqamoiLCBsZXR0ZXIgPSAiayIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIHBlcmNlbnRhZ2Ugb2YgY2hhcmFjdGVycyBpbiBzIHRoYXQgZXF1YWwgdGhlIGxldHRlciAnaycgaXMgMCUsIHNvIHdlIHJldHVybiAwLjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gcy5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zPC9jb2RlPiBjb25zaXN0cyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLjwvbGk+CjxsaT48Y29kZT5sZXR0ZXI8L2NvZGU+IGlzIGEgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVyLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "String"
+ ]
+ },
+ {
+ "title": "2243. Calculate Digit Sum of a String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4gY29uc2lzdGluZyBvZiBkaWdpdHMgYW5kIGFuIGludGVnZXIgPGNvZGU+azwvY29kZT4uPC9wPgo8cD5BIDxzdHJvbmc+cm91bmQ8L3N0cm9uZz4gY2FuIGJlIGNvbXBsZXRlZCBpZiB0aGUgbGVuZ3RoIG9mIDxjb2RlPnM8L2NvZGU+IGlzIGdyZWF0ZXIgdGhhbiA8Y29kZT5rPC9jb2RlPi4gSW4gb25lIHJvdW5kLCBkbyB0aGUgZm9sbG93aW5nOjwvcD4KPG9sPgo8bGk+PHN0cm9uZz5EaXZpZGU8L3N0cm9uZz4gPGNvZGU+czwvY29kZT4gaW50byA8c3Ryb25nPmNvbnNlY3V0aXZlIGdyb3Vwczwvc3Ryb25nPiBvZiBzaXplIDxjb2RlPms8L2NvZGU+IHN1Y2ggdGhhdCB0aGUgZmlyc3QgPGNvZGU+azwvY29kZT4gY2hhcmFjdGVycyBhcmUgaW4gdGhlIGZpcnN0IGdyb3VwLCB0aGUgbmV4dCA8Y29kZT5rPC9jb2RlPiBjaGFyYWN0ZXJzIGFyZSBpbiB0aGUgc2Vjb25kIGdyb3VwLCBhbmQgc28gb24uIDxzdHJvbmc+Tm90ZTwvc3Ryb25nPiB0aGF0IHRoZSBzaXplIG9mIHRoZSBsYXN0IGdyb3VwIGNhbiBiZSBzbWFsbGVyIHRoYW4gPGNvZGU+azwvY29kZT4uPC9saT4KPGxpPjxzdHJvbmc+UmVwbGFjZTwvc3Ryb25nPiBlYWNoIGdyb3VwIG9mIDxjb2RlPnM8L2NvZGU+IHdpdGggYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBzdW0gb2YgYWxsIGl0cyBkaWdpdHMuIEZvciBleGFtcGxlLCA8Y29kZT4iMzQ2IjwvY29kZT4gaXMgcmVwbGFjZWQgd2l0aCA8Y29kZT4iMTMiPC9jb2RlPiBiZWNhdXNlIDxjb2RlPjMgKyA0ICsgNiA9IDEzPC9jb2RlPi48L2xpPgo8bGk+PHN0cm9uZz5NZXJnZTwvc3Ryb25nPiBjb25zZWN1dGl2ZSBncm91cHMgdG9nZXRoZXIgdG8gZm9ybSBhIG5ldyBzdHJpbmcuIElmIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZyBpcyBncmVhdGVyIHRoYW4gPGNvZGU+azwvY29kZT4sIHJlcGVhdCBmcm9tIHN0ZXAgPGNvZGU+MTwvY29kZT4uPC9saT4KPC9vbD4KPHA+UmV0dXJuIDxjb2RlPnM8L2NvZGU+IDxlbT5hZnRlciBhbGwgcm91bmRzIGhhdmUgYmVlbiBjb21wbGV0ZWQ8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiMTExMTEyMjIyMjMiLCBrID0gMwo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gIjEzNSIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCi0gRm9yIHRoZSBmaXJzdCByb3VuZCwgd2UgZGl2aWRlIHMgaW50byBncm91cHMgb2Ygc2l6ZSAzOiAiMTExIiwgIjExMiIsICIyMjIiLCBhbmQgIjIzIi4KICDigIvigIvigIvigIvigItUaGVuIHdlIGNhbGN1bGF0ZSB0aGUgZGlnaXQgc3VtIG9mIGVhY2ggZ3JvdXA6IDEgKyAxICsgMSA9IDMsIDEgKyAxICsgMiA9IDQsIDIgKyAyICsgMiA9IDYsIGFuZCAyICsgMyA9IDUuIArCoCBTbywgcyBiZWNvbWVzICIzIiArICI0IiArICI2IiArICI1IiA9ICIzNDY1IiBhZnRlciB0aGUgZmlyc3Qgcm91bmQuCi0gRm9yIHRoZSBzZWNvbmQgcm91bmQsIHdlIGRpdmlkZSBzIGludG8gIjM0NiIgYW5kICI1Ii4KwqAgVGhlbiB3ZSBjYWxjdWxhdGUgdGhlIGRpZ2l0IHN1bSBvZiBlYWNoIGdyb3VwOiAzICsgNCArIDYgPSAxMywgNSA9IDUuIArCoCBTbywgcyBiZWNvbWVzICIxMyIgKyAiNSIgPSAiMTM1IiBhZnRlciBzZWNvbmQgcm91bmQuIApOb3csIHMubGVuZ3RoICZsdDs9IGssIHNvIHdlIHJldHVybiAiMTM1IiBhcyB0aGUgYW5zd2VyLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gIjAwMDAwMDAwIiwgayA9IDMKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICIwMDAiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApXZSBkaXZpZGUgcyBpbnRvICIwMDAiLCAiMDAwIiwgYW5kICIwMCIuClRoZW4gd2UgY2FsY3VsYXRlIHRoZSBkaWdpdCBzdW0gb2YgZWFjaCBncm91cDogMCArIDAgKyAwID0gMCwgMCArIDAgKyAwID0gMCwgYW5kIDAgKyAwID0gMC4gCnMgYmVjb21lcyAiMCIgKyAiMCIgKyAiMCIgPSAiMDAwIiwgd2hvc2UgbGVuZ3RoIGlzIGVxdWFsIHRvIGssIHNvIHdlIHJldHVybiAiMDAwIi4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBzLmxlbmd0aCAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjIgJmx0Oz0gayAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnM8L2NvZGU+IGNvbnNpc3RzIG9mIGRpZ2l0cyBvbmx5LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "String",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2239. Find Closest Number to Zero",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGludGVnZXIgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4gb2Ygc2l6ZSA8Y29kZT5uPC9jb2RlPiwgcmV0dXJuIDxlbT50aGUgbnVtYmVyIHdpdGggdGhlIHZhbHVlIDxzdHJvbmc+Y2xvc2VzdDwvc3Ryb25nPiB0byA8L2VtPjxjb2RlPjA8L2NvZGU+PGVtPiBpbiA8L2VtPjxjb2RlPm51bXM8L2NvZGU+LiBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgYW5zd2VycywgcmV0dXJuIDxlbT50aGUgbnVtYmVyIHdpdGggdGhlIDxzdHJvbmc+bGFyZ2VzdDwvc3Ryb25nPiB2YWx1ZTwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFstNCwtMiwxLDQsOF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIGRpc3RhbmNlIGZyb20gLTQgdG8gMCBpcyB8LTR8ID0gNC4KVGhlIGRpc3RhbmNlIGZyb20gLTIgdG8gMCBpcyB8LTJ8ID0gMi4KVGhlIGRpc3RhbmNlIGZyb20gMSB0byAwIGlzIHwxfCA9IDEuClRoZSBkaXN0YW5jZSBmcm9tIDQgdG8gMCBpcyB8NHwgPSA0LgpUaGUgZGlzdGFuY2UgZnJvbSA4IHRvIDAgaXMgfDh8ID0gOC4KVGh1cywgdGhlIGNsb3Nlc3QgbnVtYmVyIHRvIDAgaW4gdGhlIGFycmF5IGlzIDEuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMiwtMSwxXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAxIGFuZCAtMSBhcmUgYm90aCB0aGUgY2xvc2VzdCBudW1iZXJzIHRvIDAsIHNvIDEgYmVpbmcgbGFyZ2VyIGlzIHJldHVybmVkLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+LTEwPHN1cD41PC9zdXA+ICZsdDs9IG51bXNbaV0gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array"
+ ]
+ },
+ {
+ "title": "2264. Largest 3-Same-Digit Number in String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+bnVtPC9jb2RlPiByZXByZXNlbnRpbmcgYSBsYXJnZSBpbnRlZ2VyLiBBbiBpbnRlZ2VyIGlzIDxzdHJvbmc+Z29vZDwvc3Ryb25nPiBpZiBpdCBtZWV0cyB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6PC9wPgo8dWw+CjxsaT5JdCBpcyBhIDxzdHJvbmc+c3Vic3RyaW5nPC9zdHJvbmc+IG9mIDxjb2RlPm51bTwvY29kZT4gd2l0aCBsZW5ndGggPGNvZGU+MzwvY29kZT4uPC9saT4KPGxpPkl0IGNvbnNpc3RzIG9mIG9ubHkgb25lIHVuaXF1ZSBkaWdpdC48L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1heGltdW0gZ29vZCA8L3N0cm9uZz5pbnRlZ2VyIGFzIGEgPHN0cm9uZz5zdHJpbmc8L3N0cm9uZz4gb3IgYW4gZW1wdHkgc3RyaW5nIDwvZW0+PGNvZGU+IiI8L2NvZGU+PGVtPiBpZiBubyBzdWNoIGludGVnZXIgZXhpc3RzPC9lbT4uPC9wPgo8cD5Ob3RlOjwvcD4KPHVsPgo8bGk+QSA8c3Ryb25nPnN1YnN0cmluZzwvc3Ryb25nPiBpcyBhIGNvbnRpZ3VvdXMgc2VxdWVuY2Ugb2YgY2hhcmFjdGVycyB3aXRoaW4gYSBzdHJpbmcuPC9saT4KPGxpPlRoZXJlIG1heSBiZSA8c3Ryb25nPmxlYWRpbmcgemVyb2VzPC9zdHJvbmc+IGluIDxjb2RlPm51bTwvY29kZT4gb3IgYSBnb29kIGludGVnZXIuPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtID0gIjY8c3Ryb25nPjx1Pjc3NzwvdT48L3N0cm9uZz4xMzMzMzkiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiNzc3Igo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGVyZSBhcmUgdHdvIGRpc3RpbmN0IGdvb2QgaW50ZWdlcnM6ICI3NzciIGFuZCAiMzMzIi4KIjc3NyIgaXMgdGhlIGxhcmdlc3QsIHNvIHdlIHJldHVybiAiNzc3Ii4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtID0gIjIzPHN0cm9uZz48dT4wMDA8L3U+PC9zdHJvbmc+MTkiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiMDAwIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAiMDAwIiBpcyB0aGUgb25seSBnb29kIGludGVnZXIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bSA9ICI0MjM1MjMzOCIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICIiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IE5vIHN1YnN0cmluZyBvZiBsZW5ndGggMyBjb25zaXN0cyBvZiBvbmx5IG9uZSB1bmlxdWUgZGlnaXQuIFRoZXJlZm9yZSwgdGhlcmUgYXJlIG5vIGdvb2QgaW50ZWdlcnMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjMgJmx0Oz0gbnVtLmxlbmd0aCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5udW08L2NvZGU+IG9ubHkgY29uc2lzdHMgb2YgZGlnaXRzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "String"
+ ]
+ },
+ {
+ "title": "2224. Minimum Number of Operations to Convert Time",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIHN0cmluZ3MgPGNvZGU+Y3VycmVudDwvY29kZT4gYW5kIDxjb2RlPmNvcnJlY3Q8L2NvZGU+IHJlcHJlc2VudGluZyB0d28gPHN0cm9uZz4yNC1ob3VyIHRpbWVzPC9zdHJvbmc+LjwvcD4KPHA+MjQtaG91ciB0aW1lcyBhcmUgZm9ybWF0dGVkIGFzIDxjb2RlPiJISDpNTSI8L2NvZGU+LCB3aGVyZSA8Y29kZT5ISDwvY29kZT4gaXMgYmV0d2VlbiA8Y29kZT4wMDwvY29kZT4gYW5kIDxjb2RlPjIzPC9jb2RlPiwgYW5kIDxjb2RlPk1NPC9jb2RlPiBpcyBiZXR3ZWVuIDxjb2RlPjAwPC9jb2RlPiBhbmQgPGNvZGU+NTk8L2NvZGU+LiBUaGUgZWFybGllc3QgMjQtaG91ciB0aW1lIGlzIDxjb2RlPjAwOjAwPC9jb2RlPiwgYW5kIHRoZSBsYXRlc3QgaXMgPGNvZGU+MjM6NTk8L2NvZGU+LjwvcD4KPHA+SW4gb25lIG9wZXJhdGlvbiB5b3UgY2FuIGluY3JlYXNlIHRoZSB0aW1lIDxjb2RlPmN1cnJlbnQ8L2NvZGU+IGJ5IDxjb2RlPjE8L2NvZGU+LCA8Y29kZT41PC9jb2RlPiwgPGNvZGU+MTU8L2NvZGU+LCBvciA8Y29kZT42MDwvY29kZT4gbWludXRlcy4gWW91IGNhbiBwZXJmb3JtIHRoaXMgb3BlcmF0aW9uIDxzdHJvbmc+YW55PC9zdHJvbmc+IG51bWJlciBvZiB0aW1lcy48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWluaW11bSBudW1iZXIgb2Ygb3BlcmF0aW9uczwvc3Ryb25nPiBuZWVkZWQgdG8gY29udmVydCA8L2VtPjxjb2RlPmN1cnJlbnQ8L2NvZGU+PGVtPiB0byA8L2VtPjxjb2RlPmNvcnJlY3Q8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gY3VycmVudCA9ICIwMjozMCIsIGNvcnJlY3QgPSAiMDQ6MzUiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246Cjwvc3Ryb25nPldlIGNhbiBjb252ZXJ0IGN1cnJlbnQgdG8gY29ycmVjdCBpbiAzIG9wZXJhdGlvbnMgYXMgZm9sbG93czoKLSBBZGQgNjAgbWludXRlcyB0byBjdXJyZW50LiBjdXJyZW50IGJlY29tZXMgIjAzOjMwIi4KLSBBZGQgNjAgbWludXRlcyB0byBjdXJyZW50LiBjdXJyZW50IGJlY29tZXMgIjA0OjMwIi4KLSBBZGQgNSBtaW51dGVzIHRvIGN1cnJlbnQuIGN1cnJlbnQgYmVjb21lcyAiMDQ6MzUiLgpJdCBjYW4gYmUgcHJvdmVuIHRoYXQgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGNvbnZlcnQgY3VycmVudCB0byBjb3JyZWN0IGluIGZld2VyIHRoYW4gMyBvcGVyYXRpb25zLjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGN1cnJlbnQgPSAiMTE6MDAiLCBjb3JyZWN0ID0gIjExOjAxIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSBvbmx5IGhhdmUgdG8gYWRkIG9uZSBtaW51dGUgdG8gY3VycmVudCwgc28gdGhlIG1pbmltdW0gbnVtYmVyIG9mIG9wZXJhdGlvbnMgbmVlZGVkIGlzIDEuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPmN1cnJlbnQ8L2NvZGU+IGFuZCA8Y29kZT5jb3JyZWN0PC9jb2RlPiBhcmUgaW4gdGhlIGZvcm1hdCA8Y29kZT4iSEg6TU0iPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5jdXJyZW50ICZsdDs9IGNvcnJlY3Q8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "String",
+ "Greedy"
+ ]
+ },
+ {
+ "title": "2255. Count Prefixes of a Given String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgYXJyYXkgPGNvZGU+d29yZHM8L2NvZGU+IGFuZCBhIHN0cmluZyA8Y29kZT5zPC9jb2RlPiwgd2hlcmUgPGNvZGU+d29yZHNbaV08L2NvZGU+IGFuZCA8Y29kZT5zPC9jb2RlPiBjb21wcmlzZSBvbmx5IG9mIDxzdHJvbmc+bG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVyczwvc3Ryb25nPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bnVtYmVyIG9mIHN0cmluZ3M8L3N0cm9uZz4gaW48L2VtPiA8Y29kZT53b3JkczwvY29kZT4gPGVtPnRoYXQgYXJlIGEgPHN0cm9uZz5wcmVmaXg8L3N0cm9uZz4gb2Y8L2VtPiA8Y29kZT5zPC9jb2RlPi48L3A+CjxwPkEgPHN0cm9uZz5wcmVmaXg8L3N0cm9uZz4gb2YgYSBzdHJpbmcgaXMgYSBzdWJzdHJpbmcgdGhhdCBvY2N1cnMgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgc3RyaW5nLiBBIDxiPnN1YnN0cmluZzwvYj4gaXMgYSBjb250aWd1b3VzIHNlcXVlbmNlIG9mIGNoYXJhY3RlcnMgd2l0aGluIGEgc3RyaW5nLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZHMgPSBbImEiLCJiIiwiYyIsImFiIiwiYmMiLCJhYmMiXSwgcyA9ICJhYmMiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBzdHJpbmdzIGluIHdvcmRzIHdoaWNoIGFyZSBhIHByZWZpeCBvZiBzID0gImFiYyIgYXJlOgoiYSIsICJhYiIsIGFuZCAiYWJjIi4KVGh1cyB0aGUgbnVtYmVyIG9mIHN0cmluZ3MgaW4gd29yZHMgd2hpY2ggYXJlIGEgcHJlZml4IG9mIHMgaXMgMy48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB3b3JkcyA9IFsiYSIsImEiXSwgcyA9ICJhYSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjoKPC9zdHJvbmc+Qm90aCBvZiB0aGUgc3RyaW5ncyBhcmUgYSBwcmVmaXggb2Ygcy4gCk5vdGUgdGhhdCB0aGUgc2FtZSBzdHJpbmcgY2FuIG9jY3VyIG11bHRpcGxlIHRpbWVzIGluIHdvcmRzLCBhbmQgaXQgc2hvdWxkIGJlIGNvdW50ZWQgZWFjaCB0aW1lLjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gd29yZHMubGVuZ3RoICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gd29yZHNbaV0ubGVuZ3RoLCBzLmxlbmd0aCAmbHQ7PSAxMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+d29yZHNbaV08L2NvZGU+IGFuZCA8Y29kZT5zPC9jb2RlPiBjb25zaXN0IG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMgPHN0cm9uZz5vbmx5PC9zdHJvbmc+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "String"
+ ]
+ },
+ {
+ "title": "2259. Remove Digit From Number to Maximize Result",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+bnVtYmVyPC9jb2RlPiByZXByZXNlbnRpbmcgYSA8c3Ryb25nPnBvc2l0aXZlIGludGVnZXI8L3N0cm9uZz4gYW5kIGEgY2hhcmFjdGVyIDxjb2RlPmRpZ2l0PC9jb2RlPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIHJlc3VsdGluZyBzdHJpbmcgYWZ0ZXIgcmVtb3ZpbmcgPHN0cm9uZz5leGFjdGx5IG9uZSBvY2N1cnJlbmNlPC9zdHJvbmc+IG9mIDwvZW0+PGNvZGU+ZGlnaXQ8L2NvZGU+PGVtPiBmcm9tIDwvZW0+PGNvZGU+bnVtYmVyPC9jb2RlPjxlbT4gc3VjaCB0aGF0IHRoZSB2YWx1ZSBvZiB0aGUgcmVzdWx0aW5nIHN0cmluZyBpbiA8c3Ryb25nPmRlY2ltYWw8L3N0cm9uZz4gZm9ybSBpcyA8c3Ryb25nPm1heGltaXplZDwvc3Ryb25nPjwvZW0+LiBUaGUgdGVzdCBjYXNlcyBhcmUgZ2VuZXJhdGVkIHN1Y2ggdGhhdCA8Y29kZT5kaWdpdDwvY29kZT4gb2NjdXJzIGF0IGxlYXN0IG9uY2UgaW4gPGNvZGU+bnVtYmVyPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bWJlciA9ICIxMjMiLCBkaWdpdCA9ICIzIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gIjEyIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGVyZSBpcyBvbmx5IG9uZSAnMycgaW4gIjEyMyIuIEFmdGVyIHJlbW92aW5nICczJywgdGhlIHJlc3VsdCBpcyAiMTIiLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1iZXIgPSAiMTIzMSIsIGRpZ2l0ID0gIjEiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiMjMxIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSBjYW4gcmVtb3ZlIHRoZSBmaXJzdCAnMScgdG8gZ2V0ICIyMzEiIG9yIHJlbW92ZSB0aGUgc2Vjb25kICcxJyB0byBnZXQgIjEyMyIuClNpbmNlIDIzMSAmZ3Q7IDEyMywgd2UgcmV0dXJuICIyMzEiLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1iZXIgPSAiNTUxIiwgZGlnaXQgPSAiNSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICI1MSIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gV2UgY2FuIHJlbW92ZSBlaXRoZXIgdGhlIGZpcnN0IG9yIHNlY29uZCAnNScgZnJvbSAiNTUxIi4KQm90aCByZXN1bHQgaW4gdGhlIHN0cmluZyAiNTEiLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4yICZsdDs9IG51bWJlci5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5udW1iZXI8L2NvZGU+IGNvbnNpc3RzIG9mIGRpZ2l0cyBmcm9tIDxjb2RlPicxJzwvY29kZT4gdG8gPGNvZGU+JzknPC9jb2RlPi48L2xpPgo8bGk+PGNvZGU+ZGlnaXQ8L2NvZGU+IGlzIGEgZGlnaXQgZnJvbSA8Y29kZT4nMSc8L2NvZGU+IHRvIDxjb2RlPic5JzwvY29kZT4uPC9saT4KPGxpPjxjb2RlPmRpZ2l0PC9jb2RlPiBvY2N1cnMgYXQgbGVhc3Qgb25jZSBpbiA8Y29kZT5udW1iZXI8L2NvZGU+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "String",
+ "Greedy",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2248. Intersection of Multiple Arrays",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PkdpdmVuIGEgMkQgaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiB3aGVyZSA8Y29kZT5udW1zW2ldPC9jb2RlPiBpcyBhIG5vbi1lbXB0eSBhcnJheSBvZiA8c3Ryb25nPmRpc3RpbmN0PC9zdHJvbmc+IHBvc2l0aXZlIGludGVnZXJzLCByZXR1cm4gPGVtPnRoZSBsaXN0IG9mIGludGVnZXJzIHRoYXQgYXJlIHByZXNlbnQgaW4gPHN0cm9uZz5lYWNoIGFycmF5PC9zdHJvbmc+IG9mPC9lbT4gPGNvZGU+bnVtczwvY29kZT48ZW0+IHNvcnRlZCBpbiA8c3Ryb25nPmFzY2VuZGluZyBvcmRlcjwvc3Ryb25nPjwvZW0+Lgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gW1s8dT48c3Ryb25nPjM8L3N0cm9uZz48L3U+LDEsMiw8dT48c3Ryb25nPjQ8L3N0cm9uZz48L3U+LDVdLFsxLDIsPHU+PHN0cm9uZz4zPC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjQ8L3N0cm9uZz48L3U+XSxbPHU+PHN0cm9uZz4zPC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjQ8L3N0cm9uZz48L3U+LDUsNl1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMyw0XQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKVGhlIG9ubHkgaW50ZWdlcnMgcHJlc2VudCBpbiBlYWNoIG9mIG51bXNbMF0gPSBbPHU+PHN0cm9uZz4zPC9zdHJvbmc+PC91PiwxLDIsPHU+PHN0cm9uZz40PC9zdHJvbmc+PC91Piw1XSwgbnVtc1sxXSA9IFsxLDIsPHU+PHN0cm9uZz4zPC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjQ8L3N0cm9uZz48L3U+XSwgYW5kIG51bXNbMl0gPSBbPHU+PHN0cm9uZz4zPC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjQ8L3N0cm9uZz48L3U+LDUsNl0gYXJlIDMgYW5kIDQsIHNvIHdlIHJldHVybiBbMyw0XS48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gW1sxLDIsM10sWzQsNSw2XV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFtdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApUaGVyZSBkb2VzIG5vdCBleGlzdCBhbnkgaW50ZWdlciBwcmVzZW50IGJvdGggaW4gbnVtc1swXSBhbmQgbnVtc1sxXSwgc28gd2UgcmV0dXJuIGFuIGVtcHR5IGxpc3QgW10uCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBzdW0obnVtc1tpXS5sZW5ndGgpICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXVtqXSAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT5BbGwgdGhlIHZhbHVlcyBvZiA8Y29kZT5udW1zW2ldPC9jb2RlPiBhcmUgPHN0cm9uZz51bmlxdWU8L3N0cm9uZz4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2231. Largest Number After Digit Swaps by Parity",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBwb3NpdGl2ZSBpbnRlZ2VyIDxjb2RlPm51bTwvY29kZT4uIFlvdSBtYXkgc3dhcCBhbnkgdHdvIGRpZ2l0cyBvZiA8Y29kZT5udW08L2NvZGU+IHRoYXQgaGF2ZSB0aGUgc2FtZSA8c3Ryb25nPnBhcml0eTwvc3Ryb25nPiAoaS5lLiBib3RoIG9kZCBkaWdpdHMgb3IgYm90aCBldmVuIGRpZ2l0cykuPC9wPgo8cD5SZXR1cm48ZW0+IHRoZSA8c3Ryb25nPmxhcmdlc3Q8L3N0cm9uZz4gcG9zc2libGUgdmFsdWUgb2YgPC9lbT48Y29kZT5udW08L2NvZGU+PGVtPiBhZnRlciA8c3Ryb25nPmFueTwvc3Ryb25nPiBudW1iZXIgb2Ygc3dhcHMuPC9lbT48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bSA9IDEyMzQKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDM0MTIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gU3dhcCB0aGUgZGlnaXQgMyB3aXRoIHRoZSBkaWdpdCAxLCB0aGlzIHJlc3VsdHMgaW4gdGhlIG51bWJlciAzMjE0LgpTd2FwIHRoZSBkaWdpdCAyIHdpdGggdGhlIGRpZ2l0IDQsIHRoaXMgcmVzdWx0cyBpbiB0aGUgbnVtYmVyIDM0MTIuCk5vdGUgdGhhdCB0aGVyZSBtYXkgYmUgb3RoZXIgc2VxdWVuY2VzIG9mIHN3YXBzIGJ1dCBpdCBjYW4gYmUgc2hvd24gdGhhdCAzNDEyIGlzIHRoZSBsYXJnZXN0IHBvc3NpYmxlIG51bWJlci4KQWxzbyBub3RlIHRoYXQgd2UgbWF5IG5vdCBzd2FwIHRoZSBkaWdpdCA0IHdpdGggdGhlIGRpZ2l0IDEgc2luY2UgdGhleSBhcmUgb2YgZGlmZmVyZW50IHBhcml0aWVzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW0gPSA2NTg3NQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gODc2NTUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gU3dhcCB0aGUgZGlnaXQgOCB3aXRoIHRoZSBkaWdpdCA2LCB0aGlzIHJlc3VsdHMgaW4gdGhlIG51bWJlciA4NTY3NS4KU3dhcCB0aGUgZmlyc3QgZGlnaXQgNSB3aXRoIHRoZSBkaWdpdCA3LCB0aGlzIHJlc3VsdHMgaW4gdGhlIG51bWJlciA4NzY1NS4KTm90ZSB0aGF0IHRoZXJlIG1heSBiZSBvdGhlciBzZXF1ZW5jZXMgb2Ygc3dhcHMgYnV0IGl0IGNhbiBiZSBzaG93biB0aGF0IDg3NjU1IGlzIHRoZSBsYXJnZXN0IHBvc3NpYmxlIG51bWJlci4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW0gJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Sorting",
+ "Heap (Priority Queue)"
+ ]
+ },
+ {
+ "title": "2220. Minimum Bit Flips to Convert Number",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgPHN0cm9uZz5iaXQgZmxpcDwvc3Ryb25nPiBvZiBhIG51bWJlciA8Y29kZT54PC9jb2RlPiBpcyBjaG9vc2luZyBhIGJpdCBpbiB0aGUgYmluYXJ5IHJlcHJlc2VudGF0aW9uIG9mIDxjb2RlPng8L2NvZGU+IGFuZCA8c3Ryb25nPmZsaXBwaW5nPC9zdHJvbmc+IGl0IGZyb20gZWl0aGVyIDxjb2RlPjA8L2NvZGU+IHRvIDxjb2RlPjE8L2NvZGU+IG9yIDxjb2RlPjE8L2NvZGU+IHRvIDxjb2RlPjA8L2NvZGU+LjwvcD4KPHVsPgo8bGk+Rm9yIGV4YW1wbGUsIGZvciA8Y29kZT54ID0gNzwvY29kZT4sIHRoZSBiaW5hcnkgcmVwcmVzZW50YXRpb24gaXMgPGNvZGU+MTExPC9jb2RlPiBhbmQgd2UgbWF5IGNob29zZSBhbnkgYml0IChpbmNsdWRpbmcgYW55IGxlYWRpbmcgemVyb3Mgbm90IHNob3duKSBhbmQgZmxpcCBpdC4gV2UgY2FuIGZsaXAgdGhlIGZpcnN0IGJpdCBmcm9tIHRoZSByaWdodCB0byBnZXQgPGNvZGU+MTEwPC9jb2RlPiwgZmxpcCB0aGUgc2Vjb25kIGJpdCBmcm9tIHRoZSByaWdodCB0byBnZXQgPGNvZGU+MTAxPC9jb2RlPiwgZmxpcCB0aGUgZmlmdGggYml0IGZyb20gdGhlIHJpZ2h0IChhIGxlYWRpbmcgemVybykgdG8gZ2V0IDxjb2RlPjEwMTExPC9jb2RlPiwgZXRjLjwvbGk+CjwvdWw+CjxwPkdpdmVuIHR3byBpbnRlZ2VycyA8Y29kZT5zdGFydDwvY29kZT4gYW5kIDxjb2RlPmdvYWw8L2NvZGU+LCByZXR1cm48ZW0+IHRoZSA8c3Ryb25nPm1pbmltdW08L3N0cm9uZz4gbnVtYmVyIG9mIDxzdHJvbmc+Yml0IGZsaXBzPC9zdHJvbmc+IHRvIGNvbnZlcnQgPC9lbT48Y29kZT5zdGFydDwvY29kZT48ZW0+IHRvIDwvZW0+PGNvZGU+Z29hbDwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzdGFydCA9IDEwLCBnb2FsID0gNwo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgYmluYXJ5IHJlcHJlc2VudGF0aW9uIG9mIDEwIGFuZCA3IGFyZSAxMDEwIGFuZCAwMTExIHJlc3BlY3RpdmVseS4gV2UgY2FuIGNvbnZlcnQgMTAgdG8gNyBpbiAzIHN0ZXBzOgotIEZsaXAgdGhlIGZpcnN0IGJpdCBmcm9tIHRoZSByaWdodDogMTAxPHU+MDwvdT4gLSZndDsgMTAxPHU+MTwvdT4uCi0gRmxpcCB0aGUgdGhpcmQgYml0IGZyb20gdGhlIHJpZ2h0OiAxPHU+MDwvdT4xMSAtJmd0OyAxPHU+MTwvdT4xMS4KLSBGbGlwIHRoZSBmb3VydGggYml0IGZyb20gdGhlIHJpZ2h0OiA8dT4xPC91PjExMSAtJmd0OyA8dT4wPC91PjExMS4KSXQgY2FuIGJlIHNob3duIHdlIGNhbm5vdCBjb252ZXJ0IDEwIHRvIDcgaW4gbGVzcyB0aGFuIDMgc3RlcHMuIEhlbmNlLCB3ZSByZXR1cm4gMy48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzdGFydCA9IDMsIGdvYWwgPSA0CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBiaW5hcnkgcmVwcmVzZW50YXRpb24gb2YgMyBhbmQgNCBhcmUgMDExIGFuZCAxMDAgcmVzcGVjdGl2ZWx5LiBXZSBjYW4gY29udmVydCAzIHRvIDQgaW4gMyBzdGVwczoKLSBGbGlwIHRoZSBmaXJzdCBiaXQgZnJvbSB0aGUgcmlnaHQ6IDAxPHU+MTwvdT4gLSZndDsgMDE8dT4wPC91Pi4KLSBGbGlwIHRoZSBzZWNvbmQgYml0IGZyb20gdGhlIHJpZ2h0OiAwPHU+MTwvdT4wIC0mZ3Q7IDA8dT4wPC91PjAuCi0gRmxpcCB0aGUgdGhpcmQgYml0IGZyb20gdGhlIHJpZ2h0OiA8dT4wPC91PjAwIC0mZ3Q7IDx1PjE8L3U+MDAuCkl0IGNhbiBiZSBzaG93biB3ZSBjYW5ub3QgY29udmVydCAzIHRvIDQgaW4gbGVzcyB0aGFuIDMgc3RlcHMuIEhlbmNlLCB3ZSByZXR1cm4gMy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MCAmbHQ7PSBzdGFydCwgZ29hbCAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Bit Manipulation"
+ ]
+ },
+ {
+ "title": "2200. Find All K-Distant Indices in an Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IGFuZCB0d28gaW50ZWdlcnMgPGNvZGU+a2V5PC9jb2RlPiBhbmQgPGNvZGU+azwvY29kZT4uIEEgPHN0cm9uZz5rLWRpc3RhbnQgaW5kZXg8L3N0cm9uZz4gaXMgYW4gaW5kZXggPGNvZGU+aTwvY29kZT4gb2YgPGNvZGU+bnVtczwvY29kZT4gZm9yIHdoaWNoIHRoZXJlIGV4aXN0cyBhdCBsZWFzdCBvbmUgaW5kZXggPGNvZGU+ajwvY29kZT4gc3VjaCB0aGF0IDxjb2RlPnxpIC0ganwgJmx0Oz0gazwvY29kZT4gYW5kIDxjb2RlPm51bXNbal0gPT0ga2V5PC9jb2RlPi48L3A+CjxwPlJldHVybiA8ZW0+YSBsaXN0IG9mIGFsbCBrLWRpc3RhbnQgaW5kaWNlcyBzb3J0ZWQgaW4gPHN0cm9uZz5pbmNyZWFzaW5nIG9yZGVyPC9zdHJvbmc+PC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzMsNCw5LDEsMyw5LDVdLCBrZXkgPSA5LCBrID0gMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzEsMiwzLDQsNSw2XQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBIZXJlLCA8Y29kZT5udW1zWzJdID09IGtleTwvY29kZT4gYW5kIDxjb2RlPm51bXNbNV0gPT0ga2V5LgotIEZvciBpbmRleCAwLCB8MCAtIDJ8ICZndDsgayBhbmQgfDAgLSA1fCAmZ3Q7IGssIHNvIHRoZXJlIGlzIG5vIGo8L2NvZGU+IHdoZXJlIDxjb2RlPnwwIC0ganwgJmx0Oz0gazwvY29kZT4gYW5kIDxjb2RlPm51bXNbal0gPT0ga2V5LiBUaHVzLCAwIGlzIG5vdCBhIGstZGlzdGFudCBpbmRleC4KLSBGb3IgaW5kZXggMSwgfDEgLSAyfCAmbHQ7PSBrIGFuZCBudW1zWzJdID09IGtleSwgc28gMSBpcyBhIGstZGlzdGFudCBpbmRleC4KLSBGb3IgaW5kZXggMiwgfDIgLSAyfCAmbHQ7PSBrIGFuZCBudW1zWzJdID09IGtleSwgc28gMiBpcyBhIGstZGlzdGFudCBpbmRleC4KLSBGb3IgaW5kZXggMywgfDMgLSAyfCAmbHQ7PSBrIGFuZCBudW1zWzJdID09IGtleSwgc28gMyBpcyBhIGstZGlzdGFudCBpbmRleC4KLSBGb3IgaW5kZXggNCwgfDQgLSA1fCAmbHQ7PSBrIGFuZCBudW1zWzVdID09IGtleSwgc28gNCBpcyBhIGstZGlzdGFudCBpbmRleC4KLSBGb3IgaW5kZXggNSwgfDUgLSA1fCAmbHQ7PSBrIGFuZCBudW1zWzVdID09IGtleSwgc28gNSBpcyBhIGstZGlzdGFudCBpbmRleC4KLSBGb3IgaW5kZXggNiwgfDYgLSA1fCAmbHQ7PSBrIGFuZCBudW1zWzVdID09IGtleSwgc28gNiBpcyBhIGstZGlzdGFudCBpbmRleC4KPC9jb2RlPlRodXMsIHdlIHJldHVybiBbMSwyLDMsNCw1LDZdIHdoaWNoIGlzIHNvcnRlZCBpbiBpbmNyZWFzaW5nIG9yZGVyLiAKPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsyLDIsMiwyLDJdLCBrZXkgPSAyLCBrID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzAsMSwyLDMsNF0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gRm9yIGFsbCBpbmRpY2VzIGkgaW4gbnVtcywgdGhlcmUgZXhpc3RzIHNvbWUgaW5kZXggaiBzdWNoIHRoYXQgfGkgLSBqfCAmbHQ7PSBrIGFuZCBudW1zW2pdID09IGtleSwgc28gZXZlcnkgaW5kZXggaXMgYSBrLWRpc3RhbnQgaW5kZXguIApIZW5jZSwgd2UgcmV0dXJuIFswLDEsMiwzLDRdLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5rZXk8L2NvZGU+IGlzIGFuIGludGVnZXIgZnJvbSB0aGUgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4uPC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gayAmbHQ7PSBudW1zLmxlbmd0aDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array"
+ ]
+ },
+ {
+ "title": "2210. Count Hills and Valleys in an Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+LiBBbiBpbmRleCA8Y29kZT5pPC9jb2RlPiBpcyBwYXJ0IG9mIGEgPHN0cm9uZz5oaWxsPC9zdHJvbmc+IGluIDxjb2RlPm51bXM8L2NvZGU+IGlmIHRoZSBjbG9zZXN0IG5vbi1lcXVhbCBuZWlnaGJvcnMgb2YgPGNvZGU+aTwvY29kZT4gYXJlIHNtYWxsZXIgdGhhbiA8Y29kZT5udW1zW2ldPC9jb2RlPi4gU2ltaWxhcmx5LCBhbiBpbmRleCA8Y29kZT5pPC9jb2RlPiBpcyBwYXJ0IG9mIGEgPHN0cm9uZz52YWxsZXk8L3N0cm9uZz4gaW4gPGNvZGU+bnVtczwvY29kZT4gaWYgdGhlIGNsb3Nlc3Qgbm9uLWVxdWFsIG5laWdoYm9ycyBvZiA8Y29kZT5pPC9jb2RlPiBhcmUgbGFyZ2VyIHRoYW4gPGNvZGU+bnVtc1tpXTwvY29kZT4uIEFkamFjZW50IGluZGljZXMgPGNvZGU+aTwvY29kZT4gYW5kIDxjb2RlPmo8L2NvZGU+IGFyZSBwYXJ0IG9mIHRoZSA8c3Ryb25nPnNhbWU8L3N0cm9uZz4gaGlsbCBvciB2YWxsZXkgaWYgPGNvZGU+bnVtc1tpXSA9PSBudW1zW2pdPC9jb2RlPi48L3A+CjxwPk5vdGUgdGhhdCBmb3IgYW4gaW5kZXggdG8gYmUgcGFydCBvZiBhIGhpbGwgb3IgdmFsbGV5LCBpdCBtdXN0IGhhdmUgYSBub24tZXF1YWwgbmVpZ2hib3Igb24gPHN0cm9uZz5ib3RoPC9zdHJvbmc+IHRoZSBsZWZ0IGFuZCByaWdodCBvZiB0aGUgaW5kZXguPC9wPgo8cD5SZXR1cm4gPGk+dGhlIG51bWJlciBvZiBoaWxscyBhbmQgdmFsbGV5cyBpbiA8L2k+PGNvZGU+bnVtczwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzIsNCwxLDEsNiw1XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpBdCBpbmRleCAwOiBUaGVyZSBpcyBubyBub24tZXF1YWwgbmVpZ2hib3Igb2YgMiBvbiB0aGUgbGVmdCwgc28gaW5kZXggMCBpcyBuZWl0aGVyIGEgaGlsbCBub3IgYSB2YWxsZXkuCkF0IGluZGV4IDE6IFRoZSBjbG9zZXN0IG5vbi1lcXVhbCBuZWlnaGJvcnMgb2YgNCBhcmUgMiBhbmQgMS4gU2luY2UgNCAmZ3Q7IDIgYW5kIDQgJmd0OyAxLCBpbmRleCAxIGlzIGEgaGlsbC4gCkF0IGluZGV4IDI6IFRoZSBjbG9zZXN0IG5vbi1lcXVhbCBuZWlnaGJvcnMgb2YgMSBhcmUgNCBhbmQgNi4gU2luY2UgMSAmbHQ7IDQgYW5kIDEgJmx0OyA2LCBpbmRleCAyIGlzIGEgdmFsbGV5LgpBdCBpbmRleCAzOiBUaGUgY2xvc2VzdCBub24tZXF1YWwgbmVpZ2hib3JzIG9mIDEgYXJlIDQgYW5kIDYuIFNpbmNlIDEgJmx0OyA0IGFuZCAxICZsdDsgNiwgaW5kZXggMyBpcyBhIHZhbGxleSwgYnV0IG5vdGUgdGhhdCBpdCBpcyBwYXJ0IG9mIHRoZSBzYW1lIHZhbGxleSBhcyBpbmRleCAyLgpBdCBpbmRleCA0OiBUaGUgY2xvc2VzdCBub24tZXF1YWwgbmVpZ2hib3JzIG9mIDYgYXJlIDEgYW5kIDUuIFNpbmNlIDYgJmd0OyAxIGFuZCA2ICZndDsgNSwgaW5kZXggNCBpcyBhIGhpbGwuCkF0IGluZGV4IDU6IFRoZXJlIGlzIG5vIG5vbi1lcXVhbCBuZWlnaGJvciBvZiA1IG9uIHRoZSByaWdodCwgc28gaW5kZXggNSBpcyBuZWl0aGVyIGEgaGlsbCBub3IgYSB2YWxsZXkuIApUaGVyZSBhcmUgMyBoaWxscyBhbmQgdmFsbGV5cyBzbyB3ZSByZXR1cm4gMy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs2LDYsNSw1LDQsMV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KQXQgaW5kZXggMDogVGhlcmUgaXMgbm8gbm9uLWVxdWFsIG5laWdoYm9yIG9mIDYgb24gdGhlIGxlZnQsIHNvIGluZGV4IDAgaXMgbmVpdGhlciBhIGhpbGwgbm9yIGEgdmFsbGV5LgpBdCBpbmRleCAxOiBUaGVyZSBpcyBubyBub24tZXF1YWwgbmVpZ2hib3Igb2YgNiBvbiB0aGUgbGVmdCwgc28gaW5kZXggMSBpcyBuZWl0aGVyIGEgaGlsbCBub3IgYSB2YWxsZXkuCkF0IGluZGV4IDI6IFRoZSBjbG9zZXN0IG5vbi1lcXVhbCBuZWlnaGJvcnMgb2YgNSBhcmUgNiBhbmQgNC4gU2luY2UgNSAmbHQ7IDYgYW5kIDUgJmd0OyA0LCBpbmRleCAyIGlzIG5laXRoZXIgYSBoaWxsIG5vciBhIHZhbGxleS4KQXQgaW5kZXggMzogVGhlIGNsb3Nlc3Qgbm9uLWVxdWFsIG5laWdoYm9ycyBvZiA1IGFyZSA2IGFuZCA0LiBTaW5jZSA1ICZsdDsgNiBhbmQgNSAmZ3Q7IDQsIGluZGV4IDMgaXMgbmVpdGhlciBhIGhpbGwgbm9yIGEgdmFsbGV5LgpBdCBpbmRleCA0OiBUaGUgY2xvc2VzdCBub24tZXF1YWwgbmVpZ2hib3JzIG9mIDQgYXJlIDUgYW5kIDEuIFNpbmNlIDQgJmx0OyA1IGFuZCA0ICZndDsgMSwgaW5kZXggNCBpcyBuZWl0aGVyIGEgaGlsbCBub3IgYSB2YWxsZXkuCkF0IGluZGV4IDU6IFRoZXJlIGlzIG5vIG5vbi1lcXVhbCBuZWlnaGJvciBvZiAxIG9uIHRoZSByaWdodCwgc28gaW5kZXggNSBpcyBuZWl0aGVyIGEgaGlsbCBub3IgYSB2YWxsZXkuClRoZXJlIGFyZSAwIGhpbGxzIGFuZCB2YWxsZXlzIHNvIHdlIHJldHVybiAwLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4zICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldICZsdDs9IDEwMDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array"
+ ]
+ },
+ {
+ "title": "2190. Most Frequent Number Following Key In an Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+LjxzdHJvbmc+IDwvc3Ryb25nPllvdSBhcmUgYWxzbyBnaXZlbiBhbiBpbnRlZ2VyIDxjb2RlPmtleTwvY29kZT4sIHdoaWNoIGlzIHByZXNlbnQgaW4gPGNvZGU+bnVtczwvY29kZT4uPC9wPgo8cD5Gb3IgZXZlcnkgdW5pcXVlIGludGVnZXIgPGNvZGU+dGFyZ2V0PC9jb2RlPiBpbiA8Y29kZT5udW1zPC9jb2RlPiwgPHN0cm9uZz5jb3VudDwvc3Ryb25nPiB0aGUgbnVtYmVyIG9mIHRpbWVzIDxjb2RlPnRhcmdldDwvY29kZT4gaW1tZWRpYXRlbHkgZm9sbG93cyBhbiBvY2N1cnJlbmNlIG9mIDxjb2RlPmtleTwvY29kZT4gaW4gPGNvZGU+bnVtczwvY29kZT4uIEluIG90aGVyIHdvcmRzLCBjb3VudCB0aGUgbnVtYmVyIG9mIGluZGljZXMgPGNvZGU+aTwvY29kZT4gc3VjaCB0aGF0OjwvcD4KPHVsPgo8bGk+PGNvZGU+MCAmbHQ7PSBpICZsdDs9IG51bXMubGVuZ3RoIC0gMjwvY29kZT4sPC9saT4KPGxpPjxjb2RlPm51bXNbaV0gPT0ga2V5PC9jb2RlPiBhbmQsPC9saT4KPGxpPjxjb2RlPm51bXNbaSArIDFdID09IHRhcmdldDwvY29kZT4uPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgPC9lbT48Y29kZT50YXJnZXQ8L2NvZGU+PGVtPiB3aXRoIHRoZSA8c3Ryb25nPm1heGltdW08L3N0cm9uZz4gY291bnQ8L2VtPi4gVGhlIHRlc3QgY2FzZXMgd2lsbCBiZSBnZW5lcmF0ZWQgc3VjaCB0aGF0IHRoZSA8Y29kZT50YXJnZXQ8L2NvZGU+IHdpdGggbWF4aW11bSBjb3VudCBpcyB1bmlxdWUuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMTAwLDIwMCwxLDEwMF0sIGtleSA9IDEKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEwMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBGb3IgdGFyZ2V0ID0gMTAwLCB0aGVyZSBhcmUgMiBvY2N1cnJlbmNlcyBhdCBpbmRpY2VzIDEgYW5kIDQgd2hpY2ggZm9sbG93IGFuIG9jY3VycmVuY2Ugb2Yga2V5LgpObyBvdGhlciBpbnRlZ2VycyBmb2xsb3cgYW4gb2NjdXJyZW5jZSBvZiBrZXksIHNvIHdlIHJldHVybiAxMDAuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMiwyLDIsMiwzXSwga2V5ID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBGb3IgdGFyZ2V0ID0gMiwgdGhlcmUgYXJlIDMgb2NjdXJyZW5jZXMgYXQgaW5kaWNlcyAxLCAyLCBhbmQgMyB3aGljaCBmb2xsb3cgYW4gb2NjdXJyZW5jZSBvZiBrZXkuCkZvciB0YXJnZXQgPSAzLCB0aGVyZSBpcyBvbmx5IG9uZSBvY2N1cnJlbmNlIGF0IGluZGV4IDQgd2hpY2ggZm9sbG93cyBhbiBvY2N1cnJlbmNlIG9mIGtleS4KdGFyZ2V0ID0gMiBoYXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIG9jY3VycmVuY2VzIGZvbGxvd2luZyBhbiBvY2N1cnJlbmNlIG9mIGtleSwgc28gd2UgcmV0dXJuIDIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjIgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPlRoZSB0ZXN0IGNhc2VzIHdpbGwgYmUgZ2VuZXJhdGVkIHN1Y2ggdGhhdCB0aGUgYW5zd2VyIGlzIHVuaXF1ZS48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2206. Divide Array Into Equal Pairs",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBjb25zaXN0aW5nIG9mIDxjb2RlPjIgKiBuPC9jb2RlPiBpbnRlZ2Vycy48L3A+CjxwPllvdSBuZWVkIHRvIGRpdmlkZSA8Y29kZT5udW1zPC9jb2RlPiBpbnRvIDxjb2RlPm48L2NvZGU+IHBhaXJzIHN1Y2ggdGhhdDo8L3A+Cjx1bD4KPGxpPkVhY2ggZWxlbWVudCBiZWxvbmdzIHRvIDxzdHJvbmc+ZXhhY3RseSBvbmU8L3N0cm9uZz4gcGFpci48L2xpPgo8bGk+VGhlIGVsZW1lbnRzIHByZXNlbnQgaW4gYSBwYWlyIGFyZSA8c3Ryb25nPmVxdWFsPC9zdHJvbmc+LjwvbGk+CjwvdWw+CjxwPlJldHVybiA8Y29kZT50cnVlPC9jb2RlPiA8ZW0+aWYgbnVtcyBjYW4gYmUgZGl2aWRlZCBpbnRvPC9lbT4gPGNvZGU+bjwvY29kZT4gPGVtPnBhaXJzLCBvdGhlcndpc2UgcmV0dXJuPC9lbT4gPGNvZGU+ZmFsc2U8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFszLDIsMywyLDIsMl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IHRydWUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gClRoZXJlIGFyZSA2IGVsZW1lbnRzIGluIG51bXMsIHNvIHRoZXkgc2hvdWxkIGJlIGRpdmlkZWQgaW50byA2IC8gMiA9IDMgcGFpcnMuCklmIG51bXMgaXMgZGl2aWRlZCBpbnRvIHRoZSBwYWlycyAoMiwgMiksICgzLCAzKSwgYW5kICgyLCAyKSwgaXQgd2lsbCBzYXRpc2Z5IGFsbCB0aGUgY29uZGl0aW9ucy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDIsMyw0XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gZmFsc2UKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gClRoZXJlIGlzIG5vIHdheSB0byBkaXZpZGUgbnVtcyBpbnRvIDQgLyAyID0gMiBwYWlycyBzdWNoIHRoYXQgdGhlIHBhaXJzIHNhdGlzZnkgZXZlcnkgY29uZGl0aW9uLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5udW1zLmxlbmd0aCA9PSAyICogbjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDUwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldICZsdDs9IDUwMDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Bit Manipulation",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2194. Cells in a Range on an Excel Sheet",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgY2VsbCA8Y29kZT4ociwgYyk8L2NvZGU+IG9mIGFuIGV4Y2VsIHNoZWV0IGlzIHJlcHJlc2VudGVkIGFzIGEgc3RyaW5nIDxjb2RlPiImbHQ7Y29sJmd0OyZsdDtyb3cmZ3Q7IjwvY29kZT4gd2hlcmU6PC9wPgo8dWw+CjxsaT48Y29kZT4mbHQ7Y29sJmd0OzwvY29kZT4gZGVub3RlcyB0aGUgY29sdW1uIG51bWJlciA8Y29kZT5jPC9jb2RlPiBvZiB0aGUgY2VsbC4gSXQgaXMgcmVwcmVzZW50ZWQgYnkgPHN0cm9uZz5hbHBoYWJldGljYWwgbGV0dGVyczwvc3Ryb25nPi4KCgk8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgdGhlIDxjb2RlPjE8c3VwPnN0PC9zdXA+PC9jb2RlPiBjb2x1bW4gaXMgZGVub3RlZCBieSA8Y29kZT4nQSc8L2NvZGU+LCB0aGUgPGNvZGU+MjxzdXA+bmQ8L3N1cD48L2NvZGU+IGJ5IDxjb2RlPidCJzwvY29kZT4sIHRoZSA8Y29kZT4zPHN1cD5yZDwvc3VwPjwvY29kZT4gYnkgPGNvZGU+J0MnPC9jb2RlPiwgYW5kIHNvIG9uLjwvbGk+CjwvdWw+CjwvbGk+CjxsaT48Y29kZT4mbHQ7cm93Jmd0OzwvY29kZT4gaXMgdGhlIHJvdyBudW1iZXIgPGNvZGU+cjwvY29kZT4gb2YgdGhlIGNlbGwuIFRoZSA8Y29kZT5yPHN1cD50aDwvc3VwPjwvY29kZT4gcm93IGlzIHJlcHJlc2VudGVkIGJ5IHRoZSA8c3Ryb25nPmludGVnZXI8L3N0cm9uZz4gPGNvZGU+cjwvY29kZT4uPC9saT4KPC91bD4KPHA+WW91IGFyZSBnaXZlbiBhIHN0cmluZyA8Y29kZT5zPC9jb2RlPsKgaW7CoHRoZSBmb3JtYXQgPGNvZGU+IiZsdDtjb2wxJmd0OyZsdDtyb3cxJmd0OzombHQ7Y29sMiZndDsmbHQ7cm93MiZndDsiPC9jb2RlPiwgd2hlcmUgPGNvZGU+Jmx0O2NvbDEmZ3Q7PC9jb2RlPiByZXByZXNlbnRzIHRoZSBjb2x1bW4gPGNvZGU+YzE8L2NvZGU+LCA8Y29kZT4mbHQ7cm93MSZndDs8L2NvZGU+IHJlcHJlc2VudHMgdGhlIHJvdyA8Y29kZT5yMTwvY29kZT4sIDxjb2RlPiZsdDtjb2wyJmd0OzwvY29kZT4gcmVwcmVzZW50cyB0aGUgY29sdW1uIDxjb2RlPmMyPC9jb2RlPiwgYW5kIDxjb2RlPiZsdDtyb3cyJmd0OzwvY29kZT4gcmVwcmVzZW50cyB0aGUgcm93IDxjb2RlPnIyPC9jb2RlPiwgc3VjaCB0aGF0IDxjb2RlPnIxICZsdDs9IHIyPC9jb2RlPiBhbmQgPGNvZGU+YzEgJmx0Oz0gYzI8L2NvZGU+LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5saXN0IG9mIGNlbGxzPC9zdHJvbmc+PC9lbT4gPGNvZGU+KHgsIHkpPC9jb2RlPiA8ZW0+c3VjaCB0aGF0PC9lbT4gPGNvZGU+cjEgJmx0Oz0geCAmbHQ7PSByMjwvY29kZT4gPGVtPmFuZDwvZW0+IDxjb2RlPmMxICZsdDs9IHkgJmx0Oz0gYzI8L2NvZGU+LiBUaGUgY2VsbHMgc2hvdWxkIGJlIHJlcHJlc2VudGVkIGFzwqA8c3Ryb25nPnN0cmluZ3M8L3N0cm9uZz4gaW4gdGhlIGZvcm1hdCBtZW50aW9uZWQgYWJvdmUgYW5kIGJlIHNvcnRlZCBpbiA8c3Ryb25nPm5vbi1kZWNyZWFzaW5nPC9zdHJvbmc+IG9yZGVyIGZpcnN0IGJ5IGNvbHVtbnMgYW5kIHRoZW4gYnkgcm93cy48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDIvMDgvZXgxZHJhd2lvLnBuZyIgc3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAxNjBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gIksxOkwyIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWyJLMSIsIksyIiwiTDEiLCJMMiJdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBhYm92ZSBkaWFncmFtIHNob3dzIHRoZSBjZWxscyB3aGljaCBzaG91bGQgYmUgcHJlc2VudCBpbiB0aGUgbGlzdC4KVGhlIHJlZCBhcnJvd3MgZGVub3RlIHRoZSBvcmRlciBpbiB3aGljaCB0aGUgY2VsbHMgc2hvdWxkIGJlIHByZXNlbnRlZC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMi8wOS9leGFtMmRyYXdpby5wbmciIHN0eWxlPSJ3aWR0aDogNTAwcHg7IGhlaWdodDogNTBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gIkExOkYxIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWyJBMSIsIkIxIiwiQzEiLCJEMSIsIkUxIiwiRjEiXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgYWJvdmUgZGlhZ3JhbSBzaG93cyB0aGUgY2VsbHMgd2hpY2ggc2hvdWxkIGJlIHByZXNlbnQgaW4gdGhlIGxpc3QuClRoZSByZWQgYXJyb3cgZGVub3RlcyB0aGUgb3JkZXIgaW4gd2hpY2ggdGhlIGNlbGxzIHNob3VsZCBiZSBwcmVzZW50ZWQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPnMubGVuZ3RoID09IDU8L2NvZGU+PC9saT4KPGxpPjxjb2RlPidBJyAmbHQ7PSBzWzBdICZsdDs9IHNbM10gJmx0Oz0gJ1onPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4nMScgJmx0Oz0gc1sxXSAmbHQ7PSBzWzRdICZsdDs9ICc5JzwvY29kZT48L2xpPgo8bGk+PGNvZGU+czwvY29kZT4gY29uc2lzdHMgb2YgdXBwZXJjYXNlIEVuZ2xpc2ggbGV0dGVycywgZGlnaXRzIGFuZCA8Y29kZT4nOic8L2NvZGU+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "String"
+ ]
+ },
+ {
+ "title": "2180. Count Integers With Even Digit Sum",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgcG9zaXRpdmUgaW50ZWdlciA8Y29kZT5udW08L2NvZGU+LCByZXR1cm4gPGVtPnRoZSBudW1iZXIgb2YgcG9zaXRpdmUgaW50ZWdlcnMgPHN0cm9uZz5sZXNzIHRoYW4gb3IgZXF1YWwgdG88L3N0cm9uZz48L2VtPiA8Y29kZT5udW08L2NvZGU+IDxlbT53aG9zZSBkaWdpdCBzdW1zIGFyZSA8c3Ryb25nPmV2ZW48L3N0cm9uZz48L2VtPi48L3A+CjxwPlRoZSA8c3Ryb25nPmRpZ2l0IHN1bTwvc3Ryb25nPiBvZiBhIHBvc2l0aXZlIGludGVnZXIgaXMgdGhlIHN1bSBvZiBhbGwgaXRzIGRpZ2l0cy48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bSA9IDQKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIG9ubHkgaW50ZWdlcnMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDQgd2hvc2UgZGlnaXQgc3VtcyBhcmUgZXZlbiBhcmUgMiBhbmQgNC4gICAgCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bSA9IDMwCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxNAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgMTQgaW50ZWdlcnMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDMwIHdob3NlIGRpZ2l0IHN1bXMgYXJlIGV2ZW4gYXJlCjIsIDQsIDYsIDgsIDExLCAxMywgMTUsIDE3LCAxOSwgMjAsIDIyLCAyNCwgMjYsIGFuZCAyOC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW0gJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Math",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2185. Counting Words With a Given Prefix",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gYXJyYXkgb2Ygc3RyaW5ncyA8Y29kZT53b3JkczwvY29kZT4gYW5kIGEgc3RyaW5nIDxjb2RlPnByZWY8L2NvZGU+LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgbnVtYmVyIG9mIHN0cmluZ3MgaW4gPC9lbT48Y29kZT53b3JkczwvY29kZT48ZW0+IHRoYXQgY29udGFpbiA8L2VtPjxjb2RlPnByZWY8L2NvZGU+PGVtPiBhcyBhIDxzdHJvbmc+cHJlZml4PC9zdHJvbmc+PC9lbT4uPC9wPgo8cD5BIDxzdHJvbmc+cHJlZml4PC9zdHJvbmc+IG9mIGEgc3RyaW5nIDxjb2RlPnM8L2NvZGU+IGlzIGFueSBsZWFkaW5nIGNvbnRpZ3VvdXMgc3Vic3RyaW5nIG9mIDxjb2RlPnM8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZHMgPSBbInBheSIsIjxzdHJvbmc+PHU+YXQ8L3U+PC9zdHJvbmc+dGVudGlvbiIsInByYWN0aWNlIiwiPHU+PHN0cm9uZz5hdDwvc3Ryb25nPjwvdT50ZW5kIl0sIDxjb2RlPnByZWYgPC9jb2RlPj0gImF0Igo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgMiBzdHJpbmdzIHRoYXQgY29udGFpbiAiYXQiIGFzIGEgcHJlZml4IGFyZTogIjx1PjxzdHJvbmc+YXQ8L3N0cm9uZz48L3U+dGVudGlvbiIgYW5kICI8dT48c3Ryb25nPmF0PC9zdHJvbmc+PC91PnRlbmQiLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB3b3JkcyA9IFsibGVldGNvZGUiLCJ3aW4iLCJsb29wcyIsInN1Y2Nlc3MiXSwgPGNvZGU+cHJlZiA8L2NvZGU+PSAiY29kZSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgYXJlIG5vIHN0cmluZ3MgdGhhdCBjb250YWluICJjb2RlIiBhcyBhIHByZWZpeC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSB3b3Jkcy5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHdvcmRzW2ldLmxlbmd0aCwgcHJlZi5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT53b3Jkc1tpXTwvY29kZT4gYW5kIDxjb2RlPnByZWY8L2NvZGU+IGNvbnNpc3Qgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycy48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "String"
+ ]
+ },
+ {
+ "title": "2169. Count Operations to Obtain Zero",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIDxzdHJvbmc+bm9uLW5lZ2F0aXZlPC9zdHJvbmc+IGludGVnZXJzIDxjb2RlPm51bTE8L2NvZGU+IGFuZCA8Y29kZT5udW0yPC9jb2RlPi48L3A+CjxwPkluIG9uZSA8c3Ryb25nPm9wZXJhdGlvbjwvc3Ryb25nPiwgaWYgPGNvZGU+bnVtMSAmZ3Q7PSBudW0yPC9jb2RlPiwgeW91IG11c3Qgc3VidHJhY3QgPGNvZGU+bnVtMjwvY29kZT4gZnJvbSA8Y29kZT5udW0xPC9jb2RlPiwgb3RoZXJ3aXNlIHN1YnRyYWN0IDxjb2RlPm51bTE8L2NvZGU+IGZyb20gPGNvZGU+bnVtMjwvY29kZT4uPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgaWYgPGNvZGU+bnVtMSA9IDU8L2NvZGU+IGFuZCA8Y29kZT5udW0yID0gNDwvY29kZT4sIHN1YnRyYWN0IDxjb2RlPm51bTI8L2NvZGU+IGZyb20gPGNvZGU+bnVtMTwvY29kZT4sIHRodXMgb2J0YWluaW5nIDxjb2RlPm51bTEgPSAxPC9jb2RlPiBhbmQgPGNvZGU+bnVtMiA9IDQ8L2NvZGU+LiBIb3dldmVyLCBpZiA8Y29kZT5udW0xID0gNDwvY29kZT4gYW5kIDxjb2RlPm51bTIgPSA1PC9jb2RlPiwgYWZ0ZXIgb25lIG9wZXJhdGlvbiwgPGNvZGU+bnVtMSA9IDQ8L2NvZGU+IGFuZCA8Y29kZT5udW0yID0gMTwvY29kZT4uPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5udW1iZXIgb2Ygb3BlcmF0aW9uczwvc3Ryb25nPiByZXF1aXJlZCB0byBtYWtlIGVpdGhlcjwvZW0+IDxjb2RlPm51bTEgPSAwPC9jb2RlPiA8ZW0+b3I8L2VtPiA8Y29kZT5udW0yID0gMDwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW0xID0gMiwgbnVtMiA9IDMKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCi0gT3BlcmF0aW9uIDE6IG51bTEgPSAyLCBudW0yID0gMy4gU2luY2UgbnVtMSAmbHQ7IG51bTIsIHdlIHN1YnRyYWN0IG51bTEgZnJvbSBudW0yIGFuZCBnZXQgbnVtMSA9IDIsIG51bTIgPSAzIC0gMiA9IDEuCi0gT3BlcmF0aW9uIDI6IG51bTEgPSAyLCBudW0yID0gMS4gU2luY2UgbnVtMSAmZ3Q7IG51bTIsIHdlIHN1YnRyYWN0IG51bTIgZnJvbSBudW0xLgotIE9wZXJhdGlvbiAzOiBudW0xID0gMSwgbnVtMiA9IDEuIFNpbmNlIG51bTEgPT0gbnVtMiwgd2Ugc3VidHJhY3QgbnVtMiBmcm9tIG51bTEuCk5vdyBudW0xID0gMCBhbmQgbnVtMiA9IDEuIFNpbmNlIG51bTEgPT0gMCwgd2UgZG8gbm90IG5lZWQgdG8gcGVyZm9ybSBhbnkgZnVydGhlciBvcGVyYXRpb25zLgpTbyB0aGUgdG90YWwgbnVtYmVyIG9mIG9wZXJhdGlvbnMgcmVxdWlyZWQgaXMgMy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtMSA9IDEwLCBudW0yID0gMTAKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCi0gT3BlcmF0aW9uIDE6IG51bTEgPSAxMCwgbnVtMiA9IDEwLiBTaW5jZSBudW0xID09IG51bTIsIHdlIHN1YnRyYWN0IG51bTIgZnJvbSBudW0xIGFuZCBnZXQgbnVtMSA9IDEwIC0gMTAgPSAwLgpOb3cgbnVtMSA9IDAgYW5kIG51bTIgPSAxMC4gU2luY2UgbnVtMSA9PSAwLCB3ZSBhcmUgZG9uZS4KU28gdGhlIHRvdGFsIG51bWJlciBvZiBvcGVyYXRpb25zIHJlcXVpcmVkIGlzIDEuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjAgJmx0Oz0gbnVtMSwgbnVtMiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Math",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2164. Sort Even and Odd Indices Independently",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+LiBSZWFycmFuZ2UgdGhlIHZhbHVlcyBvZiA8Y29kZT5udW1zPC9jb2RlPiBhY2NvcmRpbmcgdG8gdGhlIGZvbGxvd2luZyBydWxlczo8L3A+CjxvbD4KPGxpPlNvcnQgdGhlIHZhbHVlcyBhdCA8c3Ryb25nPm9kZCBpbmRpY2VzPC9zdHJvbmc+IG9mIDxjb2RlPm51bXM8L2NvZGU+IGluIDxzdHJvbmc+bm9uLWluY3JlYXNpbmc8L3N0cm9uZz4gb3JkZXIuCgoJPHVsPgo8bGk+Rm9yIGV4YW1wbGUsIGlmIDxjb2RlPm51bXMgPSBbNCw8c3Ryb25nPjx1PjE8L3U+PC9zdHJvbmc+LDIsPHU+PHN0cm9uZz4zPC9zdHJvbmc+PC91Pl08L2NvZGU+IGJlZm9yZSB0aGlzIHN0ZXAsIGl0IGJlY29tZXMgPGNvZGU+WzQsPHU+PHN0cm9uZz4zPC9zdHJvbmc+PC91PiwyLDxzdHJvbmc+PHU+MTwvdT48L3N0cm9uZz5dPC9jb2RlPiBhZnRlci4gVGhlIHZhbHVlcyBhdCBvZGQgaW5kaWNlcyA8Y29kZT4xPC9jb2RlPiBhbmQgPGNvZGU+MzwvY29kZT4gYXJlIHNvcnRlZCBpbiBub24taW5jcmVhc2luZyBvcmRlci48L2xpPgo8L3VsPgo8L2xpPgo8bGk+U29ydCB0aGUgdmFsdWVzIGF0IDxzdHJvbmc+ZXZlbiBpbmRpY2VzPC9zdHJvbmc+IG9mIDxjb2RlPm51bXM8L2NvZGU+IGluIDxzdHJvbmc+bm9uLWRlY3JlYXNpbmc8L3N0cm9uZz4gb3JkZXIuCgk8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgaWYgPGNvZGU+bnVtcyA9IFs8dT48c3Ryb25nPjQ8L3N0cm9uZz48L3U+LDEsPHU+PHN0cm9uZz4yPC9zdHJvbmc+PC91PiwzXTwvY29kZT4gYmVmb3JlIHRoaXMgc3RlcCwgaXQgYmVjb21lcyA8Y29kZT5bPHU+PHN0cm9uZz4yPC9zdHJvbmc+PC91PiwxLDx1PjxzdHJvbmc+NDwvc3Ryb25nPjwvdT4sM108L2NvZGU+IGFmdGVyLiBUaGUgdmFsdWVzIGF0IGV2ZW4gaW5kaWNlcyA8Y29kZT4wPC9jb2RlPiBhbmQgPGNvZGU+MjwvY29kZT4gYXJlIHNvcnRlZCBpbiBub24tZGVjcmVhc2luZyBvcmRlci48L2xpPgo8L3VsPgo8L2xpPgo8L29sPgo8cD5SZXR1cm4gPGVtPnRoZSBhcnJheSBmb3JtZWQgYWZ0ZXIgcmVhcnJhbmdpbmcgdGhlIHZhbHVlcyBvZjwvZW0+IDxjb2RlPm51bXM8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs0LDEsMiwzXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzIsMyw0LDFdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApGaXJzdCwgd2Ugc29ydCB0aGUgdmFsdWVzIHByZXNlbnQgYXQgb2RkIGluZGljZXMgKDEgYW5kIDMpIGluIG5vbi1pbmNyZWFzaW5nIG9yZGVyLgpTbywgbnVtcyBjaGFuZ2VzIGZyb20gWzQsPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPiwyLDxzdHJvbmc+PHU+MzwvdT48L3N0cm9uZz5dIHRvIFs0LDx1PjxzdHJvbmc+Mzwvc3Ryb25nPjwvdT4sMiw8c3Ryb25nPjx1PjE8L3U+PC9zdHJvbmc+XS4KTmV4dCwgd2Ugc29ydCB0aGUgdmFsdWVzIHByZXNlbnQgYXQgZXZlbiBpbmRpY2VzICgwIGFuZCAyKSBpbiBub24tZGVjcmVhc2luZyBvcmRlci4KU28sIG51bXMgY2hhbmdlcyBmcm9tIFs8dT48c3Ryb25nPjQ8L3N0cm9uZz48L3U+LDEsPHN0cm9uZz48dT4yPC91Pjwvc3Ryb25nPiwzXSB0byBbPHU+PHN0cm9uZz4yPC9zdHJvbmc+PC91PiwzLDx1PjxzdHJvbmc+NDwvc3Ryb25nPjwvdT4sMV0uClRodXMsIHRoZSBhcnJheSBmb3JtZWQgYWZ0ZXIgcmVhcnJhbmdpbmcgdGhlIHZhbHVlcyBpcyBbMiwzLDQsMV0uCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMiwxXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzIsMV0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gClNpbmNlIHRoZXJlIGlzIGV4YWN0bHkgb25lIG9kZCBpbmRleCBhbmQgb25lIGV2ZW4gaW5kZXgsIG5vIHJlYXJyYW5nZW1lbnQgb2YgdmFsdWVzIHRha2VzIHBsYWNlLgpUaGUgcmVzdWx0YW50IGFycmF5IGZvcm1lZCBpcyBbMiwxXSwgd2hpY2ggaXMgdGhlIHNhbWUgYXMgdGhlIGluaXRpYWwgYXJyYXkuIAo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldICZsdDs9IDEwMDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2176. Count Equal and Divisible Pairs in an Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PkdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4gYW5kIGFuIGludGVnZXIgPGNvZGU+azwvY29kZT4sIHJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bnVtYmVyIG9mIHBhaXJzPC9zdHJvbmc+PC9lbT4gPGNvZGU+KGksIGopPC9jb2RlPiA8ZW0+d2hlcmU8L2VtPiA8Y29kZT4wICZsdDs9IGkgJmx0OyBqICZsdDsgbjwvY29kZT4sIDxlbT5zdWNoIHRoYXQ8L2VtPiA8Y29kZT5udW1zW2ldID09IG51bXNbal08L2NvZGU+IDxlbT5hbmQ8L2VtPiA8Y29kZT4oaSAqIGopPC9jb2RlPiA8ZW0+aXMgZGl2aXNpYmxlIGJ5PC9lbT4gPGNvZGU+azwvY29kZT4uCjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMywxLDIsMiwyLDEsM10sIGsgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZXJlIGFyZSA0IHBhaXJzIHRoYXQgbWVldCBhbGwgdGhlIHJlcXVpcmVtZW50czoKLSBudW1zWzBdID09IG51bXNbNl0sIGFuZCAwICogNiA9PSAwLCB3aGljaCBpcyBkaXZpc2libGUgYnkgMi4KLSBudW1zWzJdID09IG51bXNbM10sIGFuZCAyICogMyA9PSA2LCB3aGljaCBpcyBkaXZpc2libGUgYnkgMi4KLSBudW1zWzJdID09IG51bXNbNF0sIGFuZCAyICogNCA9PSA4LCB3aGljaCBpcyBkaXZpc2libGUgYnkgMi4KLSBudW1zWzNdID09IG51bXNbNF0sIGFuZCAzICogNCA9PSAxMiwgd2hpY2ggaXMgZGl2aXNpYmxlIGJ5IDIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSwyLDMsNF0sIGsgPSAxCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFNpbmNlIG5vIHZhbHVlIGluIG51bXMgaXMgcmVwZWF0ZWQsIHRoZXJlIGFyZSBubyBwYWlycyAoaSxqKSB0aGF0IG1lZXQgYWxsIHRoZSByZXF1aXJlbWVudHMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0sIGsgJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array"
+ ]
+ },
+ {
+ "title": "2154. Keep Multiplying Found Values by Two",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gYXJyYXkgb2YgaW50ZWdlcnMgPGNvZGU+bnVtczwvY29kZT4uIFlvdSBhcmUgYWxzbyBnaXZlbiBhbiBpbnRlZ2VyIDxjb2RlPm9yaWdpbmFsPC9jb2RlPiB3aGljaCBpcyB0aGUgZmlyc3QgbnVtYmVyIHRoYXQgbmVlZHMgdG8gYmUgc2VhcmNoZWQgZm9yIGluIDxjb2RlPm51bXM8L2NvZGU+LjwvcD4KPHA+WW91IHRoZW4gZG8gdGhlIGZvbGxvd2luZyBzdGVwczo8L3A+CjxvbD4KPGxpPklmIDxjb2RlPm9yaWdpbmFsPC9jb2RlPiBpcyBmb3VuZCBpbiA8Y29kZT5udW1zPC9jb2RlPiwgPHN0cm9uZz5tdWx0aXBseTwvc3Ryb25nPiBpdCBieSB0d28gKGkuZS4sIHNldCA8Y29kZT5vcmlnaW5hbCA9IDIgKiBvcmlnaW5hbDwvY29kZT4pLjwvbGk+CjxsaT5PdGhlcndpc2UsIDxzdHJvbmc+c3RvcDwvc3Ryb25nPiB0aGUgcHJvY2Vzcy48L2xpPgo8bGk+PHN0cm9uZz5SZXBlYXQ8L3N0cm9uZz4gdGhpcyBwcm9jZXNzIHdpdGggdGhlIG5ldyBudW1iZXIgYXMgbG9uZyBhcyB5b3Uga2VlcCBmaW5kaW5nIHRoZSBudW1iZXIuPC9saT4KPC9vbD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5maW5hbDwvc3Ryb25nPiB2YWx1ZSBvZiA8L2VtPjxjb2RlPm9yaWdpbmFsPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNSwzLDYsMSwxMl0sIG9yaWdpbmFsID0gMwo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMjQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCi0gMyBpcyBmb3VuZCBpbiBudW1zLiAzIGlzIG11bHRpcGxpZWQgYnkgMiB0byBvYnRhaW4gNi4KLSA2IGlzIGZvdW5kIGluIG51bXMuIDYgaXMgbXVsdGlwbGllZCBieSAyIHRvIG9idGFpbiAxMi4KLSAxMiBpcyBmb3VuZCBpbiBudW1zLiAxMiBpcyBtdWx0aXBsaWVkIGJ5IDIgdG8gb2J0YWluIDI0LgotIDI0IGlzIG5vdCBmb3VuZCBpbiBudW1zLiBUaHVzLCAyNCBpcyByZXR1cm5lZC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsyLDcsOV0sIG9yaWdpbmFsID0gNAo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgotIDQgaXMgbm90IGZvdW5kIGluIG51bXMuIFRodXMsIDQgaXMgcmV0dXJuZWQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldLCBvcmlnaW5hbCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Sorting",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2148. Count Elements With Strictly Smaller and Greater Elements ",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGludGVnZXIgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4sIHJldHVybiA8ZW0+dGhlIG51bWJlciBvZiBlbGVtZW50cyB0aGF0IGhhdmUgPHN0cm9uZz5ib3RoPC9zdHJvbmc+IGEgc3RyaWN0bHkgc21hbGxlciBhbmQgYSBzdHJpY3RseSBncmVhdGVyIGVsZW1lbnQgYXBwZWFyIGluIDwvZW0+PGNvZGU+bnVtczwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzExLDcsMiwxNV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGVsZW1lbnQgNyBoYXMgdGhlIGVsZW1lbnQgMiBzdHJpY3RseSBzbWFsbGVyIHRoYW4gaXQgYW5kIHRoZSBlbGVtZW50IDExIHN0cmljdGx5IGdyZWF0ZXIgdGhhbiBpdC4KRWxlbWVudCAxMSBoYXMgZWxlbWVudCA3IHN0cmljdGx5IHNtYWxsZXIgdGhhbiBpdCBhbmQgZWxlbWVudCAxNSBzdHJpY3RseSBncmVhdGVyIHRoYW4gaXQuCkluIHRvdGFsIHRoZXJlIGFyZSAyIGVsZW1lbnRzIGhhdmluZyBib3RoIGEgc3RyaWN0bHkgc21hbGxlciBhbmQgYSBzdHJpY3RseSBncmVhdGVyIGVsZW1lbnQgYXBwZWFyIGluIDxjb2RlPm51bXM8L2NvZGU+Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWy0zLDMsMyw5MF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGVsZW1lbnQgMyBoYXMgdGhlIGVsZW1lbnQgLTMgc3RyaWN0bHkgc21hbGxlciB0aGFuIGl0IGFuZCB0aGUgZWxlbWVudCA5MCBzdHJpY3RseSBncmVhdGVyIHRoYW4gaXQuClNpbmNlIHRoZXJlIGFyZSB0d28gZWxlbWVudHMgd2l0aCB0aGUgdmFsdWUgMywgaW4gdG90YWwgdGhlcmUgYXJlIDIgZWxlbWVudHMgaGF2aW5nIGJvdGggYSBzdHJpY3RseSBzbWFsbGVyIGFuZCBhIHN0cmljdGx5IGdyZWF0ZXIgZWxlbWVudCBhcHBlYXIgaW4gPGNvZGU+bnVtczwvY29kZT4uCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4tMTA8c3VwPjU8L3N1cD4gJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2160. Minimum Sum of Four Digit Number After Splitting Digits",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPnBvc2l0aXZlPC9zdHJvbmc+IGludGVnZXIgPGNvZGU+bnVtPC9jb2RlPiBjb25zaXN0aW5nIG9mIGV4YWN0bHkgZm91ciBkaWdpdHMuIFNwbGl0IDxjb2RlPm51bTwvY29kZT4gaW50byB0d28gbmV3IGludGVnZXJzIDxjb2RlPm5ldzE8L2NvZGU+IGFuZCA8Y29kZT5uZXcyPC9jb2RlPiBieSB1c2luZyB0aGUgPHN0cm9uZz5kaWdpdHM8L3N0cm9uZz4gZm91bmQgaW4gPGNvZGU+bnVtPC9jb2RlPi4gPHN0cm9uZz5MZWFkaW5nIHplcm9zPC9zdHJvbmc+IGFyZSBhbGxvd2VkIGluIDxjb2RlPm5ldzE8L2NvZGU+IGFuZCA8Y29kZT5uZXcyPC9jb2RlPiwgYW5kIDxzdHJvbmc+YWxsPC9zdHJvbmc+IHRoZSBkaWdpdHMgZm91bmQgaW4gPGNvZGU+bnVtPC9jb2RlPiBtdXN0IGJlIHVzZWQuPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgZ2l2ZW4gPGNvZGU+bnVtID0gMjkzMjwvY29kZT4sIHlvdSBoYXZlIHRoZSBmb2xsb3dpbmcgZGlnaXRzOiB0d28gPGNvZGU+MjwvY29kZT4ncywgb25lIDxjb2RlPjk8L2NvZGU+IGFuZCBvbmUgPGNvZGU+MzwvY29kZT4uIFNvbWUgb2YgdGhlIHBvc3NpYmxlIHBhaXJzIDxjb2RlPltuZXcxLCBuZXcyXTwvY29kZT4gYXJlIDxjb2RlPlsyMiwgOTNdPC9jb2RlPiwgPGNvZGU+WzIzLCA5Ml08L2NvZGU+LCA8Y29kZT5bMjIzLCA5XTwvY29kZT4gYW5kIDxjb2RlPlsyLCAzMjldPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1pbmltdW08L3N0cm9uZz4gcG9zc2libGUgc3VtIG9mIDwvZW0+PGNvZGU+bmV3MTwvY29kZT48ZW0+IGFuZCA8L2VtPjxjb2RlPm5ldzI8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtID0gMjkzMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNTIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gU29tZSBwb3NzaWJsZSBwYWlycyBbbmV3MSwgbmV3Ml0gYXJlIFsyOSwgMjNdLCBbMjIzLCA5XSwgZXRjLgpUaGUgbWluaW11bSBzdW0gY2FuIGJlIG9idGFpbmVkIGJ5IHRoZSBwYWlyIFsyOSwgMjNdOiAyOSArIDIzID0gNTIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bSA9IDQwMDkKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFNvbWUgcG9zc2libGUgcGFpcnMgW25ldzEsIG5ldzJdIGFyZSBbMCwgNDldLCBbNDkwLCAwXSwgZXRjLiAKVGhlIG1pbmltdW0gc3VtIGNhbiBiZSBvYnRhaW5lZCBieSB0aGUgcGFpciBbNCwgOV06IDQgKyA5ID0gMTMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEwMDAgJmx0Oz0gbnVtICZsdDs9IDk5OTk8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Math",
+ "Greedy",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2138. Divide a String Into Groups of Size k",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgc3RyaW5nIDxjb2RlPnM8L2NvZGU+IGNhbiBiZSBwYXJ0aXRpb25lZCBpbnRvIGdyb3VwcyBvZiBzaXplIDxjb2RlPms8L2NvZGU+IHVzaW5nIHRoZSBmb2xsb3dpbmcgcHJvY2VkdXJlOjwvcD4KPHVsPgo8bGk+VGhlIGZpcnN0IGdyb3VwIGNvbnNpc3RzIG9mIHRoZSBmaXJzdCA8Y29kZT5rPC9jb2RlPiBjaGFyYWN0ZXJzIG9mIHRoZSBzdHJpbmcsIHRoZSBzZWNvbmQgZ3JvdXAgY29uc2lzdHMgb2YgdGhlIG5leHQgPGNvZGU+azwvY29kZT4gY2hhcmFjdGVycyBvZiB0aGUgc3RyaW5nLCBhbmQgc28gb24uIEVhY2ggY2hhcmFjdGVyIGNhbiBiZSBhIHBhcnQgb2YgPHN0cm9uZz5leGFjdGx5IG9uZTwvc3Ryb25nPiBncm91cC48L2xpPgo8bGk+Rm9yIHRoZSBsYXN0IGdyb3VwLCBpZiB0aGUgc3RyaW5nIDxzdHJvbmc+ZG9lcyBub3Q8L3N0cm9uZz4gaGF2ZSA8Y29kZT5rPC9jb2RlPiBjaGFyYWN0ZXJzIHJlbWFpbmluZywgYSBjaGFyYWN0ZXIgPGNvZGU+ZmlsbDwvY29kZT4gaXMgdXNlZCB0byBjb21wbGV0ZSB0aGUgZ3JvdXAuPC9saT4KPC91bD4KPHA+Tm90ZSB0aGF0IHRoZSBwYXJ0aXRpb24gaXMgZG9uZSBzbyB0aGF0IGFmdGVyIHJlbW92aW5nIHRoZSA8Y29kZT5maWxsPC9jb2RlPiBjaGFyYWN0ZXIgZnJvbSB0aGUgbGFzdCBncm91cCAoaWYgaXQgZXhpc3RzKSBhbmQgY29uY2F0ZW5hdGluZyBhbGwgdGhlIGdyb3VwcyBpbiBvcmRlciwgdGhlIHJlc3VsdGFudCBzdHJpbmcgc2hvdWxkIGJlIDxjb2RlPnM8L2NvZGU+LjwvcD4KPHA+R2l2ZW4gdGhlIHN0cmluZyA8Y29kZT5zPC9jb2RlPiwgdGhlIHNpemUgb2YgZWFjaCBncm91cCA8Y29kZT5rPC9jb2RlPiBhbmQgdGhlIGNoYXJhY3RlciA8Y29kZT5maWxsPC9jb2RlPiwgcmV0dXJuIDxlbT5hIHN0cmluZyBhcnJheSBkZW5vdGluZyB0aGUgPHN0cm9uZz5jb21wb3NpdGlvbiBvZiBldmVyeSBncm91cDwvc3Ryb25nPiA8L2VtPjxjb2RlPnM8L2NvZGU+PGVtPiBoYXMgYmVlbiBkaXZpZGVkIGludG8sIHVzaW5nIHRoZSBhYm92ZSBwcm9jZWR1cmU8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiYWJjZGVmZ2hpIiwgayA9IDMsIGZpbGwgPSAieCIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsiYWJjIiwiZGVmIiwiZ2hpIl0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIGZpcnN0IDMgY2hhcmFjdGVycyAiYWJjIiBmb3JtIHRoZSBmaXJzdCBncm91cC4KVGhlIG5leHQgMyBjaGFyYWN0ZXJzICJkZWYiIGZvcm0gdGhlIHNlY29uZCBncm91cC4KVGhlIGxhc3QgMyBjaGFyYWN0ZXJzICJnaGkiIGZvcm0gdGhlIHRoaXJkIGdyb3VwLgpTaW5jZSBhbGwgZ3JvdXBzIGNhbiBiZSBjb21wbGV0ZWx5IGZpbGxlZCBieSBjaGFyYWN0ZXJzIGZyb20gdGhlIHN0cmluZywgd2UgZG8gbm90IG5lZWQgdG8gdXNlIGZpbGwuClRodXMsIHRoZSBncm91cHMgZm9ybWVkIGFyZSAiYWJjIiwgImRlZiIsIGFuZCAiZ2hpIi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJhYmNkZWZnaGlqIiwgayA9IDMsIGZpbGwgPSAieCIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsiYWJjIiwiZGVmIiwiZ2hpIiwianh4Il0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KU2ltaWxhciB0byB0aGUgcHJldmlvdXMgZXhhbXBsZSwgd2UgYXJlIGZvcm1pbmcgdGhlIGZpcnN0IHRocmVlIGdyb3VwcyAiYWJjIiwgImRlZiIsIGFuZCAiZ2hpIi4KRm9yIHRoZSBsYXN0IGdyb3VwLCB3ZSBjYW4gb25seSB1c2UgdGhlIGNoYXJhY3RlciAnaicgZnJvbSB0aGUgc3RyaW5nLiBUbyBjb21wbGV0ZSB0aGlzIGdyb3VwLCB3ZSBhZGQgJ3gnIHR3aWNlLgpUaHVzLCB0aGUgNCBncm91cHMgZm9ybWVkIGFyZSAiYWJjIiwgImRlZiIsICJnaGkiLCBhbmQgImp4eCIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gcy5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zPC9jb2RlPiBjb25zaXN0cyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzIG9ubHkuPC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gayAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPmZpbGw8L2NvZGU+IGlzIGEgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVyLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "String",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2133. Check if Every Row and Column Contains All Numbers",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkFuIDxjb2RlPm4geCBuPC9jb2RlPiBtYXRyaXggaXMgPHN0cm9uZz52YWxpZDwvc3Ryb25nPiBpZiBldmVyeSByb3cgYW5kIGV2ZXJ5IGNvbHVtbiBjb250YWlucyA8c3Ryb25nPmFsbDwvc3Ryb25nPiB0aGUgaW50ZWdlcnMgZnJvbSA8Y29kZT4xPC9jb2RlPiB0byA8Y29kZT5uPC9jb2RlPiAoPHN0cm9uZz5pbmNsdXNpdmU8L3N0cm9uZz4pLjwvcD4KPHA+R2l2ZW4gYW4gPGNvZGU+biB4IG48L2NvZGU+IGludGVnZXIgbWF0cml4IDxjb2RlPm1hdHJpeDwvY29kZT4sIHJldHVybiA8Y29kZT50cnVlPC9jb2RlPiA8ZW0+aWYgdGhlIG1hdHJpeCBpcyA8c3Ryb25nPnZhbGlkPC9zdHJvbmc+LjwvZW0+IE90aGVyd2lzZSwgcmV0dXJuIDxjb2RlPmZhbHNlPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMTIvMjEvZXhhbXBsZTFkcmF3aW8ucG5nIiBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG1hdHJpeCA9IFtbMSwyLDNdLFszLDEsMl0sWzIsMywxXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IHRydWUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gSW4gdGhpcyBjYXNlLCBuID0gMywgYW5kIGV2ZXJ5IHJvdyBhbmQgY29sdW1uIGNvbnRhaW5zIHRoZSBudW1iZXJzIDEsIDIsIGFuZCAzLgpIZW5jZSwgd2UgcmV0dXJuIHRydWUuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMTIvMjEvZXhhbXBsZTJkcmF3aW8ucG5nIiBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG1hdHJpeCA9IFtbMSwxLDFdLFsxLDIsM10sWzEsMiwzXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IGZhbHNlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEluIHRoaXMgY2FzZSwgbiA9IDMsIGJ1dCB0aGUgZmlyc3Qgcm93IGFuZCB0aGUgZmlyc3QgY29sdW1uIGRvIG5vdCBjb250YWluIHRoZSBudW1iZXJzIDIgb3IgMy4KSGVuY2UsIHdlIHJldHVybiBmYWxzZS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBtYXRyaXgubGVuZ3RoID09IG1hdHJpeFtpXS5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbWF0cml4W2ldW2pdICZsdDs9IG48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Matrix"
+ ]
+ },
+ {
+ "title": "2144. Minimum Cost of Buying Candies With Discount",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgc2hvcCBpcyBzZWxsaW5nIGNhbmRpZXMgYXQgYSBkaXNjb3VudC4gRm9yIDxzdHJvbmc+ZXZlcnkgdHdvPC9zdHJvbmc+IGNhbmRpZXMgc29sZCwgdGhlIHNob3AgZ2l2ZXMgYSA8c3Ryb25nPnRoaXJkPC9zdHJvbmc+IGNhbmR5IGZvciA8c3Ryb25nPmZyZWU8L3N0cm9uZz4uPC9wPgo8cD5UaGUgY3VzdG9tZXIgY2FuIGNob29zZSA8c3Ryb25nPmFueTwvc3Ryb25nPiBjYW5keSB0byB0YWtlIGF3YXkgZm9yIGZyZWUgYXMgbG9uZyBhcyB0aGUgY29zdCBvZiB0aGUgY2hvc2VuIGNhbmR5IGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byB0aGUgPHN0cm9uZz5taW5pbXVtPC9zdHJvbmc+IGNvc3Qgb2YgdGhlIHR3byBjYW5kaWVzIGJvdWdodC48L3A+Cjx1bD4KPGxpPkZvciBleGFtcGxlLCBpZiB0aGVyZSBhcmUgPGNvZGU+NDwvY29kZT4gY2FuZGllcyB3aXRoIGNvc3RzIDxjb2RlPjE8L2NvZGU+LCA8Y29kZT4yPC9jb2RlPiwgPGNvZGU+MzwvY29kZT4sIGFuZCA8Y29kZT40PC9jb2RlPiwgYW5kIHRoZSBjdXN0b21lciBidXlzIGNhbmRpZXMgd2l0aCBjb3N0cyA8Y29kZT4yPC9jb2RlPiBhbmQgPGNvZGU+MzwvY29kZT4sIHRoZXnCoGNhbiB0YWtlIHRoZSBjYW5keSB3aXRoIGNvc3QgPGNvZGU+MTwvY29kZT4gZm9yIGZyZWUsIGJ1dCBub3QgdGhlIGNhbmR5IHdpdGggY29zdCA8Y29kZT40PC9jb2RlPi48L2xpPgo8L3VsPgo8cD5HaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXkgPGNvZGU+Y29zdDwvY29kZT4sIHdoZXJlIDxjb2RlPmNvc3RbaV08L2NvZGU+IGRlbm90ZXMgdGhlIGNvc3Qgb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBjYW5keSwgcmV0dXJuIDxlbT50aGUgPHN0cm9uZz5taW5pbXVtIGNvc3Q8L3N0cm9uZz4gb2YgYnV5aW5nIDxzdHJvbmc+YWxsPC9zdHJvbmc+IHRoZSBjYW5kaWVzPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBjb3N0ID0gWzEsMiwzXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSBidXkgdGhlIGNhbmRpZXMgd2l0aCBjb3N0cyAyIGFuZCAzLCBhbmQgdGFrZSB0aGUgY2FuZHkgd2l0aCBjb3N0IDEgZm9yIGZyZWUuClRoZSB0b3RhbCBjb3N0IG9mIGJ1eWluZyBhbGwgY2FuZGllcyBpcyAyICsgMyA9IDUuIFRoaXMgaXMgdGhlIDxzdHJvbmc+b25seTwvc3Ryb25nPiB3YXkgd2UgY2FuIGJ1eSB0aGUgY2FuZGllcy4KTm90ZSB0aGF0IHdlIGNhbm5vdCBidXkgY2FuZGllcyB3aXRoIGNvc3RzIDEgYW5kIDMsIGFuZCB0aGVuIHRha2UgdGhlIGNhbmR5IHdpdGggY29zdCAyIGZvciBmcmVlLgpUaGUgY29zdCBvZiB0aGUgZnJlZSBjYW5keSBoYXMgdG8gYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoZSBtaW5pbXVtIGNvc3Qgb2YgdGhlIHB1cmNoYXNlZCBjYW5kaWVzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBjb3N0ID0gWzYsNSw3LDksMiwyXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMjMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHdheSBpbiB3aGljaCB3ZSBjYW4gZ2V0IHRoZSBtaW5pbXVtIGNvc3QgaXMgZGVzY3JpYmVkIGJlbG93OgotIEJ1eSBjYW5kaWVzIHdpdGggY29zdHMgOSBhbmQgNwotIFRha2UgdGhlIGNhbmR5IHdpdGggY29zdCA2IGZvciBmcmVlCi0gV2UgYnV5IGNhbmRpZXMgd2l0aCBjb3N0cyA1IGFuZCAyCi0gVGFrZSB0aGUgbGFzdCByZW1haW5pbmcgY2FuZHkgd2l0aCBjb3N0IDIgZm9yIGZyZWUKSGVuY2UsIHRoZSBtaW5pbXVtIGNvc3QgdG8gYnV5IGFsbCBjYW5kaWVzIGlzIDkgKyA3ICsgNSArIDIgPSAyMy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gY29zdCA9IFs1LDVdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBTaW5jZSB0aGVyZSBhcmUgb25seSAyIGNhbmRpZXMsIHdlIGJ1eSBib3RoIG9mIHRoZW0uIFRoZXJlIGlzIG5vdCBhIHRoaXJkIGNhbmR5IHdlIGNhbiB0YWtlIGZvciBmcmVlLgpIZW5jZSwgdGhlIG1pbmltdW0gY29zdCB0byBidXkgYWxsIGNhbmRpZXMgaXMgNSArIDUgPSAxMC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBjb3N0Lmxlbmd0aCAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gY29zdFtpXSAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Greedy",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2124. Check if All A's Appears Before All B's",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgc3RyaW5nIDxjb2RlPnM8L2NvZGU+IGNvbnNpc3Rpbmcgb2YgPHN0cm9uZz5vbmx5PC9zdHJvbmc+IHRoZSBjaGFyYWN0ZXJzIDxjb2RlPidhJzwvY29kZT4gYW5kIDxjb2RlPidiJzwvY29kZT4sIHJldHVybiA8Y29kZT50cnVlPC9jb2RlPiA8ZW0+aWYgPHN0cm9uZz5ldmVyeTwvc3Ryb25nPiA8L2VtPjxjb2RlPidhJzwvY29kZT4gPGVtPmFwcGVhcnMgYmVmb3JlIDxzdHJvbmc+ZXZlcnk8L3N0cm9uZz4gPC9lbT48Y29kZT4nYic8L2NvZGU+PGVtPiBpbiB0aGUgc3RyaW5nPC9lbT4uIE90aGVyd2lzZSwgcmV0dXJuIDxjb2RlPmZhbHNlPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiYWFhYmJiIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gdHJ1ZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgJ2EncyBhcmUgYXQgaW5kaWNlcyAwLCAxLCBhbmQgMiwgd2hpbGUgdGhlICdiJ3MgYXJlIGF0IGluZGljZXMgMywgNCwgYW5kIDUuCkhlbmNlLCBldmVyeSAnYScgYXBwZWFycyBiZWZvcmUgZXZlcnkgJ2InIGFuZCB3ZSByZXR1cm4gdHJ1ZS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJhYmFiIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gZmFsc2UKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlcmUgaXMgYW4gJ2EnIGF0IGluZGV4IDIgYW5kIGEgJ2InIGF0IGluZGV4IDEuCkhlbmNlLCBub3QgZXZlcnkgJ2EnIGFwcGVhcnMgYmVmb3JlIGV2ZXJ5ICdiJyBhbmQgd2UgcmV0dXJuIGZhbHNlLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImJiYiIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IHRydWUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlcmUgYXJlIG5vICdhJ3MsIGhlbmNlLCBldmVyeSAnYScgYXBwZWFycyBiZWZvcmUgZXZlcnkgJ2InIGFuZCB3ZSByZXR1cm4gdHJ1ZS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBzLmxlbmd0aCAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnNbaV08L2NvZGU+IGlzIGVpdGhlciA8Y29kZT4nYSc8L2NvZGU+IG9yIDxjb2RlPidiJzwvY29kZT4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "String"
+ ]
+ },
+ {
+ "title": "2119. A Number After a Double Reversal",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPjxzdHJvbmc+UmV2ZXJzaW5nPC9zdHJvbmc+IGFuIGludGVnZXIgbWVhbnMgdG8gcmV2ZXJzZSBhbGwgaXRzIGRpZ2l0cy48L3A+Cjx1bD4KPGxpPkZvciBleGFtcGxlLCByZXZlcnNpbmcgPGNvZGU+MjAyMTwvY29kZT4gZ2l2ZXMgPGNvZGU+MTIwMjwvY29kZT4uIFJldmVyc2luZyA8Y29kZT4xMjMwMDwvY29kZT4gZ2l2ZXMgPGNvZGU+MzIxPC9jb2RlPiBhcyB0aGUgPHN0cm9uZz5sZWFkaW5nIHplcm9zIGFyZSBub3QgcmV0YWluZWQ8L3N0cm9uZz4uPC9saT4KPC91bD4KPHA+R2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5udW08L2NvZGU+LCA8c3Ryb25nPnJldmVyc2U8L3N0cm9uZz4gPGNvZGU+bnVtPC9jb2RlPiB0byBnZXQgPGNvZGU+cmV2ZXJzZWQxPC9jb2RlPiwgPHN0cm9uZz50aGVuIHJldmVyc2U8L3N0cm9uZz4gPGNvZGU+cmV2ZXJzZWQxPC9jb2RlPiB0byBnZXQgPGNvZGU+cmV2ZXJzZWQyPC9jb2RlPi4gUmV0dXJuIDxjb2RlPnRydWU8L2NvZGU+IDxlbT5pZjwvZW0+IDxjb2RlPnJldmVyc2VkMjwvY29kZT4gPGVtPmVxdWFsczwvZW0+IDxjb2RlPm51bTwvY29kZT4uIE90aGVyd2lzZSByZXR1cm4gPGNvZGU+ZmFsc2U8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtID0gNTI2CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiB0cnVlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFJldmVyc2UgbnVtIHRvIGdldCA2MjUsIHRoZW4gcmV2ZXJzZSA2MjUgdG8gZ2V0IDUyNiwgd2hpY2ggZXF1YWxzIG51bS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtID0gMTgwMAo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gZmFsc2UKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gUmV2ZXJzZSBudW0gdG8gZ2V0IDgxLCB0aGVuIHJldmVyc2UgODEgdG8gZ2V0IDE4LCB3aGljaCBkb2VzIG5vdCBlcXVhbCBudW0uCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bSA9IDAKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IHRydWUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gUmV2ZXJzZSBudW0gdG8gZ2V0IDAsIHRoZW4gcmV2ZXJzZSAwIHRvIGdldCAwLCB3aGljaCBlcXVhbHMgbnVtLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4wICZsdDs9IG51bSAmbHQ7PSAxMDxzdXA+Njwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Math"
+ ]
+ },
+ {
+ "title": "2129. Capitalize the Title",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+dGl0bGU8L2NvZGU+IGNvbnNpc3Rpbmcgb2Ygb25lIG9yIG1vcmUgd29yZHMgc2VwYXJhdGVkIGJ5IGEgc2luZ2xlIHNwYWNlLCB3aGVyZSBlYWNoIHdvcmQgY29uc2lzdHMgb2YgRW5nbGlzaCBsZXR0ZXJzLiA8c3Ryb25nPkNhcGl0YWxpemU8L3N0cm9uZz4gdGhlIHN0cmluZyBieSBjaGFuZ2luZyB0aGUgY2FwaXRhbGl6YXRpb24gb2YgZWFjaCB3b3JkIHN1Y2ggdGhhdDo8L3A+Cjx1bD4KPGxpPklmIHRoZSBsZW5ndGggb2YgdGhlIHdvcmQgaXMgPGNvZGU+MTwvY29kZT4gb3IgPGNvZGU+MjwvY29kZT4gbGV0dGVycywgY2hhbmdlIGFsbCBsZXR0ZXJzIHRvIGxvd2VyY2FzZS48L2xpPgo8bGk+T3RoZXJ3aXNlLCBjaGFuZ2UgdGhlIGZpcnN0IGxldHRlciB0byB1cHBlcmNhc2UgYW5kIHRoZSByZW1haW5pbmcgbGV0dGVycyB0byBsb3dlcmNhc2UuPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5jYXBpdGFsaXplZDwvc3Ryb25nPiA8L2VtPjxjb2RlPnRpdGxlPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHRpdGxlID0gImNhcGlUYWxJemUgdEhlIHRpdExlIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gIkNhcGl0YWxpemUgVGhlIFRpdGxlIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpTaW5jZSBhbGwgdGhlIHdvcmRzIGhhdmUgYSBsZW5ndGggb2YgYXQgbGVhc3QgMywgdGhlIGZpcnN0IGxldHRlciBvZiBlYWNoIHdvcmQgaXMgdXBwZXJjYXNlLCBhbmQgdGhlIHJlbWFpbmluZyBsZXR0ZXJzIGFyZSBsb3dlcmNhc2UuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHRpdGxlID0gIkZpcnN0IGxlVFRlUiBvZiBFQUNIIFdvcmQiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiRmlyc3QgTGV0dGVyIG9mIEVhY2ggV29yZCIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIHdvcmQgIm9mIiBoYXMgbGVuZ3RoIDIsIHNvIGl0IGlzIGFsbCBsb3dlcmNhc2UuClRoZSByZW1haW5pbmcgd29yZHMgaGF2ZSBhIGxlbmd0aCBvZiBhdCBsZWFzdCAzLCBzbyB0aGUgZmlyc3QgbGV0dGVyIG9mIGVhY2ggcmVtYWluaW5nIHdvcmQgaXMgdXBwZXJjYXNlLCBhbmQgdGhlIHJlbWFpbmluZyBsZXR0ZXJzIGFyZSBsb3dlcmNhc2UuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHRpdGxlID0gImkgbE92ZSBsZWV0Y29kZSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICJpIExvdmUgTGVldGNvZGUiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSB3b3JkICJpIiBoYXMgbGVuZ3RoIDEsIHNvIGl0IGlzIGxvd2VyY2FzZS4KVGhlIHJlbWFpbmluZyB3b3JkcyBoYXZlIGEgbGVuZ3RoIG9mIGF0IGxlYXN0IDMsIHNvIHRoZSBmaXJzdCBsZXR0ZXIgb2YgZWFjaCByZW1haW5pbmcgd29yZCBpcyB1cHBlcmNhc2UsIGFuZCB0aGUgcmVtYWluaW5nIGxldHRlcnMgYXJlIGxvd2VyY2FzZS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSB0aXRsZS5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT50aXRsZTwvY29kZT4gY29uc2lzdHMgb2Ygd29yZHMgc2VwYXJhdGVkIGJ5IGEgc2luZ2xlIHNwYWNlIHdpdGhvdXQgYW55IGxlYWRpbmcgb3IgdHJhaWxpbmcgc3BhY2VzLjwvbGk+CjxsaT5FYWNoIHdvcmQgY29uc2lzdHMgb2YgdXBwZXJjYXNlIGFuZCBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzIGFuZCBpcyA8c3Ryb25nPm5vbi1lbXB0eTwvc3Ryb25nPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "String"
+ ]
+ },
+ {
+ "title": "2108. Find First Palindromic String in the Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGFycmF5IG9mIHN0cmluZ3MgPGNvZGU+d29yZHM8L2NvZGU+LCByZXR1cm4gPGVtPnRoZSBmaXJzdCA8c3Ryb25nPnBhbGluZHJvbWljPC9zdHJvbmc+IHN0cmluZyBpbiB0aGUgYXJyYXk8L2VtPi4gSWYgdGhlcmUgaXMgbm8gc3VjaCBzdHJpbmcsIHJldHVybiA8ZW0+YW4gPHN0cm9uZz5lbXB0eSBzdHJpbmc8L3N0cm9uZz4gPC9lbT48Y29kZT4iIjwvY29kZT4uPC9wPgo8cD5BIHN0cmluZyBpcyA8c3Ryb25nPnBhbGluZHJvbWljPC9zdHJvbmc+IGlmIGl0IHJlYWRzIHRoZSBzYW1lIGZvcndhcmQgYW5kIGJhY2t3YXJkLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZHMgPSBbImFiYyIsImNhciIsImFkYSIsInJhY2VjYXIiLCJjb29sIl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICJhZGEiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBmaXJzdCBzdHJpbmcgdGhhdCBpcyBwYWxpbmRyb21pYyBpcyAiYWRhIi4KTm90ZSB0aGF0ICJyYWNlY2FyIiBpcyBhbHNvIHBhbGluZHJvbWljLCBidXQgaXQgaXMgbm90IHRoZSBmaXJzdC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZHMgPSBbIm5vdGFwYWxpbmRyb21lIiwicmFjZWNhciJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAicmFjZWNhciIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGZpcnN0IGFuZCBvbmx5IHN0cmluZyB0aGF0IGlzIHBhbGluZHJvbWljIGlzICJyYWNlY2FyIi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZHMgPSBbImRlZiIsImdoaSJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGVyZSBhcmUgbm8gcGFsaW5kcm9taWMgc3RyaW5ncywgc28gdGhlIGVtcHR5IHN0cmluZyBpcyByZXR1cm5lZC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSB3b3Jkcy5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHdvcmRzW2ldLmxlbmd0aCAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPndvcmRzW2ldPC9jb2RlPiBjb25zaXN0cyBvbmx5IG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Two Pointers",
+ "String"
+ ]
+ },
+ {
+ "title": "2103. Rings and Rods",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGFyZSA8Y29kZT5uPC9jb2RlPiByaW5ncyBhbmQgZWFjaCByaW5nIGlzIGVpdGhlciByZWQsIGdyZWVuLCBvciBibHVlLiBUaGUgcmluZ3MgYXJlIGRpc3RyaWJ1dGVkIDxzdHJvbmc+YWNyb3NzIHRlbiByb2RzPC9zdHJvbmc+IGxhYmVsZWQgZnJvbSA8Y29kZT4wPC9jb2RlPiB0byA8Y29kZT45PC9jb2RlPi48L3A+CjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+cmluZ3M8L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT4ybjwvY29kZT4gdGhhdCBkZXNjcmliZXMgdGhlIDxjb2RlPm48L2NvZGU+IHJpbmdzIHRoYXQgYXJlIHBsYWNlZCBvbnRvIHRoZSByb2RzLiBFdmVyeSB0d28gY2hhcmFjdGVycyBpbiA8Y29kZT5yaW5nczwvY29kZT4gZm9ybXMgYSA8c3Ryb25nPmNvbG9yLXBvc2l0aW9uIHBhaXI8L3N0cm9uZz4gdGhhdCBpcyB1c2VkIHRvIGRlc2NyaWJlIGVhY2ggcmluZyB3aGVyZTo8L3A+Cjx1bD4KPGxpPlRoZSA8c3Ryb25nPmZpcnN0PC9zdHJvbmc+IGNoYXJhY3RlciBvZiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHBhaXIgZGVub3RlcyB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHJpbmcncyA8c3Ryb25nPmNvbG9yPC9zdHJvbmc+ICg8Y29kZT4nUic8L2NvZGU+LCA8Y29kZT4nRyc8L2NvZGU+LCA8Y29kZT4nQic8L2NvZGU+KS48L2xpPgo8bGk+VGhlIDxzdHJvbmc+c2Vjb25kPC9zdHJvbmc+IGNoYXJhY3RlciBvZiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHBhaXIgZGVub3RlcyB0aGUgPHN0cm9uZz5yb2Q8L3N0cm9uZz4gdGhhdCB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHJpbmcgaXMgcGxhY2VkIG9uICg8Y29kZT4nMCc8L2NvZGU+IHRvIDxjb2RlPic5JzwvY29kZT4pLjwvbGk+CjwvdWw+CjxwPkZvciBleGFtcGxlLCA8Y29kZT4iUjNHMkIxIjwvY29kZT4gZGVzY3JpYmVzIDxjb2RlPm4gPT0gMzwvY29kZT4gcmluZ3M6IGEgcmVkIHJpbmcgcGxhY2VkIG9udG8gdGhlIHJvZCBsYWJlbGVkIDMsIGEgZ3JlZW4gcmluZyBwbGFjZWQgb250byB0aGUgcm9kIGxhYmVsZWQgMiwgYW5kIGEgYmx1ZSByaW5nIHBsYWNlZCBvbnRvIHRoZSByb2QgbGFiZWxlZCAxLjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgbnVtYmVyIG9mIHJvZHMgdGhhdCBoYXZlIDxzdHJvbmc+YWxsIHRocmVlIGNvbG9yczwvc3Ryb25nPiBvZiByaW5ncyBvbiB0aGVtLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzExLzIzL2V4MWZpbmFsLnBuZyIgc3R5bGU9IndpZHRoOiAyNThweDsgaGVpZ2h0OiAxMzBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiByaW5ncyA9ICJCMEI2RzBSNlIwUjZHOSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCi0gVGhlIHJvZCBsYWJlbGVkIDAgaG9sZHMgMyByaW5ncyB3aXRoIGFsbCBjb2xvcnM6IHJlZCwgZ3JlZW4sIGFuZCBibHVlLgotIFRoZSByb2QgbGFiZWxlZCA2IGhvbGRzIDMgcmluZ3MsIGJ1dCBpdCBvbmx5IGhhcyByZWQgYW5kIGJsdWUuCi0gVGhlIHJvZCBsYWJlbGVkIDkgaG9sZHMgb25seSBhIGdyZWVuIHJpbmcuClRodXMsIHRoZSBudW1iZXIgb2Ygcm9kcyB3aXRoIGFsbCB0aHJlZSBjb2xvcnMgaXMgMS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8xMS8yMy9leDJmaW5hbC5wbmciIHN0eWxlPSJ3aWR0aDogMjY2cHg7IGhlaWdodDogMTMwcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcmluZ3MgPSAiQjBSMEcwUjlSMEIwRzAiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IAotIFRoZSByb2QgbGFiZWxlZCAwIGhvbGRzIDYgcmluZ3Mgd2l0aCBhbGwgY29sb3JzOiByZWQsIGdyZWVuLCBhbmQgYmx1ZS4KLSBUaGUgcm9kIGxhYmVsZWQgOSBob2xkcyBvbmx5IGEgcmVkIHJpbmcuClRodXMsIHRoZSBudW1iZXIgb2Ygcm9kcyB3aXRoIGFsbCB0aHJlZSBjb2xvcnMgaXMgMS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcmluZ3MgPSAiRzQiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApPbmx5IG9uZSByaW5nIGlzIGdpdmVuLiBUaHVzLCBubyByb2RzIGhhdmUgYWxsIHRocmVlIGNvbG9ycy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+cmluZ3MubGVuZ3RoID09IDIgKiBuPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5yaW5nc1tpXTwvY29kZT4gd2hlcmUgPGNvZGU+aTwvY29kZT4gaXMgPHN0cm9uZz5ldmVuPC9zdHJvbmc+IGlzIGVpdGhlciA8Y29kZT4nUic8L2NvZGU+LCA8Y29kZT4nRyc8L2NvZGU+LCBvciA8Y29kZT4nQic8L2NvZGU+ICg8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPikuPC9saT4KPGxpPjxjb2RlPnJpbmdzW2ldPC9jb2RlPiB3aGVyZSA8Y29kZT5pPC9jb2RlPiBpcyA8c3Ryb25nPm9kZDwvc3Ryb25nPiBpcyBhIGRpZ2l0IGZyb20gPGNvZGU+JzAnPC9jb2RlPiB0byA8Y29kZT4nOSc8L2NvZGU+ICg8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPikuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Hash Table",
+ "String"
+ ]
+ },
+ {
+ "title": "2114. Maximum Number of Words Found in Sentences",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgPHN0cm9uZz5zZW50ZW5jZTwvc3Ryb25nPiBpcyBhIGxpc3Qgb2YgPHN0cm9uZz53b3Jkczwvc3Ryb25nPiB0aGF0IGFyZSBzZXBhcmF0ZWQgYnkgYSBzaW5nbGUgc3BhY2XCoHdpdGggbm8gbGVhZGluZyBvciB0cmFpbGluZyBzcGFjZXMuPC9wPgo8cD5Zb3UgYXJlIGdpdmVuIGFuIGFycmF5IG9mIHN0cmluZ3MgPGNvZGU+c2VudGVuY2VzPC9jb2RlPiwgd2hlcmUgZWFjaCA8Y29kZT5zZW50ZW5jZXNbaV08L2NvZGU+IHJlcHJlc2VudHMgYSBzaW5nbGUgPHN0cm9uZz5zZW50ZW5jZTwvc3Ryb25nPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWF4aW11bSBudW1iZXIgb2Ygd29yZHM8L3N0cm9uZz4gdGhhdCBhcHBlYXIgaW4gYSBzaW5nbGUgc2VudGVuY2U8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHNlbnRlbmNlcyA9IFsiYWxpY2UgYW5kIGJvYiBsb3ZlIGxlZXRjb2RlIiwgImkgdGhpbmsgc28gdG9vIiwgPHU+InRoaXMgaXMgZ3JlYXQgdGhhbmtzIHZlcnkgbXVjaCI8L3U+XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKLSBUaGUgZmlyc3Qgc2VudGVuY2UsICJhbGljZSBhbmQgYm9iIGxvdmUgbGVldGNvZGUiLCBoYXMgNSB3b3JkcyBpbiB0b3RhbC4KLSBUaGUgc2Vjb25kIHNlbnRlbmNlLCAiaSB0aGluayBzbyB0b28iLCBoYXMgNCB3b3JkcyBpbiB0b3RhbC4KLSBUaGUgdGhpcmQgc2VudGVuY2UsICJ0aGlzIGlzIGdyZWF0IHRoYW5rcyB2ZXJ5IG11Y2giLCBoYXMgNiB3b3JkcyBpbiB0b3RhbC4KVGh1cywgdGhlIG1heGltdW0gbnVtYmVyIG9mIHdvcmRzIGluIGEgc2luZ2xlIHNlbnRlbmNlIGNvbWVzIGZyb20gdGhlIHRoaXJkIHNlbnRlbmNlLCB3aGljaCBoYXMgNiB3b3Jkcy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gc2VudGVuY2VzID0gWyJwbGVhc2Ugd2FpdCIsIDx1PiJjb250aW51ZSB0byBmaWdodCI8L3U+LCA8dT4iY29udGludWUgdG8gd2luIjwvdT5dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEl0IGlzIHBvc3NpYmxlIHRoYXQgbXVsdGlwbGUgc2VudGVuY2VzIGNvbnRhaW4gdGhlIHNhbWUgbnVtYmVyIG9mIHdvcmRzLiAKSW4gdGhpcyBleGFtcGxlLCB0aGUgc2Vjb25kIGFuZCB0aGlyZCBzZW50ZW5jZXMgKHVuZGVybGluZWQpIGhhdmUgdGhlIHNhbWUgbnVtYmVyIG9mIHdvcmRzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHNlbnRlbmNlcy5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHNlbnRlbmNlc1tpXS5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zZW50ZW5jZXNbaV08L2NvZGU+IGNvbnNpc3RzIG9ubHkgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycyBhbmQgPGNvZGU+JyAnPC9jb2RlPiBvbmx5LjwvbGk+CjxsaT48Y29kZT5zZW50ZW5jZXNbaV08L2NvZGU+IGRvZXMgbm90IGhhdmUgbGVhZGluZyBvciB0cmFpbGluZyBzcGFjZXMuPC9saT4KPGxpPkFsbCB0aGUgd29yZHMgaW4gPGNvZGU+c2VudGVuY2VzW2ldPC9jb2RlPiBhcmUgc2VwYXJhdGVkIGJ5IGEgc2luZ2xlIHNwYWNlLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "String"
+ ]
+ },
+ {
+ "title": "2094. Finding 3-Digit Even Numbers",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5kaWdpdHM8L2NvZGU+LCB3aGVyZSBlYWNoIGVsZW1lbnQgaXMgYSBkaWdpdC4gVGhlIGFycmF5IG1heSBjb250YWluIGR1cGxpY2F0ZXMuPC9wPgo8cD5Zb3UgbmVlZCB0byBmaW5kIDxzdHJvbmc+YWxsPC9zdHJvbmc+IHRoZSA8c3Ryb25nPnVuaXF1ZTwvc3Ryb25nPiBpbnRlZ2VycyB0aGF0IGZvbGxvdyB0aGUgZ2l2ZW4gcmVxdWlyZW1lbnRzOjwvcD4KPHVsPgo8bGk+VGhlIGludGVnZXIgY29uc2lzdHMgb2YgdGhlIDxzdHJvbmc+Y29uY2F0ZW5hdGlvbjwvc3Ryb25nPiBvZiA8c3Ryb25nPnRocmVlPC9zdHJvbmc+IGVsZW1lbnRzIGZyb20gPGNvZGU+ZGlnaXRzPC9jb2RlPiBpbiA8c3Ryb25nPmFueTwvc3Ryb25nPiBhcmJpdHJhcnkgb3JkZXIuPC9saT4KPGxpPlRoZSBpbnRlZ2VyIGRvZXMgbm90IGhhdmUgPHN0cm9uZz5sZWFkaW5nIHplcm9zPC9zdHJvbmc+LjwvbGk+CjxsaT5UaGUgaW50ZWdlciBpcyA8c3Ryb25nPmV2ZW48L3N0cm9uZz4uPC9saT4KPC91bD4KPHA+Rm9yIGV4YW1wbGUsIGlmIHRoZSBnaXZlbiA8Y29kZT5kaWdpdHM8L2NvZGU+IHdlcmUgPGNvZGU+WzEsIDIsIDNdPC9jb2RlPiwgaW50ZWdlcnMgPGNvZGU+MTMyPC9jb2RlPiBhbmQgPGNvZGU+MzEyPC9jb2RlPiBmb2xsb3cgdGhlIHJlcXVpcmVtZW50cy48L3A+CjxwPlJldHVybiA8ZW0+YSA8c3Ryb25nPnNvcnRlZDwvc3Ryb25nPiBhcnJheSBvZiB0aGUgdW5pcXVlIGludGVnZXJzLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBkaWdpdHMgPSBbMiwxLDMsMF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsxMDIsMTIwLDEzMCwxMzIsMjEwLDIzMCwzMDIsMzEwLDMxMiwzMjBdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEFsbCB0aGUgcG9zc2libGUgaW50ZWdlcnMgdGhhdCBmb2xsb3cgdGhlIHJlcXVpcmVtZW50cyBhcmUgaW4gdGhlIG91dHB1dCBhcnJheS4gCk5vdGljZSB0aGF0IHRoZXJlIGFyZSBubyA8c3Ryb25nPm9kZDwvc3Ryb25nPiBpbnRlZ2VycyBvciBpbnRlZ2VycyB3aXRoIDxzdHJvbmc+bGVhZGluZyB6ZXJvczwvc3Ryb25nPi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZGlnaXRzID0gWzIsMiw4LDgsMl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsyMjIsMjI4LDI4MiwyODgsODIyLDgyOCw4ODJdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBzYW1lIGRpZ2l0IGNhbiBiZSB1c2VkIGFzIG1hbnkgdGltZXMgYXMgaXQgYXBwZWFycyBpbiBkaWdpdHMuIApJbiB0aGlzIGV4YW1wbGUsIHRoZSBkaWdpdCA4IGlzIHVzZWQgdHdpY2UgZWFjaCB0aW1lIGluIDI4OCwgODI4LCBhbmQgODgyLiAKPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZGlnaXRzID0gWzMsNyw1XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gW10KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gTm8gPHN0cm9uZz5ldmVuPC9zdHJvbmc+IGludGVnZXJzIGNhbiBiZSBmb3JtZWQgdXNpbmcgdGhlIGdpdmVuIGRpZ2l0cy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MyAmbHQ7PSBkaWdpdHMubGVuZ3RoICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBkaWdpdHNbaV0gJmx0Oz0gOTwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Sorting",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2089. Find Target Indices After Sorting Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IGFuZCBhIHRhcmdldCBlbGVtZW50IDxjb2RlPnRhcmdldDwvY29kZT4uPC9wPgo8cD5BIDxzdHJvbmc+dGFyZ2V0IGluZGV4PC9zdHJvbmc+IGlzIGFuIGluZGV4IDxjb2RlPmk8L2NvZGU+IHN1Y2ggdGhhdCA8Y29kZT5udW1zW2ldID09IHRhcmdldDwvY29kZT4uPC9wPgo8cD5SZXR1cm4gPGVtPmEgbGlzdCBvZiB0aGUgdGFyZ2V0IGluZGljZXMgb2Y8L2VtPiA8Y29kZT5udW1zPC9jb2RlPiBhZnRlcjxlbT4gc29ydGluZyA8L2VtPjxjb2RlPm51bXM8L2NvZGU+PGVtPiBpbiA8c3Ryb25nPm5vbi1kZWNyZWFzaW5nPC9zdHJvbmc+IG9yZGVyPC9lbT4uIElmIHRoZXJlIGFyZSBubyB0YXJnZXQgaW5kaWNlcywgcmV0dXJuIDxlbT5hbiA8c3Ryb25nPmVtcHR5PC9zdHJvbmc+IGxpc3Q8L2VtPi4gVGhlIHJldHVybmVkIGxpc3QgbXVzdCBiZSBzb3J0ZWQgaW4gPHN0cm9uZz5pbmNyZWFzaW5nPC9zdHJvbmc+IG9yZGVyLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDIsNSwyLDNdLCB0YXJnZXQgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMSwyXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBBZnRlciBzb3J0aW5nLCBudW1zIGlzIFsxLDx1PjxzdHJvbmc+Mjwvc3Ryb25nPjwvdT4sPHU+PHN0cm9uZz4yPC9zdHJvbmc+PC91PiwzLDVdLgpUaGUgaW5kaWNlcyB3aGVyZSBudW1zW2ldID09IDIgYXJlIDEgYW5kIDIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSwyLDUsMiwzXSwgdGFyZ2V0ID0gMwo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzNdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEFmdGVyIHNvcnRpbmcsIG51bXMgaXMgWzEsMiwyLDx1PjxzdHJvbmc+Mzwvc3Ryb25nPjwvdT4sNV0uClRoZSBpbmRleCB3aGVyZSBudW1zW2ldID09IDMgaXMgMy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDIsNSwyLDNdLCB0YXJnZXQgPSA1CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbNF0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gQWZ0ZXIgc29ydGluZywgbnVtcyBpcyBbMSwyLDIsMyw8dT48c3Ryb25nPjU8L3N0cm9uZz48L3U+XS4KVGhlIGluZGV4IHdoZXJlIG51bXNbaV0gPT0gNSBpcyA0Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldLCB0YXJnZXQgJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2099. Find Subsequence of Length K With the Largest Sum",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBhbmQgYW4gaW50ZWdlciA8Y29kZT5rPC9jb2RlPi4gWW91IHdhbnQgdG8gZmluZCBhIDxzdHJvbmc+c3Vic2VxdWVuY2UgPC9zdHJvbmc+b2YgPGNvZGU+bnVtczwvY29kZT4gb2YgbGVuZ3RoIDxjb2RlPms8L2NvZGU+IHRoYXQgaGFzIHRoZSA8c3Ryb25nPmxhcmdlc3Q8L3N0cm9uZz4gc3VtLjwvcD4KPHA+UmV0dXJuPGVtPiA8L2VtPjxlbT48c3Ryb25nPmFueTwvc3Ryb25nPiBzdWNoIHN1YnNlcXVlbmNlIGFzIGFuIGludGVnZXIgYXJyYXkgb2YgbGVuZ3RoIDwvZW0+PGNvZGU+azwvY29kZT4uPC9wPgo8cD5BIDxzdHJvbmc+c3Vic2VxdWVuY2U8L3N0cm9uZz4gaXMgYW4gYXJyYXkgdGhhdCBjYW4gYmUgZGVyaXZlZCBmcm9tIGFub3RoZXIgYXJyYXkgYnkgZGVsZXRpbmcgc29tZSBvciBubyBlbGVtZW50cyB3aXRob3V0IGNoYW5naW5nIHRoZSBvcmRlciBvZiB0aGUgcmVtYWluaW5nIGVsZW1lbnRzLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsyLDEsMywzXSwgayA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFszLDNdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBzdWJzZXF1ZW5jZSBoYXMgdGhlIGxhcmdlc3Qgc3VtIG9mIDMgKyAzID0gNi48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWy0xLC0yLDMsNF0sIGsgPSAzCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbLTEsMyw0XQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKVGhlIHN1YnNlcXVlbmNlIGhhcyB0aGUgbGFyZ2VzdCBzdW0gb2YgLTEgKyAzICsgNCA9IDYuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMyw0LDMsM10sIGsgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMyw0XQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgc3Vic2VxdWVuY2UgaGFzIHRoZSBsYXJnZXN0IHN1bSBvZiAzICsgNCA9IDcuIApBbm90aGVyIHBvc3NpYmxlIHN1YnNlcXVlbmNlIGlzIFs0LCAzXS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4tMTA8c3VwPjU8L3N1cD7CoCZsdDs9IG51bXNbaV0gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gayAmbHQ7PSBudW1zLmxlbmd0aDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Sorting",
+ "Heap (Priority Queue)"
+ ]
+ },
+ {
+ "title": "2078. Two Furthest Houses With Different Colors",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGFyZSA8Y29kZT5uPC9jb2RlPiBob3VzZXMgZXZlbmx5IGxpbmVkIHVwIG9uIHRoZSBzdHJlZXQsIGFuZCBlYWNoIGhvdXNlIGlzIGJlYXV0aWZ1bGx5IHBhaW50ZWQuIFlvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPmNvbG9yczwvY29kZT4gb2YgbGVuZ3RoIDxjb2RlPm48L2NvZGU+LCB3aGVyZSA8Y29kZT5jb2xvcnNbaV08L2NvZGU+IHJlcHJlc2VudHMgdGhlIGNvbG9yIG9mIHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gaG91c2UuPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1heGltdW08L3N0cm9uZz4gZGlzdGFuY2UgYmV0d2VlbiA8c3Ryb25nPnR3bzwvc3Ryb25nPiBob3VzZXMgd2l0aCA8c3Ryb25nPmRpZmZlcmVudDwvc3Ryb25nPiBjb2xvcnM8L2VtPi48L3A+CjxwPlRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gYW5kIDxjb2RlPmo8c3VwPnRoPC9zdXA+PC9jb2RlPiBob3VzZXMgaXMgPGNvZGU+YWJzKGkgLSBqKTwvY29kZT4sIHdoZXJlIDxjb2RlPmFicyh4KTwvY29kZT4gaXMgdGhlIDxzdHJvbmc+YWJzb2x1dGUgdmFsdWU8L3N0cm9uZz4gb2YgPGNvZGU+eDwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzEwLzMxL2VnMS5wbmciIHN0eWxlPSJ3aWR0aDogNjEwcHg7IGhlaWdodDogODRweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBjb2xvcnMgPSBbPHU+PHN0cm9uZz4xPC9zdHJvbmc+PC91PiwxLDEsPHN0cm9uZz48dT42PC91Pjwvc3Ryb25nPiwxLDEsMV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gSW4gdGhlIGFib3ZlIGltYWdlLCBjb2xvciAxIGlzIGJsdWUsIGFuZCBjb2xvciA2IGlzIHJlZC4KVGhlIGZ1cnRoZXN0IHR3byBob3VzZXMgd2l0aCBkaWZmZXJlbnQgY29sb3JzIGFyZSBob3VzZSAwIGFuZCBob3VzZSAzLgpIb3VzZSAwIGhhcyBjb2xvciAxLCBhbmQgaG91c2UgMyBoYXMgY29sb3IgNi4gVGhlIGRpc3RhbmNlIGJldHdlZW4gdGhlbSBpcyBhYnMoMCAtIDMpID0gMy4KTm90ZSB0aGF0IGhvdXNlcyAzIGFuZCA2IGNhbiBhbHNvIHByb2R1Y2UgdGhlIG9wdGltYWwgYW5zd2VyLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzEwLzMxL2VnMi5wbmciIHN0eWxlPSJ3aWR0aDogNDI2cHg7IGhlaWdodDogODRweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBjb2xvcnMgPSBbPHU+PHN0cm9uZz4xPC9zdHJvbmc+PC91Piw4LDMsOCw8dT48c3Ryb25nPjM8L3N0cm9uZz48L3U+XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBJbiB0aGUgYWJvdmUgaW1hZ2UsIGNvbG9yIDEgaXMgYmx1ZSwgY29sb3IgOCBpcyB5ZWxsb3csIGFuZCBjb2xvciAzIGlzIGdyZWVuLgpUaGUgZnVydGhlc3QgdHdvIGhvdXNlcyB3aXRoIGRpZmZlcmVudCBjb2xvcnMgYXJlIGhvdXNlIDAgYW5kIGhvdXNlIDQuCkhvdXNlIDAgaGFzIGNvbG9yIDEsIGFuZCBob3VzZSA0IGhhcyBjb2xvciAzLiBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGVtIGlzIGFicygwIC0gNCkgPSA0Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBjb2xvcnMgPSBbPHU+PHN0cm9uZz4wPC9zdHJvbmc+PC91Piw8c3Ryb25nPjx1PjE8L3U+PC9zdHJvbmc+XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgZnVydGhlc3QgdHdvIGhvdXNlcyB3aXRoIGRpZmZlcmVudCBjb2xvcnMgYXJlIGhvdXNlIDAgYW5kIGhvdXNlIDEuCkhvdXNlIDAgaGFzIGNvbG9yIDAsIGFuZCBob3VzZSAxIGhhcyBjb2xvciAxLiBUaGUgZGlzdGFuY2UgYmV0d2VlbiB0aGVtIGlzIGFicygwIC0gMSkgPSAxLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09wqBjb2xvcnMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4yICZsdDs9IG4gJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IGNvbG9yc1tpXSAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPlRlc3QgZGF0YSBhcmUgZ2VuZXJhdGVkIHN1Y2ggdGhhdCA8c3Ryb25nPmF0IGxlYXN0PC9zdHJvbmc+IHR3byBob3VzZXMgaGF2ZSBkaWZmZXJlbnQgY29sb3JzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Greedy"
+ ]
+ },
+ {
+ "title": "2073. Time Needed to Buy Tickets",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGFyZSA8Y29kZT5uPC9jb2RlPiBwZW9wbGUgaW4gYSBsaW5lIHF1ZXVpbmcgdG8gYnV5IHRpY2tldHMsIHdoZXJlIHRoZSA8Y29kZT4wPHN1cD50aDwvc3VwPjwvY29kZT4gcGVyc29uIGlzIGF0IHRoZSA8c3Ryb25nPmZyb250PC9zdHJvbmc+IG9mIHRoZSBsaW5lIGFuZCB0aGUgPGNvZGU+KG4gLSAxKTxzdXA+dGg8L3N1cD48L2NvZGU+IHBlcnNvbiBpcyBhdCB0aGUgPHN0cm9uZz5iYWNrPC9zdHJvbmc+IG9mIHRoZSBsaW5lLjwvcD4KPHA+WW91IGFyZSBnaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXkgPGNvZGU+dGlja2V0czwvY29kZT4gb2YgbGVuZ3RoIDxjb2RlPm48L2NvZGU+IHdoZXJlIHRoZSBudW1iZXIgb2YgdGlja2V0cyB0aGF0IHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gcGVyc29uIHdvdWxkIGxpa2UgdG8gYnV5IGlzIDxjb2RlPnRpY2tldHNbaV08L2NvZGU+LjwvcD4KPHA+RWFjaCBwZXJzb24gdGFrZXMgPHN0cm9uZz5leGFjdGx5IDEgc2Vjb25kPC9zdHJvbmc+IHRvIGJ1eSBhIHRpY2tldC4gQSBwZXJzb24gY2FuIG9ubHkgYnV5IDxzdHJvbmc+MSB0aWNrZXQgYXQgYSB0aW1lPC9zdHJvbmc+IGFuZCBoYXMgdG8gZ28gYmFjayB0byA8c3Ryb25nPnRoZSBlbmQ8L3N0cm9uZz4gb2YgdGhlIGxpbmUgKHdoaWNoIGhhcHBlbnMgPHN0cm9uZz5pbnN0YW50YW5lb3VzbHk8L3N0cm9uZz4pIGluIG9yZGVyIHRvIGJ1eSBtb3JlIHRpY2tldHMuIElmIGEgcGVyc29uIGRvZXMgbm90IGhhdmUgYW55IHRpY2tldHMgbGVmdCB0byBidXksIHRoZSBwZXJzb24gd2lsbCA8c3Ryb25nPmxlYXZlIDwvc3Ryb25nPnRoZSBsaW5lLjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz50aW1lIHRha2VuPC9zdHJvbmc+IGZvciB0aGUgcGVyc29uIGF0IHBvc2l0aW9uIDwvZW0+PGNvZGU+azwvY29kZT48ZW0+wqA8L2VtPjxzdHJvbmc+PGVtPigwLWluZGV4ZWQpPC9lbT7CoDwvc3Ryb25nPjxlbT50byBmaW5pc2ggYnV5aW5nIHRpY2tldHM8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHRpY2tldHMgPSBbMiwzLDJdLCBrID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKLSBJbiB0aGUgZmlyc3QgcGFzcywgZXZlcnlvbmUgaW4gdGhlIGxpbmUgYnV5cyBhIHRpY2tldCBhbmQgdGhlIGxpbmUgYmVjb21lcyBbMSwgMiwgMV0uCi0gSW4gdGhlIHNlY29uZCBwYXNzLCBldmVyeW9uZSBpbiB0aGUgbGluZSBidXlzIGEgdGlja2V0IGFuZCB0aGUgbGluZSBiZWNvbWVzIFswLCAxLCAwXS4KVGhlIHBlcnNvbiBhdMKgcG9zaXRpb24gMiBoYXMgc3VjY2Vzc2Z1bGx5IGJvdWdodCAyIHRpY2tldHMgYW5kIGl0IHRvb2sgMyArIDMgPSA2IHNlY29uZHMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHRpY2tldHMgPSBbNSwxLDEsMV0sIGsgPSAwCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA4CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ci0gSW4gdGhlIGZpcnN0IHBhc3MsIGV2ZXJ5b25lIGluIHRoZSBsaW5lIGJ1eXMgYSB0aWNrZXQgYW5kIHRoZSBsaW5lIGJlY29tZXMgWzQsIDAsIDAsIDBdLgotIEluIHRoZSBuZXh0IDQgcGFzc2VzLCBvbmx5IHRoZSBwZXJzb24gaW4gcG9zaXRpb24gMCBpcyBidXlpbmcgdGlja2V0cy4KVGhlIHBlcnNvbiBhdMKgcG9zaXRpb24gMCBoYXMgc3VjY2Vzc2Z1bGx5IGJvdWdodCA1IHRpY2tldHMgYW5kIGl0IHRvb2sgNCArIDEgKyAxICsgMSArIDEgPSA4IHNlY29uZHMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gdGlja2V0cy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gdGlja2V0c1tpXSAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gayAmbHQ7IG48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Queue",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2085. Count Common Words With One Occurrence",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIHR3byBzdHJpbmcgYXJyYXlzIDxjb2RlPndvcmRzMTwvY29kZT4gYW5kIDxjb2RlPndvcmRzMjwvY29kZT4sIHJldHVybiA8ZW0+dGhlIG51bWJlciBvZiBzdHJpbmdzIHRoYXQgYXBwZWFyIDxzdHJvbmc+ZXhhY3RseSBvbmNlPC9zdHJvbmc+IGluIDxiPmVhY2g8L2I+wqBvZiB0aGUgdHdvIGFycmF5cy48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZHMxID0gWyJsZWV0Y29kZSIsImlzIiwiYW1hemluZyIsImFzIiwiaXMiXSwgd29yZHMyID0gWyJhbWF6aW5nIiwibGVldGNvZGUiLCJpcyJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ci0gImxlZXRjb2RlIiBhcHBlYXJzIGV4YWN0bHkgb25jZSBpbiBlYWNoIG9mIHRoZSB0d28gYXJyYXlzLiBXZSBjb3VudCB0aGlzIHN0cmluZy4KLSAiYW1hemluZyIgYXBwZWFycyBleGFjdGx5IG9uY2UgaW4gZWFjaCBvZiB0aGUgdHdvIGFycmF5cy4gV2UgY291bnQgdGhpcyBzdHJpbmcuCi0gImlzIiBhcHBlYXJzIGluIGVhY2ggb2YgdGhlIHR3byBhcnJheXMsIGJ1dCB0aGVyZSBhcmUgMiBvY2N1cnJlbmNlcyBvZiBpdCBpbiB3b3JkczEuIFdlIGRvIG5vdCBjb3VudCB0aGlzIHN0cmluZy4KLSAiYXMiIGFwcGVhcnMgb25jZSBpbiB3b3JkczEsIGJ1dCBkb2VzIG5vdCBhcHBlYXIgaW4gd29yZHMyLiBXZSBkbyBub3QgY291bnQgdGhpcyBzdHJpbmcuClRodXMsIHRoZXJlIGFyZSAyIHN0cmluZ3MgdGhhdCBhcHBlYXIgZXhhY3RseSBvbmNlIGluIGVhY2ggb2YgdGhlIHR3byBhcnJheXMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHdvcmRzMSA9IFsiYiIsImJiIiwiYmJiIl0sIHdvcmRzMiA9IFsiYSIsImFhIiwiYWFhIl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgYXJlIG5vIHN0cmluZ3MgdGhhdCBhcHBlYXIgaW4gZWFjaCBvZiB0aGUgdHdvIGFycmF5cy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZHMxID0gWyJhIiwiYWIiXSwgd29yZHMyID0gWyJhIiwiYSIsImEiLCJhYiJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBvbmx5IHN0cmluZyB0aGF0IGFwcGVhcnMgZXhhY3RseSBvbmNlIGluIGVhY2ggb2YgdGhlIHR3byBhcnJheXMgaXMgImFiIi4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSB3b3JkczEubGVuZ3RoLCB3b3JkczIubGVuZ3RoICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gd29yZHMxW2ldLmxlbmd0aCwgd29yZHMyW2pdLmxlbmd0aCAmbHQ7PSAzMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+d29yZHMxW2ldPC9jb2RlPiBhbmQgPGNvZGU+d29yZHMyW2pdPC9jb2RlPiBjb25zaXN0cyBvbmx5IG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "String",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2062. Count Vowel Substrings of a String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgPHN0cm9uZz5zdWJzdHJpbmc8L3N0cm9uZz4gaXMgYSBjb250aWd1b3VzIChub24tZW1wdHkpIHNlcXVlbmNlIG9mIGNoYXJhY3RlcnMgd2l0aGluIGEgc3RyaW5nLjwvcD4KPHA+QSA8c3Ryb25nPnZvd2VsIHN1YnN0cmluZzwvc3Ryb25nPiBpcyBhIHN1YnN0cmluZyB0aGF0IDxzdHJvbmc+b25seTwvc3Ryb25nPiBjb25zaXN0cyBvZiB2b3dlbHMgKDxjb2RlPidhJzwvY29kZT4sIDxjb2RlPidlJzwvY29kZT4sIDxjb2RlPidpJzwvY29kZT4sIDxjb2RlPidvJzwvY29kZT4sIGFuZCA8Y29kZT4ndSc8L2NvZGU+KSBhbmQgaGFzIDxzdHJvbmc+YWxsIGZpdmU8L3N0cm9uZz4gdm93ZWxzIHByZXNlbnQgaW4gaXQuPC9wPgo8cD5HaXZlbiBhIHN0cmluZyA8Y29kZT53b3JkPC9jb2RlPiwgcmV0dXJuIDxlbT50aGUgbnVtYmVyIG9mIDxzdHJvbmc+dm93ZWwgc3Vic3RyaW5nczwvc3Ryb25nPiBpbjwvZW0+IDxjb2RlPndvcmQ8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZCA9ICJhZWlvdXUiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSB2b3dlbCBzdWJzdHJpbmdzIG9mIHdvcmQgYXJlIGFzIGZvbGxvd3MgKHVuZGVybGluZWQpOgotICI8c3Ryb25nPjx1PmFlaW91PC91Pjwvc3Ryb25nPnUiCi0gIjxzdHJvbmc+PHU+YWVpb3V1PC91Pjwvc3Ryb25nPiIKPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZCA9ICJ1bmljb3JuYXJpaGFuIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBOb3QgYWxsIDUgdm93ZWxzIGFyZSBwcmVzZW50LCBzbyB0aGVyZSBhcmUgbm8gdm93ZWwgc3Vic3RyaW5ncy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZCA9ICJjdWFpZXVvdWFjIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgdm93ZWwgc3Vic3RyaW5ncyBvZiB3b3JkIGFyZSBhcyBmb2xsb3dzICh1bmRlcmxpbmVkKToKLSAiYzxzdHJvbmc+PHU+dWFpZXVvPC91Pjwvc3Ryb25nPnVhYyIKLSAiYzxzdHJvbmc+PHU+dWFpZXVvdTwvdT48L3N0cm9uZz5hYyIKLSAiYzxzdHJvbmc+PHU+dWFpZXVvdWE8L3U+PC9zdHJvbmc+YyIKLSAiY3U8c3Ryb25nPjx1PmFpZXVvPC91Pjwvc3Ryb25nPnVhYyIKLSAiY3U8c3Ryb25nPjx1PmFpZXVvdTwvdT48L3N0cm9uZz5hYyIKLSAiY3U8c3Ryb25nPjx1PmFpZXVvdWE8L3U+PC9zdHJvbmc+YyIKLSAiY3VhPHN0cm9uZz48dT5pZXVvdWE8L3U+PC9zdHJvbmc+YyIKPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSB3b3JkLmxlbmd0aCAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPndvcmQ8L2NvZGU+IGNvbnNpc3RzIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMgb25seS48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Hash Table",
+ "String"
+ ]
+ },
+ {
+ "title": "2057. Smallest Index With Equal Value",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiwgcmV0dXJuIDxlbT50aGUgPHN0cm9uZz5zbWFsbGVzdDwvc3Ryb25nPiBpbmRleCA8L2VtPjxjb2RlPmk8L2NvZGU+PGVtPiBvZiA8L2VtPjxjb2RlPm51bXM8L2NvZGU+PGVtPiBzdWNoIHRoYXQgPC9lbT48Y29kZT5pIG1vZCAxMCA9PSBudW1zW2ldPC9jb2RlPjxlbT4sIG9yIDwvZW0+PGNvZGU+LTE8L2NvZGU+PGVtPiBpZiBzdWNoIGluZGV4IGRvZXMgbm90IGV4aXN0PC9lbT4uPC9wPgo8cD48Y29kZT54IG1vZCB5PC9jb2RlPiBkZW5vdGVzIHRoZSA8c3Ryb25nPnJlbWFpbmRlcjwvc3Ryb25nPiB3aGVuIDxjb2RlPng8L2NvZGU+IGlzIGRpdmlkZWQgYnkgPGNvZGU+eTwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzAsMSwyXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKaT0wOiAwIG1vZCAxMCA9IDAgPT0gbnVtc1swXS4KaT0xOiAxIG1vZCAxMCA9IDEgPT0gbnVtc1sxXS4KaT0yOiAyIG1vZCAxMCA9IDIgPT0gbnVtc1syXS4KQWxsIGluZGljZXMgaGF2ZSBpIG1vZCAxMCA9PSBudW1zW2ldLCBzbyB3ZSByZXR1cm4gdGhlIHNtYWxsZXN0IGluZGV4IDAuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNCwzLDIsMV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCmk9MDogMCBtb2QgMTAgPSAwICE9IG51bXNbMF0uCmk9MTogMSBtb2QgMTAgPSAxICE9IG51bXNbMV0uCmk9MjogMiBtb2QgMTAgPSAyID09IG51bXNbMl0uCmk9MzogMyBtb2QgMTAgPSAzICE9IG51bXNbM10uCjIgaXMgdGhlIG9ubHkgaW5kZXggd2hpY2ggaGFzIGkgbW9kIDEwID09IG51bXNbaV0uCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSwyLDMsNCw1LDYsNyw4LDksMF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IC0xCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IE5vIGluZGV4IHNhdGlzZmllcyBpIG1vZCAxMCA9PSBudW1zW2ldLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBudW1zW2ldICZsdDs9IDk8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array"
+ ]
+ },
+ {
+ "title": "2068. Check Whether Two Strings are Almost Equivalent",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlR3byBzdHJpbmdzIDxjb2RlPndvcmQxPC9jb2RlPiBhbmQgPGNvZGU+d29yZDI8L2NvZGU+IGFyZSBjb25zaWRlcmVkIDxzdHJvbmc+YWxtb3N0IGVxdWl2YWxlbnQ8L3N0cm9uZz4gaWYgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlIGZyZXF1ZW5jaWVzIG9mIGVhY2ggbGV0dGVyIGZyb20gPGNvZGU+J2EnPC9jb2RlPiB0byA8Y29kZT4neic8L2NvZGU+IGJldHdlZW4gPGNvZGU+d29yZDE8L2NvZGU+IGFuZCA8Y29kZT53b3JkMjwvY29kZT4gaXMgPHN0cm9uZz5hdCBtb3N0PC9zdHJvbmc+IDxjb2RlPjM8L2NvZGU+LjwvcD4KPHA+R2l2ZW4gdHdvIHN0cmluZ3MgPGNvZGU+d29yZDE8L2NvZGU+IGFuZCA8Y29kZT53b3JkMjwvY29kZT4sIGVhY2ggb2YgbGVuZ3RoIDxjb2RlPm48L2NvZGU+LCByZXR1cm4gPGNvZGU+dHJ1ZTwvY29kZT4gPGVtPmlmIDwvZW0+PGNvZGU+d29yZDE8L2NvZGU+IDxlbT5hbmQ8L2VtPiA8Y29kZT53b3JkMjwvY29kZT4gPGVtPmFyZSA8c3Ryb25nPmFsbW9zdCBlcXVpdmFsZW50PC9zdHJvbmc+LCBvcjwvZW0+IDxjb2RlPmZhbHNlPC9jb2RlPiA8ZW0+b3RoZXJ3aXNlPC9lbT4uPC9wPgo8cD5UaGUgPHN0cm9uZz5mcmVxdWVuY3k8L3N0cm9uZz4gb2YgYSBsZXR0ZXIgPGNvZGU+eDwvY29kZT4gaXMgdGhlIG51bWJlciBvZiB0aW1lcyBpdCBvY2N1cnMgaW4gdGhlIHN0cmluZy48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHdvcmQxID0gImFhYWEiLCB3b3JkMiA9ICJiY2NiIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gZmFsc2UKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgYXJlIDQgJ2EncyBpbiAiYWFhYSIgYnV0IDAgJ2EncyBpbiAiYmNjYiIuClRoZSBkaWZmZXJlbmNlIGlzIDQsIHdoaWNoIGlzIG1vcmUgdGhhbiB0aGUgYWxsb3dlZCAzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB3b3JkMSA9ICJhYmNkZWVmIiwgd29yZDIgPSAiYWJhYWFjYyIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IHRydWUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlIGZyZXF1ZW5jaWVzIG9mIGVhY2ggbGV0dGVyIGluIHdvcmQxIGFuZCB3b3JkMiBhcmUgYXQgbW9zdCAzOgotICdhJyBhcHBlYXJzIDEgdGltZSBpbiB3b3JkMSBhbmQgNCB0aW1lcyBpbiB3b3JkMi4gVGhlIGRpZmZlcmVuY2UgaXMgMy4KLSAnYicgYXBwZWFycyAxIHRpbWUgaW4gd29yZDEgYW5kIDEgdGltZSBpbiB3b3JkMi4gVGhlIGRpZmZlcmVuY2UgaXMgMC4KLSAnYycgYXBwZWFycyAxIHRpbWUgaW4gd29yZDEgYW5kIDIgdGltZXMgaW4gd29yZDIuIFRoZSBkaWZmZXJlbmNlIGlzIDEuCi0gJ2QnIGFwcGVhcnMgMSB0aW1lIGluIHdvcmQxIGFuZCAwIHRpbWVzIGluIHdvcmQyLiBUaGUgZGlmZmVyZW5jZSBpcyAxLgotICdlJyBhcHBlYXJzIDIgdGltZXMgaW4gd29yZDEgYW5kIDAgdGltZXMgaW4gd29yZDIuIFRoZSBkaWZmZXJlbmNlIGlzIDIuCi0gJ2YnIGFwcGVhcnMgMSB0aW1lIGluIHdvcmQxIGFuZCAwIHRpbWVzIGluIHdvcmQyLiBUaGUgZGlmZmVyZW5jZSBpcyAxLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB3b3JkMSA9ICJjY2NkZGFiYmEiLCB3b3JkMiA9ICJiYWJhYmFiYWIiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiB0cnVlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZSBmcmVxdWVuY2llcyBvZiBlYWNoIGxldHRlciBpbiB3b3JkMSBhbmQgd29yZDIgYXJlIGF0IG1vc3QgMzoKLSAnYScgYXBwZWFycyAyIHRpbWVzIGluIHdvcmQxIGFuZCA0IHRpbWVzIGluIHdvcmQyLiBUaGUgZGlmZmVyZW5jZSBpcyAyLgotICdiJyBhcHBlYXJzIDIgdGltZXMgaW4gd29yZDEgYW5kIDUgdGltZXMgaW4gd29yZDIuIFRoZSBkaWZmZXJlbmNlIGlzIDMuCi0gJ2MnIGFwcGVhcnMgMyB0aW1lcyBpbiB3b3JkMSBhbmQgMCB0aW1lcyBpbiB3b3JkMi4gVGhlIGRpZmZlcmVuY2UgaXMgMy4KLSAnZCcgYXBwZWFycyAyIHRpbWVzIGluIHdvcmQxIGFuZCAwIHRpbWVzIGluIHdvcmQyLiBUaGUgZGlmZmVyZW5jZSBpcyAyLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IHdvcmQxLmxlbmd0aCA9PSB3b3JkMi5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPndvcmQxPC9jb2RlPiBhbmQgPGNvZGU+d29yZDI8L2NvZGU+IGNvbnNpc3Qgb25seSBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Hash Table",
+ "String",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2047. Number of Valid Words in a Sentence",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgc2VudGVuY2UgY29uc2lzdHMgb2YgbG93ZXJjYXNlIGxldHRlcnMgKDxjb2RlPidhJzwvY29kZT4gdG8gPGNvZGU+J3onPC9jb2RlPiksIGRpZ2l0cyAoPGNvZGU+JzAnPC9jb2RlPiB0byA8Y29kZT4nOSc8L2NvZGU+KSwgaHlwaGVucyAoPGNvZGU+Jy0nPC9jb2RlPiksIHB1bmN0dWF0aW9uIG1hcmtzICg8Y29kZT4nISc8L2NvZGU+LCA8Y29kZT4nLic8L2NvZGU+LCBhbmQgPGNvZGU+JywnPC9jb2RlPiksIGFuZCBzcGFjZXMgKDxjb2RlPicgJzwvY29kZT4pIG9ubHkuIEVhY2ggc2VudGVuY2UgY2FuIGJlIGJyb2tlbiBkb3duIGludG8gPHN0cm9uZz5vbmUgb3IgbW9yZSB0b2tlbnM8L3N0cm9uZz4gc2VwYXJhdGVkIGJ5IG9uZSBvciBtb3JlIHNwYWNlcyA8Y29kZT4nICc8L2NvZGU+LjwvcD4KPHA+QSB0b2tlbiBpcyBhIHZhbGlkIHdvcmQgaWYgPHN0cm9uZz5hbGwgdGhyZWU8L3N0cm9uZz4gb2YgdGhlIGZvbGxvd2luZyBhcmUgdHJ1ZTo8L3A+Cjx1bD4KPGxpPkl0IG9ubHkgY29udGFpbnMgbG93ZXJjYXNlIGxldHRlcnMsIGh5cGhlbnMsIGFuZC9vciBwdW5jdHVhdGlvbiAoPHN0cm9uZz5ubzwvc3Ryb25nPiBkaWdpdHMpLjwvbGk+CjxsaT5UaGVyZSBpcyA8c3Ryb25nPmF0IG1vc3Qgb25lPC9zdHJvbmc+IGh5cGhlbiA8Y29kZT4nLSc8L2NvZGU+LiBJZiBwcmVzZW50LCBpdCA8c3Ryb25nPm11c3Q8L3N0cm9uZz4gYmUgc3Vycm91bmRlZCBieSBsb3dlcmNhc2UgY2hhcmFjdGVycyAoPGNvZGU+ImEtYiI8L2NvZGU+IGlzIHZhbGlkLCBidXQgPGNvZGU+Ii1hYiI8L2NvZGU+IGFuZCA8Y29kZT4iYWItIjwvY29kZT4gYXJlIG5vdCB2YWxpZCkuPC9saT4KPGxpPlRoZXJlIGlzIDxzdHJvbmc+YXQgbW9zdCBvbmU8L3N0cm9uZz4gcHVuY3R1YXRpb24gbWFyay4gSWYgcHJlc2VudCwgaXQgPHN0cm9uZz5tdXN0PC9zdHJvbmc+IGJlIGF0IHRoZSA8c3Ryb25nPmVuZDwvc3Ryb25nPiBvZiB0aGUgdG9rZW4gKDxjb2RlPiJhYiwiPC9jb2RlPiwgPGNvZGU+ImNkISI8L2NvZGU+LCBhbmQgPGNvZGU+Ii4iPC9jb2RlPiBhcmUgdmFsaWQsIGJ1dCA8Y29kZT4iYSFiIjwvY29kZT4gYW5kIDxjb2RlPiJjLiwiPC9jb2RlPiBhcmUgbm90IHZhbGlkKS48L2xpPgo8L3VsPgo8cD5FeGFtcGxlcyBvZiB2YWxpZCB3b3JkcyBpbmNsdWRlIDxjb2RlPiJhLWIuIjwvY29kZT4sIDxjb2RlPiJhZmFkIjwvY29kZT4sIDxjb2RlPiJiYS1jIjwvY29kZT4sIDxjb2RlPiJhISI8L2NvZGU+LCBhbmQgPGNvZGU+IiEiPC9jb2RlPi48L3A+CjxwPkdpdmVuIGEgc3RyaW5nIDxjb2RlPnNlbnRlbmNlPC9jb2RlPiwgcmV0dXJuIDxlbT50aGUgPHN0cm9uZz5udW1iZXI8L3N0cm9uZz4gb2YgdmFsaWQgd29yZHMgaW4gPC9lbT48Y29kZT5zZW50ZW5jZTwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzZW50ZW5jZSA9ICI8dT5jYXQ8L3U+IDx1PmFuZDwvdT4gIDx1PmRvZzwvdT4iCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSB2YWxpZCB3b3JkcyBpbiB0aGUgc2VudGVuY2UgYXJlICJjYXQiLCAiYW5kIiwgYW5kICJkb2ciLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzZW50ZW5jZSA9ICIhdGhpcyAgMS1zIGI4ZCEiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSBubyB2YWxpZCB3b3JkcyBpbiB0aGUgc2VudGVuY2UuCiIhdGhpcyIgaXMgaW52YWxpZCBiZWNhdXNlIGl0IHN0YXJ0cyB3aXRoIGEgcHVuY3R1YXRpb24gbWFyay4KIjEtcyIgYW5kICJiOGQiIGFyZSBpbnZhbGlkIGJlY2F1c2UgdGhleSBjb250YWluIGRpZ2l0cy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gc2VudGVuY2UgPSAiPHU+YWxpY2U8L3U+IDx1PmFuZDwvdT4gIDx1PmJvYjwvdT4gPHU+YXJlPC91PiA8dT5wbGF5aW5nPC91PiBzdG9uZS1nYW1lMTAiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA1CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSB2YWxpZCB3b3JkcyBpbiB0aGUgc2VudGVuY2UgYXJlICJhbGljZSIsICJhbmQiLCAiYm9iIiwgImFyZSIsIGFuZCAicGxheWluZyIuCiJzdG9uZS1nYW1lMTAiIGlzIGludmFsaWQgYmVjYXVzZSBpdCBjb250YWlucyBkaWdpdHMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gc2VudGVuY2UubGVuZ3RoICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnNlbnRlbmNlPC9jb2RlPiBvbmx5IGNvbnRhaW5zIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMsIGRpZ2l0cywgPGNvZGU+JyAnPC9jb2RlPiwgPGNvZGU+Jy0nPC9jb2RlPiwgPGNvZGU+JyEnPC9jb2RlPiwgPGNvZGU+Jy4nPC9jb2RlPiwgYW5kIDxjb2RlPicsJzwvY29kZT4uPC9saT4KPGxpPlRoZXJlIHdpbGwgYmUgYXQgbGVhc3TCoDxjb2RlPjE8L2NvZGU+IHRva2VuLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "String"
+ ]
+ },
+ {
+ "title": "2042. Check if Numbers Are Ascending in a Sentence",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgc2VudGVuY2UgaXMgYSBsaXN0IG9mIDxzdHJvbmc+dG9rZW5zPC9zdHJvbmc+IHNlcGFyYXRlZCBieSBhIDxzdHJvbmc+c2luZ2xlPC9zdHJvbmc+IHNwYWNlIHdpdGggbm8gbGVhZGluZyBvciB0cmFpbGluZyBzcGFjZXMuIEV2ZXJ5IHRva2VuIGlzIGVpdGhlciBhIDxzdHJvbmc+cG9zaXRpdmUgbnVtYmVyPC9zdHJvbmc+IGNvbnNpc3Rpbmcgb2YgZGlnaXRzIDxjb2RlPjAtOTwvY29kZT4gd2l0aCBubyBsZWFkaW5nIHplcm9zLCBvciBhIDxzdHJvbmc+d29yZDwvc3Ryb25nPiBjb25zaXN0aW5nIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgPGNvZGU+ImEgcHVwcHkgaGFzIDIgZXllcyA0IGxlZ3MiPC9jb2RlPiBpcyBhIHNlbnRlbmNlIHdpdGggc2V2ZW4gdG9rZW5zOiA8Y29kZT4iMiI8L2NvZGU+IGFuZCA8Y29kZT4iNCI8L2NvZGU+IGFyZSBudW1iZXJzIGFuZCB0aGUgb3RoZXIgdG9rZW5zIHN1Y2ggYXMgPGNvZGU+InB1cHB5IjwvY29kZT4gYXJlIHdvcmRzLjwvbGk+CjwvdWw+CjxwPkdpdmVuIGEgc3RyaW5nIDxjb2RlPnM8L2NvZGU+IHJlcHJlc2VudGluZyBhIHNlbnRlbmNlLCB5b3UgbmVlZCB0byBjaGVjayBpZiA8c3Ryb25nPmFsbDwvc3Ryb25nPiB0aGUgbnVtYmVycyBpbiA8Y29kZT5zPC9jb2RlPiBhcmUgPHN0cm9uZz5zdHJpY3RseSBpbmNyZWFzaW5nPC9zdHJvbmc+IGZyb20gbGVmdCB0byByaWdodCAoaS5lLiwgb3RoZXIgdGhhbiB0aGUgbGFzdCBudW1iZXIsIDxzdHJvbmc+ZWFjaDwvc3Ryb25nPiBudW1iZXIgaXMgPHN0cm9uZz5zdHJpY3RseSBzbWFsbGVyPC9zdHJvbmc+IHRoYW4gdGhlIG51bWJlciBvbiBpdHMgPHN0cm9uZz5yaWdodDwvc3Ryb25nPiBpbiA8Y29kZT5zPC9jb2RlPikuPC9wPgo8cD5SZXR1cm4gPGNvZGU+dHJ1ZTwvY29kZT48ZW0+IGlmIHNvLCBvciA8L2VtPjxjb2RlPmZhbHNlPC9jb2RlPjxlbT4gb3RoZXJ3aXNlPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9ImV4YW1wbGUtMSIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzA5LzMwL2V4YW1wbGUxLnBuZyIgc3R5bGU9IndpZHRoOiA2MzdweDsgaGVpZ2h0OiA0OHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiMSBib3ggaGFzIDMgYmx1ZSA0IHJlZCA2IGdyZWVuIGFuZCAxMiB5ZWxsb3cgbWFyYmxlcyIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IHRydWUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIG51bWJlcnMgaW4gcyBhcmU6IDEsIDMsIDQsIDYsIDEyLgpUaGV5IGFyZSBzdHJpY3RseSBpbmNyZWFzaW5nIGZyb20gbGVmdCB0byByaWdodDogMSAmbHQ7IDMgJmx0OyA0ICZsdDsgNiAmbHQ7IDEyLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImhlbGxvIHdvcmxkIDUgeCA1Igo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gZmFsc2UKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIG51bWJlcnMgaW4gcyBhcmU6IDx1PjxzdHJvbmc+NTwvc3Ryb25nPjwvdT4sIDxzdHJvbmc+PHU+NTwvdT48L3N0cm9uZz4uIFRoZXkgYXJlIG5vdCBzdHJpY3RseSBpbmNyZWFzaW5nLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9ImV4YW1wbGUtMyIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzA5LzMwL2V4YW1wbGUzLnBuZyIgc3R5bGU9IndpZHRoOiA3OTRweDsgaGVpZ2h0OiA0OHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAic3Vuc2V0IGlzIGF0IDcgNTEgcG0gb3Zlcm5pZ2h0IGxvd3Mgd2lsbCBiZSBpbiB0aGUgbG93IDUwIGFuZCA2MCBzIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gZmFsc2UKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIG51bWJlcnMgaW4gcyBhcmU6IDcsIDx1PjxzdHJvbmc+NTE8L3N0cm9uZz48L3U+LCA8dT48c3Ryb25nPjUwPC9zdHJvbmc+PC91PiwgNjAuIFRoZXkgYXJlIG5vdCBzdHJpY3RseSBpbmNyZWFzaW5nLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4zICZsdDs9IHMubGVuZ3RoICZsdDs9IDIwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+czwvY29kZT4gY29uc2lzdHMgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycywgc3BhY2VzLCBhbmQgZGlnaXRzIGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+OTwvY29kZT4sIGluY2x1c2l2ZS48L2xpPgo8bGk+VGhlIG51bWJlciBvZiB0b2tlbnMgaW4gPGNvZGU+czwvY29kZT4gaXMgYmV0d2VlbiA8Y29kZT4yPC9jb2RlPiBhbmQgPGNvZGU+MTAwPC9jb2RlPiwgaW5jbHVzaXZlLjwvbGk+CjxsaT5UaGUgdG9rZW5zIGluIDxjb2RlPnM8L2NvZGU+IGFyZSBzZXBhcmF0ZWQgYnkgYSBzaW5nbGUgc3BhY2UuPC9saT4KPGxpPlRoZXJlIGFyZSBhdCBsZWFzdCA8c3Ryb25nPnR3bzwvc3Ryb25nPiBudW1iZXJzIGluIDxjb2RlPnM8L2NvZGU+LjwvbGk+CjxsaT5FYWNoIG51bWJlciBpbiA8Y29kZT5zPC9jb2RlPiBpcyBhIDxzdHJvbmc+cG9zaXRpdmU8L3N0cm9uZz4gbnVtYmVyIDxzdHJvbmc+bGVzczwvc3Ryb25nPiB0aGFuIDxjb2RlPjEwMDwvY29kZT4sIHdpdGggbm8gbGVhZGluZyB6ZXJvcy48L2xpPgo8bGk+PGNvZGU+czwvY29kZT4gY29udGFpbnMgbm8gbGVhZGluZyBvciB0cmFpbGluZyBzcGFjZXMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "String"
+ ]
+ },
+ {
+ "title": "2053. Kth Distinct String in an Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgPHN0cm9uZz5kaXN0aW5jdCBzdHJpbmc8L3N0cm9uZz4gaXMgYSBzdHJpbmcgdGhhdCBpcyBwcmVzZW50IG9ubHkgPHN0cm9uZz5vbmNlPC9zdHJvbmc+IGluIGFuIGFycmF5LjwvcD4KPHA+R2l2ZW4gYW4gYXJyYXkgb2Ygc3RyaW5ncyA8Y29kZT5hcnI8L2NvZGU+LCBhbmQgYW4gaW50ZWdlciA8Y29kZT5rPC9jb2RlPiwgcmV0dXJuIDxlbT50aGUgPC9lbT48Y29kZT5rPHN1cD50aDwvc3VwPjwvY29kZT48ZW0+IDxzdHJvbmc+ZGlzdGluY3Qgc3RyaW5nPC9zdHJvbmc+IHByZXNlbnQgaW4gPC9lbT48Y29kZT5hcnI8L2NvZGU+LiBJZiB0aGVyZSBhcmUgPHN0cm9uZz5mZXdlcjwvc3Ryb25nPiB0aGFuIDxjb2RlPms8L2NvZGU+IGRpc3RpbmN0IHN0cmluZ3MsIHJldHVybiA8ZW0+YW4gPHN0cm9uZz5lbXB0eSBzdHJpbmcgPC9zdHJvbmc+PC9lbT48Y29kZT4iIjwvY29kZT4uPC9wPgo8cD5Ob3RlIHRoYXQgdGhlIHN0cmluZ3MgYXJlIGNvbnNpZGVyZWQgaW4gdGhlIDxzdHJvbmc+b3JkZXIgaW4gd2hpY2ggdGhleSBhcHBlYXI8L3N0cm9uZz4gaW4gdGhlIGFycmF5LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gYXJyID0gWyJkIiwiYiIsImMiLCJiIiwiYyIsImEiXSwgayA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICJhIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgb25seSBkaXN0aW5jdCBzdHJpbmdzIGluIGFyciBhcmUgImQiIGFuZCAiYSIuCiJkIiBhcHBlYXJzIDE8c3VwPnN0PC9zdXA+LCBzbyBpdCBpcyB0aGUgMTxzdXA+c3Q8L3N1cD4gZGlzdGluY3Qgc3RyaW5nLgoiYSIgYXBwZWFycyAyPHN1cD5uZDwvc3VwPiwgc28gaXQgaXMgdGhlIDI8c3VwPm5kPC9zdXA+IGRpc3RpbmN0IHN0cmluZy4KU2luY2UgayA9PSAyLCAiYSIgaXMgcmV0dXJuZWQuIAo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBhcnIgPSBbImFhYSIsImFhIiwiYSJdLCBrID0gMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gImFhYSIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KQWxsIHN0cmluZ3MgaW4gYXJyIGFyZSBkaXN0aW5jdCwgc28gdGhlIDE8c3VwPnN0PC9zdXA+IHN0cmluZyAiYWFhIiBpcyByZXR1cm5lZC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gYXJyID0gWyJhIiwiYiIsImEiXSwgayA9IDMKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICIiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBvbmx5IGRpc3RpbmN0IHN0cmluZyBpcyAiYiIuIFNpbmNlIHRoZXJlIGFyZSBmZXdlciB0aGFuIDMgZGlzdGluY3Qgc3RyaW5ncywgd2UgcmV0dXJuIGFuIGVtcHR5IHN0cmluZyAiIi4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBrICZsdDs9IGFyci5sZW5ndGggJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBhcnJbaV0ubGVuZ3RoICZsdDs9IDU8L2NvZGU+PC9saT4KPGxpPjxjb2RlPmFycltpXTwvY29kZT4gY29uc2lzdHMgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycy48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "String",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2032. Two Out of Three",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PkdpdmVuIHRocmVlIGludGVnZXIgYXJyYXlzIDxjb2RlPm51bXMxPC9jb2RlPiwgPGNvZGU+bnVtczI8L2NvZGU+LCBhbmQgPGNvZGU+bnVtczM8L2NvZGU+LCByZXR1cm4gPGVtPmEgPHN0cm9uZz5kaXN0aW5jdDwvc3Ryb25nPiBhcnJheSBjb250YWluaW5nIGFsbCB0aGUgdmFsdWVzIHRoYXQgYXJlIHByZXNlbnQgaW4gPHN0cm9uZz5hdCBsZWFzdCB0d288L3N0cm9uZz4gb3V0IG9mIHRoZSB0aHJlZSBhcnJheXMuIFlvdSBtYXkgcmV0dXJuIHRoZSB2YWx1ZXMgaW4gPHN0cm9uZz5hbnk8L3N0cm9uZz4gb3JkZXI8L2VtPi4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtczEgPSBbMSwxLDMsMl0sIG51bXMyID0gWzIsM10sIG51bXMzID0gWzNdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMywyXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgdmFsdWVzIHRoYXQgYXJlIHByZXNlbnQgaW4gYXQgbGVhc3QgdHdvIGFycmF5cyBhcmU6Ci0gMywgaW4gYWxsIHRocmVlIGFycmF5cy4KLSAyLCBpbiBudW1zMSBhbmQgbnVtczIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMxID0gWzMsMV0sIG51bXMyID0gWzIsM10sIG51bXMzID0gWzEsMl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsyLDMsMV0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHZhbHVlcyB0aGF0IGFyZSBwcmVzZW50IGluIGF0IGxlYXN0IHR3byBhcnJheXMgYXJlOgotIDIsIGluIG51bXMyIGFuZCBudW1zMy4KLSAzLCBpbiBudW1zMSBhbmQgbnVtczIuCi0gMSwgaW4gbnVtczEgYW5kIG51bXMzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zMSA9IFsxLDIsMl0sIG51bXMyID0gWzQsMywzXSwgbnVtczMgPSBbNV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFtdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IE5vIHZhbHVlIGlzIHByZXNlbnQgaW4gYXQgbGVhc3QgdHdvIGFycmF5cy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zMS5sZW5ndGgsIG51bXMyLmxlbmd0aCwgbnVtczMubGVuZ3RoICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zMVtpXSwgbnVtczJbal0sIG51bXMzW2tdICZsdDs9IDEwMDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table"
+ ]
+ },
+ {
+ "title": "2027. Minimum Moves to Convert String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4gY29uc2lzdGluZyBvZiA8Y29kZT5uPC9jb2RlPiBjaGFyYWN0ZXJzIHdoaWNoIGFyZSBlaXRoZXIgPGNvZGU+J1gnPC9jb2RlPiBvciA8Y29kZT4nTyc8L2NvZGU+LjwvcD4KPHA+QSA8c3Ryb25nPm1vdmU8L3N0cm9uZz4gaXMgZGVmaW5lZCBhcyBzZWxlY3RpbmcgPHN0cm9uZz50aHJlZTwvc3Ryb25nPiA8c3Ryb25nPmNvbnNlY3V0aXZlIGNoYXJhY3RlcnM8L3N0cm9uZz4gb2YgPGNvZGU+czwvY29kZT4gYW5kIGNvbnZlcnRpbmcgdGhlbSB0byA8Y29kZT4nTyc8L2NvZGU+LiBOb3RlIHRoYXQgaWYgYSBtb3ZlIGlzIGFwcGxpZWQgdG8gdGhlIGNoYXJhY3RlciA8Y29kZT4nTyc8L2NvZGU+LCBpdCB3aWxsIHN0YXkgdGhlIDxzdHJvbmc+c2FtZTwvc3Ryb25nPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiBudW1iZXIgb2YgbW92ZXMgcmVxdWlyZWQgc28gdGhhdCBhbGwgdGhlIGNoYXJhY3RlcnMgb2YgPC9lbT48Y29kZT5zPC9jb2RlPjxlbT4gYXJlIGNvbnZlcnRlZCB0byA8L2VtPjxjb2RlPidPJzwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gIlhYWCIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gPHU+WFhYPC91PiAtJmd0OyBPT08KV2Ugc2VsZWN0IGFsbCB0aGUgMyBjaGFyYWN0ZXJzIGFuZCBjb252ZXJ0IHRoZW0gaW4gb25lIG1vdmUuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiWFhPWCIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gPHU+WFhPPC91PlggLSZndDsgTzx1Pk9PWDwvdT4gLSZndDsgT09PTwpXZSBzZWxlY3QgdGhlIGZpcnN0IDMgY2hhcmFjdGVycyBpbiB0aGUgZmlyc3QgbW92ZSwgYW5kIGNvbnZlcnQgdGhlbSB0byA8Y29kZT4nTyc8L2NvZGU+LgpUaGVuIHdlIHNlbGVjdCB0aGUgbGFzdCAzIGNoYXJhY3RlcnMgYW5kIGNvbnZlcnQgdGhlbSBzbyB0aGF0IHRoZSBmaW5hbCBzdHJpbmcgY29udGFpbnMgYWxsIDxjb2RlPidPJzwvY29kZT5zLjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiT09PTyIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgYXJlIG5vIDxjb2RlPidYJ3M8L2NvZGU+IGluIDxjb2RlPnM8L2NvZGU+IHRvIGNvbnZlcnQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjMgJmx0Oz0gcy5sZW5ndGggJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+c1tpXTwvY29kZT4gaXMgZWl0aGVyIDxjb2RlPidYJzwvY29kZT4gb3IgPGNvZGU+J08nPC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "String",
+ "Greedy"
+ ]
+ },
+ {
+ "title": "2037. Minimum Number of Moves to Seat Everyone",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGFyZSA8Y29kZT5uPC9jb2RlPiBzZWF0cyBhbmQgPGNvZGU+bjwvY29kZT4gc3R1ZGVudHMgaW4gYSByb29tLiBZb3UgYXJlIGdpdmVuIGFuIGFycmF5IDxjb2RlPnNlYXRzPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4sIHdoZXJlIDxjb2RlPnNlYXRzW2ldPC9jb2RlPiBpcyB0aGUgcG9zaXRpb24gb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBzZWF0LiBZb3UgYXJlIGFsc28gZ2l2ZW4gdGhlIGFycmF5IDxjb2RlPnN0dWRlbnRzPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4sIHdoZXJlIDxjb2RlPnN0dWRlbnRzW2pdPC9jb2RlPiBpcyB0aGUgcG9zaXRpb24gb2YgdGhlIDxjb2RlPmo8c3VwPnRoPC9zdXA+PC9jb2RlPiBzdHVkZW50LjwvcD4KPHA+WW91IG1heSBwZXJmb3JtIHRoZSBmb2xsb3dpbmcgbW92ZSBhbnkgbnVtYmVyIG9mIHRpbWVzOjwvcD4KPHVsPgo8bGk+SW5jcmVhc2Ugb3IgZGVjcmVhc2UgdGhlIHBvc2l0aW9uIG9mIHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gc3R1ZGVudCBieSA8Y29kZT4xPC9jb2RlPiAoaS5lLiwgbW92aW5nIHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gc3R1ZGVudCBmcm9tIHBvc2l0aW9uwqA8Y29kZT54PC9jb2RlPsKgdG8gPGNvZGU+eCArIDE8L2NvZGU+IG9yIDxjb2RlPnggLSAxPC9jb2RlPik8L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1pbmltdW0gbnVtYmVyIG9mIG1vdmVzPC9zdHJvbmc+IHJlcXVpcmVkIHRvIG1vdmUgZWFjaCBzdHVkZW50IHRvIGEgc2VhdDwvZW0+PGVtPiBzdWNoIHRoYXQgbm8gdHdvIHN0dWRlbnRzIGFyZSBpbiB0aGUgc2FtZSBzZWF0LjwvZW0+PC9wPgo8cD5Ob3RlIHRoYXQgdGhlcmUgbWF5IGJlIDxzdHJvbmc+bXVsdGlwbGU8L3N0cm9uZz4gc2VhdHMgb3Igc3R1ZGVudHMgaW4gdGhlIDxzdHJvbmc+c2FtZSA8L3N0cm9uZz5wb3NpdGlvbiBhdCB0aGUgYmVnaW5uaW5nLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gc2VhdHMgPSBbMywxLDVdLCBzdHVkZW50cyA9IFsyLDcsNF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHN0dWRlbnRzIGFyZSBtb3ZlZCBhcyBmb2xsb3dzOgotIFRoZSBmaXJzdCBzdHVkZW50IGlzIG1vdmVkIGZyb20gZnJvbSBwb3NpdGlvbiAyIHRvIHBvc2l0aW9uIDEgdXNpbmcgMSBtb3ZlLgotIFRoZSBzZWNvbmQgc3R1ZGVudCBpcyBtb3ZlZCBmcm9tIGZyb20gcG9zaXRpb24gNyB0byBwb3NpdGlvbiA1IHVzaW5nIDIgbW92ZXMuCi0gVGhlIHRoaXJkIHN0dWRlbnQgaXMgbW92ZWQgZnJvbSBmcm9tIHBvc2l0aW9uIDQgdG8gcG9zaXRpb24gMyB1c2luZyAxIG1vdmUuCkluIHRvdGFsLCAxICsgMiArIDEgPSA0IG1vdmVzIHdlcmUgdXNlZC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gc2VhdHMgPSBbNCwxLDUsOV0sIHN0dWRlbnRzID0gWzEsMywyLDZdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA3CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBzdHVkZW50cyBhcmUgbW92ZWQgYXMgZm9sbG93czoKLSBUaGUgZmlyc3Qgc3R1ZGVudCBpcyBub3QgbW92ZWQuCi0gVGhlIHNlY29uZCBzdHVkZW50IGlzIG1vdmVkIGZyb20gZnJvbSBwb3NpdGlvbiAzIHRvIHBvc2l0aW9uIDQgdXNpbmcgMSBtb3ZlLgotIFRoZSB0aGlyZCBzdHVkZW50IGlzIG1vdmVkIGZyb20gZnJvbSBwb3NpdGlvbiAyIHRvIHBvc2l0aW9uIDUgdXNpbmcgMyBtb3Zlcy4KLSBUaGUgZm91cnRoIHN0dWRlbnQgaXMgbW92ZWQgZnJvbSBmcm9tIHBvc2l0aW9uIDYgdG8gcG9zaXRpb24gOSB1c2luZyAzIG1vdmVzLgpJbiB0b3RhbCwgMCArIDEgKyAzICsgMyA9IDcgbW92ZXMgd2VyZSB1c2VkLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzZWF0cyA9IFsyLDIsNiw2XSwgc3R1ZGVudHMgPSBbMSwzLDIsNl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gTm90ZSB0aGF0IHRoZXJlIGFyZSB0d28gc2VhdHMgYXQgcG9zaXRpb24gMiBhbmQgdHdvIHNlYXRzIGF0IHBvc2l0aW9uIDYuClRoZSBzdHVkZW50cyBhcmUgbW92ZWQgYXMgZm9sbG93czoKLSBUaGUgZmlyc3Qgc3R1ZGVudCBpcyBtb3ZlZCBmcm9tIGZyb20gcG9zaXRpb24gMSB0byBwb3NpdGlvbiAyIHVzaW5nIDEgbW92ZS4KLSBUaGUgc2Vjb25kIHN0dWRlbnQgaXMgbW92ZWQgZnJvbSBmcm9tIHBvc2l0aW9uIDMgdG8gcG9zaXRpb24gNiB1c2luZyAzIG1vdmVzLgotIFRoZSB0aGlyZCBzdHVkZW50IGlzIG5vdCBtb3ZlZC4KLSBUaGUgZm91cnRoIHN0dWRlbnQgaXMgbm90IG1vdmVkLgpJbiB0b3RhbCwgMSArIDMgKyAwICsgMCA9IDQgbW92ZXMgd2VyZSB1c2VkLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IHNlYXRzLmxlbmd0aCA9PSBzdHVkZW50cy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gc2VhdHNbaV0sIHN0dWRlbnRzW2pdICZsdDs9IDEwMDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2016. Maximum Difference Between Increasing Elements",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBvZiBzaXplIDxjb2RlPm48L2NvZGU+LCBmaW5kIHRoZSA8c3Ryb25nPm1heGltdW0gZGlmZmVyZW5jZTwvc3Ryb25nPiBiZXR3ZWVuIDxjb2RlPm51bXNbaV08L2NvZGU+IGFuZCA8Y29kZT5udW1zW2pdPC9jb2RlPiAoaS5lLiwgPGNvZGU+bnVtc1tqXSAtIG51bXNbaV08L2NvZGU+KSwgc3VjaCB0aGF0IDxjb2RlPjAgJmx0Oz0gaSAmbHQ7IGogJmx0OyBuPC9jb2RlPiBhbmQgPGNvZGU+bnVtc1tpXSAmbHQ7IG51bXNbal08L2NvZGU+LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5tYXhpbXVtIGRpZmZlcmVuY2U8L3N0cm9uZz4uIDwvZW0+SWYgbm8gc3VjaCA8Y29kZT5pPC9jb2RlPiBhbmQgPGNvZGU+ajwvY29kZT4gZXhpc3RzLCByZXR1cm4gPGNvZGU+LTE8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs3LDxzdHJvbmc+PHU+MTwvdT48L3N0cm9uZz4sPHN0cm9uZz48dT41PC91Pjwvc3Ryb25nPiw0XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgbWF4aW11bSBkaWZmZXJlbmNlIG9jY3VycyB3aXRoIGkgPSAxIGFuZCBqID0gMiwgbnVtc1tqXSAtIG51bXNbaV0gPSA1IC0gMSA9IDQuCk5vdGUgdGhhdCB3aXRoIGkgPSAxIGFuZCBqID0gMCwgdGhlIGRpZmZlcmVuY2UgbnVtc1tqXSAtIG51bXNbaV0gPSA3IC0gMSA9IDYsIGJ1dCBpICZndDsgaiwgc28gaXQgaXMgbm90IHZhbGlkLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzksNCwzLDJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAtMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGVyZSBpcyBubyBpIGFuZCBqIHN1Y2ggdGhhdCBpICZsdDsgaiBhbmQgbnVtc1tpXSAmbHQ7IG51bXNbal0uCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPiw1LDIsPHN0cm9uZz48dT4xMDwvdT48L3N0cm9uZz5dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA5CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBtYXhpbXVtIGRpZmZlcmVuY2Ugb2NjdXJzIHdpdGggaSA9IDAgYW5kIGogPSAzLCBudW1zW2pdIC0gbnVtc1tpXSA9IDEwIC0gMSA9IDkuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gbnVtcy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjIgJmx0Oz0gbiAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0gJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array"
+ ]
+ },
+ {
+ "title": "2011. Final Value of Variable After Performing Operations",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2Ugd2l0aCBvbmx5IDxzdHJvbmc+Zm91cjwvc3Ryb25nPiBvcGVyYXRpb25zIGFuZCA8c3Ryb25nPm9uZTwvc3Ryb25nPiB2YXJpYWJsZSA8Y29kZT5YPC9jb2RlPjo8L3A+Cjx1bD4KPGxpPjxjb2RlPisrWDwvY29kZT4gYW5kIDxjb2RlPlgrKzwvY29kZT4gPHN0cm9uZz5pbmNyZW1lbnRzPC9zdHJvbmc+IHRoZSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgPGNvZGU+WDwvY29kZT4gYnkgPGNvZGU+MTwvY29kZT4uPC9saT4KPGxpPjxjb2RlPi0tWDwvY29kZT4gYW5kIDxjb2RlPlgtLTwvY29kZT4gPHN0cm9uZz5kZWNyZW1lbnRzPC9zdHJvbmc+IHRoZSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgPGNvZGU+WDwvY29kZT4gYnkgPGNvZGU+MTwvY29kZT4uPC9saT4KPC91bD4KPHA+SW5pdGlhbGx5LCB0aGUgdmFsdWUgb2YgPGNvZGU+WDwvY29kZT4gaXMgPGNvZGU+MDwvY29kZT4uPC9wPgo8cD5HaXZlbiBhbiBhcnJheSBvZiBzdHJpbmdzIDxjb2RlPm9wZXJhdGlvbnM8L2NvZGU+IGNvbnRhaW5pbmcgYSBsaXN0IG9mIG9wZXJhdGlvbnMsIHJldHVybiA8ZW0+dGhlIDxzdHJvbmc+ZmluYWwgPC9zdHJvbmc+dmFsdWUgb2YgPC9lbT48Y29kZT5YPC9jb2RlPiA8ZW0+YWZ0ZXIgcGVyZm9ybWluZyBhbGwgdGhlIG9wZXJhdGlvbnM8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG9wZXJhdGlvbnMgPSBbIi0tWCIsIlgrKyIsIlgrKyJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+wqBUaGUgb3BlcmF0aW9ucyBhcmUgcGVyZm9ybWVkIGFzIGZvbGxvd3M6CkluaXRpYWxseSwgWCA9IDAuCi0tWDogWCBpcyBkZWNyZW1lbnRlZCBieSAxLCBYID0gIDAgLSAxID0gLTEuClgrKzogWCBpcyBpbmNyZW1lbnRlZCBieSAxLCBYID0gLTEgKyAxID0gIDAuClgrKzogWCBpcyBpbmNyZW1lbnRlZCBieSAxLCBYID0gIDAgKyAxID0gIDEuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG9wZXJhdGlvbnMgPSBbIisrWCIsIisrWCIsIlgrKyJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246IDwvc3Ryb25nPlRoZSBvcGVyYXRpb25zIGFyZSBwZXJmb3JtZWQgYXMgZm9sbG93czoKSW5pdGlhbGx5LCBYID0gMC4KKytYOiBYIGlzIGluY3JlbWVudGVkIGJ5IDEsIFggPSAwICsgMSA9IDEuCisrWDogWCBpcyBpbmNyZW1lbnRlZCBieSAxLCBYID0gMSArIDEgPSAyLgpYKys6IFggaXMgaW5jcmVtZW50ZWQgYnkgMSwgWCA9IDIgKyAxID0gMy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gb3BlcmF0aW9ucyA9IFsiWCsrIiwiKytYIiwiLS1YIiwiWC0tIl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz7CoFRoZSBvcGVyYXRpb25zIGFyZSBwZXJmb3JtZWQgYXMgZm9sbG93czoKSW5pdGlhbGx5LCBYID0gMC4KWCsrOiBYIGlzIGluY3JlbWVudGVkIGJ5IDEsIFggPSAwICsgMSA9IDEuCisrWDogWCBpcyBpbmNyZW1lbnRlZCBieSAxLCBYID0gMSArIDEgPSAyLgotLVg6IFggaXMgZGVjcmVtZW50ZWQgYnkgMSwgWCA9IDIgLSAxID0gMS4KWC0tOiBYIGlzIGRlY3JlbWVudGVkIGJ5IDEsIFggPSAxIC0gMSA9IDAuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gb3BlcmF0aW9ucy5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5vcGVyYXRpb25zW2ldPC9jb2RlPiB3aWxsIGJlIGVpdGhlciA8Y29kZT4iKytYIjwvY29kZT4sIDxjb2RlPiJYKysiPC9jb2RlPiwgPGNvZGU+Ii0tWCI8L2NvZGU+LCBvciA8Y29kZT4iWC0tIjwvY29kZT4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "String",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2022. Convert 1D Array Into 2D Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiAxLWRpbWVuc2lvbmFsICgxRCkgaW50ZWdlciBhcnJheSA8Y29kZT5vcmlnaW5hbDwvY29kZT4sIGFuZCB0d28gaW50ZWdlcnMsIDxjb2RlPm08L2NvZGU+IGFuZCA8Y29kZT5uPC9jb2RlPi4gWW91IGFyZSB0YXNrZWQgd2l0aCBjcmVhdGluZyBhIDItZGltZW5zaW9uYWwgKDJEKSBhcnJheSB3aXRoIDxjb2RlPiBtPC9jb2RlPiByb3dzIGFuZCA8Y29kZT5uPC9jb2RlPiBjb2x1bW5zIHVzaW5nIDxzdHJvbmc+YWxsPC9zdHJvbmc+IHRoZSBlbGVtZW50cyBmcm9tIDxjb2RlPm9yaWdpbmFsPC9jb2RlPi48L3A+CjxwPlRoZSBlbGVtZW50cyBmcm9tIGluZGljZXMgPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+biAtIDE8L2NvZGU+ICg8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPikgb2YgPGNvZGU+b3JpZ2luYWw8L2NvZGU+IHNob3VsZCBmb3JtIHRoZSBmaXJzdCByb3cgb2YgdGhlIGNvbnN0cnVjdGVkIDJEIGFycmF5LCB0aGUgZWxlbWVudHMgZnJvbSBpbmRpY2VzIDxjb2RlPm48L2NvZGU+IHRvIDxjb2RlPjIgKiBuIC0gMTwvY29kZT4gKDxzdHJvbmc+aW5jbHVzaXZlPC9zdHJvbmc+KSBzaG91bGQgZm9ybSB0aGUgc2Vjb25kIHJvdyBvZiB0aGUgY29uc3RydWN0ZWQgMkQgYXJyYXksIGFuZCBzbyBvbi48L3A+CjxwPlJldHVybiA8ZW0+YW4gPC9lbT48Y29kZT5tIHggbjwvY29kZT48ZW0+IDJEIGFycmF5IGNvbnN0cnVjdGVkIGFjY29yZGluZyB0byB0aGUgYWJvdmUgcHJvY2VkdXJlLCBvciBhbiBlbXB0eSAyRCBhcnJheSBpZiBpdCBpcyBpbXBvc3NpYmxlPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMDgvMjYvaW1hZ2UtMjAyMTA4MjYxMTQyNDMtMS5wbmciIHN0eWxlPSJ3aWR0aDogNTAwcHg7IGhlaWdodDogMTc0cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gb3JpZ2luYWwgPSBbMSwyLDMsNF0sIG0gPSAyLCBuID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gW1sxLDJdLFszLDRdXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgY29uc3RydWN0ZWQgMkQgYXJyYXkgc2hvdWxkIGNvbnRhaW4gMiByb3dzIGFuZCAyIGNvbHVtbnMuClRoZSBmaXJzdCBncm91cCBvZiBuPTIgZWxlbWVudHMgaW4gb3JpZ2luYWwsIFsxLDJdLCBiZWNvbWVzIHRoZSBmaXJzdCByb3cgaW4gdGhlIGNvbnN0cnVjdGVkIDJEIGFycmF5LgpUaGUgc2Vjb25kIGdyb3VwIG9mIG49MiBlbGVtZW50cyBpbiBvcmlnaW5hbCwgWzMsNF0sIGJlY29tZXMgdGhlIHNlY29uZCByb3cgaW4gdGhlIGNvbnN0cnVjdGVkIDJEIGFycmF5Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBvcmlnaW5hbCA9IFsxLDIsM10sIG0gPSAxLCBuID0gMwo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gW1sxLDIsM11dCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBjb25zdHJ1Y3RlZCAyRCBhcnJheSBzaG91bGQgY29udGFpbiAxIHJvdyBhbmQgMyBjb2x1bW5zLgpQdXQgYWxsIHRocmVlIGVsZW1lbnRzIGluIG9yaWdpbmFsIGludG8gdGhlIGZpcnN0IHJvdyBvZiB0aGUgY29uc3RydWN0ZWQgMkQgYXJyYXkuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG9yaWdpbmFsID0gWzEsMl0sIG0gPSAxLCBuID0gMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gW10KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgYXJlIDIgZWxlbWVudHMgaW4gb3JpZ2luYWwuCkl0IGlzIGltcG9zc2libGUgdG8gZml0IDIgZWxlbWVudHMgaW4gYSAxeDEgMkQgYXJyYXksIHNvIHJldHVybiBhbiBlbXB0eSAyRCBhcnJheS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBvcmlnaW5hbC5sZW5ndGggJmx0Oz0gNSAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG9yaWdpbmFsW2ldICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG0sIG4gJmx0Oz0gNCAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Matrix",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2000. Reverse Prefix of Word",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gc3RyaW5nIDxjb2RlPndvcmQ8L2NvZGU+IGFuZCBhIGNoYXJhY3RlciA8Y29kZT5jaDwvY29kZT4sIDxzdHJvbmc+cmV2ZXJzZTwvc3Ryb25nPiB0aGUgc2VnbWVudCBvZiA8Y29kZT53b3JkPC9jb2RlPiB0aGF0IHN0YXJ0cyBhdCBpbmRleCA8Y29kZT4wPC9jb2RlPiBhbmQgZW5kcyBhdCB0aGUgaW5kZXggb2YgdGhlIDxzdHJvbmc+Zmlyc3Qgb2NjdXJyZW5jZTwvc3Ryb25nPiBvZiA8Y29kZT5jaDwvY29kZT4gKDxzdHJvbmc+aW5jbHVzaXZlPC9zdHJvbmc+KS4gSWYgdGhlIGNoYXJhY3RlciA8Y29kZT5jaDwvY29kZT4gZG9lcyBub3QgZXhpc3QgaW4gPGNvZGU+d29yZDwvY29kZT4sIGRvIG5vdGhpbmcuPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgaWYgPGNvZGU+d29yZCA9ICJhYmNkZWZkIjwvY29kZT4gYW5kIDxjb2RlPmNoID0gImQiPC9jb2RlPiwgdGhlbiB5b3Ugc2hvdWxkIDxzdHJvbmc+cmV2ZXJzZTwvc3Ryb25nPiB0aGUgc2VnbWVudCB0aGF0IHN0YXJ0cyBhdCA8Y29kZT4wPC9jb2RlPiBhbmQgZW5kcyBhdCA8Y29kZT4zPC9jb2RlPiAoPHN0cm9uZz5pbmNsdXNpdmU8L3N0cm9uZz4pLiBUaGUgcmVzdWx0aW5nIHN0cmluZyB3aWxsIGJlIDxjb2RlPiI8dT5kY2JhPC91PmVmZCI8L2NvZGU+LjwvbGk+CjwvdWw+CjxwPlJldHVybiA8ZW0+dGhlIHJlc3VsdGluZyBzdHJpbmc8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHdvcmQgPSAiPHU+YWJjZDwvdT5lZmQiLCBjaCA9ICJkIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gIjx1PmRjYmE8L3U+ZWZkIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPsKgVGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgImQiIGlzIGF0IGluZGV4IDMuIApSZXZlcnNlIHRoZSBwYXJ0IG9mIHdvcmQgZnJvbSAwIHRvIDMgKGluY2x1c2l2ZSksIHRoZSByZXN1bHRpbmcgc3RyaW5nIGlzICJkY2JhZWZkIi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZCA9ICI8dT54eXh6PC91PnhlIiwgY2ggPSAieiIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICI8dT56eHl4PC91PnhlIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPsKgVGhlIGZpcnN0IGFuZCBvbmx5IG9jY3VycmVuY2Ugb2YgInoiIGlzIGF0IGluZGV4IDMuClJldmVyc2UgdGhlIHBhcnQgb2Ygd29yZCBmcm9tIDAgdG8gMyAoaW5jbHVzaXZlKSwgdGhlIHJlc3VsdGluZyBzdHJpbmcgaXMgInp4eXh4ZSIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHdvcmQgPSAiYWJjZCIsIGNoID0gInoiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiYWJjZCIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz7CoCJ6IiBkb2VzIG5vdCBleGlzdCBpbiB3b3JkLgpZb3Ugc2hvdWxkIG5vdCBkbyBhbnkgcmV2ZXJzZSBvcGVyYXRpb24sIHRoZSByZXN1bHRpbmcgc3RyaW5nIGlzICJhYmNkIi4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSB3b3JkLmxlbmd0aCAmbHQ7PSAyNTA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPndvcmQ8L2NvZGU+IGNvbnNpc3RzIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPGxpPjxjb2RlPmNoPC9jb2RlPiBpcyBhIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlci48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Two Pointers",
+ "String"
+ ]
+ },
+ {
+ "title": "1995. Count Special Quadruplets",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiwgcmV0dXJuIDxlbT50aGUgbnVtYmVyIG9mIDxzdHJvbmc+ZGlzdGluY3Q8L3N0cm9uZz4gcXVhZHJ1cGxldHM8L2VtPiA8Y29kZT4oYSwgYiwgYywgZCk8L2NvZGU+IDxlbT5zdWNoIHRoYXQ6PC9lbT48L3A+Cjx1bD4KPGxpPjxjb2RlPm51bXNbYV0gKyBudW1zW2JdICsgbnVtc1tjXSA9PSBudW1zW2RdPC9jb2RlPiwgYW5kPC9saT4KPGxpPjxjb2RlPmEgJmx0OyBiICZsdDsgYyAmbHQ7IGQ8L2NvZGU+PC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDIsMyw2XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgb25seSBxdWFkcnVwbGV0IHRoYXQgc2F0aXNmaWVzIHRoZSByZXF1aXJlbWVudCBpcyAoMCwgMSwgMiwgMykgYmVjYXVzZSAxICsgMiArIDMgPT0gNi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFszLDMsNiw0LDVdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSBubyBzdWNoIHF1YWRydXBsZXRzIGluIFszLDMsNiw0LDVdLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMSwxLDMsNV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIDQgcXVhZHJ1cGxldHMgdGhhdCBzYXRpc2Z5IHRoZSByZXF1aXJlbWVudCBhcmU6Ci0gKDAsIDEsIDIsIDMpOiAxICsgMSArIDEgPT0gMwotICgwLCAxLCAzLCA0KTogMSArIDEgKyAzID09IDUKLSAoMCwgMiwgMywgNCk6IDEgKyAxICsgMyA9PSA1Ci0gKDEsIDIsIDMsIDQpOiAxICsgMSArIDMgPT0gNQo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT40ICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDUwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0gJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "1971. Find if Path Exists in Graph",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGEgPHN0cm9uZz5iaS1kaXJlY3Rpb25hbDwvc3Ryb25nPiBncmFwaCB3aXRoIDxjb2RlPm48L2NvZGU+IHZlcnRpY2VzLCB3aGVyZSBlYWNoIHZlcnRleCBpcyBsYWJlbGVkIGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+biAtIDE8L2NvZGU+ICg8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPikuIFRoZSBlZGdlcyBpbiB0aGUgZ3JhcGggYXJlIHJlcHJlc2VudGVkIGFzIGEgMkQgaW50ZWdlciBhcnJheSA8Y29kZT5lZGdlczwvY29kZT4sIHdoZXJlIGVhY2ggPGNvZGU+ZWRnZXNbaV0gPSBbdTxzdWI+aTwvc3ViPiwgdjxzdWI+aTwvc3ViPl08L2NvZGU+IGRlbm90ZXMgYSBiaS1kaXJlY3Rpb25hbCBlZGdlIGJldHdlZW4gdmVydGV4IDxjb2RlPnU8c3ViPmk8L3N1Yj48L2NvZGU+IGFuZCB2ZXJ0ZXggPGNvZGU+djxzdWI+aTwvc3ViPjwvY29kZT4uIEV2ZXJ5IHZlcnRleCBwYWlyIGlzIGNvbm5lY3RlZCBieSA8c3Ryb25nPmF0IG1vc3Qgb25lPC9zdHJvbmc+IGVkZ2UsIGFuZCBubyB2ZXJ0ZXggaGFzIGFuIGVkZ2UgdG8gaXRzZWxmLjwvcD4KPHA+WW91IHdhbnQgdG8gZGV0ZXJtaW5lIGlmIHRoZXJlIGlzIGEgPHN0cm9uZz52YWxpZCBwYXRoPC9zdHJvbmc+IHRoYXQgZXhpc3RzIGZyb20gdmVydGV4IDxjb2RlPnNvdXJjZTwvY29kZT4gdG8gdmVydGV4IDxjb2RlPmRlc3RpbmF0aW9uPC9jb2RlPi48L3A+CjxwPkdpdmVuIDxjb2RlPmVkZ2VzPC9jb2RlPiBhbmQgdGhlIGludGVnZXJzIDxjb2RlPm48L2NvZGU+LCA8Y29kZT5zb3VyY2U8L2NvZGU+LCBhbmQgPGNvZGU+ZGVzdGluYXRpb248L2NvZGU+LCByZXR1cm4gPGNvZGU+dHJ1ZTwvY29kZT48ZW0+IGlmIHRoZXJlIGlzIGEgPHN0cm9uZz52YWxpZCBwYXRoPC9zdHJvbmc+IGZyb20gPC9lbT48Y29kZT5zb3VyY2U8L2NvZGU+PGVtPiB0byA8L2VtPjxjb2RlPmRlc3RpbmF0aW9uPC9jb2RlPjxlbT4sIG9yIDwvZW0+PGNvZGU+ZmFsc2U8L2NvZGU+PGVtPiBvdGhlcndpc2U8L2VtPjxlbT4uPC9lbT48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMDgvMTQvdmFsaWRwYXRoLWV4MS5wbmciIHN0eWxlPSJ3aWR0aDogMTQxcHg7IGhlaWdodDogMTIxcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDMsIGVkZ2VzID0gW1swLDFdLFsxLDJdLFsyLDBdXSwgc291cmNlID0gMCwgZGVzdGluYXRpb24gPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiB0cnVlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSB0d28gcGF0aHMgZnJvbSB2ZXJ0ZXggMCB0byB2ZXJ0ZXggMjoKLSAwIOKGkiAxIOKGkiAyCi0gMCDihpIgMgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzA4LzE0L3ZhbGlkcGF0aC1leDIucG5nIiBzdHlsZT0id2lkdGg6IDI4MXB4OyBoZWlnaHQ6IDE0MXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSA2LCBlZGdlcyA9IFtbMCwxXSxbMCwyXSxbMyw1XSxbNSw0XSxbNCwzXV0sIHNvdXJjZSA9IDAsIGRlc3RpbmF0aW9uID0gNQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gZmFsc2UKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgaXMgbm8gcGF0aCBmcm9tIHZlcnRleCAwIHRvIHZlcnRleCA1Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMiAqIDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IGVkZ2VzLmxlbmd0aCAmbHQ7PSAyICogMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPmVkZ2VzW2ldLmxlbmd0aCA9PSAyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IHU8c3ViPmk8L3N1Yj4sIHY8c3ViPmk8L3N1Yj4gJmx0Oz0gbiAtIDE8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnU8c3ViPmk8L3N1Yj4gIT0gdjxzdWI+aTwvc3ViPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBzb3VyY2UsIGRlc3RpbmF0aW9uICZsdDs9IG4gLSAxPC9jb2RlPjwvbGk+CjxsaT5UaGVyZSBhcmUgbm8gZHVwbGljYXRlIGVkZ2VzLjwvbGk+CjxsaT5UaGVyZSBhcmUgbm8gc2VsZiBlZGdlcy48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Depth-First Search",
+ "Breadth-First Search",
+ "Union Find",
+ "Graph"
+ ]
+ },
+ {
+ "title": "2006. Count Number of Pairs With Absolute Difference K",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGludGVnZXIgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4gYW5kIGFuIGludGVnZXIgPGNvZGU+azwvY29kZT4sIHJldHVybiA8ZW0+dGhlIG51bWJlciBvZiBwYWlyczwvZW0+IDxjb2RlPihpLCBqKTwvY29kZT4gPGVtPndoZXJlPC9lbT4gPGNvZGU+aSAmbHQ7IGo8L2NvZGU+IDxlbT5zdWNoIHRoYXQ8L2VtPiA8Y29kZT58bnVtc1tpXSAtIG51bXNbal18ID09IGs8L2NvZGU+LjwvcD4KPHA+VGhlIHZhbHVlIG9mIDxjb2RlPnx4fDwvY29kZT4gaXMgZGVmaW5lZCBhczo8L3A+Cjx1bD4KPGxpPjxjb2RlPng8L2NvZGU+IGlmIDxjb2RlPnggJmd0Oz0gMDwvY29kZT4uPC9saT4KPGxpPjxjb2RlPi14PC9jb2RlPiBpZiA8Y29kZT54ICZsdDsgMDwvY29kZT4uPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDIsMiwxXSwgayA9IDEKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHBhaXJzIHdpdGggYW4gYWJzb2x1dGUgZGlmZmVyZW5jZSBvZiAxIGFyZToKLSBbPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPiw8c3Ryb25nPjx1PjI8L3U+PC9zdHJvbmc+LDIsMV0KLSBbPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPiwyLDxzdHJvbmc+PHU+MjwvdT48L3N0cm9uZz4sMV0KLSBbMSw8c3Ryb25nPjx1PjI8L3U+PC9zdHJvbmc+LDIsPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPl0KLSBbMSwyLDxzdHJvbmc+PHU+MjwvdT48L3N0cm9uZz4sPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPl0KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDNdLCBrID0gMwo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGVyZSBhcmUgbm8gcGFpcnMgd2l0aCBhbiBhYnNvbHV0ZSBkaWZmZXJlbmNlIG9mIDMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMywyLDEsNSw0XSwgayA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPGI+RXhwbGFuYXRpb246PC9iPiBUaGUgcGFpcnMgd2l0aCBhbiBhYnNvbHV0ZSBkaWZmZXJlbmNlIG9mIDIgYXJlOgotIFs8c3Ryb25nPjx1PjM8L3U+PC9zdHJvbmc+LDIsPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPiw1LDRdCi0gWzxzdHJvbmc+PHU+MzwvdT48L3N0cm9uZz4sMiwxLDxzdHJvbmc+PHU+NTwvdT48L3N0cm9uZz4sNF0KLSBbMyw8c3Ryb25nPjx1PjI8L3U+PC9zdHJvbmc+LDEsNSw8c3Ryb25nPjx1PjQ8L3U+PC9zdHJvbmc+XQo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDIwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBrICZsdDs9IDk5PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Counting"
+ ]
+ },
+ {
+ "title": "1984. Minimum Difference Between Highest and Lowest of K Scores",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+LCB3aGVyZSA8Y29kZT5udW1zW2ldPC9jb2RlPiByZXByZXNlbnRzIHRoZSBzY29yZSBvZiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHN0dWRlbnQuIFlvdSBhcmUgYWxzbyBnaXZlbiBhbiBpbnRlZ2VyIDxjb2RlPms8L2NvZGU+LjwvcD4KPHA+UGljayB0aGUgc2NvcmVzIG9mIGFueSA8Y29kZT5rPC9jb2RlPiBzdHVkZW50cyBmcm9tIHRoZSBhcnJheSBzbyB0aGF0IHRoZSA8c3Ryb25nPmRpZmZlcmVuY2U8L3N0cm9uZz4gYmV0d2VlbiB0aGUgPHN0cm9uZz5oaWdoZXN0PC9zdHJvbmc+IGFuZCB0aGUgPHN0cm9uZz5sb3dlc3Q8L3N0cm9uZz4gb2YgdGhlIDxjb2RlPms8L2NvZGU+IHNjb3JlcyBpcyA8c3Ryb25nPm1pbmltaXplZDwvc3Ryb25nPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiBwb3NzaWJsZSBkaWZmZXJlbmNlPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzkwXSwgayA9IDEKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgaXMgb25lIHdheSB0byBwaWNrIHNjb3JlKHMpIG9mIG9uZSBzdHVkZW50OgotIFs8c3Ryb25nPjx1PjkwPC91Pjwvc3Ryb25nPl0uIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIGhpZ2hlc3QgYW5kIGxvd2VzdCBzY29yZSBpcyA5MCAtIDkwID0gMC4KVGhlIG1pbmltdW0gcG9zc2libGUgZGlmZmVyZW5jZSBpcyAwLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzksNCwxLDddLCBrID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGVyZSBhcmUgc2l4IHdheXMgdG8gcGljayBzY29yZShzKSBvZiB0d28gc3R1ZGVudHM6Ci0gWzxzdHJvbmc+PHU+OTwvdT48L3N0cm9uZz4sPHN0cm9uZz48dT40PC91Pjwvc3Ryb25nPiwxLDddLiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBoaWdoZXN0IGFuZCBsb3dlc3Qgc2NvcmUgaXMgOSAtIDQgPSA1LgotIFs8c3Ryb25nPjx1Pjk8L3U+PC9zdHJvbmc+LDQsPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPiw3XS4gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgaGlnaGVzdCBhbmQgbG93ZXN0IHNjb3JlIGlzIDkgLSAxID0gOC4KLSBbPHN0cm9uZz48dT45PC91Pjwvc3Ryb25nPiw0LDEsPHN0cm9uZz48dT43PC91Pjwvc3Ryb25nPl0uIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIGhpZ2hlc3QgYW5kIGxvd2VzdCBzY29yZSBpcyA5IC0gNyA9IDIuCi0gWzksPHN0cm9uZz48dT40PC91Pjwvc3Ryb25nPiw8c3Ryb25nPjx1PjE8L3U+PC9zdHJvbmc+LDddLiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBoaWdoZXN0IGFuZCBsb3dlc3Qgc2NvcmUgaXMgNCAtIDEgPSAzLgotIFs5LDxzdHJvbmc+PHU+NDwvdT48L3N0cm9uZz4sMSw8c3Ryb25nPjx1Pjc8L3U+PC9zdHJvbmc+XS4gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgaGlnaGVzdCBhbmQgbG93ZXN0IHNjb3JlIGlzIDcgLSA0ID0gMy4KLSBbOSw0LDxzdHJvbmc+PHU+MTwvdT48L3N0cm9uZz4sPHN0cm9uZz48dT43PC91Pjwvc3Ryb25nPl0uIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIGhpZ2hlc3QgYW5kIGxvd2VzdCBzY29yZSBpcyA3IC0gMSA9IDYuClRoZSBtaW5pbXVtIHBvc3NpYmxlIGRpZmZlcmVuY2UgaXMgMi48L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IGsgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBudW1zW2ldICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Sliding Window",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "1979. Find Greatest Common Divisor of Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGludGVnZXIgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4sIHJldHVybjxzdHJvbmc+IDwvc3Ryb25nPjxlbT50aGUgPHN0cm9uZz5ncmVhdGVzdCBjb21tb24gZGl2aXNvcjwvc3Ryb25nPiBvZiB0aGUgc21hbGxlc3QgbnVtYmVyIGFuZCBsYXJnZXN0IG51bWJlciBpbiA8L2VtPjxjb2RlPm51bXM8L2NvZGU+LjwvcD4KPHA+VGhlIDxzdHJvbmc+Z3JlYXRlc3QgY29tbW9uIGRpdmlzb3I8L3N0cm9uZz4gb2YgdHdvIG51bWJlcnMgaXMgdGhlIGxhcmdlc3QgcG9zaXRpdmUgaW50ZWdlciB0aGF0IGV2ZW5seSBkaXZpZGVzIGJvdGggbnVtYmVycy48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMiw1LDYsOSwxMF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIHNtYWxsZXN0IG51bWJlciBpbiBudW1zIGlzIDIuClRoZSBsYXJnZXN0IG51bWJlciBpbiBudW1zIGlzIDEwLgpUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgMiBhbmQgMTAgaXMgMi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs3LDUsNiw4LDNdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBzbWFsbGVzdCBudW1iZXIgaW4gbnVtcyBpcyAzLgpUaGUgbGFyZ2VzdCBudW1iZXIgaW4gbnVtcyBpcyA4LgpUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgMyBhbmQgOCBpcyAxLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzMsM10KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIHNtYWxsZXN0IG51bWJlciBpbiBudW1zIGlzIDMuClRoZSBsYXJnZXN0IG51bWJlciBpbiBudW1zIGlzIDMuClRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiAzIGFuZCAzIGlzIDMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjIgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Math",
+ "Number Theory"
+ ]
+ },
+ {
+ "title": "1991. Find the Middle Index in Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiwgZmluZCB0aGUgPHN0cm9uZz5sZWZ0bW9zdDwvc3Ryb25nPiA8Y29kZT5taWRkbGVJbmRleDwvY29kZT4gKGkuZS4sIHRoZSBzbWFsbGVzdCBhbW9uZ3N0IGFsbCB0aGUgcG9zc2libGUgb25lcykuPC9wPgo8cD5BIDxjb2RlPm1pZGRsZUluZGV4PC9jb2RlPiBpcyBhbiBpbmRleCB3aGVyZSA8Y29kZT5udW1zWzBdICsgbnVtc1sxXSArIC4uLiArIG51bXNbbWlkZGxlSW5kZXgtMV0gPT0gbnVtc1ttaWRkbGVJbmRleCsxXSArIG51bXNbbWlkZGxlSW5kZXgrMl0gKyAuLi4gKyBudW1zW251bXMubGVuZ3RoLTFdPC9jb2RlPi48L3A+CjxwPklmIDxjb2RlPm1pZGRsZUluZGV4ID09IDA8L2NvZGU+LCB0aGUgbGVmdCBzaWRlIHN1bSBpcyBjb25zaWRlcmVkIHRvIGJlIDxjb2RlPjA8L2NvZGU+LiBTaW1pbGFybHksIGlmIDxjb2RlPm1pZGRsZUluZGV4ID09IG51bXMubGVuZ3RoIC0gMTwvY29kZT4sIHRoZSByaWdodCBzaWRlIHN1bSBpcyBjb25zaWRlcmVkIHRvIGJlIDxjb2RlPjA8L2NvZGU+LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5sZWZ0bW9zdDwvc3Ryb25nPiA8L2VtPjxjb2RlPm1pZGRsZUluZGV4PC9jb2RlPjxlbT4gdGhhdCBzYXRpc2ZpZXMgdGhlIGNvbmRpdGlvbiwgb3IgPC9lbT48Y29kZT4tMTwvY29kZT48ZW0+IGlmIHRoZXJlIGlzIG5vIHN1Y2ggaW5kZXg8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMiwzLC0xLDx1Pjg8L3U+LDRdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBzdW0gb2YgdGhlIG51bWJlcnMgYmVmb3JlIGluZGV4IDMgaXM6IDIgKyAzICsgLTEgPSA0ClRoZSBzdW0gb2YgdGhlIG51bWJlcnMgYWZ0ZXIgaW5kZXggMyBpczogNCA9IDQKPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLC0xLDx1PjQ8L3U+XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgc3VtIG9mIHRoZSBudW1iZXJzIGJlZm9yZSBpbmRleCAyIGlzOiAxICsgLTEgPSAwClRoZSBzdW0gb2YgdGhlIG51bWJlcnMgYWZ0ZXIgaW5kZXggMiBpczogMAo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzIsNV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IC0xCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGlzIG5vIHZhbGlkIG1pZGRsZUluZGV4Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+LTEwMDAgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjwvdWw+CjxwPsKgPC9wPgo8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoaXMgcXVlc3Rpb24gaXMgdGhlIHNhbWUgYXPCoDcyNDrCoDxhIGhyZWY9Imh0dHBzOi8vbGVldGNvZGUuY29tL3Byb2JsZW1zL2ZpbmQtcGl2b3QtaW5kZXgvIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9sZWV0Y29kZS5jb20vcHJvYmxlbXMvZmluZC1waXZvdC1pbmRleC88L2E+PC9wPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "1967. Number of Strings That Appear as Substrings in Word",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGFycmF5IG9mIHN0cmluZ3MgPGNvZGU+cGF0dGVybnM8L2NvZGU+IGFuZCBhIHN0cmluZyA8Y29kZT53b3JkPC9jb2RlPiwgcmV0dXJuIDxlbT50aGUgPHN0cm9uZz5udW1iZXI8L3N0cm9uZz4gb2Ygc3RyaW5ncyBpbiA8L2VtPjxjb2RlPnBhdHRlcm5zPC9jb2RlPjxlbT4gdGhhdCBleGlzdCBhcyBhIDxzdHJvbmc+c3Vic3RyaW5nPC9zdHJvbmc+IGluIDwvZW0+PGNvZGU+d29yZDwvY29kZT4uPC9wPgo8cD5BIDxzdHJvbmc+c3Vic3RyaW5nPC9zdHJvbmc+IGlzIGEgY29udGlndW91cyBzZXF1ZW5jZSBvZiBjaGFyYWN0ZXJzIHdpdGhpbiBhIHN0cmluZy48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHBhdHRlcm5zID0gWyJhIiwiYWJjIiwiYmMiLCJkIl0sIHdvcmQgPSAiYWJjIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgotICJhIiBhcHBlYXJzIGFzIGEgc3Vic3RyaW5nIGluICI8dT5hPC91PmJjIi4KLSAiYWJjIiBhcHBlYXJzIGFzIGEgc3Vic3RyaW5nIGluICI8dT5hYmM8L3U+Ii4KLSAiYmMiIGFwcGVhcnMgYXMgYSBzdWJzdHJpbmcgaW4gImE8dT5iYzwvdT4iLgotICJkIiBkb2VzIG5vdCBhcHBlYXIgYXMgYSBzdWJzdHJpbmcgaW4gImFiYyIuCjMgb2YgdGhlIHN0cmluZ3MgaW4gcGF0dGVybnMgYXBwZWFyIGFzIGEgc3Vic3RyaW5nIGluIHdvcmQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHBhdHRlcm5zID0gWyJhIiwiYiIsImMiXSwgd29yZCA9ICJhYWFhYWJiYmJiIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgotICJhIiBhcHBlYXJzIGFzIGEgc3Vic3RyaW5nIGluICJhPHU+YTwvdT5hYWFiYmJiYiIuCi0gImIiIGFwcGVhcnMgYXMgYSBzdWJzdHJpbmcgaW4gImFhYWFhYmJiYjx1PmI8L3U+Ii4KLSAiYyIgZG9lcyBub3QgYXBwZWFyIGFzIGEgc3Vic3RyaW5nIGluICJhYWFhYWJiYmJiIi4KMiBvZiB0aGUgc3RyaW5ncyBpbiBwYXR0ZXJucyBhcHBlYXIgYXMgYSBzdWJzdHJpbmcgaW4gd29yZC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcGF0dGVybnMgPSBbImEiLCJhIiwiYSJdLCB3b3JkID0gImFiIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBFYWNoIG9mIHRoZSBwYXR0ZXJucyBhcHBlYXJzIGFzIGEgc3Vic3RyaW5nIGluIHdvcmQgIjx1PmE8L3U+YiIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gcGF0dGVybnMubGVuZ3RoICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBwYXR0ZXJuc1tpXS5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHdvcmQubGVuZ3RoICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+cGF0dGVybnNbaV08L2NvZGU+IGFuZCA8Y29kZT53b3JkPC9jb2RlPiBjb25zaXN0IG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "String"
+ ]
+ },
+ {
+ "title": "1961. Check If String Is a Prefix of Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgc3RyaW5nIDxjb2RlPnM8L2NvZGU+IGFuZCBhbiBhcnJheSBvZiBzdHJpbmdzIDxjb2RlPndvcmRzPC9jb2RlPiwgZGV0ZXJtaW5lIHdoZXRoZXIgPGNvZGU+czwvY29kZT4gaXMgYSA8c3Ryb25nPnByZWZpeCBzdHJpbmc8L3N0cm9uZz4gb2YgPGNvZGU+d29yZHM8L2NvZGU+LjwvcD4KPHA+QSBzdHJpbmcgPGNvZGU+czwvY29kZT4gaXMgYSA8c3Ryb25nPnByZWZpeCBzdHJpbmc8L3N0cm9uZz4gb2YgPGNvZGU+d29yZHM8L2NvZGU+IGlmIDxjb2RlPnM8L2NvZGU+IGNhbiBiZSBtYWRlIGJ5IGNvbmNhdGVuYXRpbmcgdGhlIGZpcnN0IDxjb2RlPms8L2NvZGU+IHN0cmluZ3MgaW4gPGNvZGU+d29yZHM8L2NvZGU+IGZvciBzb21lIDxzdHJvbmc+cG9zaXRpdmU8L3N0cm9uZz4gPGNvZGU+azwvY29kZT4gbm8gbGFyZ2VyIHRoYW4gPGNvZGU+d29yZHMubGVuZ3RoPC9jb2RlPi48L3A+CjxwPlJldHVybiA8Y29kZT50cnVlPC9jb2RlPjxlbT4gaWYgPC9lbT48Y29kZT5zPC9jb2RlPjxlbT4gaXMgYSA8c3Ryb25nPnByZWZpeCBzdHJpbmc8L3N0cm9uZz4gb2YgPC9lbT48Y29kZT53b3JkczwvY29kZT48ZW0+LCBvciA8L2VtPjxjb2RlPmZhbHNlPC9jb2RlPjxlbT4gb3RoZXJ3aXNlPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImlsb3ZlbGVldGNvZGUiLCB3b3JkcyA9IFsiaSIsImxvdmUiLCJsZWV0Y29kZSIsImFwcGxlcyJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiB0cnVlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+CnMgY2FuIGJlIG1hZGUgYnkgY29uY2F0ZW5hdGluZyAiaSIsICJsb3ZlIiwgYW5kICJsZWV0Y29kZSIgdG9nZXRoZXIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiaWxvdmVsZWV0Y29kZSIsIHdvcmRzID0gWyJhcHBsZXMiLCJpIiwibG92ZSIsImxlZXRjb2RlIl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IGZhbHNlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ckl0IGlzIGltcG9zc2libGUgdG8gbWFrZSBzIHVzaW5nIGEgcHJlZml4IG9mIGFyci48L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHdvcmRzLmxlbmd0aCAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gd29yZHNbaV0ubGVuZ3RoICZsdDs9IDIwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHMubGVuZ3RoICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPndvcmRzW2ldPC9jb2RlPiBhbmQgPGNvZGU+czwvY29kZT4gY29uc2lzdCBvZiBvbmx5IGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Array",
+ "String"
+ ]
+ },
+ {
+ "title": "1974. Minimum Time to Type Word Using Special Typewriter",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGEgc3BlY2lhbCB0eXBld3JpdGVyIHdpdGggbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycyA8Y29kZT4nYSc8L2NvZGU+IHRvIDxjb2RlPid6JzwvY29kZT4gYXJyYW5nZWQgaW4gYSA8c3Ryb25nPmNpcmNsZTwvc3Ryb25nPiB3aXRoIGEgPHN0cm9uZz5wb2ludGVyPC9zdHJvbmc+LiBBIGNoYXJhY3RlciBjYW4gPHN0cm9uZz5vbmx5PC9zdHJvbmc+IGJlIHR5cGVkIGlmIHRoZSBwb2ludGVyIGlzIHBvaW50aW5nIHRvIHRoYXQgY2hhcmFjdGVyLiBUaGUgcG9pbnRlciBpcyA8c3Ryb25nPmluaXRpYWxseTwvc3Ryb25nPiBwb2ludGluZyB0byB0aGUgY2hhcmFjdGVyIDxjb2RlPidhJzwvY29kZT4uPC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMDcvMzEvY2hhcnQuanBnIiBzdHlsZT0id2lkdGg6IDUzMHB4OyBoZWlnaHQ6IDQxMHB4OyIvPgo8cD5FYWNoIHNlY29uZCwgeW91IG1heSBwZXJmb3JtIG9uZSBvZiB0aGUgZm9sbG93aW5nIG9wZXJhdGlvbnM6PC9wPgo8dWw+CjxsaT5Nb3ZlIHRoZSBwb2ludGVyIG9uZSBjaGFyYWN0ZXIgPHN0cm9uZz5jb3VudGVyY2xvY2t3aXNlPC9zdHJvbmc+IG9yIDxzdHJvbmc+Y2xvY2t3aXNlPC9zdHJvbmc+LjwvbGk+CjxsaT5UeXBlIHRoZSBjaGFyYWN0ZXIgdGhlIHBvaW50ZXIgaXMgPHN0cm9uZz5jdXJyZW50bHk8L3N0cm9uZz4gb24uPC9saT4KPC91bD4KPHA+R2l2ZW4gYSBzdHJpbmcgPGNvZGU+d29yZDwvY29kZT4sIHJldHVybiB0aGU8c3Ryb25nPiBtaW5pbXVtPC9zdHJvbmc+IG51bWJlciBvZiBzZWNvbmRzIHRvIHR5cGUgb3V0IHRoZSBjaGFyYWN0ZXJzIGluIDxjb2RlPndvcmQ8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZCA9ICJhYmMiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA1CjxzdHJvbmc+RXhwbGFuYXRpb246IAo8L3N0cm9uZz5UaGUgY2hhcmFjdGVycyBhcmUgcHJpbnRlZCBhcyBmb2xsb3dzOgotIFR5cGUgdGhlIGNoYXJhY3RlciAnYScgaW4gMSBzZWNvbmQgc2luY2UgdGhlIHBvaW50ZXIgaXMgaW5pdGlhbGx5IG9uICdhJy4KLSBNb3ZlIHRoZSBwb2ludGVyIGNsb2Nrd2lzZSB0byAnYicgaW4gMSBzZWNvbmQuCi0gVHlwZSB0aGUgY2hhcmFjdGVyICdiJyBpbiAxIHNlY29uZC4KLSBNb3ZlIHRoZSBwb2ludGVyIGNsb2Nrd2lzZSB0byAnYycgaW4gMSBzZWNvbmQuCi0gVHlwZSB0aGUgY2hhcmFjdGVyICdjJyBpbiAxIHNlY29uZC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZCA9ICJiemEiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA3CjxzdHJvbmc+RXhwbGFuYXRpb246Cjwvc3Ryb25nPlRoZSBjaGFyYWN0ZXJzIGFyZSBwcmludGVkIGFzIGZvbGxvd3M6Ci0gTW92ZSB0aGUgcG9pbnRlciBjbG9ja3dpc2UgdG8gJ2InIGluIDEgc2Vjb25kLgotIFR5cGUgdGhlIGNoYXJhY3RlciAnYicgaW4gMSBzZWNvbmQuCi0gTW92ZSB0aGUgcG9pbnRlciBjb3VudGVyY2xvY2t3aXNlIHRvICd6JyBpbiAyIHNlY29uZHMuCi0gVHlwZSB0aGUgY2hhcmFjdGVyICd6JyBpbiAxIHNlY29uZC4KLSBNb3ZlIHRoZSBwb2ludGVyIGNsb2Nrd2lzZSB0byAnYScgaW4gMSBzZWNvbmQuCi0gVHlwZSB0aGUgY2hhcmFjdGVyICdhJyBpbiAxIHNlY29uZC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZCA9ICJ6anBjIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMzQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIGNoYXJhY3RlcnMgYXJlIHByaW50ZWQgYXMgZm9sbG93czoKLSBNb3ZlIHRoZSBwb2ludGVyIGNvdW50ZXJjbG9ja3dpc2UgdG8gJ3onIGluIDEgc2Vjb25kLgotIFR5cGUgdGhlIGNoYXJhY3RlciAneicgaW4gMSBzZWNvbmQuCi0gTW92ZSB0aGUgcG9pbnRlciBjbG9ja3dpc2UgdG8gJ2onIGluIDEwIHNlY29uZHMuCi0gVHlwZSB0aGUgY2hhcmFjdGVyICdqJyBpbiAxIHNlY29uZC4KLSBNb3ZlIHRoZSBwb2ludGVyIGNsb2Nrd2lzZSB0byAncCcgaW4gNiBzZWNvbmRzLgotIFR5cGUgdGhlIGNoYXJhY3RlciAncCcgaW4gMSBzZWNvbmQuCi0gTW92ZSB0aGUgcG9pbnRlciBjb3VudGVyY2xvY2t3aXNlIHRvICdjJyBpbiAxMyBzZWNvbmRzLgotIFR5cGUgdGhlIGNoYXJhY3RlciAnYycgaW4gMSBzZWNvbmQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gd29yZC5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT53b3JkPC9jb2RlPiBjb25zaXN0cyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "String",
+ "Greedy"
+ ]
+ },
+ {
+ "title": "1952. Three Divisors",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGludGVnZXIgPGNvZGU+bjwvY29kZT4sIHJldHVybiA8Y29kZT50cnVlPC9jb2RlPjxlbT4gaWYgPC9lbT48Y29kZT5uPC9jb2RlPjxlbT4gaGFzIDxzdHJvbmc+ZXhhY3RseSB0aHJlZSBwb3NpdGl2ZSBkaXZpc29yczwvc3Ryb25nPi4gT3RoZXJ3aXNlLCByZXR1cm4gPC9lbT48Y29kZT5mYWxzZTwvY29kZT4uPC9wPgo8cD5BbiBpbnRlZ2VyIDxjb2RlPm08L2NvZGU+IGlzIGEgPHN0cm9uZz5kaXZpc29yPC9zdHJvbmc+IG9mIDxjb2RlPm48L2NvZGU+IGlmIHRoZXJlIGV4aXN0cyBhbiBpbnRlZ2VyIDxjb2RlPms8L2NvZGU+IHN1Y2ggdGhhdCA8Y29kZT5uID0gayAqIG08L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IGZhbHNlCjxzdHJvbmc+RXhwbGFudGlvbjo8L3N0cm9uZz4gMiBoYXMgb25seSB0d28gZGl2aXNvcnM6IDEgYW5kIDIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSA0CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiB0cnVlCjxzdHJvbmc+RXhwbGFudGlvbjo8L3N0cm9uZz4gNCBoYXMgdGhyZWUgZGl2aXNvcnM6IDEsIDIsIGFuZCA0Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Math"
+ ]
+ },
+ {
+ "title": "1945. Sum of Digits of String After Convert",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4gY29uc2lzdGluZyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLCBhbmQgYW4gaW50ZWdlciA8Y29kZT5rPC9jb2RlPi48L3A+CjxwPkZpcnN0LCA8c3Ryb25nPmNvbnZlcnQ8L3N0cm9uZz4gPGNvZGU+czwvY29kZT4gaW50byBhbiBpbnRlZ2VyIGJ5IHJlcGxhY2luZyBlYWNoIGxldHRlciB3aXRoIGl0cyBwb3NpdGlvbiBpbiB0aGUgYWxwaGFiZXQgKGkuZS4sIHJlcGxhY2UgPGNvZGU+J2EnPC9jb2RlPiB3aXRoIDxjb2RlPjE8L2NvZGU+LCA8Y29kZT4nYic8L2NvZGU+IHdpdGggPGNvZGU+MjwvY29kZT4sIC4uLiwgPGNvZGU+J3onPC9jb2RlPiB3aXRoIDxjb2RlPjI2PC9jb2RlPikuIFRoZW4sIDxzdHJvbmc+dHJhbnNmb3JtPC9zdHJvbmc+IHRoZSBpbnRlZ2VyIGJ5IHJlcGxhY2luZyBpdCB3aXRoIHRoZSA8c3Ryb25nPnN1bSBvZiBpdHMgZGlnaXRzPC9zdHJvbmc+LiBSZXBlYXQgdGhlIDxzdHJvbmc+dHJhbnNmb3JtPC9zdHJvbmc+IG9wZXJhdGlvbiA8Y29kZT5rPC9jb2RlPjxzdHJvbmc+IHRpbWVzPC9zdHJvbmc+IGluIHRvdGFsLjwvcD4KPHA+Rm9yIGV4YW1wbGUsIGlmIDxjb2RlPnMgPSAiemJheCI8L2NvZGU+IGFuZCA8Y29kZT5rID0gMjwvY29kZT4sIHRoZW4gdGhlIHJlc3VsdGluZyBpbnRlZ2VyIHdvdWxkIGJlIDxjb2RlPjg8L2NvZGU+IGJ5IHRoZSBmb2xsb3dpbmcgb3BlcmF0aW9uczo8L3A+Cjx1bD4KPGxpPjxzdHJvbmc+Q29udmVydDwvc3Ryb25nPjogPGNvZGU+InpiYXgiIOKenSAiKDI2KSgyKSgxKSgyNCkiIOKenSAiMjYyMTI0IiDinp0gMjYyMTI0PC9jb2RlPjwvbGk+CjxsaT48c3Ryb25nPlRyYW5zZm9ybSAjMTwvc3Ryb25nPjogPGNvZGU+MjYyMTI0IOKenSAyICsgNiArIDIgKyAxICsgMiArIDTCoOKenSAxNzwvY29kZT48L2xpPgo8bGk+PHN0cm9uZz5UcmFuc2Zvcm0gIzI8L3N0cm9uZz46IDxjb2RlPjE3IOKenSAxICsgNyDinp0gODwvY29kZT48L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPnRoZSByZXN1bHRpbmcgaW50ZWdlciBhZnRlciBwZXJmb3JtaW5nIHRoZSBvcGVyYXRpb25zIGRlc2NyaWJlZCBhYm92ZTwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJpaWlpIiwgayA9IDEKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDM2CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBvcGVyYXRpb25zIGFyZSBhcyBmb2xsb3dzOgotIENvbnZlcnQ6ICJpaWlpIiDinp0gIig5KSg5KSg5KSg5KSIg4p6dICI5OTk5IiDinp0gOTk5OQotIFRyYW5zZm9ybSAjMTogOTk5OSDinp0gOSArIDkgKyA5ICsgOSDinp0gMzYKVGh1cyB0aGUgcmVzdWx0aW5nIGludGVnZXIgaXMgMzYuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAibGVldGNvZGUiLCBrID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgb3BlcmF0aW9ucyBhcmUgYXMgZm9sbG93czoKLSBDb252ZXJ0OiAibGVldGNvZGUiIOKenSAiKDEyKSg1KSg1KSgyMCkoMykoMTUpKDQpKDUpIiDinp0gIjEyNTUyMDMxNTQ1IiDinp0gMTI1NTIwMzE1NDUKLSBUcmFuc2Zvcm0gIzE6IDEyNTUyMDMxNTQ1IOKenSAxICsgMiArIDUgKyA1ICsgMiArIDAgKyAzICsgMSArIDUgKyA0ICsgNSDinp0gMzMKLSBUcmFuc2Zvcm0gIzI6IDMzIOKenSAzICsgMyDinp0gNgpUaHVzIHRoZSByZXN1bHRpbmcgaW50ZWdlciBpcyA2Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gInpiYXgiLCBrID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gOAo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHMubGVuZ3RoICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBrICZsdDs9IDEwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zPC9jb2RlPiBjb25zaXN0cyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Easy",
+ "topic": [
+ "String",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "1929. Concatenation of Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGludGVnZXIgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4gb2YgbGVuZ3RoIDxjb2RlPm48L2NvZGU+LCB5b3Ugd2FudCB0byBjcmVhdGUgYW4gYXJyYXkgPGNvZGU+YW5zPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+Mm48L2NvZGU+IHdoZXJlIDxjb2RlPmFuc1tpXSA9PSBudW1zW2ldPC9jb2RlPiBhbmQgPGNvZGU+YW5zW2kgKyBuXSA9PSBudW1zW2ldPC9jb2RlPiBmb3IgPGNvZGU+MCAmbHQ7PSBpICZsdDsgbjwvY29kZT4gKDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+KS48L3A+CjxwPlNwZWNpZmljYWxseSwgPGNvZGU+YW5zPC9jb2RlPiBpcyB0aGUgPHN0cm9uZz5jb25jYXRlbmF0aW9uPC9zdHJvbmc+IG9mIHR3byA8Y29kZT5udW1zPC9jb2RlPiBhcnJheXMuPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSBhcnJheSA8L2VtPjxjb2RlPmFuczwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMiwxXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzEsMiwxLDEsMiwxXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgYXJyYXkgYW5zIGlzIGZvcm1lZCBhcyBmb2xsb3dzOgotIGFucyA9IFtudW1zWzBdLG51bXNbMV0sbnVtc1syXSxudW1zWzBdLG51bXNbMV0sbnVtc1syXV0KLSBhbnMgPSBbMSwyLDEsMSwyLDFdPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDMsMiwxXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzEsMywyLDEsMSwzLDIsMV0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGFycmF5IGFucyBpcyBmb3JtZWQgYXMgZm9sbG93czoKLSBhbnMgPSBbbnVtc1swXSxudW1zWzFdLG51bXNbMl0sbnVtc1szXSxudW1zWzBdLG51bXNbMV0sbnVtc1syXSxudW1zWzNdXQotIGFucyA9IFsxLDMsMiwxLDEsMywyLDFdCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gbnVtcy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0gJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Easy",
+ "topic": [
+ "Array"
+ ]
+ },
+ {
+ "title": "1941. Check if All Characters Have Equal Number of Occurrences",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgc3RyaW5nIDxjb2RlPnM8L2NvZGU+LCByZXR1cm4gPGNvZGU+dHJ1ZTwvY29kZT48ZW0+IGlmIDwvZW0+PGNvZGU+czwvY29kZT48ZW0+IGlzIGEgPHN0cm9uZz5nb29kPC9zdHJvbmc+IHN0cmluZywgb3IgPC9lbT48Y29kZT5mYWxzZTwvY29kZT48ZW0+IG90aGVyd2lzZTwvZW0+LjwvcD4KPHA+QSBzdHJpbmcgPGNvZGU+czwvY29kZT4gaXMgPHN0cm9uZz5nb29kPC9zdHJvbmc+IGlmIDxzdHJvbmc+YWxsPC9zdHJvbmc+IHRoZSBjaGFyYWN0ZXJzIHRoYXQgYXBwZWFyIGluIDxjb2RlPnM8L2NvZGU+IGhhdmUgdGhlIDxzdHJvbmc+c2FtZTwvc3Ryb25nPiBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgKGkuZS4sIHRoZSBzYW1lIGZyZXF1ZW5jeSkuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImFiYWNiYyIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IHRydWUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGNoYXJhY3RlcnMgdGhhdCBhcHBlYXIgaW4gcyBhcmUgJ2EnLCAnYicsIGFuZCAnYycuIEFsbCBjaGFyYWN0ZXJzIG9jY3VyIDIgdGltZXMgaW4gcy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJhYWFiYiIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IGZhbHNlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBjaGFyYWN0ZXJzIHRoYXQgYXBwZWFyIGluIHMgYXJlICdhJyBhbmQgJ2InLgonYScgb2NjdXJzIDMgdGltZXMgd2hpbGUgJ2InIG9jY3VycyAyIHRpbWVzLCB3aGljaCBpcyBub3QgdGhlIHNhbWUgbnVtYmVyIG9mIHRpbWVzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHMubGVuZ3RoICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnM8L2NvZGU+IGNvbnNpc3RzIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Easy",
+ "topic": [
+ "Hash Table",
+ "String",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2461. Maximum Sum of Distinct Subarrays With Length K",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBhbmQgYW4gaW50ZWdlciA8Y29kZT5rPC9jb2RlPi4gRmluZCB0aGUgbWF4aW11bSBzdWJhcnJheSBzdW0gb2YgYWxsIHRoZSBzdWJhcnJheXMgb2YgPGNvZGU+bnVtczwvY29kZT4gdGhhdCBtZWV0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczo8L3A+Cjx1bD4KPGxpPlRoZSBsZW5ndGggb2YgdGhlIHN1YmFycmF5IGlzIDxjb2RlPms8L2NvZGU+LCBhbmQ8L2xpPgo8bGk+QWxsIHRoZSBlbGVtZW50cyBvZiB0aGUgc3ViYXJyYXkgYXJlIDxzdHJvbmc+ZGlzdGluY3Q8L3N0cm9uZz4uPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgbWF4aW11bSBzdWJhcnJheSBzdW0gb2YgYWxsIHRoZSBzdWJhcnJheXMgdGhhdCBtZWV0IHRoZSBjb25kaXRpb25zPC9lbT48ZW0+LjwvZW0+IElmIG5vIHN1YmFycmF5IG1lZXRzIHRoZSBjb25kaXRpb25zLCByZXR1cm4gPGNvZGU+MDwvY29kZT4uPC9wPgo8cD48ZW0+QSA8c3Ryb25nPnN1YmFycmF5PC9zdHJvbmc+IGlzIGEgY29udGlndW91cyBub24tZW1wdHkgc2VxdWVuY2Ugb2YgZWxlbWVudHMgd2l0aGluIGFuIGFycmF5LjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsNSw0LDIsOSw5LDldLCBrID0gMwo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHN1YmFycmF5cyBvZiBudW1zIHdpdGggbGVuZ3RoIDMgYXJlOgotIFsxLDUsNF0gd2hpY2ggbWVldHMgdGhlIHJlcXVpcmVtZW50cyBhbmQgaGFzIGEgc3VtIG9mIDEwLgotIFs1LDQsMl0gd2hpY2ggbWVldHMgdGhlIHJlcXVpcmVtZW50cyBhbmQgaGFzIGEgc3VtIG9mIDExLgotIFs0LDIsOV0gd2hpY2ggbWVldHMgdGhlIHJlcXVpcmVtZW50cyBhbmQgaGFzIGEgc3VtIG9mIDE1LgotIFsyLDksOV0gd2hpY2ggZG9lcyBub3QgbWVldCB0aGUgcmVxdWlyZW1lbnRzIGJlY2F1c2UgdGhlIGVsZW1lbnQgOSBpcyByZXBlYXRlZC4KLSBbOSw5LDldIHdoaWNoIGRvZXMgbm90IG1lZXQgdGhlIHJlcXVpcmVtZW50cyBiZWNhdXNlIHRoZSBlbGVtZW50IDkgaXMgcmVwZWF0ZWQuCldlIHJldHVybiAxNSBiZWNhdXNlIGl0IGlzIHRoZSBtYXhpbXVtIHN1YmFycmF5IHN1bSBvZiBhbGwgdGhlIHN1YmFycmF5cyB0aGF0IG1lZXQgdGhlIGNvbmRpdGlvbnMKPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs0LDQsNF0sIGsgPSAzCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBzdWJhcnJheXMgb2YgbnVtcyB3aXRoIGxlbmd0aCAzIGFyZToKLSBbNCw0LDRdIHdoaWNoIGRvZXMgbm90IG1lZXQgdGhlIHJlcXVpcmVtZW50cyBiZWNhdXNlIHRoZSBlbGVtZW50IDQgaXMgcmVwZWF0ZWQuCldlIHJldHVybiAwIGJlY2F1c2Ugbm8gc3ViYXJyYXlzIG1lZXQgdGhlIGNvbmRpdGlvbnMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gayAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Sliding Window"
+ ]
+ },
+ {
+ "title": "2452. Words Within Two Edits of Dictionary",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIHN0cmluZyBhcnJheXMsIDxjb2RlPnF1ZXJpZXM8L2NvZGU+IGFuZCA8Y29kZT5kaWN0aW9uYXJ5PC9jb2RlPi4gQWxsIHdvcmRzIGluIGVhY2ggYXJyYXkgY29tcHJpc2Ugb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycyBhbmQgaGF2ZSB0aGUgc2FtZSBsZW5ndGguPC9wPgo8cD5JbiBvbmUgPHN0cm9uZz5lZGl0PC9zdHJvbmc+IHlvdSBjYW4gdGFrZSBhIHdvcmQgZnJvbSA8Y29kZT5xdWVyaWVzPC9jb2RlPiwgYW5kIGNoYW5nZSBhbnkgbGV0dGVyIGluIGl0IHRvIGFueSBvdGhlciBsZXR0ZXIuIEZpbmQgYWxsIHdvcmRzIGZyb20gPGNvZGU+cXVlcmllczwvY29kZT4gdGhhdCwgYWZ0ZXIgYSA8c3Ryb25nPm1heGltdW08L3N0cm9uZz4gb2YgdHdvIGVkaXRzLCBlcXVhbCBzb21lIHdvcmQgZnJvbSA8Y29kZT5kaWN0aW9uYXJ5PC9jb2RlPi48L3A+CjxwPlJldHVybjxlbT4gYSBsaXN0IG9mIGFsbCB3b3JkcyBmcm9tIDwvZW0+PGNvZGU+cXVlcmllczwvY29kZT48ZW0+LCA8L2VtPjxlbT50aGF0IG1hdGNoIHdpdGggc29tZSB3b3JkIGZyb20gPC9lbT48Y29kZT5kaWN0aW9uYXJ5PC9jb2RlPjxlbT4gYWZ0ZXIgYSBtYXhpbXVtIG9mIDxzdHJvbmc+dHdvIGVkaXRzPC9zdHJvbmc+PC9lbT4uIFJldHVybiB0aGUgd29yZHMgaW4gdGhlIDxzdHJvbmc+c2FtZSBvcmRlcjwvc3Ryb25nPiB0aGV5IGFwcGVhciBpbiA8Y29kZT5xdWVyaWVzPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHF1ZXJpZXMgPSBbIndvcmQiLCJub3RlIiwiYW50cyIsIndvb2QiXSwgZGljdGlvbmFyeSA9IFsid29vZCIsImpva2UiLCJtb2F0Il0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsid29yZCIsIm5vdGUiLCJ3b29kIl0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KLSBDaGFuZ2luZyB0aGUgJ3InIGluICJ3b3JkIiB0byAnbycgYWxsb3dzIGl0IHRvIGVxdWFsIHRoZSBkaWN0aW9uYXJ5IHdvcmQgIndvb2QiLgotIENoYW5naW5nIHRoZSAnbicgdG8gJ2onIGFuZCB0aGUgJ3QnIHRvICdrJyBpbiAibm90ZSIgY2hhbmdlcyBpdCB0byAiam9rZSIuCi0gSXQgd291bGQgdGFrZSBtb3JlIHRoYW4gMiBlZGl0cyBmb3IgImFudHMiIHRvIGVxdWFsIGEgZGljdGlvbmFyeSB3b3JkLgotICJ3b29kIiBjYW4gcmVtYWluIHVuY2hhbmdlZCAoMCBlZGl0cykgYW5kIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGRpY3Rpb25hcnkgd29yZC4KVGh1cywgd2UgcmV0dXJuIFsid29yZCIsIm5vdGUiLCJ3b29kIl0uCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHF1ZXJpZXMgPSBbInllcyJdLCBkaWN0aW9uYXJ5ID0gWyJub3QiXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gW10KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KQXBwbHlpbmcgYW55IHR3byBlZGl0cyB0byAieWVzIiBjYW5ub3QgbWFrZSBpdCBlcXVhbCB0byAibm90Ii4gVGh1cywgd2UgcmV0dXJuIGFuIGVtcHR5IGFycmF5Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHF1ZXJpZXMubGVuZ3RoLCBkaWN0aW9uYXJ5Lmxlbmd0aCAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPm4gPT0gcXVlcmllc1tpXS5sZW5ndGggPT0gZGljdGlvbmFyeVtqXS5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPkFsbCA8Y29kZT5xdWVyaWVzW2ldPC9jb2RlPiBhbmQgPGNvZGU+ZGljdGlvbmFyeVtqXTwvY29kZT4gYXJlIGNvbXBvc2VkIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "String"
+ ]
+ },
+ {
+ "title": "2453. Destroy Sequential Targets",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBjb25zaXN0aW5nIG9mIHBvc2l0aXZlIGludGVnZXJzLCByZXByZXNlbnRpbmcgdGFyZ2V0cyBvbiBhIG51bWJlciBsaW5lLiBZb3UgYXJlIGFsc28gZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5zcGFjZTwvY29kZT4uPC9wPgo8cD5Zb3UgaGF2ZSBhIG1hY2hpbmUgd2hpY2ggY2FuIGRlc3Ryb3kgdGFyZ2V0cy4gPHN0cm9uZz5TZWVkaW5nPC9zdHJvbmc+IHRoZSBtYWNoaW5lIHdpdGggc29tZSA8Y29kZT5udW1zW2ldPC9jb2RlPiBhbGxvd3MgaXQgdG8gZGVzdHJveSBhbGwgdGFyZ2V0cyB3aXRoIHZhbHVlcyB0aGF0IGNhbiBiZSByZXByZXNlbnRlZCBhcyA8Y29kZT5udW1zW2ldICsgYyAqIHNwYWNlPC9jb2RlPiwgd2hlcmUgPGNvZGU+YzwvY29kZT4gaXMgYW55IG5vbi1uZWdhdGl2ZSBpbnRlZ2VyLiBZb3Ugd2FudCB0byBkZXN0cm95IHRoZSA8c3Ryb25nPm1heGltdW08L3N0cm9uZz4gbnVtYmVyIG9mIHRhcmdldHMgaW4gPGNvZGU+bnVtczwvY29kZT4uPC9wPgo8cD5SZXR1cm48ZW0+IHRoZSA8c3Ryb25nPm1pbmltdW0gdmFsdWU8L3N0cm9uZz4gb2YgPC9lbT48Y29kZT5udW1zW2ldPC9jb2RlPjxlbT4geW91IGNhbiBzZWVkIHRoZSBtYWNoaW5lIHdpdGggdG8gZGVzdHJveSB0aGUgbWF4aW11bSBudW1iZXIgb2YgdGFyZ2V0cy48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFszLDcsOCwxLDEsNV0sIHNwYWNlID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBJZiB3ZSBzZWVkIHRoZSBtYWNoaW5lIHdpdGggbnVtc1szXSwgdGhlbiB3ZSBkZXN0cm95IGFsbCB0YXJnZXRzIGVxdWFsIHRvIDEsMyw1LDcsOSwuLi4gCkluIHRoaXMgY2FzZSwgd2Ugd291bGQgZGVzdHJveSA1IHRvdGFsIHRhcmdldHMgKGFsbCBleGNlcHQgZm9yIG51bXNbMl0pLiAKSXQgaXMgaW1wb3NzaWJsZSB0byBkZXN0cm95IG1vcmUgdGhhbiA1IHRhcmdldHMsIHNvIHdlIHJldHVybiBudW1zWzNdLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMyw1LDIsNCw2XSwgc3BhY2UgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFNlZWRpbmcgdGhlIG1hY2hpbmUgd2l0aCBudW1zWzBdLCBvciBudW1zWzNdIGRlc3Ryb3lzIDMgdGFyZ2V0cy4gCkl0IGlzIG5vdCBwb3NzaWJsZSB0byBkZXN0cm95IG1vcmUgdGhhbiAzIHRhcmdldHMuClNpbmNlIG51bXNbMF0gaXMgdGhlIG1pbmltYWwgaW50ZWdlciB0aGF0IGNhbiBkZXN0cm95IDMgdGFyZ2V0cywgd2UgcmV0dXJuIDEuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNiwyLDVdLCBzcGFjZSA9IDEwMAo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXaGF0ZXZlciBpbml0aWFsIHNlZWQgd2Ugc2VsZWN0LCB3ZSBjYW4gb25seSBkZXN0cm95IDEgdGFyZ2V0LiBUaGUgbWluaW1hbCBzZWVkIGlzIG51bXNbMV0uCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBzcGFjZSAmbHQ7PcKgMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2447. Number of Subarrays With GCD Equal to K",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGludGVnZXIgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4gYW5kIGFuIGludGVnZXIgPGNvZGU+azwvY29kZT4sIHJldHVybiA8ZW0+dGhlIG51bWJlciBvZiA8c3Ryb25nPnN1YmFycmF5czwvc3Ryb25nPiBvZiA8L2VtPjxjb2RlPm51bXM8L2NvZGU+PGVtPiB3aGVyZSB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdGhlIHN1YmFycmF5J3MgZWxlbWVudHMgaXMgPC9lbT48Y29kZT5rPC9jb2RlPi48L3A+CjxwPkEgPHN0cm9uZz5zdWJhcnJheTwvc3Ryb25nPiBpcyBhIGNvbnRpZ3VvdXMgbm9uLWVtcHR5IHNlcXVlbmNlIG9mIGVsZW1lbnRzIHdpdGhpbiBhbiBhcnJheS48L3A+CjxwPlRoZSA8c3Ryb25nPmdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIGFuIGFycmF5PC9zdHJvbmc+IGlzIHRoZSBsYXJnZXN0IGludGVnZXIgdGhhdCBldmVubHkgZGl2aWRlcyBhbGwgdGhlIGFycmF5IGVsZW1lbnRzLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs5LDMsMSwyLDYsM10sIGsgPSAzCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBzdWJhcnJheXMgb2YgbnVtcyB3aGVyZSAzIGlzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiBhbGwgdGhlIHN1YmFycmF5J3MgZWxlbWVudHMgYXJlOgotIFs5LDx1PjxzdHJvbmc+Mzwvc3Ryb25nPjwvdT4sMSwyLDYsM10KLSBbOSwzLDEsMiw2LDx1PjxzdHJvbmc+Mzwvc3Ryb25nPjwvdT5dCi0gWzx1PjxzdHJvbmc+OSwzPC9zdHJvbmc+PC91PiwxLDIsNiwzXQotIFs5LDMsMSwyLDx1PjxzdHJvbmc+NiwzPC9zdHJvbmc+PC91Pl0KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs0XSwgayA9IDcKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgYXJlIG5vIHN1YmFycmF5cyBvZiBudW1zIHdoZXJlIDcgaXMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIGFsbCB0aGUgc3ViYXJyYXkncyBlbGVtZW50cy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0sIGsgJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Math",
+ "Number Theory"
+ ]
+ },
+ {
+ "title": "2457. Minimum Addition to Make Integer Beautiful",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIHBvc2l0aXZlIGludGVnZXJzIDxjb2RlPm48L2NvZGU+IGFuZCA8Y29kZT50YXJnZXQ8L2NvZGU+LjwvcD4KPHA+QW4gaW50ZWdlciBpcyBjb25zaWRlcmVkIDxzdHJvbmc+YmVhdXRpZnVsPC9zdHJvbmc+IGlmIHRoZSBzdW0gb2YgaXRzIGRpZ2l0cyBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gPGNvZGU+dGFyZ2V0PC9jb2RlPi48L3A+CjxwPlJldHVybiB0aGUgPGVtPm1pbmltdW0gPHN0cm9uZz5ub24tbmVnYXRpdmU8L3N0cm9uZz4gaW50ZWdlciA8L2VtPjxjb2RlPng8L2NvZGU+PGVtPiBzdWNoIHRoYXQgPC9lbT48Y29kZT5uICsgeDwvY29kZT48ZW0+IGlzIGJlYXV0aWZ1bDwvZW0+LiBUaGUgaW5wdXQgd2lsbCBiZSBnZW5lcmF0ZWQgc3VjaCB0aGF0IGl0IGlzIGFsd2F5cyBwb3NzaWJsZSB0byBtYWtlIDxjb2RlPm48L2NvZGU+IGJlYXV0aWZ1bC48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSAxNiwgdGFyZ2V0ID0gNgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBJbml0aWFsbHkgbiBpcyAxNiBhbmQgaXRzIGRpZ2l0IHN1bSBpcyAxICsgNiA9IDcuIEFmdGVyIGFkZGluZyA0LCBuIGJlY29tZXMgMjAgYW5kIGRpZ2l0IHN1bSBiZWNvbWVzIDIgKyAwID0gMi4gSXQgY2FuIGJlIHNob3duIHRoYXQgd2UgY2FuIG5vdCBtYWtlIG4gYmVhdXRpZnVsIHdpdGggYWRkaW5nIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyIGxlc3MgdGhhbiA0Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gNDY3LCB0YXJnZXQgPSA2CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBJbml0aWFsbHkgbiBpcyA0NjcgYW5kIGl0cyBkaWdpdCBzdW0gaXMgNCArIDYgKyA3ID0gMTcuIEFmdGVyIGFkZGluZyAzMywgbiBiZWNvbWVzIDUwMCBhbmQgZGlnaXQgc3VtIGJlY29tZXMgNSArIDAgKyAwID0gNS4gSXQgY2FuIGJlIHNob3duIHRoYXQgd2UgY2FuIG5vdCBtYWtlIG4gYmVhdXRpZnVsIHdpdGggYWRkaW5nIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyIGxlc3MgdGhhbiAzMy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDEsIHRhcmdldCA9IDEKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gSW5pdGlhbGx5IG4gaXMgMSBhbmQgaXRzIGRpZ2l0IHN1bSBpcyAxLCB3aGljaCBpcyBhbHJlYWR5IHNtYWxsZXIgdGhhbiBvciBlcXVhbCB0byB0YXJnZXQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDxzdXA+MTI8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gdGFyZ2V0ICZsdDs9IDE1MDwvY29kZT48L2xpPgo8bGk+VGhlIGlucHV0IHdpbGwgYmUgZ2VuZXJhdGVkIHN1Y2ggdGhhdCBpdCBpcyBhbHdheXMgcG9zc2libGUgdG8gbWFrZSA8Y29kZT5uPC9jb2RlPiBiZWF1dGlmdWwuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Math",
+ "Greedy"
+ ]
+ },
+ {
+ "title": "2456. Most Popular Video Creator",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIHN0cmluZyBhcnJheXMgPGNvZGU+Y3JlYXRvcnM8L2NvZGU+IGFuZCA8Y29kZT5pZHM8L2NvZGU+LCBhbmQgYW4gaW50ZWdlciBhcnJheSA8Y29kZT52aWV3czwvY29kZT4sIGFsbCBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4uIFRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gdmlkZW8gb24gYSBwbGF0Zm9ybSB3YXMgY3JlYXRlZCBieSA8Y29kZT5jcmVhdG9yW2ldPC9jb2RlPiwgaGFzIGFuIGlkIG9mIDxjb2RlPmlkc1tpXTwvY29kZT4sIGFuZCBoYXMgPGNvZGU+dmlld3NbaV08L2NvZGU+IHZpZXdzLjwvcD4KPHA+VGhlIDxzdHJvbmc+cG9wdWxhcml0eTwvc3Ryb25nPiBvZiBhIGNyZWF0b3IgaXMgdGhlIDxzdHJvbmc+c3VtPC9zdHJvbmc+IG9mIHRoZSBudW1iZXIgb2Ygdmlld3Mgb24gPHN0cm9uZz5hbGw8L3N0cm9uZz4gb2YgdGhlIGNyZWF0b3IncyB2aWRlb3MuIEZpbmQgdGhlIGNyZWF0b3Igd2l0aCB0aGUgPHN0cm9uZz5oaWdoZXN0PC9zdHJvbmc+IHBvcHVsYXJpdHkgYW5kIHRoZSBpZCBvZiB0aGVpciA8c3Ryb25nPm1vc3Q8L3N0cm9uZz4gdmlld2VkIHZpZGVvLjwvcD4KPHVsPgo8bGk+SWYgbXVsdGlwbGUgY3JlYXRvcnMgaGF2ZSB0aGUgaGlnaGVzdCBwb3B1bGFyaXR5LCBmaW5kIGFsbCBvZiB0aGVtLjwvbGk+CjxsaT5JZiBtdWx0aXBsZSB2aWRlb3MgaGF2ZSB0aGUgaGlnaGVzdCB2aWV3IGNvdW50IGZvciBhIGNyZWF0b3IsIGZpbmQgdGhlIGxleGljb2dyYXBoaWNhbGx5IDxzdHJvbmc+c21hbGxlc3Q8L3N0cm9uZz4gaWQuPC9saT4KPC91bD4KPHA+UmV0dXJuPGVtPiBhIDJEIGFycmF5IG9mIHN0cmluZ3MgPC9lbT48Y29kZT5hbnN3ZXI8L2NvZGU+PGVtPiB3aGVyZSA8L2VtPjxjb2RlPmFuc3dlcltpXSA9IFtjcmVhdG9yPHN1Yj5pPC9zdWI+LCBpZDxzdWI+aTwvc3ViPl08L2NvZGU+PGVtPiBtZWFucyB0aGF0IDwvZW0+PGNvZGU+Y3JlYXRvcjxzdWI+aTwvc3ViPjwvY29kZT4gPGVtPmhhcyB0aGUgPHN0cm9uZz5oaWdoZXN0PC9zdHJvbmc+IHBvcHVsYXJpdHkgYW5kIDwvZW0+PGNvZGU+aWQ8c3ViPmk8L3N1Yj48L2NvZGU+PGVtPiBpcyB0aGUgaWQgb2YgdGhlaXIgbW9zdCBwb3B1bGFyIHZpZGVvLjwvZW0+IFRoZSBhbnN3ZXIgY2FuIGJlIHJldHVybmVkIGluIGFueSBvcmRlci48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGNyZWF0b3JzID0gWyJhbGljZSIsImJvYiIsImFsaWNlIiwiY2hyaXMiXSwgaWRzID0gWyJvbmUiLCJ0d28iLCJ0aHJlZSIsImZvdXIiXSwgdmlld3MgPSBbNSwxMCw1LDRdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbWyJhbGljZSIsIm9uZSJdLFsiYm9iIiwidHdvIl1dCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBwb3B1bGFyaXR5IG9mIGFsaWNlIGlzIDUgKyA1ID0gMTAuClRoZSBwb3B1bGFyaXR5IG9mIGJvYiBpcyAxMC4KVGhlIHBvcHVsYXJpdHkgb2YgY2hyaXMgaXMgNC4KYWxpY2UgYW5kIGJvYiBhcmUgdGhlIG1vc3QgcG9wdWxhciBjcmVhdG9ycy4KRm9yIGJvYiwgdGhlIHZpZGVvIHdpdGggdGhlIGhpZ2hlc3QgdmlldyBjb3VudCBpcyAidHdvIi4KRm9yIGFsaWNlLCB0aGUgdmlkZW9zIHdpdGggdGhlIGhpZ2hlc3QgdmlldyBjb3VudCBhcmUgIm9uZSIgYW5kICJ0aHJlZSIuIFNpbmNlICJvbmUiIGlzIGxleGljb2dyYXBoaWNhbGx5IHNtYWxsZXIgdGhhbiAidGhyZWUiLCBpdCBpcyBpbmNsdWRlZCBpbiB0aGUgYW5zd2VyLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBjcmVhdG9ycyA9IFsiYWxpY2UiLCJhbGljZSIsImFsaWNlIl0sIGlkcyA9IFsiYSIsImIiLCJjIl0sIHZpZXdzID0gWzEsMiwyXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gW1siYWxpY2UiLCJiIl1dCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSB2aWRlb3Mgd2l0aCBpZCAiYiIgYW5kICJjIiBoYXZlIHRoZSBoaWdoZXN0IHZpZXcgY291bnQuClNpbmNlICJiIiBpcyBsZXhpY29ncmFwaGljYWxseSBzbWFsbGVyIHRoYW4gImMiLCBpdCBpcyBpbmNsdWRlZCBpbiB0aGUgYW5zd2VyLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IGNyZWF0b3JzLmxlbmd0aCA9PSBpZHMubGVuZ3RoID09IHZpZXdzLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGNyZWF0b3JzW2ldLmxlbmd0aCwgaWRzW2ldLmxlbmd0aCAmbHQ7PSA1PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5jcmVhdG9yc1tpXTwvY29kZT4gYW5kIDxjb2RlPmlkc1tpXTwvY29kZT4gY29uc2lzdCBvbmx5IG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gdmlld3NbaV0gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "String",
+ "Sorting",
+ "Heap (Priority Queue)"
+ ]
+ },
+ {
+ "title": "2443. Sum of Number and Its Reverse",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgPHN0cm9uZz5ub24tbmVnYXRpdmU8L3N0cm9uZz4gaW50ZWdlciA8Y29kZT5udW08L2NvZGU+LCByZXR1cm4gPGNvZGU+dHJ1ZTwvY29kZT48ZW0+IGlmIDwvZW0+PGNvZGU+bnVtPC9jb2RlPjxlbT4gY2FuIGJlIGV4cHJlc3NlZCBhcyB0aGUgc3VtIG9mIGFueSA8c3Ryb25nPm5vbi1uZWdhdGl2ZTwvc3Ryb25nPiBpbnRlZ2VyIGFuZCBpdHMgcmV2ZXJzZSwgb3IgPC9lbT48Y29kZT5mYWxzZTwvY29kZT48ZW0+IG90aGVyd2lzZS48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtID0gNDQzCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiB0cnVlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IDE3MiArIDI3MSA9IDQ0MyBzbyB3ZSByZXR1cm4gdHJ1ZS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtID0gNjMKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IGZhbHNlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IDYzIGNhbm5vdCBiZSBleHByZXNzZWQgYXMgdGhlIHN1bSBvZiBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyIGFuZCBpdHMgcmV2ZXJzZSBzbyB3ZSByZXR1cm4gZmFsc2UuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bSA9IDE4MQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gdHJ1ZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAxNDAgKyAwNDEgPSAxODEgc28gd2UgcmV0dXJuIHRydWUuIE5vdGUgdGhhdCB3aGVuIGEgbnVtYmVyIGlzIHJldmVyc2VkLCB0aGVyZSBtYXkgYmUgbGVhZGluZyB6ZXJvcy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MCAmbHQ7PSBudW0gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Math",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2425. Bitwise XOR of All Pairings",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGFycmF5cywgPGNvZGU+bnVtczE8L2NvZGU+IGFuZCA8Y29kZT5udW1zMjwvY29kZT4sIGNvbnNpc3Rpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzLiBUaGVyZSBleGlzdHMgYW5vdGhlciBhcnJheSwgPGNvZGU+bnVtczM8L2NvZGU+LCB3aGljaCBjb250YWlucyB0aGUgYml0d2lzZSBYT1Igb2YgPHN0cm9uZz5hbGwgcGFpcmluZ3M8L3N0cm9uZz4gb2YgaW50ZWdlcnMgYmV0d2VlbiA8Y29kZT5udW1zMTwvY29kZT4gYW5kIDxjb2RlPm51bXMyPC9jb2RlPiAoZXZlcnkgaW50ZWdlciBpbiA8Y29kZT5udW1zMTwvY29kZT4gaXMgcGFpcmVkIHdpdGggZXZlcnkgaW50ZWdlciBpbiA8Y29kZT5udW1zMjwvY29kZT4gPHN0cm9uZz5leGFjdGx5IG9uY2U8L3N0cm9uZz4pLjwvcD4KPHA+UmV0dXJuPGVtPiB0aGUgPHN0cm9uZz5iaXR3aXNlIFhPUjwvc3Ryb25nPiBvZiBhbGwgaW50ZWdlcnMgaW4gPC9lbT48Y29kZT5udW1zMzwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zMSA9IFsyLDEsM10sIG51bXMyID0gWzEwLDIsNSwwXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KQSBwb3NzaWJsZSBudW1zMyBhcnJheSBpcyBbOCwwLDcsMiwxMSwzLDQsMSw5LDEsNiwzXS4KVGhlIGJpdHdpc2UgWE9SIG9mIGFsbCB0aGVzZSBudW1iZXJzIGlzIDEzLCBzbyB3ZSByZXR1cm4gMTMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMxID0gWzEsMl0sIG51bXMyID0gWzMsNF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KQWxsIHBvc3NpYmxlIHBhaXJzIG9mIGJpdHdpc2UgWE9ScyBhcmUgbnVtczFbMF0gXiBudW1zMlswXSwgbnVtczFbMF0gXiBudW1zMlsxXSwgbnVtczFbMV0gXiBudW1zMlswXSwKYW5kIG51bXMxWzFdIF4gbnVtczJbMV0uClRodXMsIG9uZSBwb3NzaWJsZSBudW1zMyBhcnJheSBpcyBbMiw1LDEsNl0uCjIgXiA1IF4gMSBeIDYgPSAwLCBzbyB3ZSByZXR1cm4gMC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zMS5sZW5ndGgsIG51bXMyLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBudW1zMVtpXSwgbnVtczJbal0gJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Bit Manipulation",
+ "Brainteaser"
+ ]
+ },
+ {
+ "title": "2439. Minimize Maximum of Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBjb21wcmlzaW5nIG9mIDxjb2RlPm48L2NvZGU+IG5vbi1uZWdhdGl2ZSBpbnRlZ2Vycy48L3A+CjxwPkluIG9uZSBvcGVyYXRpb24sIHlvdSBtdXN0OjwvcD4KPHVsPgo8bGk+Q2hvb3NlIGFuIGludGVnZXIgPGNvZGU+aTwvY29kZT4gc3VjaCB0aGF0IDxjb2RlPjEgJmx0Oz0gaSAmbHQ7IG48L2NvZGU+IGFuZCA8Y29kZT5udW1zW2ldICZndDsgMDwvY29kZT4uPC9saT4KPGxpPkRlY3JlYXNlIDxjb2RlPm51bXNbaV08L2NvZGU+IGJ5IDEuPC9saT4KPGxpPkluY3JlYXNlIDxjb2RlPm51bXNbaSAtIDFdPC9jb2RlPiBieSAxLjwvbGk+CjwvdWw+CjxwPlJldHVybjxlbT4gdGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiBwb3NzaWJsZSB2YWx1ZSBvZiB0aGUgPHN0cm9uZz5tYXhpbXVtPC9zdHJvbmc+IGludGVnZXIgb2YgPC9lbT48Y29kZT5udW1zPC9jb2RlPjxlbT4gYWZ0ZXIgcGVyZm9ybWluZyA8c3Ryb25nPmFueTwvc3Ryb25nPiBudW1iZXIgb2Ygb3BlcmF0aW9uczwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFszLDcsMSw2XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpPbmUgc2V0IG9mIG9wdGltYWwgb3BlcmF0aW9ucyBpcyBhcyBmb2xsb3dzOgoxLiBDaG9vc2UgaSA9IDEsIGFuZCBudW1zIGJlY29tZXMgWzQsNiwxLDZdLgoyLiBDaG9vc2UgaSA9IDMsIGFuZCBudW1zIGJlY29tZXMgWzQsNiwyLDVdLgozLiBDaG9vc2UgaSA9IDEsIGFuZCBudW1zIGJlY29tZXMgWzUsNSwyLDVdLgpUaGUgbWF4aW11bSBpbnRlZ2VyIG9mIG51bXMgaXMgNS4gSXQgY2FuIGJlIHNob3duIHRoYXQgdGhlIG1heGltdW0gbnVtYmVyIGNhbm5vdCBiZSBsZXNzIHRoYW4gNS4KVGhlcmVmb3JlLCB3ZSByZXR1cm4gNS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxMCwxXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KSXQgaXMgb3B0aW1hbCB0byBsZWF2ZSBudW1zIGFzIGlzLCBhbmQgc2luY2UgMTAgaXMgdGhlIG1heGltdW0gdmFsdWUsIHdlIHJldHVybiAxMC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBudW1zLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MiAmbHQ7PSBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IG51bXNbaV0gJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Dynamic Programming",
+ "Greedy",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2438. Range Product Queries of Powers",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgcG9zaXRpdmUgaW50ZWdlciA8Y29kZT5uPC9jb2RlPiwgdGhlcmUgZXhpc3RzIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gYXJyYXkgY2FsbGVkIDxjb2RlPnBvd2VyczwvY29kZT4sIGNvbXBvc2VkIG9mIHRoZSA8c3Ryb25nPm1pbmltdW08L3N0cm9uZz4gbnVtYmVyIG9mIHBvd2VycyBvZiA8Y29kZT4yPC9jb2RlPiB0aGF0IHN1bSB0byA8Y29kZT5uPC9jb2RlPi4gVGhlIGFycmF5IGlzIHNvcnRlZCBpbiA8c3Ryb25nPm5vbi1kZWNyZWFzaW5nPC9zdHJvbmc+IG9yZGVyLCBhbmQgdGhlcmUgaXMgPHN0cm9uZz5vbmx5IG9uZTwvc3Ryb25nPiB3YXkgdG8gZm9ybSB0aGUgYXJyYXkuPC9wPgo8cD5Zb3UgYXJlIGFsc28gZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPnF1ZXJpZXM8L2NvZGU+LCB3aGVyZSA8Y29kZT5xdWVyaWVzW2ldID0gW2xlZnQ8c3ViPmk8L3N1Yj4sIHJpZ2h0PHN1Yj5pPC9zdWI+XTwvY29kZT4uIEVhY2ggPGNvZGU+cXVlcmllc1tpXTwvY29kZT4gcmVwcmVzZW50cyBhIHF1ZXJ5IHdoZXJlIHlvdSBoYXZlIHRvIGZpbmQgdGhlIHByb2R1Y3Qgb2YgYWxsIDxjb2RlPnBvd2Vyc1tqXTwvY29kZT4gd2l0aCA8Y29kZT5sZWZ0PHN1Yj5pPC9zdWI+ICZsdDs9IGogJmx0Oz0gcmlnaHQ8c3ViPmk8L3N1Yj48L2NvZGU+LjwvcD4KPHA+UmV0dXJuPGVtPiBhbiBhcnJheSA8L2VtPjxjb2RlPmFuc3dlcnM8L2NvZGU+PGVtPiwgZXF1YWwgaW4gbGVuZ3RoIHRvIDwvZW0+PGNvZGU+cXVlcmllczwvY29kZT48ZW0+LCB3aGVyZSA8L2VtPjxjb2RlPmFuc3dlcnNbaV08L2NvZGU+PGVtPiBpcyB0aGUgYW5zd2VyIHRvIHRoZSA8L2VtPjxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPjxlbT4gcXVlcnk8L2VtPi4gU2luY2UgdGhlIGFuc3dlciB0byB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHF1ZXJ5IG1heSBiZSB0b28gbGFyZ2UsIGVhY2ggPGNvZGU+YW5zd2Vyc1tpXTwvY29kZT4gc2hvdWxkIGJlIHJldHVybmVkIDxzdHJvbmc+bW9kdWxvPC9zdHJvbmc+IDxjb2RlPjEwPHN1cD45PC9zdXA+ICsgNzwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gMTUsIHF1ZXJpZXMgPSBbWzAsMV0sWzIsMl0sWzAsM11dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMiw0LDY0XQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpGb3IgbiA9IDE1LCBwb3dlcnMgPSBbMSwyLDQsOF0uIEl0IGNhbiBiZSBzaG93biB0aGF0IHBvd2VycyBjYW5ub3QgYmUgYSBzbWFsbGVyIHNpemUuCkFuc3dlciB0byAxc3QgcXVlcnk6IHBvd2Vyc1swXSAqIHBvd2Vyc1sxXSA9IDEgKiAyID0gMi4KQW5zd2VyIHRvIDJuZCBxdWVyeTogcG93ZXJzWzJdID0gNC4KQW5zd2VyIHRvIDNyZCBxdWVyeTogcG93ZXJzWzBdICogcG93ZXJzWzFdICogcG93ZXJzWzJdICogcG93ZXJzWzNdID0gMSAqIDIgKiA0ICogOCA9IDY0LgpFYWNoIGFuc3dlciBtb2R1bG8gMTA8c3VwPjk8L3N1cD4gKyA3IHlpZWxkcyB0aGUgc2FtZSBhbnN3ZXIsIHNvIFsyLDQsNjRdIGlzIHJldHVybmVkLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gMiwgcXVlcmllcyA9IFtbMCwwXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsyXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpGb3IgbiA9IDIsIHBvd2VycyA9IFsyXS4KVGhlIGFuc3dlciB0byB0aGUgb25seSBxdWVyeSBpcyBwb3dlcnNbMF0gPSAyLiBUaGUgYW5zd2VyIG1vZHVsbyAxMDxzdXA+OTwvc3VwPiArIDcgaXMgdGhlIHNhbWUsIHNvIFsyXSBpcyByZXR1cm5lZC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHF1ZXJpZXMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IHN0YXJ0PHN1Yj5pPC9zdWI+ICZsdDs9IGVuZDxzdWI+aTwvc3ViPiAmbHQ7IHBvd2Vycy5sZW5ndGg8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Bit Manipulation",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2442. Count Number of Distinct Integers After Reverse Operations",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gYXJyYXkgPGNvZGU+bnVtczwvY29kZT4gY29uc2lzdGluZyBvZiA8c3Ryb25nPnBvc2l0aXZlPC9zdHJvbmc+IGludGVnZXJzLjwvcD4KPHA+WW91IGhhdmUgdG8gdGFrZSBlYWNoIGludGVnZXIgaW4gdGhlIGFycmF5LCA8c3Ryb25nPnJldmVyc2UgaXRzIGRpZ2l0czwvc3Ryb25nPiwgYW5kIGFkZCBpdCB0byB0aGUgZW5kIG9mIHRoZSBhcnJheS4gWW91IHNob3VsZCBhcHBseSB0aGlzIG9wZXJhdGlvbiB0byB0aGUgb3JpZ2luYWwgaW50ZWdlcnMgaW4gPGNvZGU+bnVtczwvY29kZT4uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSBudW1iZXIgb2YgPHN0cm9uZz5kaXN0aW5jdDwvc3Ryb25nPiBpbnRlZ2VycyBpbiB0aGUgZmluYWwgYXJyYXk8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSwxMywxMCwxMiwzMV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDYKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gQWZ0ZXIgaW5jbHVkaW5nIHRoZSByZXZlcnNlIG9mIGVhY2ggbnVtYmVyLCB0aGUgcmVzdWx0aW5nIGFycmF5IGlzIFsxLDEzLDEwLDEyLDMxLDx1PjEsMzEsMSwyMSwxMzwvdT5dLgpUaGUgcmV2ZXJzZWQgaW50ZWdlcnMgdGhhdCB3ZXJlIGFkZGVkIHRvIHRoZSBlbmQgb2YgdGhlIGFycmF5IGFyZSB1bmRlcmxpbmVkLiBOb3RlIHRoYXQgZm9yIHRoZSBpbnRlZ2VyIDEwLCBhZnRlciByZXZlcnNpbmcgaXQsIGl0IGJlY29tZXMgMDEgd2hpY2ggaXMganVzdCAxLgpUaGUgbnVtYmVyIG9mIGRpc3RpbmN0IGludGVnZXJzIGluIHRoaXMgYXJyYXkgaXMgNiAoVGhlIG51bWJlcnMgMSwgMTAsIDEyLCAxMywgMjEsIGFuZCAzMSkuPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsyLDIsMl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gQWZ0ZXIgaW5jbHVkaW5nIHRoZSByZXZlcnNlIG9mIGVhY2ggbnVtYmVyLCB0aGUgcmVzdWx0aW5nIGFycmF5IGlzIFsyLDIsMiw8dT4yLDIsMjwvdT5dLgpUaGUgbnVtYmVyIG9mIGRpc3RpbmN0IGludGVnZXJzIGluIHRoaXMgYXJyYXkgaXMgMSAoVGhlIG51bWJlciAyKS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldICZsdDs9IDEwPHN1cD42PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Math"
+ ]
+ },
+ {
+ "title": "2434. Using a Robot to Print the Lexicographically Smallest String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4gYW5kIGEgcm9ib3QgdGhhdCBjdXJyZW50bHkgaG9sZHMgYW4gZW1wdHkgc3RyaW5nIDxjb2RlPnQ8L2NvZGU+LiBBcHBseSBvbmUgb2YgdGhlIGZvbGxvd2luZyBvcGVyYXRpb25zIHVudGlsIDxjb2RlPnM8L2NvZGU+IGFuZCA8Y29kZT50PC9jb2RlPiA8c3Ryb25nPmFyZSBib3RoIGVtcHR5PC9zdHJvbmc+OjwvcD4KPHVsPgo8bGk+UmVtb3ZlIHRoZSA8c3Ryb25nPmZpcnN0PC9zdHJvbmc+IGNoYXJhY3RlciBvZiBhIHN0cmluZyA8Y29kZT5zPC9jb2RlPiBhbmQgZ2l2ZSBpdCB0byB0aGUgcm9ib3QuIFRoZSByb2JvdCB3aWxsIGFwcGVuZCB0aGlzIGNoYXJhY3RlciB0byB0aGUgc3RyaW5nIDxjb2RlPnQ8L2NvZGU+LjwvbGk+CjxsaT5SZW1vdmUgdGhlIDxzdHJvbmc+bGFzdDwvc3Ryb25nPiBjaGFyYWN0ZXIgb2YgYSBzdHJpbmcgPGNvZGU+dDwvY29kZT4gYW5kIGdpdmUgaXQgdG8gdGhlIHJvYm90LiBUaGUgcm9ib3Qgd2lsbCB3cml0ZSB0aGlzIGNoYXJhY3RlciBvbiBwYXBlci48L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPnRoZSBsZXhpY29ncmFwaGljYWxseSBzbWFsbGVzdCBzdHJpbmcgdGhhdCBjYW4gYmUgd3JpdHRlbiBvbiB0aGUgcGFwZXIuPC9lbT48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAienphIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gImF6eiIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gTGV0IHAgZGVub3RlIHRoZSB3cml0dGVuIHN0cmluZy4KSW5pdGlhbGx5IHA9IiIsIHM9Inp6YSIsIHQ9IiIuClBlcmZvcm0gZmlyc3Qgb3BlcmF0aW9uIHRocmVlIHRpbWVzIHA9IiIsIHM9IiIsIHQ9Inp6YSIuClBlcmZvcm0gc2Vjb25kIG9wZXJhdGlvbiB0aHJlZSB0aW1lcyBwPSJhenoiLCBzPSIiLCB0PSIiLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImJhYyIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICJhYmMiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IExldCBwIGRlbm90ZSB0aGUgd3JpdHRlbiBzdHJpbmcuClBlcmZvcm0gZmlyc3Qgb3BlcmF0aW9uIHR3aWNlIHA9IiIsIHM9ImMiLCB0PSJiYSIuIApQZXJmb3JtIHNlY29uZCBvcGVyYXRpb24gdHdpY2UgcD0iYWIiLCBzPSJjIiwgdD0iIi4gClBlcmZvcm0gZmlyc3Qgb3BlcmF0aW9uIHA9ImFiIiwgcz0iIiwgdD0iYyIuIApQZXJmb3JtIHNlY29uZCBvcGVyYXRpb24gcD0iYWJjIiwgcz0iIiwgdD0iIi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJiZGRhIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gImFkZGIiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IExldCBwIGRlbm90ZSB0aGUgd3JpdHRlbiBzdHJpbmcuCkluaXRpYWxseSBwPSIiLCBzPSJiZGRhIiwgdD0iIi4KUGVyZm9ybSBmaXJzdCBvcGVyYXRpb24gZm91ciB0aW1lcyBwPSIiLCBzPSIiLCB0PSJiZGRhIi4KUGVyZm9ybSBzZWNvbmQgb3BlcmF0aW9uIGZvdXIgdGltZXMgcD0iYWRkYiIsIHM9IiIsIHQ9IiIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnM8L2NvZGU+IGNvbnNpc3RzIG9mIG9ubHkgRW5nbGlzaCBsb3dlcmNhc2UgbGV0dGVycy48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Hash Table",
+ "String",
+ "Stack",
+ "Greedy"
+ ]
+ },
+ {
+ "title": "2433. Find The Original Array of Prefix Xor",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gPHN0cm9uZz5pbnRlZ2VyPC9zdHJvbmc+IGFycmF5IDxjb2RlPnByZWY8L2NvZGU+IG9mIHNpemUgPGNvZGU+bjwvY29kZT4uIEZpbmQgYW5kIHJldHVybiA8ZW0+dGhlIGFycmF5IDwvZW0+PGNvZGU+YXJyPC9jb2RlPjxlbT4gb2Ygc2l6ZSA8L2VtPjxjb2RlPm48L2NvZGU+PGVtPiB0aGF0IHNhdGlzZmllczwvZW0+OjwvcD4KPHVsPgo8bGk+PGNvZGU+cHJlZltpXSA9IGFyclswXSBeIGFyclsxXSBeIC4uLiBeIGFycltpXTwvY29kZT4uPC9saT4KPC91bD4KPHA+Tm90ZSB0aGF0IDxjb2RlPl48L2NvZGU+IGRlbm90ZXMgdGhlIDxzdHJvbmc+Yml0d2lzZS14b3I8L3N0cm9uZz4gb3BlcmF0aW9uLjwvcD4KPHA+SXQgY2FuIGJlIHByb3ZlbiB0aGF0IHRoZSBhbnN3ZXIgaXMgPHN0cm9uZz51bmlxdWU8L3N0cm9uZz4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBwcmVmID0gWzUsMiwwLDMsMV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFs1LDcsMiwzLDJdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEZyb20gdGhlIGFycmF5IFs1LDcsMiwzLDJdIHdlIGhhdmUgdGhlIGZvbGxvd2luZzoKLSBwcmVmWzBdID0gNS4KLSBwcmVmWzFdID0gNSBeIDcgPSAyLgotIHByZWZbMl0gPSA1IF4gNyBeIDIgPSAwLgotIHByZWZbM10gPSA1IF4gNyBeIDIgXiAzID0gMy4KLSBwcmVmWzRdID0gNSBeIDcgXiAyIF4gMyBeIDIgPSAxLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBwcmVmID0gWzEzXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzEzXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSBoYXZlIHByZWZbMF0gPSBhcnJbMF0gPSAxMy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBwcmVmLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBwcmVmW2ldICZsdDs9IDEwPHN1cD42PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Bit Manipulation"
+ ]
+ },
+ {
+ "title": "2424. Longest Uploaded Prefix",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJlYW0gb2YgPGNvZGU+bjwvY29kZT4gdmlkZW9zLCBlYWNoIHJlcHJlc2VudGVkIGJ5IGEgPHN0cm9uZz5kaXN0aW5jdDwvc3Ryb25nPiBudW1iZXIgZnJvbSA8Y29kZT4xPC9jb2RlPiB0byA8Y29kZT5uPC9jb2RlPiB0aGF0IHlvdSBuZWVkIHRvICJ1cGxvYWQiIHRvIGEgc2VydmVyLiBZb3UgbmVlZCB0byBpbXBsZW1lbnQgYSBkYXRhIHN0cnVjdHVyZSB0aGF0IGNhbGN1bGF0ZXMgdGhlIGxlbmd0aCBvZiB0aGUgPHN0cm9uZz5sb25nZXN0IHVwbG9hZGVkIHByZWZpeDwvc3Ryb25nPiBhdCB2YXJpb3VzIHBvaW50cyBpbiB0aGUgdXBsb2FkIHByb2Nlc3MuPC9wPgo8cD5XZSBjb25zaWRlciA8Y29kZT5pPC9jb2RlPiB0byBiZSBhbiB1cGxvYWRlZCBwcmVmaXggaWYgYWxsIHZpZGVvcyBpbiB0aGUgcmFuZ2UgPGNvZGU+MTwvY29kZT4gdG8gPGNvZGU+aTwvY29kZT4gKDxzdHJvbmc+aW5jbHVzaXZlPC9zdHJvbmc+KSBoYXZlIGJlZW4gdXBsb2FkZWQgdG8gdGhlIHNlcnZlci4gVGhlIGxvbmdlc3QgdXBsb2FkZWQgcHJlZml4IGlzIHRoZSA8c3Ryb25nPm1heGltdW0gPC9zdHJvbmc+dmFsdWUgb2YgPGNvZGU+aTwvY29kZT4gdGhhdCBzYXRpc2ZpZXMgdGhpcyBkZWZpbml0aW9uLjxici8+Cjxici8+CkltcGxlbWVudCB0aGUgPGNvZGU+TFVQcmVmaXggPC9jb2RlPmNsYXNzOjwvcD4KPHVsPgo8bGk+PGNvZGU+TFVQcmVmaXgoaW50IG4pPC9jb2RlPiBJbml0aWFsaXplcyB0aGUgb2JqZWN0IGZvciBhIHN0cmVhbSBvZiA8Y29kZT5uPC9jb2RlPiB2aWRlb3MuPC9saT4KPGxpPjxjb2RlPnZvaWQgdXBsb2FkKGludCB2aWRlbyk8L2NvZGU+IFVwbG9hZHMgPGNvZGU+dmlkZW88L2NvZGU+IHRvIHRoZSBzZXJ2ZXIuPC9saT4KPGxpPjxjb2RlPmludCBsb25nZXN0KCk8L2NvZGU+IFJldHVybnMgdGhlIGxlbmd0aCBvZiB0aGUgPHN0cm9uZz5sb25nZXN0IHVwbG9hZGVkIHByZWZpeDwvc3Ryb25nPiBkZWZpbmVkIGFib3ZlLjwvbGk+CjwvdWw+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ8L3N0cm9uZz4KWyJMVVByZWZpeCIsICJ1cGxvYWQiLCAibG9uZ2VzdCIsICJ1cGxvYWQiLCAibG9uZ2VzdCIsICJ1cGxvYWQiLCAibG9uZ2VzdCJdCltbNF0sIFszXSwgW10sIFsxXSwgW10sIFsyXSwgW11dCjxzdHJvbmc+T3V0cHV0PC9zdHJvbmc+CltudWxsLCBudWxsLCAwLCBudWxsLCAxLCBudWxsLCAzXQoKPHN0cm9uZz5FeHBsYW5hdGlvbjwvc3Ryb25nPgpMVVByZWZpeCBzZXJ2ZXIgPSBuZXcgTFVQcmVmaXgoNCk7ICAgLy8gSW5pdGlhbGl6ZSBhIHN0cmVhbSBvZiA0IHZpZGVvcy4Kc2VydmVyLnVwbG9hZCgzKTsgICAgICAgICAgICAgICAgICAgIC8vIFVwbG9hZCB2aWRlbyAzLgpzZXJ2ZXIubG9uZ2VzdCgpOyAgICAgICAgICAgICAgICAgICAgLy8gU2luY2UgdmlkZW8gMSBoYXMgbm90IGJlZW4gdXBsb2FkZWQgeWV0LCB0aGVyZSBpcyBubyBwcmVmaXguCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTbywgd2UgcmV0dXJuIDAuCnNlcnZlci51cGxvYWQoMSk7ICAgICAgICAgICAgICAgICAgICAvLyBVcGxvYWQgdmlkZW8gMS4Kc2VydmVyLmxvbmdlc3QoKTsgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwcmVmaXggWzFdIGlzIHRoZSBsb25nZXN0IHVwbG9hZGVkIHByZWZpeCwgc28gd2UgcmV0dXJuIDEuCnNlcnZlci51cGxvYWQoMik7ICAgICAgICAgICAgICAgICAgICAvLyBVcGxvYWQgdmlkZW8gMi4Kc2VydmVyLmxvbmdlc3QoKTsgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwcmVmaXggWzEsMiwzXSBpcyB0aGUgbG9uZ2VzdCB1cGxvYWRlZCBwcmVmaXgsIHNvIHdlIHJldHVybiAzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gdmlkZW8gJmx0Oz0gbjwvY29kZT48L2xpPgo8bGk+QWxsIHZhbHVlcyBvZiA8Y29kZT52aWRlbzwvY29kZT4gYXJlIDxzdHJvbmc+ZGlzdGluY3Q8L3N0cm9uZz4uPC9saT4KPGxpPkF0IG1vc3QgPGNvZGU+MiAqIDEwPHN1cD41PC9zdXA+PC9jb2RlPiBjYWxscyA8c3Ryb25nPmluIHRvdGFsPC9zdHJvbmc+IHdpbGwgYmUgbWFkZSB0byA8Y29kZT51cGxvYWQ8L2NvZGU+IGFuZCA8Y29kZT5sb25nZXN0PC9jb2RlPi48L2xpPgo8bGk+QXQgbGVhc3Qgb25lIGNhbGwgd2lsbCBiZSBtYWRlIHRvIDxjb2RlPmxvbmdlc3Q8L2NvZGU+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Binary Search",
+ "Union Find",
+ "Design",
+ "Binary Indexed Tree",
+ "Segment Tree",
+ "Heap (Priority Queue)",
+ "Ordered Set"
+ ]
+ },
+ {
+ "title": "2429. Minimize XOR",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIHR3byBwb3NpdGl2ZSBpbnRlZ2VycyA8Y29kZT5udW0xPC9jb2RlPiBhbmQgPGNvZGU+bnVtMjwvY29kZT4sIGZpbmQgdGhlIHBvc2l0aXZlIGludGVnZXIgPGNvZGU+eDwvY29kZT4gc3VjaCB0aGF0OjwvcD4KPHVsPgo8bGk+PGNvZGU+eDwvY29kZT4gaGFzIHRoZSBzYW1lIG51bWJlciBvZiBzZXQgYml0cyBhcyA8Y29kZT5udW0yPC9jb2RlPiwgYW5kPC9saT4KPGxpPlRoZSB2YWx1ZSA8Y29kZT54IFhPUiBudW0xPC9jb2RlPiBpcyA8c3Ryb25nPm1pbmltYWw8L3N0cm9uZz4uPC9saT4KPC91bD4KPHA+Tm90ZSB0aGF0IDxjb2RlPlhPUjwvY29kZT4gaXMgdGhlIGJpdHdpc2UgWE9SIG9wZXJhdGlvbi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIGludGVnZXIgPC9lbT48Y29kZT54PC9jb2RlPi4gVGhlIHRlc3QgY2FzZXMgYXJlIGdlbmVyYXRlZCBzdWNoIHRoYXQgPGNvZGU+eDwvY29kZT4gaXMgPHN0cm9uZz51bmlxdWVseSBkZXRlcm1pbmVkPC9zdHJvbmc+LjwvcD4KPHA+VGhlIG51bWJlciBvZiA8c3Ryb25nPnNldCBiaXRzPC9zdHJvbmc+IG9mIGFuIGludGVnZXIgaXMgdGhlIG51bWJlciBvZiA8Y29kZT4xPC9jb2RlPidzIGluIGl0cyBiaW5hcnkgcmVwcmVzZW50YXRpb24uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW0xID0gMywgbnVtMiA9IDUKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIGJpbmFyeSByZXByZXNlbnRhdGlvbnMgb2YgbnVtMSBhbmQgbnVtMiBhcmUgMDAxMSBhbmQgMDEwMSwgcmVzcGVjdGl2ZWx5LgpUaGUgaW50ZWdlciA8c3Ryb25nPjM8L3N0cm9uZz4gaGFzIHRoZSBzYW1lIG51bWJlciBvZiBzZXQgYml0cyBhcyBudW0yLCBhbmQgdGhlIHZhbHVlIDxjb2RlPjMgWE9SIDMgPSAwPC9jb2RlPiBpcyBtaW5pbWFsLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW0xID0gMSwgbnVtMiA9IDEyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBiaW5hcnkgcmVwcmVzZW50YXRpb25zIG9mIG51bTEgYW5kIG51bTIgYXJlIDAwMDEgYW5kIDExMDAsIHJlc3BlY3RpdmVseS4KVGhlIGludGVnZXIgPHN0cm9uZz4zPC9zdHJvbmc+IGhhcyB0aGUgc2FtZSBudW1iZXIgb2Ygc2V0IGJpdHMgYXMgbnVtMiwgYW5kIHRoZSB2YWx1ZSA8Y29kZT4zIFhPUiAxID0gMjwvY29kZT4gaXMgbWluaW1hbC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW0xLCBudW0yICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Greedy",
+ "Bit Manipulation"
+ ]
+ },
+ {
+ "title": "2428. Maximum Sum of an Hourglass",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gPGNvZGU+bSB4IG48L2NvZGU+IGludGVnZXIgbWF0cml4IDxjb2RlPmdyaWQ8L2NvZGU+LjwvcD4KPHA+V2UgZGVmaW5lIGFuIDxzdHJvbmc+aG91cmdsYXNzPC9zdHJvbmc+IGFzIGEgcGFydCBvZiB0aGUgbWF0cml4IHdpdGggdGhlIGZvbGxvd2luZyBmb3JtOjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA4LzIxL2ltZy5qcGciIHN0eWxlPSJ3aWR0aDogMjQzcHg7IGhlaWdodDogMjQzcHg7Ii8+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBzdW0gb2YgdGhlIGVsZW1lbnRzIG9mIGFuIGhvdXJnbGFzczwvZW0+LjwvcD4KPHA+PHN0cm9uZz5Ob3RlPC9zdHJvbmc+IHRoYXQgYW4gaG91cmdsYXNzIGNhbm5vdCBiZSByb3RhdGVkIGFuZCBtdXN0IGJlIGVudGlyZWx5IGNvbnRhaW5lZCB3aXRoaW4gdGhlIG1hdHJpeC48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDgvMjEvMS5qcGciIHN0eWxlPSJ3aWR0aDogMzIzcHg7IGhlaWdodDogMzIzcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbNiwyLDEsM10sWzQsMiwxLDVdLFs5LDIsOCw3XSxbNCwxLDIsOV1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgY2VsbHMgc2hvd24gYWJvdmUgcmVwcmVzZW50IHRoZSBob3VyZ2xhc3Mgd2l0aCB0aGUgbWF4aW11bSBzdW06IDYgKyAyICsgMSArIDIgKyA5ICsgMiArIDggPSAzMC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wOC8yMS8yLmpwZyIgc3R5bGU9IndpZHRoOiAyNDNweDsgaGVpZ2h0OiAyNDNweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBncmlkID0gW1sxLDIsM10sWzQsNSw2XSxbNyw4LDldXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMzUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgaXMgb25seSBvbmUgaG91cmdsYXNzIGluIHRoZSBtYXRyaXgsIHdpdGggdGhlIHN1bTogMSArIDIgKyAzICsgNSArIDcgKyA4ICsgOSA9IDM1Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5tID09IGdyaWQubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5uID09IGdyaWRbaV0ubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4zICZsdDs9IG0sIG4gJmx0Oz0gMTUwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IGdyaWRbaV1bal0gJmx0Oz0gMTA8c3VwPjY8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Matrix",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2420. Find All Good Indices",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IG9mIHNpemUgPGNvZGU+bjwvY29kZT4gYW5kIGEgcG9zaXRpdmUgaW50ZWdlciA8Y29kZT5rPC9jb2RlPi48L3A+CjxwPldlIGNhbGwgYW4gaW5kZXggPGNvZGU+aTwvY29kZT4gaW4gdGhlIHJhbmdlIDxjb2RlPmsgJmx0Oz0gaSAmbHQ7IG4gLSBrPC9jb2RlPiA8c3Ryb25nPmdvb2Q8L3N0cm9uZz4gaWYgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBzYXRpc2ZpZWQ6PC9wPgo8dWw+CjxsaT5UaGUgPGNvZGU+azwvY29kZT4gZWxlbWVudHMgdGhhdCBhcmUganVzdCA8c3Ryb25nPmJlZm9yZTwvc3Ryb25nPiB0aGUgaW5kZXggPGNvZGU+aTwvY29kZT4gYXJlIGluIDxzdHJvbmc+bm9uLWluY3JlYXNpbmc8L3N0cm9uZz4gb3JkZXIuPC9saT4KPGxpPlRoZSA8Y29kZT5rPC9jb2RlPiBlbGVtZW50cyB0aGF0IGFyZSBqdXN0IDxzdHJvbmc+YWZ0ZXI8L3N0cm9uZz4gdGhlIGluZGV4IDxjb2RlPmk8L2NvZGU+IGFyZSBpbiA8c3Ryb25nPm5vbi1kZWNyZWFzaW5nPC9zdHJvbmc+IG9yZGVyLjwvbGk+CjwvdWw+CjxwPlJldHVybiA8ZW0+YW4gYXJyYXkgb2YgYWxsIGdvb2QgaW5kaWNlcyBzb3J0ZWQgaW4gPHN0cm9uZz5pbmNyZWFzaW5nPC9zdHJvbmc+IG9yZGVyPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzIsMSwxLDEsMyw0LDFdLCBrID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzIsM10KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgYXJlIHR3byBnb29kIGluZGljZXMgaW4gdGhlIGFycmF5OgotIEluZGV4IDIuIFRoZSBzdWJhcnJheSBbMiwxXSBpcyBpbiBub24taW5jcmVhc2luZyBvcmRlciwgYW5kIHRoZSBzdWJhcnJheSBbMSwzXSBpcyBpbiBub24tZGVjcmVhc2luZyBvcmRlci4KLSBJbmRleCAzLiBUaGUgc3ViYXJyYXkgWzEsMV0gaXMgaW4gbm9uLWluY3JlYXNpbmcgb3JkZXIsIGFuZCB0aGUgc3ViYXJyYXkgWzMsNF0gaXMgaW4gbm9uLWRlY3JlYXNpbmcgb3JkZXIuCk5vdGUgdGhhdCB0aGUgaW5kZXggNCBpcyBub3QgZ29vZCBiZWNhdXNlIFs0LDFdIGlzIG5vdCBub24tZGVjcmVhc2luZy48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzIsMSwxLDJdLCBrID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gW10KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgYXJlIG5vIGdvb2QgaW5kaWNlcyBpbiB0aGlzIGFycmF5Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IG51bXMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4zICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+Njwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBrICZsdDs9IG4gLyAyPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Dynamic Programming",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2419. Longest Subarray With Maximum Bitwise AND",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBvZiBzaXplIDxjb2RlPm48L2NvZGU+LjwvcD4KPHA+Q29uc2lkZXIgYSA8c3Ryb25nPm5vbi1lbXB0eTwvc3Ryb25nPiBzdWJhcnJheSBmcm9tIDxjb2RlPm51bXM8L2NvZGU+IHRoYXQgaGFzIHRoZSA8c3Ryb25nPm1heGltdW08L3N0cm9uZz4gcG9zc2libGUgPHN0cm9uZz5iaXR3aXNlIEFORDwvc3Ryb25nPi48L3A+Cjx1bD4KPGxpPkluIG90aGVyIHdvcmRzLCBsZXQgPGNvZGU+azwvY29kZT4gYmUgdGhlIG1heGltdW0gdmFsdWUgb2YgdGhlIGJpdHdpc2UgQU5EIG9mIDxzdHJvbmc+YW55PC9zdHJvbmc+IHN1YmFycmF5IG9mIDxjb2RlPm51bXM8L2NvZGU+LiBUaGVuLCBvbmx5IHN1YmFycmF5cyB3aXRoIGEgYml0d2lzZSBBTkQgZXF1YWwgdG8gPGNvZGU+azwvY29kZT4gc2hvdWxkIGJlIGNvbnNpZGVyZWQuPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgbGVuZ3RoIG9mIHRoZSA8c3Ryb25nPmxvbmdlc3Q8L3N0cm9uZz4gc3VjaCBzdWJhcnJheTwvZW0+LjwvcD4KPHA+VGhlIGJpdHdpc2UgQU5EIG9mIGFuIGFycmF5IGlzIHRoZSBiaXR3aXNlIEFORCBvZiBhbGwgdGhlIG51bWJlcnMgaW4gaXQuPC9wPgo8cD5BIDxzdHJvbmc+c3ViYXJyYXk8L3N0cm9uZz4gaXMgYSBjb250aWd1b3VzIHNlcXVlbmNlIG9mIGVsZW1lbnRzIHdpdGhpbiBhbiBhcnJheS48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSwyLDMsMywyLDJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBtYXhpbXVtIHBvc3NpYmxlIGJpdHdpc2UgQU5EIG9mIGEgc3ViYXJyYXkgaXMgMy4KVGhlIGxvbmdlc3Qgc3ViYXJyYXkgd2l0aCB0aGF0IHZhbHVlIGlzIFszLDNdLCBzbyB3ZSByZXR1cm4gMi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDIsMyw0XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgbWF4aW11bSBwb3NzaWJsZSBiaXR3aXNlIEFORCBvZiBhIHN1YmFycmF5IGlzIDQuClRoZSBsb25nZXN0IHN1YmFycmF5IHdpdGggdGhhdCB2YWx1ZSBpcyBbNF0sIHNvIHdlIHJldHVybiAxLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0gJmx0Oz0gMTA8c3VwPjY8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Bit Manipulation",
+ "Brainteaser"
+ ]
+ },
+ {
+ "title": "2411. Smallest Subarrays With Maximum Bitwise OR",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4sIGNvbnNpc3Rpbmcgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzLiBGb3IgZWFjaCBpbmRleCA8Y29kZT5pPC9jb2RlPiBmcm9tIDxjb2RlPjA8L2NvZGU+IHRvIDxjb2RlPm4gLSAxPC9jb2RlPiwgeW91IG11c3QgZGV0ZXJtaW5lIHRoZSBzaXplIG9mIHRoZSA8c3Ryb25nPm1pbmltdW0gc2l6ZWQ8L3N0cm9uZz4gbm9uLWVtcHR5IHN1YmFycmF5IG9mIDxjb2RlPm51bXM8L2NvZGU+IHN0YXJ0aW5nIGF0IDxjb2RlPmk8L2NvZGU+ICg8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPikgdGhhdCBoYXMgdGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBwb3NzaWJsZSA8c3Ryb25nPmJpdHdpc2UgT1I8L3N0cm9uZz4uPC9wPgo8dWw+CjxsaT5JbiBvdGhlciB3b3JkcywgbGV0IDxjb2RlPkI8c3ViPmlqPC9zdWI+PC9jb2RlPiBiZSB0aGUgYml0d2lzZSBPUiBvZiB0aGUgc3ViYXJyYXkgPGNvZGU+bnVtc1tpLi4ual08L2NvZGU+LiBZb3UgbmVlZCB0byBmaW5kIHRoZSBzbWFsbGVzdCBzdWJhcnJheSBzdGFydGluZyBhdCA8Y29kZT5pPC9jb2RlPiwgc3VjaCB0aGF0IGJpdHdpc2UgT1Igb2YgdGhpcyBzdWJhcnJheSBpcyBlcXVhbCB0byA8Y29kZT5tYXgoQjxzdWI+aWs8L3N1Yj4pPC9jb2RlPiB3aGVyZSA8Y29kZT5pICZsdDs9IGsgJmx0Oz0gbiAtIDE8L2NvZGU+LjwvbGk+CjwvdWw+CjxwPlRoZSBiaXR3aXNlIE9SIG9mIGFuIGFycmF5IGlzIHRoZSBiaXR3aXNlIE9SIG9mIGFsbCB0aGUgbnVtYmVycyBpbiBpdC48L3A+CjxwPlJldHVybiA8ZW0+YW4gaW50ZWdlciBhcnJheSA8L2VtPjxjb2RlPmFuc3dlcjwvY29kZT48ZW0+IG9mIHNpemUgPC9lbT48Y29kZT5uPC9jb2RlPjxlbT4gd2hlcmUgPC9lbT48Y29kZT5hbnN3ZXJbaV08L2NvZGU+PGVtPiBpcyB0aGUgbGVuZ3RoIG9mIHRoZSA8c3Ryb25nPm1pbmltdW08L3N0cm9uZz4gc2l6ZWQgc3ViYXJyYXkgc3RhcnRpbmcgYXQgPC9lbT48Y29kZT5pPC9jb2RlPjxlbT4gd2l0aCA8c3Ryb25nPm1heGltdW08L3N0cm9uZz4gYml0d2lzZSBPUi48L2VtPjwvcD4KPHA+QSA8c3Ryb25nPnN1YmFycmF5PC9zdHJvbmc+IGlzIGEgY29udGlndW91cyBub24tZW1wdHkgc2VxdWVuY2Ugb2YgZWxlbWVudHMgd2l0aGluIGFuIGFycmF5LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDAsMiwxLDNdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMywzLDIsMiwxXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgbWF4aW11bSBwb3NzaWJsZSBiaXR3aXNlIE9SIHN0YXJ0aW5nIGF0IGFueSBpbmRleCBpcyAzLiAKLSBTdGFydGluZyBhdCBpbmRleCAwLCB0aGUgc2hvcnRlc3Qgc3ViYXJyYXkgdGhhdCB5aWVsZHMgaXQgaXMgWzEsMCwyXS4KLSBTdGFydGluZyBhdCBpbmRleCAxLCB0aGUgc2hvcnRlc3Qgc3ViYXJyYXkgdGhhdCB5aWVsZHMgdGhlIG1heGltdW0gYml0d2lzZSBPUiBpcyBbMCwyLDFdLgotIFN0YXJ0aW5nIGF0IGluZGV4IDIsIHRoZSBzaG9ydGVzdCBzdWJhcnJheSB0aGF0IHlpZWxkcyB0aGUgbWF4aW11bSBiaXR3aXNlIE9SIGlzIFsyLDFdLgotIFN0YXJ0aW5nIGF0IGluZGV4IDMsIHRoZSBzaG9ydGVzdCBzdWJhcnJheSB0aGF0IHlpZWxkcyB0aGUgbWF4aW11bSBiaXR3aXNlIE9SIGlzIFsxLDNdLgotIFN0YXJ0aW5nIGF0IGluZGV4IDQsIHRoZSBzaG9ydGVzdCBzdWJhcnJheSB0aGF0IHlpZWxkcyB0aGUgbWF4aW11bSBiaXR3aXNlIE9SIGlzIFszXS4KVGhlcmVmb3JlLCB3ZSByZXR1cm4gWzMsMywyLDIsMV0uIAo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsyLDFdCjxzdHJvbmc+RXhwbGFuYXRpb246Cjwvc3Ryb25nPlN0YXJ0aW5nIGF0IGluZGV4IDAsIHRoZSBzaG9ydGVzdCBzdWJhcnJheSB0aGF0IHlpZWxkcyB0aGUgbWF4aW11bSBiaXR3aXNlIE9SIGlzIG9mIGxlbmd0aCAyLgpTdGFydGluZyBhdCBpbmRleCAxLCB0aGUgc2hvcnRlc3Qgc3ViYXJyYXkgdGhhdCB5aWVsZHMgdGhlIG1heGltdW0gYml0d2lzZSBPUiBpcyBvZiBsZW5ndGggMS4KVGhlcmVmb3JlLCB3ZSByZXR1cm4gWzIsMV0uCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gbnVtcy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBudW1zW2ldICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Bit Manipulation",
+ "Sliding Window"
+ ]
+ },
+ {
+ "title": "2410. Maximum Matching of Players With Trainers",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPnBsYXllcnM8L2NvZGU+LCB3aGVyZSA8Y29kZT5wbGF5ZXJzW2ldPC9jb2RlPiByZXByZXNlbnRzIHRoZSA8c3Ryb25nPmFiaWxpdHk8L3N0cm9uZz4gb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBwbGF5ZXIuIFlvdSBhcmUgYWxzbyBnaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXkgPGNvZGU+dHJhaW5lcnM8L2NvZGU+LCB3aGVyZSA8Y29kZT50cmFpbmVyc1tqXTwvY29kZT4gcmVwcmVzZW50cyB0aGUgPHN0cm9uZz50cmFpbmluZyBjYXBhY2l0eSA8L3N0cm9uZz5vZiB0aGUgPGNvZGU+ajxzdXA+dGg8L3N1cD48L2NvZGU+IHRyYWluZXIuPC9wPgo8cD5UaGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHBsYXllciBjYW4gPHN0cm9uZz5tYXRjaDwvc3Ryb25nPiB3aXRoIHRoZSA8Y29kZT5qPHN1cD50aDwvc3VwPjwvY29kZT4gdHJhaW5lciBpZiB0aGUgcGxheWVyJ3MgYWJpbGl0eSBpcyA8c3Ryb25nPmxlc3MgdGhhbiBvciBlcXVhbCB0bzwvc3Ryb25nPiB0aGUgdHJhaW5lcidzIHRyYWluaW5nIGNhcGFjaXR5LiBBZGRpdGlvbmFsbHksIHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gcGxheWVyIGNhbiBiZSBtYXRjaGVkIHdpdGggYXQgbW9zdCBvbmUgdHJhaW5lciwgYW5kIHRoZSA8Y29kZT5qPHN1cD50aDwvc3VwPjwvY29kZT4gdHJhaW5lciBjYW4gYmUgbWF0Y2hlZCB3aXRoIGF0IG1vc3Qgb25lIHBsYXllci48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBudW1iZXIgb2YgbWF0Y2hpbmdzIGJldHdlZW4gPC9lbT48Y29kZT5wbGF5ZXJzPC9jb2RlPjxlbT4gYW5kIDwvZW0+PGNvZGU+dHJhaW5lcnM8L2NvZGU+PGVtPiB0aGF0IHNhdGlzZnkgdGhlc2UgY29uZGl0aW9ucy48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcGxheWVycyA9IFs0LDcsOV0sIHRyYWluZXJzID0gWzgsMiw1LDhdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ck9uZSBvZiB0aGUgd2F5cyB3ZSBjYW4gZm9ybSB0d28gbWF0Y2hpbmdzIGlzIGFzIGZvbGxvd3M6Ci0gcGxheWVyc1swXSBjYW4gYmUgbWF0Y2hlZCB3aXRoIHRyYWluZXJzWzBdIHNpbmNlIDQgJmx0Oz0gOC4KLSBwbGF5ZXJzWzFdIGNhbiBiZSBtYXRjaGVkIHdpdGggdHJhaW5lcnNbM10gc2luY2UgNyAmbHQ7PSA4LgpJdCBjYW4gYmUgcHJvdmVuIHRoYXQgMiBpcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgbWF0Y2hpbmdzIHRoYXQgY2FuIGJlIGZvcm1lZC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcGxheWVycyA9IFsxLDEsMV0sIHRyYWluZXJzID0gWzEwXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgdHJhaW5lciBjYW4gYmUgbWF0Y2hlZCB3aXRoIGFueSBvZiB0aGUgMyBwbGF5ZXJzLgpFYWNoIHBsYXllciBjYW4gb25seSBiZSBtYXRjaGVkIHdpdGggb25lIHRyYWluZXIsIHNvIHRoZSBtYXhpbXVtIGFuc3dlciBpcyAxLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHBsYXllcnMubGVuZ3RoLCB0cmFpbmVycy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gcGxheWVyc1tpXSwgdHJhaW5lcnNbal0gJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Two Pointers",
+ "Greedy",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2415. Reverse Odd Levels of Binary Tree",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIHRoZSA8Y29kZT5yb290PC9jb2RlPiBvZiBhIDxzdHJvbmc+cGVyZmVjdDwvc3Ryb25nPiBiaW5hcnkgdHJlZSwgcmV2ZXJzZSB0aGUgbm9kZSB2YWx1ZXMgYXQgZWFjaCA8c3Ryb25nPm9kZDwvc3Ryb25nPiBsZXZlbCBvZiB0aGUgdHJlZS48L3A+Cjx1bD4KPGxpPkZvciBleGFtcGxlLCBzdXBwb3NlIHRoZSBub2RlIHZhbHVlcyBhdCBsZXZlbCAzIGFyZSA8Y29kZT5bMiwxLDMsNCw3LDExLDI5LDE4XTwvY29kZT4sIHRoZW4gaXQgc2hvdWxkIGJlY29tZSA8Y29kZT5bMTgsMjksMTEsNyw0LDMsMSwyXTwvY29kZT4uPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgcm9vdCBvZiB0aGUgcmV2ZXJzZWQgdHJlZTwvZW0+LjwvcD4KPHA+QSBiaW5hcnkgdHJlZSBpcyA8c3Ryb25nPnBlcmZlY3Q8L3N0cm9uZz4gaWYgYWxsIHBhcmVudCBub2RlcyBoYXZlIHR3byBjaGlsZHJlbiBhbmQgYWxsIGxlYXZlcyBhcmUgb24gdGhlIHNhbWUgbGV2ZWwuPC9wPgo8cD5UaGUgPHN0cm9uZz5sZXZlbDwvc3Ryb25nPiBvZiBhIG5vZGUgaXMgdGhlIG51bWJlciBvZiBlZGdlcyBhbG9uZyB0aGUgcGF0aCBiZXR3ZWVuIGl0IGFuZCB0aGUgcm9vdCBub2RlLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wNy8yOC9maXJzdF9jYXNlMS5wbmciIHN0eWxlPSJ3aWR0aDogNjI2cHg7IGhlaWdodDogMTkxcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcm9vdCA9IFsyLDMsNSw4LDEzLDIxLDM0XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzIsNSwzLDgsMTMsMjEsMzRdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApUaGUgdHJlZSBoYXMgb25seSBvbmUgb2RkIGxldmVsLgpUaGUgbm9kZXMgYXQgbGV2ZWwgMSBhcmUgMywgNSByZXNwZWN0aXZlbHksIHdoaWNoIGFyZSByZXZlcnNlZCBhbmQgYmVjb21lIDUsIDMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDcvMjgvc2Vjb25kX2Nhc2UzLnBuZyIgc3R5bGU9IndpZHRoOiA1OTFweDsgaGVpZ2h0OiAxMTFweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiByb290ID0gWzcsMTMsMTFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbNywxMSwxM10KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gClRoZSBub2RlcyBhdCBsZXZlbCAxIGFyZSAxMywgMTEsIHdoaWNoIGFyZSByZXZlcnNlZCBhbmQgYmVjb21lIDExLCAxMy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcm9vdCA9IFswLDEsMiwwLDAsMCwwLDEsMSwxLDEsMiwyLDIsMl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFswLDIsMSwwLDAsMCwwLDIsMiwyLDIsMSwxLDEsMV0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gClRoZSBvZGQgbGV2ZWxzIGhhdmUgbm9uLXplcm8gdmFsdWVzLgpUaGUgbm9kZXMgYXQgbGV2ZWwgMSB3ZXJlIDEsIDIsIGFuZCBhcmUgMiwgMSBhZnRlciB0aGUgcmV2ZXJzYWwuClRoZSBub2RlcyBhdCBsZXZlbCAzIHdlcmUgMSwgMSwgMSwgMSwgMiwgMiwgMiwgMiwgYW5kIGFyZSAyLCAyLCAyLCAyLCAxLCAxLCAxLCAxIGFmdGVyIHRoZSByZXZlcnNhbC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+VGhlIG51bWJlciBvZiBub2RlcyBpbiB0aGUgdHJlZSBpcyBpbiB0aGUgcmFuZ2UgPGNvZGU+WzEsIDI8c3VwPjE0PC9zdXA+XTwvY29kZT4uPC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gTm9kZS52YWwgJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnJvb3Q8L2NvZGU+IGlzIGEgPHN0cm9uZz5wZXJmZWN0PC9zdHJvbmc+IGJpbmFyeSB0cmVlLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Tree",
+ "Depth-First Search",
+ "Breadth-First Search",
+ "Binary Tree"
+ ]
+ },
+ {
+ "title": "2414. Length of the Longest Alphabetical Continuous Substring",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkFuIDxzdHJvbmc+YWxwaGFiZXRpY2FsIGNvbnRpbnVvdXMgc3RyaW5nPC9zdHJvbmc+IGlzIGEgc3RyaW5nIGNvbnNpc3Rpbmcgb2YgY29uc2VjdXRpdmUgbGV0dGVycyBpbiB0aGUgYWxwaGFiZXQuIEluIG90aGVyIHdvcmRzLCBpdCBpcyBhbnkgc3Vic3RyaW5nIG9mIHRoZSBzdHJpbmcgPGNvZGU+ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IjwvY29kZT4uPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgPGNvZGU+ImFiYyI8L2NvZGU+IGlzIGFuIGFscGhhYmV0aWNhbCBjb250aW51b3VzIHN0cmluZywgd2hpbGUgPGNvZGU+ImFjYiI8L2NvZGU+IGFuZCA8Y29kZT4iemEiPC9jb2RlPiBhcmUgbm90LjwvbGk+CjwvdWw+CjxwPkdpdmVuIGEgc3RyaW5nIDxjb2RlPnM8L2NvZGU+IGNvbnNpc3Rpbmcgb2YgbG93ZXJjYXNlIGxldHRlcnMgb25seSwgcmV0dXJuIHRoZSA8ZW0+bGVuZ3RoIG9mIHRoZSA8c3Ryb25nPmxvbmdlc3Q8L3N0cm9uZz4gYWxwaGFiZXRpY2FsIGNvbnRpbnVvdXMgc3Vic3RyaW5nLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImFiYWNhYmEiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSA0IGRpc3RpbmN0IGNvbnRpbnVvdXMgc3Vic3RyaW5nczogImEiLCAiYiIsICJjIiBhbmQgImFiIi4KImFiIiBpcyB0aGUgbG9uZ2VzdCBjb250aW51b3VzIHN1YnN0cmluZy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJhYmNkZSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gImFiY2RlIiBpcyB0aGUgbG9uZ2VzdCBjb250aW51b3VzIHN1YnN0cmluZy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBzLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+czwvY29kZT4gY29uc2lzdHMgb2Ygb25seSBFbmdsaXNoIGxvd2VyY2FzZSBsZXR0ZXJzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "String"
+ ]
+ },
+ {
+ "title": "2406. Divide Intervals Into Minimum Number of Groups",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPmludGVydmFsczwvY29kZT4gd2hlcmUgPGNvZGU+aW50ZXJ2YWxzW2ldID0gW2xlZnQ8c3ViPmk8L3N1Yj4sIHJpZ2h0PHN1Yj5pPC9zdWI+XTwvY29kZT4gcmVwcmVzZW50cyB0aGUgPHN0cm9uZz5pbmNsdXNpdmU8L3N0cm9uZz4gaW50ZXJ2YWwgPGNvZGU+W2xlZnQ8c3ViPmk8L3N1Yj4sIHJpZ2h0PHN1Yj5pPC9zdWI+XTwvY29kZT4uPC9wPgo8cD5Zb3UgaGF2ZSB0byBkaXZpZGUgdGhlIGludGVydmFscyBpbnRvIG9uZSBvciBtb3JlIDxzdHJvbmc+Z3JvdXBzPC9zdHJvbmc+IHN1Y2ggdGhhdCBlYWNoIGludGVydmFsIGlzIGluIDxzdHJvbmc+ZXhhY3RseTwvc3Ryb25nPiBvbmUgZ3JvdXAsIGFuZCBubyB0d28gaW50ZXJ2YWxzIHRoYXQgYXJlIGluIHRoZSBzYW1lIGdyb3VwIDxzdHJvbmc+aW50ZXJzZWN0PC9zdHJvbmc+IGVhY2ggb3RoZXIuPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1pbmltdW08L3N0cm9uZz4gbnVtYmVyIG9mIGdyb3VwcyB5b3UgbmVlZCB0byBtYWtlPC9lbT4uPC9wPgo8cD5Ud28gaW50ZXJ2YWxzIDxzdHJvbmc+aW50ZXJzZWN0PC9zdHJvbmc+IGlmIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBjb21tb24gbnVtYmVyIGJldHdlZW4gdGhlbS4gRm9yIGV4YW1wbGUsIHRoZSBpbnRlcnZhbHMgPGNvZGU+WzEsIDVdPC9jb2RlPiBhbmQgPGNvZGU+WzUsIDhdPC9jb2RlPiBpbnRlcnNlY3QuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBpbnRlcnZhbHMgPSBbWzUsMTBdLFs2LDhdLFsxLDVdLFsyLDNdLFsxLDEwXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gV2UgY2FuIGRpdmlkZSB0aGUgaW50ZXJ2YWxzIGludG8gdGhlIGZvbGxvd2luZyBncm91cHM6Ci0gR3JvdXAgMTogWzEsIDVdLCBbNiwgOF0uCi0gR3JvdXAgMjogWzIsIDNdLCBbNSwgMTBdLgotIEdyb3VwIDM6IFsxLCAxMF0uCkl0IGNhbiBiZSBwcm92ZW4gdGhhdCBpdCBpcyBub3QgcG9zc2libGUgdG8gZGl2aWRlIHRoZSBpbnRlcnZhbHMgaW50byBmZXdlciB0aGFuIDMgZ3JvdXBzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBpbnRlcnZhbHMgPSBbWzEsM10sWzUsNl0sWzgsMTBdLFsxMSwxM11dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IE5vbmUgb2YgdGhlIGludGVydmFscyBvdmVybGFwLCBzbyB3ZSBjYW4gcHV0IGFsbCBvZiB0aGVtIGluIG9uZSBncm91cC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBpbnRlcnZhbHMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5pbnRlcnZhbHNbaV0ubGVuZ3RoID09IDI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbGVmdDxzdWI+aTwvc3ViPiAmbHQ7PSByaWdodDxzdWI+aTwvc3ViPiAmbHQ7PSAxMDxzdXA+Njwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Two Pointers",
+ "Greedy",
+ "Sorting",
+ "Heap (Priority Queue)",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2405. Optimal Partition of String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgc3RyaW5nIDxjb2RlPnM8L2NvZGU+LCBwYXJ0aXRpb24gdGhlIHN0cmluZyBpbnRvIG9uZSBvciBtb3JlIDxzdHJvbmc+c3Vic3RyaW5nczwvc3Ryb25nPiBzdWNoIHRoYXQgdGhlIGNoYXJhY3RlcnMgaW4gZWFjaCBzdWJzdHJpbmcgYXJlIDxzdHJvbmc+dW5pcXVlPC9zdHJvbmc+LiBUaGF0IGlzLCBubyBsZXR0ZXIgYXBwZWFycyBpbiBhIHNpbmdsZSBzdWJzdHJpbmcgbW9yZSB0aGFuIDxzdHJvbmc+b25jZTwvc3Ryb25nPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiBudW1iZXIgb2Ygc3Vic3RyaW5ncyBpbiBzdWNoIGEgcGFydGl0aW9uLjwvZW0+PC9wPgo8cD5Ob3RlIHRoYXQgZWFjaCBjaGFyYWN0ZXIgc2hvdWxkIGJlbG9uZyB0byBleGFjdGx5IG9uZSBzdWJzdHJpbmcgaW4gYSBwYXJ0aXRpb24uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImFiYWNhYmEiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClR3byBwb3NzaWJsZSBwYXJ0aXRpb25zIGFyZSAoImEiLCJiYSIsImNhYiIsImEiKSBhbmQgKCJhYiIsImEiLCJjYSIsImJhIikuCkl0IGNhbiBiZSBzaG93biB0aGF0IDQgaXMgdGhlIG1pbmltdW0gbnVtYmVyIG9mIHN1YnN0cmluZ3MgbmVlZGVkLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gInNzc3NzcyIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDYKPHN0cm9uZz5FeHBsYW5hdGlvbjoKPC9zdHJvbmc+VGhlIG9ubHkgdmFsaWQgcGFydGl0aW9uIGlzICgicyIsInMiLCJzIiwicyIsInMiLCJzIikuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnM8L2NvZGU+IGNvbnNpc3RzIG9mIG9ubHkgRW5nbGlzaCBsb3dlcmNhc2UgbGV0dGVycy48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Hash Table",
+ "String",
+ "Greedy"
+ ]
+ },
+ {
+ "title": "2365. Task Scheduler II",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBhcnJheSBvZiBwb3NpdGl2ZSBpbnRlZ2VycyA8Y29kZT50YXNrczwvY29kZT4sIHJlcHJlc2VudGluZyB0YXNrcyB0aGF0IG5lZWQgdG8gYmUgY29tcGxldGVkIDxzdHJvbmc+aW4gb3JkZXI8L3N0cm9uZz4sIHdoZXJlIDxjb2RlPnRhc2tzW2ldPC9jb2RlPiByZXByZXNlbnRzIHRoZSA8c3Ryb25nPnR5cGU8L3N0cm9uZz4gb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiB0YXNrLjwvcD4KPHA+WW91IGFyZSBhbHNvIGdpdmVuIGEgcG9zaXRpdmUgaW50ZWdlciA8Y29kZT5zcGFjZTwvY29kZT4sIHdoaWNoIHJlcHJlc2VudHMgdGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiBudW1iZXIgb2YgZGF5cyB0aGF0IG11c3QgcGFzcyA8c3Ryb25nPmFmdGVyPC9zdHJvbmc+IHRoZSBjb21wbGV0aW9uIG9mIGEgdGFzayBiZWZvcmUgYW5vdGhlciB0YXNrIG9mIHRoZSA8c3Ryb25nPnNhbWU8L3N0cm9uZz4gdHlwZSBjYW4gYmUgcGVyZm9ybWVkLjwvcD4KPHA+RWFjaCBkYXksIHVudGlsIGFsbCB0YXNrcyBoYXZlIGJlZW4gY29tcGxldGVkLCB5b3UgbXVzdCBlaXRoZXI6PC9wPgo8dWw+CjxsaT5Db21wbGV0ZSB0aGUgbmV4dCB0YXNrIGZyb20gPGNvZGU+dGFza3M8L2NvZGU+LCBvcjwvbGk+CjxsaT5UYWtlIGEgYnJlYWsuPC9saT4KPC91bD4KPHA+UmV0dXJuPGVtPiB0aGUgPHN0cm9uZz5taW5pbXVtPC9zdHJvbmc+IG51bWJlciBvZiBkYXlzIG5lZWRlZCB0byBjb21wbGV0ZSBhbGwgdGFza3M8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHRhc2tzID0gWzEsMiwxLDIsMywxXSwgc3BhY2UgPSAzCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA5CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ck9uZSB3YXkgdG8gY29tcGxldGUgYWxsIHRhc2tzIGluIDkgZGF5cyBpcyBhcyBmb2xsb3dzOgpEYXkgMTogQ29tcGxldGUgdGhlIDB0aCB0YXNrLgpEYXkgMjogQ29tcGxldGUgdGhlIDFzdCB0YXNrLgpEYXkgMzogVGFrZSBhIGJyZWFrLgpEYXkgNDogVGFrZSBhIGJyZWFrLgpEYXkgNTogQ29tcGxldGUgdGhlIDJuZCB0YXNrLgpEYXkgNjogQ29tcGxldGUgdGhlIDNyZCB0YXNrLgpEYXkgNzogVGFrZSBhIGJyZWFrLgpEYXkgODogQ29tcGxldGUgdGhlIDR0aCB0YXNrLgpEYXkgOTogQ29tcGxldGUgdGhlIDV0aCB0YXNrLgpJdCBjYW4gYmUgc2hvd24gdGhhdCB0aGUgdGFza3MgY2Fubm90IGJlIGNvbXBsZXRlZCBpbiBsZXNzIHRoYW4gOSBkYXlzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB0YXNrcyA9IFs1LDgsOCw1XSwgc3BhY2UgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA2CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ck9uZSB3YXkgdG8gY29tcGxldGUgYWxsIHRhc2tzIGluIDYgZGF5cyBpcyBhcyBmb2xsb3dzOgpEYXkgMTogQ29tcGxldGUgdGhlIDB0aCB0YXNrLgpEYXkgMjogQ29tcGxldGUgdGhlIDFzdCB0YXNrLgpEYXkgMzogVGFrZSBhIGJyZWFrLgpEYXkgNDogVGFrZSBhIGJyZWFrLgpEYXkgNTogQ29tcGxldGUgdGhlIDJuZCB0YXNrLgpEYXkgNjogQ29tcGxldGUgdGhlIDNyZCB0YXNrLgpJdCBjYW4gYmUgc2hvd24gdGhhdCB0aGUgdGFza3MgY2Fubm90IGJlIGNvbXBsZXRlZCBpbiBsZXNzIHRoYW4gNiBkYXlzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHRhc2tzLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSB0YXNrc1tpXSAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBzcGFjZSAmbHQ7PSB0YXNrcy5sZW5ndGg8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2397. Maximum Rows Covered by Columns",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiA8Y29kZT5tIHggbjwvY29kZT4gYmluYXJ5IG1hdHJpeCA8Y29kZT5tYXRyaXg8L2NvZGU+IGFuZCBhbiBpbnRlZ2VyIDxjb2RlPm51bVNlbGVjdDwvY29kZT4sIHdoaWNoIGRlbm90ZXMgdGhlIG51bWJlciBvZiA8c3Ryb25nPmRpc3RpbmN0PC9zdHJvbmc+IGNvbHVtbnMgeW91IG11c3Qgc2VsZWN0IGZyb20gPGNvZGU+bWF0cml4PC9jb2RlPi48L3A+CjxwPkxldCB1cyBjb25zaWRlciA8Y29kZT5zID0ge2M8c3ViPjE8L3N1Yj4sIGM8c3ViPjI8L3N1Yj4sIC4uLi4sIGM8c3ViPm51bVNlbGVjdDwvc3ViPn08L2NvZGU+IGFzIHRoZSBzZXQgb2YgY29sdW1ucyBzZWxlY3RlZCBieSB5b3UuIEEgcm93IDxjb2RlPnJvdzwvY29kZT4gaXMgPHN0cm9uZz5jb3ZlcmVkPC9zdHJvbmc+IGJ5IDxjb2RlPnM8L2NvZGU+IGlmOjwvcD4KPHVsPgo8bGk+Rm9yIGVhY2ggY2VsbCA8Y29kZT5tYXRyaXhbcm93XVtjb2xdPC9jb2RlPiAoPGNvZGU+MCAmbHQ7PSBjb2wgJmx0Oz0gbiAtIDE8L2NvZGU+KSB3aGVyZSA8Y29kZT5tYXRyaXhbcm93XVtjb2xdID09IDE8L2NvZGU+LCA8Y29kZT5jb2w8L2NvZGU+IGlzIHByZXNlbnQgaW4gPGNvZGU+czwvY29kZT4gb3IsPC9saT4KPGxpPjxzdHJvbmc+Tm8gY2VsbDwvc3Ryb25nPiBpbiA8Y29kZT5yb3c8L2NvZGU+IGhhcyBhIHZhbHVlIG9mIDxjb2RlPjE8L2NvZGU+LjwvbGk+CjwvdWw+CjxwPllvdSBuZWVkIHRvIGNob29zZSA8Y29kZT5udW1TZWxlY3Q8L2NvZGU+IGNvbHVtbnMgc3VjaCB0aGF0IHRoZSBudW1iZXIgb2Ygcm93cyB0aGF0IGFyZSBjb3ZlcmVkIGlzIDxzdHJvbmc+bWF4aW1pemVkPC9zdHJvbmc+LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5tYXhpbXVtPC9zdHJvbmc+IG51bWJlciBvZiByb3dzIHRoYXQgY2FuIGJlIDxzdHJvbmc+Y292ZXJlZDwvc3Ryb25nPiBieSBhIHNldCBvZiA8L2VtPjxjb2RlPm51bVNlbGVjdDwvY29kZT48ZW0+IGNvbHVtbnMuPC9lbT48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDcvMTQvcm93c2NvdmVyZWQucG5nIiBzdHlsZT0id2lkdGg6IDI0MHB4OyBoZWlnaHQ6IDQwMHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG1hdHJpeCA9IFtbMCwwLDBdLFsxLDAsMV0sWzAsMSwxXSxbMCwwLDFdXSwgbnVtU2VsZWN0ID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBPbmUgcG9zc2libGUgd2F5IHRvIGNvdmVyIDMgcm93cyBpcyBzaG93biBpbiB0aGUgZGlhZ3JhbSBhYm92ZS4KV2UgY2hvb3NlIHMgPSB7MCwgMn0uCi0gUm93IDAgaXMgY292ZXJlZCBiZWNhdXNlIGl0IGhhcyBubyBvY2N1cnJlbmNlcyBvZiAxLgotIFJvdyAxIGlzIGNvdmVyZWQgYmVjYXVzZSB0aGUgY29sdW1ucyB3aXRoIHZhbHVlIDEsIGkuZS4gMCBhbmQgMiBhcmUgcHJlc2VudCBpbiBzLgotIFJvdyAyIGlzIG5vdCBjb3ZlcmVkIGJlY2F1c2UgbWF0cml4WzJdWzFdID09IDEgYnV0IDEgaXMgbm90IHByZXNlbnQgaW4gcy4KLSBSb3cgMyBpcyBjb3ZlcmVkIGJlY2F1c2UgbWF0cml4WzJdWzJdID09IDEgYW5kIDIgaXMgcHJlc2VudCBpbiBzLgpUaHVzLCB3ZSBjYW4gY292ZXIgdGhyZWUgcm93cy4KTm90ZSB0aGF0IHMgPSB7MSwgMn0gd2lsbCBhbHNvIGNvdmVyIDMgcm93cywgYnV0IGl0IGNhbiBiZSBzaG93biB0aGF0IG5vIG1vcmUgdGhhbiB0aHJlZSByb3dzIGNhbiBiZSBjb3ZlcmVkLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA3LzE0L3Jvd3Njb3ZlcmVkMi5wbmciIHN0eWxlPSJoZWlnaHQ6IDI1MHB4OyB3aWR0aDogODRweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBtYXRyaXggPSBbWzFdLFswXV0sIG51bVNlbGVjdCA9IDEKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gU2VsZWN0aW5nIHRoZSBvbmx5IGNvbHVtbiB3aWxsIHJlc3VsdCBpbiBib3RoIHJvd3MgYmVpbmcgY292ZXJlZCBzaW5jZSB0aGUgZW50aXJlIG1hdHJpeCBpcyBzZWxlY3RlZC4KVGhlcmVmb3JlLCB3ZSByZXR1cm4gMi4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+bSA9PSBtYXRyaXgubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5uID09IG1hdHJpeFtpXS5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbSwgbiAmbHQ7PSAxMjwvY29kZT48L2xpPgo8bGk+PGNvZGU+bWF0cml4W2ldW2pdPC9jb2RlPiBpcyBlaXRoZXIgPGNvZGU+MDwvY29kZT4gb3IgPGNvZGU+MTwvY29kZT4uPC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtU2VsZWN0wqAmbHQ7PSBuPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Backtracking",
+ "Bit Manipulation",
+ "Matrix",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2396. Strictly Palindromic Number",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkFuIGludGVnZXIgPGNvZGU+bjwvY29kZT4gaXMgPHN0cm9uZz5zdHJpY3RseSBwYWxpbmRyb21pYzwvc3Ryb25nPiBpZiwgZm9yIDxzdHJvbmc+ZXZlcnk8L3N0cm9uZz4gYmFzZSA8Y29kZT5iPC9jb2RlPiBiZXR3ZWVuIDxjb2RlPjI8L2NvZGU+IGFuZCA8Y29kZT5uIC0gMjwvY29kZT4gKDxzdHJvbmc+aW5jbHVzaXZlPC9zdHJvbmc+KSwgdGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgaW50ZWdlciA8Y29kZT5uPC9jb2RlPiBpbiBiYXNlIDxjb2RlPmI8L2NvZGU+IGlzIDxzdHJvbmc+cGFsaW5kcm9taWM8L3N0cm9uZz4uPC9wPgo8cD5HaXZlbiBhbiBpbnRlZ2VyIDxjb2RlPm48L2NvZGU+LCByZXR1cm4gPGNvZGU+dHJ1ZTwvY29kZT4gPGVtPmlmIDwvZW0+PGNvZGU+bjwvY29kZT48ZW0+IGlzIDxzdHJvbmc+c3RyaWN0bHkgcGFsaW5kcm9taWM8L3N0cm9uZz4gYW5kIDwvZW0+PGNvZGU+ZmFsc2U8L2NvZGU+PGVtPiBvdGhlcndpc2U8L2VtPi48L3A+CjxwPkEgc3RyaW5nIGlzIDxzdHJvbmc+cGFsaW5kcm9taWM8L3N0cm9uZz4gaWYgaXQgcmVhZHMgdGhlIHNhbWUgZm9yd2FyZCBhbmQgYmFja3dhcmQuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gOQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gZmFsc2UKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gSW4gYmFzZSAyOiA5ID0gMTAwMSAoYmFzZSAyKSwgd2hpY2ggaXMgcGFsaW5kcm9taWMuCkluIGJhc2UgMzogOSA9IDEwMCAoYmFzZSAzKSwgd2hpY2ggaXMgbm90IHBhbGluZHJvbWljLgpUaGVyZWZvcmUsIDkgaXMgbm90IHN0cmljdGx5IHBhbGluZHJvbWljIHNvIHdlIHJldHVybiBmYWxzZS4KTm90ZSB0aGF0IGluIGJhc2VzIDQsIDUsIDYsIGFuZCA3LCBuID0gOSBpcyBhbHNvIG5vdCBwYWxpbmRyb21pYy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDQKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IGZhbHNlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFdlIG9ubHkgY29uc2lkZXIgYmFzZSAyOiA0ID0gMTAwIChiYXNlIDIpLCB3aGljaCBpcyBub3QgcGFsaW5kcm9taWMuClRoZXJlZm9yZSwgd2UgcmV0dXJuIGZhbHNlLgoKPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+NCAmbHQ7PSBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Math",
+ "Two Pointers",
+ "Brainteaser"
+ ]
+ },
+ {
+ "title": "2401. Longest Nice Subarray",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gYXJyYXkgPGNvZGU+bnVtczwvY29kZT4gY29uc2lzdGluZyBvZiA8c3Ryb25nPnBvc2l0aXZlPC9zdHJvbmc+IGludGVnZXJzLjwvcD4KPHA+V2UgY2FsbCBhIHN1YmFycmF5IG9mIDxjb2RlPm51bXM8L2NvZGU+IDxzdHJvbmc+bmljZTwvc3Ryb25nPiBpZiB0aGUgYml0d2lzZSA8c3Ryb25nPkFORDwvc3Ryb25nPiBvZiBldmVyeSBwYWlyIG9mIGVsZW1lbnRzIHRoYXQgYXJlIGluIDxzdHJvbmc+ZGlmZmVyZW50PC9zdHJvbmc+IHBvc2l0aW9ucyBpbiB0aGUgc3ViYXJyYXkgaXMgZXF1YWwgdG8gPGNvZGU+MDwvY29kZT4uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSBsZW5ndGggb2YgdGhlIDxzdHJvbmc+bG9uZ2VzdDwvc3Ryb25nPiBuaWNlIHN1YmFycmF5PC9lbT4uPC9wPgo8cD5BIDxzdHJvbmc+c3ViYXJyYXk8L3N0cm9uZz4gaXMgYSA8c3Ryb25nPmNvbnRpZ3VvdXM8L3N0cm9uZz4gcGFydCBvZiBhbiBhcnJheS48L3A+CjxwPjxzdHJvbmc+Tm90ZTwvc3Ryb25nPiB0aGF0IHN1YmFycmF5cyBvZiBsZW5ndGggPGNvZGU+MTwvY29kZT4gYXJlIGFsd2F5cyBjb25zaWRlcmVkIG5pY2UuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMyw4LDQ4LDEwXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgbG9uZ2VzdCBuaWNlIHN1YmFycmF5IGlzIFszLDgsNDhdLiBUaGlzIHN1YmFycmF5IHNhdGlzZmllcyB0aGUgY29uZGl0aW9uczoKLSAzIEFORCA4ID0gMC4KLSAzIEFORCA0OCA9IDAuCi0gOCBBTkQgNDggPSAwLgpJdCBjYW4gYmUgcHJvdmVuIHRoYXQgbm8gbG9uZ2VyIG5pY2Ugc3ViYXJyYXkgY2FuIGJlIG9idGFpbmVkLCBzbyB3ZSByZXR1cm4gMy48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzMsMSw1LDExLDEzXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgbGVuZ3RoIG9mIHRoZSBsb25nZXN0IG5pY2Ugc3ViYXJyYXkgaXMgMS4gQW55IHN1YmFycmF5IG9mIGxlbmd0aCAxIGNhbiBiZSBjaG9zZW4uCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Bit Manipulation",
+ "Sliding Window"
+ ]
+ },
+ {
+ "title": "2400. Number of Ways to Reach a Position After Exactly k Steps",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIDxzdHJvbmc+cG9zaXRpdmU8L3N0cm9uZz4gaW50ZWdlcnMgPGNvZGU+c3RhcnRQb3M8L2NvZGU+IGFuZCA8Y29kZT5lbmRQb3M8L2NvZGU+LiBJbml0aWFsbHksIHlvdSBhcmUgc3RhbmRpbmcgYXQgcG9zaXRpb24gPGNvZGU+c3RhcnRQb3M8L2NvZGU+IG9uIGFuIDxzdHJvbmc+aW5maW5pdGU8L3N0cm9uZz4gbnVtYmVyIGxpbmUuIFdpdGggb25lIHN0ZXAsIHlvdSBjYW4gbW92ZSBlaXRoZXIgb25lIHBvc2l0aW9uIHRvIHRoZSBsZWZ0LCBvciBvbmUgcG9zaXRpb24gdG8gdGhlIHJpZ2h0LjwvcD4KPHA+R2l2ZW4gYSBwb3NpdGl2ZSBpbnRlZ2VyIDxjb2RlPms8L2NvZGU+LCByZXR1cm4gPGVtPnRoZSBudW1iZXIgb2YgPHN0cm9uZz5kaWZmZXJlbnQ8L3N0cm9uZz4gd2F5cyB0byByZWFjaCB0aGUgcG9zaXRpb24gPC9lbT48Y29kZT5lbmRQb3M8L2NvZGU+PGVtPiBzdGFydGluZyBmcm9tIDwvZW0+PGNvZGU+c3RhcnRQb3M8L2NvZGU+PGVtPiwgc3VjaCB0aGF0IHlvdSBwZXJmb3JtIDxzdHJvbmc+ZXhhY3RseTwvc3Ryb25nPiA8L2VtPjxjb2RlPms8L2NvZGU+PGVtPiBzdGVwczwvZW0+LiBTaW5jZSB0aGUgYW5zd2VyIG1heSBiZSB2ZXJ5IGxhcmdlLCByZXR1cm4gaXQgPHN0cm9uZz5tb2R1bG88L3N0cm9uZz4gPGNvZGU+MTA8c3VwPjk8L3N1cD4gKyA3PC9jb2RlPi48L3A+CjxwPlR3byB3YXlzIGFyZSBjb25zaWRlcmVkIGRpZmZlcmVudCBpZiB0aGUgb3JkZXIgb2YgdGhlIHN0ZXBzIG1hZGUgaXMgbm90IGV4YWN0bHkgdGhlIHNhbWUuPC9wPgo8cD48c3Ryb25nPk5vdGU8L3N0cm9uZz4gdGhhdCB0aGUgbnVtYmVyIGxpbmUgaW5jbHVkZXMgbmVnYXRpdmUgaW50ZWdlcnMuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzdGFydFBvcyA9IDEsIGVuZFBvcyA9IDIsIGsgPSAzCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFdlIGNhbiByZWFjaCBwb3NpdGlvbiAyIGZyb20gMSBpbiBleGFjdGx5IDMgc3RlcHMgaW4gdGhyZWUgd2F5czoKLSAxIC0mZ3Q7IDIgLSZndDsgMyAtJmd0OyAyLgotIDEgLSZndDsgMiAtJmd0OyAxIC0mZ3Q7IDIuCi0gMSAtJmd0OyAwIC0mZ3Q7IDEgLSZndDsgMi4KSXQgY2FuIGJlIHByb3ZlbiB0aGF0IG5vIG90aGVyIHdheSBpcyBwb3NzaWJsZSwgc28gd2UgcmV0dXJuIDMuPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gc3RhcnRQb3MgPSAyLCBlbmRQb3MgPSA1LCBrID0gMTAKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gSXQgaXMgaW1wb3NzaWJsZSB0byByZWFjaCBwb3NpdGlvbiA1IGZyb20gcG9zaXRpb24gMiBpbiBleGFjdGx5IDEwIHN0ZXBzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHN0YXJ0UG9zLCBlbmRQb3MsIGsgJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Math",
+ "Dynamic Programming",
+ "Combinatorics"
+ ]
+ },
+ {
+ "title": "2384. Largest Palindromic Number",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+bnVtPC9jb2RlPiBjb25zaXN0aW5nIG9mIGRpZ2l0cyBvbmx5LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5sYXJnZXN0IHBhbGluZHJvbWljPC9zdHJvbmc+IGludGVnZXIgKGluIHRoZSBmb3JtIG9mIGEgc3RyaW5nKSB0aGF0IGNhbiBiZSBmb3JtZWQgdXNpbmcgZGlnaXRzIHRha2VuIGZyb20gPC9lbT48Y29kZT5udW08L2NvZGU+LiBJdCBzaG91bGQgbm90IGNvbnRhaW4gPHN0cm9uZz5sZWFkaW5nIHplcm9lczwvc3Ryb25nPi48L3A+CjxwPjxzdHJvbmc+Tm90ZXM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT5Zb3UgZG8gPHN0cm9uZz5ub3Q8L3N0cm9uZz4gbmVlZCB0byB1c2UgYWxsIHRoZSBkaWdpdHMgb2YgPGNvZGU+bnVtPC9jb2RlPiwgYnV0IHlvdSBtdXN0IHVzZSA8c3Ryb25nPmF0IGxlYXN0PC9zdHJvbmc+IG9uZSBkaWdpdC48L2xpPgo8bGk+VGhlIGRpZ2l0cyBjYW4gYmUgcmVvcmRlcmVkLjwvbGk+CjwvdWw+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bSA9ICI0NDQ5NDcxMzciCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiNzQ0OTQ0NyIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gClVzZSB0aGUgZGlnaXRzICI0NDQ5NDc3IiBmcm9tICI8dT48c3Ryb25nPjQ0NDk0PC9zdHJvbmc+PC91Pjx1PjxzdHJvbmc+Nzwvc3Ryb25nPjwvdT4xMzx1PjxzdHJvbmc+Nzwvc3Ryb25nPjwvdT4iIHRvIGZvcm0gdGhlIHBhbGluZHJvbWljIGludGVnZXIgIjc0NDk0NDciLgpJdCBjYW4gYmUgc2hvd24gdGhhdCAiNzQ0OTQ0NyIgaXMgdGhlIGxhcmdlc3QgcGFsaW5kcm9taWMgaW50ZWdlciB0aGF0IGNhbiBiZSBmb3JtZWQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bSA9ICIwMDAwOSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICI5Igo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKSXQgY2FuIGJlIHNob3duIHRoYXQgIjkiIGlzIHRoZSBsYXJnZXN0IHBhbGluZHJvbWljIGludGVnZXIgdGhhdCBjYW4gYmUgZm9ybWVkLgpOb3RlIHRoYXQgdGhlIGludGVnZXIgcmV0dXJuZWQgc2hvdWxkIG5vdCBjb250YWluIGxlYWRpbmcgemVyb2VzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bS5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPm51bTwvY29kZT4gY29uc2lzdHMgb2YgZGlnaXRzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Hash Table",
+ "String",
+ "Greedy"
+ ]
+ },
+ {
+ "title": "2342. Max Sum of a Pair With Equal Sum of Digits",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBjb25zaXN0aW5nIG9mIDxzdHJvbmc+cG9zaXRpdmU8L3N0cm9uZz4gaW50ZWdlcnMuIFlvdSBjYW4gY2hvb3NlIHR3byBpbmRpY2VzIDxjb2RlPmk8L2NvZGU+IGFuZCA8Y29kZT5qPC9jb2RlPiwgc3VjaCB0aGF0IDxjb2RlPmkgIT0gajwvY29kZT4sIGFuZCB0aGUgc3VtIG9mIGRpZ2l0cyBvZiB0aGUgbnVtYmVyIDxjb2RlPm51bXNbaV08L2NvZGU+IGlzIGVxdWFsIHRvIHRoYXQgb2YgPGNvZGU+bnVtc1tqXTwvY29kZT4uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1heGltdW08L3N0cm9uZz4gdmFsdWUgb2YgPC9lbT48Y29kZT5udW1zW2ldICsgbnVtc1tqXTwvY29kZT48ZW0+IHRoYXQgeW91IGNhbiBvYnRhaW4gb3ZlciBhbGwgcG9zc2libGUgaW5kaWNlcyA8L2VtPjxjb2RlPmk8L2NvZGU+PGVtPiBhbmQgPC9lbT48Y29kZT5qPC9jb2RlPjxlbT4gdGhhdCBzYXRpc2Z5IHRoZSBjb25kaXRpb25zLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzE4LDQzLDM2LDEzLDddCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA1NAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgcGFpcnMgKGksIGopIHRoYXQgc2F0aXNmeSB0aGUgY29uZGl0aW9ucyBhcmU6Ci0gKDAsIDIpLCBib3RoIG51bWJlcnMgaGF2ZSBhIHN1bSBvZiBkaWdpdHMgZXF1YWwgdG8gOSwgYW5kIHRoZWlyIHN1bSBpcyAxOCArIDM2ID0gNTQuCi0gKDEsIDQpLCBib3RoIG51bWJlcnMgaGF2ZSBhIHN1bSBvZiBkaWdpdHMgZXF1YWwgdG8gNywgYW5kIHRoZWlyIHN1bSBpcyA0MyArIDcgPSA1MC4KU28gdGhlIG1heGltdW0gc3VtIHRoYXQgd2UgY2FuIG9idGFpbiBpcyA1NC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxMCwxMiwxOSwxNF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IC0xCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSBubyB0d28gbnVtYmVycyB0aGF0IHNhdGlzZnkgdGhlIGNvbmRpdGlvbnMsIHNvIHdlIHJldHVybiAtMS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Sorting",
+ "Heap (Priority Queue)"
+ ]
+ },
+ {
+ "title": "2391. Minimum Amount of Time to Collect Garbage",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBhcnJheSBvZiBzdHJpbmdzIDxjb2RlPmdhcmJhZ2U8L2NvZGU+IHdoZXJlIDxjb2RlPmdhcmJhZ2VbaV08L2NvZGU+IHJlcHJlc2VudHMgdGhlIGFzc29ydG1lbnQgb2YgZ2FyYmFnZSBhdCB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGhvdXNlLiA8Y29kZT5nYXJiYWdlW2ldPC9jb2RlPiBjb25zaXN0cyBvbmx5IG9mIHRoZSBjaGFyYWN0ZXJzIDxjb2RlPidNJzwvY29kZT4sIDxjb2RlPidQJzwvY29kZT4gYW5kIDxjb2RlPidHJzwvY29kZT4gcmVwcmVzZW50aW5nIG9uZSB1bml0IG9mIG1ldGFsLCBwYXBlciBhbmQgZ2xhc3MgZ2FyYmFnZSByZXNwZWN0aXZlbHkuIFBpY2tpbmcgdXAgPHN0cm9uZz5vbmU8L3N0cm9uZz4gdW5pdCBvZiBhbnkgdHlwZSBvZiBnYXJiYWdlIHRha2VzIDxjb2RlPjE8L2NvZGU+IG1pbnV0ZS48L3A+CjxwPllvdSBhcmUgYWxzbyBnaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXkgPGNvZGU+dHJhdmVsPC9jb2RlPiB3aGVyZSA8Y29kZT50cmF2ZWxbaV08L2NvZGU+IGlzIHRoZSBudW1iZXIgb2YgbWludXRlcyBuZWVkZWQgdG8gZ28gZnJvbSBob3VzZSA8Y29kZT5pPC9jb2RlPiB0byBob3VzZSA8Y29kZT5pICsgMTwvY29kZT4uPC9wPgo8cD5UaGVyZSBhcmUgdGhyZWUgZ2FyYmFnZSB0cnVja3MgaW4gdGhlIGNpdHksIGVhY2ggcmVzcG9uc2libGUgZm9yIHBpY2tpbmcgdXAgb25lIHR5cGUgb2YgZ2FyYmFnZS4gRWFjaCBnYXJiYWdlIHRydWNrIHN0YXJ0cyBhdCBob3VzZSA8Y29kZT4wPC9jb2RlPiBhbmQgbXVzdCB2aXNpdCBlYWNoIGhvdXNlIDxzdHJvbmc+aW4gb3JkZXI8L3N0cm9uZz47IGhvd2V2ZXIsIHRoZXkgZG8gPHN0cm9uZz5ub3Q8L3N0cm9uZz4gbmVlZCB0byB2aXNpdCBldmVyeSBob3VzZS48L3A+CjxwPk9ubHkgPHN0cm9uZz5vbmU8L3N0cm9uZz4gZ2FyYmFnZSB0cnVjayBtYXkgYmUgdXNlZCBhdCBhbnkgZ2l2ZW4gbW9tZW50LiBXaGlsZSBvbmUgdHJ1Y2sgaXMgZHJpdmluZyBvciBwaWNraW5nIHVwIGdhcmJhZ2UsIHRoZSBvdGhlciB0d28gdHJ1Y2tzIDxzdHJvbmc+Y2Fubm90PC9zdHJvbmc+IGRvIGFueXRoaW5nLjwvcD4KPHA+UmV0dXJuPGVtPiB0aGUgPHN0cm9uZz5taW5pbXVtPC9zdHJvbmc+IG51bWJlciBvZiBtaW51dGVzIG5lZWRlZCB0byBwaWNrIHVwIGFsbCB0aGUgZ2FyYmFnZS48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ2FyYmFnZSA9IFsiRyIsIlAiLCJHUCIsIkdHIl0sIHRyYXZlbCA9IFsyLDQsM10KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBwYXBlciBnYXJiYWdlIHRydWNrOgoxLiBUcmF2ZWxzIGZyb20gaG91c2UgMCB0byBob3VzZSAxCjIuIENvbGxlY3RzIHRoZSBwYXBlciBnYXJiYWdlIGF0IGhvdXNlIDEKMy4gVHJhdmVscyBmcm9tIGhvdXNlIDEgdG8gaG91c2UgMgo0LiBDb2xsZWN0cyB0aGUgcGFwZXIgZ2FyYmFnZSBhdCBob3VzZSAyCkFsdG9nZXRoZXIsIGl0IHRha2VzIDggbWludXRlcyB0byBwaWNrIHVwIGFsbCB0aGUgcGFwZXIgZ2FyYmFnZS4KVGhlIGdsYXNzIGdhcmJhZ2UgdHJ1Y2s6CjEuIENvbGxlY3RzIHRoZSBnbGFzcyBnYXJiYWdlIGF0IGhvdXNlIDAKMi4gVHJhdmVscyBmcm9tIGhvdXNlIDAgdG8gaG91c2UgMQozLiBUcmF2ZWxzIGZyb20gaG91c2UgMSB0byBob3VzZSAyCjQuIENvbGxlY3RzIHRoZSBnbGFzcyBnYXJiYWdlIGF0IGhvdXNlIDIKNS4gVHJhdmVscyBmcm9tIGhvdXNlIDIgdG8gaG91c2UgMwo2LiBDb2xsZWN0cyB0aGUgZ2xhc3MgZ2FyYmFnZSBhdCBob3VzZSAzCkFsdG9nZXRoZXIsIGl0IHRha2VzIDEzIG1pbnV0ZXMgdG8gcGljayB1cCBhbGwgdGhlIGdsYXNzIGdhcmJhZ2UuClNpbmNlIHRoZXJlIGlzIG5vIG1ldGFsIGdhcmJhZ2UsIHdlIGRvIG5vdCBuZWVkIHRvIGNvbnNpZGVyIHRoZSBtZXRhbCBnYXJiYWdlIHRydWNrLgpUaGVyZWZvcmUsIGl0IHRha2VzIGEgdG90YWwgb2YgOCArIDEzID0gMjEgbWludXRlcyB0byBjb2xsZWN0IGFsbCB0aGUgZ2FyYmFnZS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ2FyYmFnZSA9IFsiTU1NIiwiUEdNIiwiR1AiXSwgdHJhdmVsID0gWzMsMTBdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzNwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgbWV0YWwgZ2FyYmFnZSB0cnVjayB0YWtlcyA3IG1pbnV0ZXMgdG8gcGljayB1cCBhbGwgdGhlIG1ldGFsIGdhcmJhZ2UuClRoZSBwYXBlciBnYXJiYWdlIHRydWNrIHRha2VzIDE1IG1pbnV0ZXMgdG8gcGljayB1cCBhbGwgdGhlIHBhcGVyIGdhcmJhZ2UuClRoZSBnbGFzcyBnYXJiYWdlIHRydWNrIHRha2VzIDE1IG1pbnV0ZXMgdG8gcGljayB1cCBhbGwgdGhlIGdsYXNzIGdhcmJhZ2UuCkl0IHRha2VzIGEgdG90YWwgb2YgNyArIDE1ICsgMTUgPSAzNyBtaW51dGVzIHRvIGNvbGxlY3QgYWxsIHRoZSBnYXJiYWdlLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4yICZsdDs9IGdhcmJhZ2UubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5nYXJiYWdlW2ldPC9jb2RlPiBjb25zaXN0cyBvZiBvbmx5IHRoZSBsZXR0ZXJzIDxjb2RlPidNJzwvY29kZT4sIDxjb2RlPidQJzwvY29kZT4sIGFuZCA8Y29kZT4nRyc8L2NvZGU+LjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGdhcmJhZ2VbaV0ubGVuZ3RoICZsdDs9IDEwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT50cmF2ZWwubGVuZ3RoID09IGdhcmJhZ2UubGVuZ3RoIC0gMTwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSB0cmF2ZWxbaV0gJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "String",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2390. Removing Stars From a String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4sIHdoaWNoIGNvbnRhaW5zIHN0YXJzIDxjb2RlPio8L2NvZGU+LjwvcD4KPHA+SW4gb25lIG9wZXJhdGlvbiwgeW91IGNhbjo8L3A+Cjx1bD4KPGxpPkNob29zZSBhIHN0YXIgaW4gPGNvZGU+czwvY29kZT4uPC9saT4KPGxpPlJlbW92ZSB0aGUgY2xvc2VzdCA8c3Ryb25nPm5vbi1zdGFyPC9zdHJvbmc+IGNoYXJhY3RlciB0byBpdHMgPHN0cm9uZz5sZWZ0PC9zdHJvbmc+LCBhcyB3ZWxsIGFzIHJlbW92ZSB0aGUgc3RhciBpdHNlbGYuPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgc3RyaW5nIGFmdGVyIDxzdHJvbmc+YWxsPC9zdHJvbmc+IHN0YXJzIGhhdmUgYmVlbiByZW1vdmVkPC9lbT4uPC9wPgo8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT5UaGUgaW5wdXQgd2lsbCBiZSBnZW5lcmF0ZWQgc3VjaCB0aGF0IHRoZSBvcGVyYXRpb24gaXMgYWx3YXlzIHBvc3NpYmxlLjwvbGk+CjxsaT5JdCBjYW4gYmUgc2hvd24gdGhhdCB0aGUgcmVzdWx0aW5nIHN0cmluZyB3aWxsIGFsd2F5cyBiZSB1bmlxdWUuPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJsZWV0Kipjb2QqZSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICJsZWNvZSIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gUGVyZm9ybWluZyB0aGUgcmVtb3ZhbHMgZnJvbSBsZWZ0IHRvIHJpZ2h0OgotIFRoZSBjbG9zZXN0IGNoYXJhY3RlciB0byB0aGUgMTxzdXA+c3Q8L3N1cD4gc3RhciBpcyAndCcgaW4gImxlZTxzdHJvbmc+PHU+dDwvdT48L3N0cm9uZz4qKmNvZCplIi4gcyBiZWNvbWVzICJsZWUqY29kKmUiLgotIFRoZSBjbG9zZXN0IGNoYXJhY3RlciB0byB0aGUgMjxzdXA+bmQ8L3N1cD4gc3RhciBpcyAnZScgaW4gImxlPHN0cm9uZz48dT5lPC91Pjwvc3Ryb25nPipjb2QqZSIuIHMgYmVjb21lcyAibGVjb2QqZSIuCi0gVGhlIGNsb3Nlc3QgY2hhcmFjdGVyIHRvIHRoZSAzPHN1cD5yZDwvc3VwPiBzdGFyIGlzICdkJyBpbiAibGVjbzxzdHJvbmc+PHU+ZDwvdT48L3N0cm9uZz4qZSIuIHMgYmVjb21lcyAibGVjb2UiLgpUaGVyZSBhcmUgbm8gbW9yZSBzdGFycywgc28gd2UgcmV0dXJuICJsZWNvZSIuPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJlcmFzZSoqKioqIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gIiIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGVudGlyZSBzdHJpbmcgaXMgcmVtb3ZlZCwgc28gd2UgcmV0dXJuIGFuIGVtcHR5IHN0cmluZy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBzLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+czwvY29kZT4gY29uc2lzdHMgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycyBhbmQgc3RhcnMgPGNvZGU+KjwvY29kZT4uPC9saT4KPGxpPlRoZSBvcGVyYXRpb24gYWJvdmUgY2FuIGJlIHBlcmZvcm1lZCBvbiA8Y29kZT5zPC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "String",
+ "Stack",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2381. Shifting Letters II",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4gb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycyBhbmQgYSAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPnNoaWZ0czwvY29kZT4gd2hlcmUgPGNvZGU+c2hpZnRzW2ldID0gW3N0YXJ0PHN1Yj5pPC9zdWI+LCBlbmQ8c3ViPmk8L3N1Yj4sIGRpcmVjdGlvbjxzdWI+aTwvc3ViPl08L2NvZGU+LiBGb3IgZXZlcnkgPGNvZGU+aTwvY29kZT4sIDxzdHJvbmc+c2hpZnQ8L3N0cm9uZz4gdGhlIGNoYXJhY3RlcnMgaW4gPGNvZGU+czwvY29kZT4gZnJvbSB0aGUgaW5kZXggPGNvZGU+c3RhcnQ8c3ViPmk8L3N1Yj48L2NvZGU+IHRvIHRoZSBpbmRleCA8Y29kZT5lbmQ8c3ViPmk8L3N1Yj48L2NvZGU+ICg8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPikgZm9yd2FyZCBpZiA8Y29kZT5kaXJlY3Rpb248c3ViPmk8L3N1Yj4gPSAxPC9jb2RlPiwgb3Igc2hpZnQgdGhlIGNoYXJhY3RlcnMgYmFja3dhcmQgaWYgPGNvZGU+ZGlyZWN0aW9uPHN1Yj5pPC9zdWI+ID0gMDwvY29kZT4uPC9wPgo8cD5TaGlmdGluZyBhIGNoYXJhY3RlciA8c3Ryb25nPmZvcndhcmQ8L3N0cm9uZz4gbWVhbnMgcmVwbGFjaW5nIGl0IHdpdGggdGhlIDxzdHJvbmc+bmV4dDwvc3Ryb25nPiBsZXR0ZXIgaW4gdGhlIGFscGhhYmV0ICh3cmFwcGluZyBhcm91bmQgc28gdGhhdCA8Y29kZT4neic8L2NvZGU+IGJlY29tZXMgPGNvZGU+J2EnPC9jb2RlPikuIFNpbWlsYXJseSwgc2hpZnRpbmcgYSBjaGFyYWN0ZXIgPHN0cm9uZz5iYWNrd2FyZDwvc3Ryb25nPiBtZWFucyByZXBsYWNpbmcgaXQgd2l0aCB0aGUgPHN0cm9uZz5wcmV2aW91czwvc3Ryb25nPiBsZXR0ZXIgaW4gdGhlIGFscGhhYmV0ICh3cmFwcGluZyBhcm91bmQgc28gdGhhdCA8Y29kZT4nYSc8L2NvZGU+IGJlY29tZXMgPGNvZGU+J3onPC9jb2RlPikuPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSBmaW5hbCBzdHJpbmcgYWZ0ZXIgYWxsIHN1Y2ggc2hpZnRzIHRvIDwvZW0+PGNvZGU+czwvY29kZT48ZW0+IGFyZSBhcHBsaWVkPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImFiYyIsIHNoaWZ0cyA9IFtbMCwxLDBdLFsxLDIsMV0sWzAsMiwxXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICJhY2UiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEZpcnN0bHksIHNoaWZ0IHRoZSBjaGFyYWN0ZXJzIGZyb20gaW5kZXggMCB0byBpbmRleCAxIGJhY2t3YXJkLiBOb3cgcyA9ICJ6YWMiLgpTZWNvbmRseSwgc2hpZnQgdGhlIGNoYXJhY3RlcnMgZnJvbSBpbmRleCAxIHRvIGluZGV4IDIgZm9yd2FyZC4gTm93IHMgPSAiemJkIi4KRmluYWxseSwgc2hpZnQgdGhlIGNoYXJhY3RlcnMgZnJvbSBpbmRleCAwIHRvIGluZGV4IDIgZm9yd2FyZC4gTm93IHMgPSAiYWNlIi48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImR6dHoiLCBzaGlmdHMgPSBbWzAsMCwwXSxbMSwxLDFdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gImNhdHoiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEZpcnN0bHksIHNoaWZ0IHRoZSBjaGFyYWN0ZXJzIGZyb20gaW5kZXggMCB0byBpbmRleCAwIGJhY2t3YXJkLiBOb3cgcyA9ICJjenR6Ii4KRmluYWxseSwgc2hpZnQgdGhlIGNoYXJhY3RlcnMgZnJvbSBpbmRleCAxIHRvIGluZGV4IDEgZm9yd2FyZC4gTm93IHMgPSAiY2F0eiIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gcy5sZW5ndGgsIHNoaWZ0cy5sZW5ndGggJmx0Oz0gNSAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zaGlmdHNbaV0ubGVuZ3RoID09IDM8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gc3RhcnQ8c3ViPmk8L3N1Yj4gJmx0Oz0gZW5kPHN1Yj5pPC9zdWI+ICZsdDsgcy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gZGlyZWN0aW9uPHN1Yj5pPC9zdWI+ICZsdDs9IDE8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnM8L2NvZGU+IGNvbnNpc3RzIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "String",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2380. Time Needed to Rearrange a Binary String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBiaW5hcnkgc3RyaW5nIDxjb2RlPnM8L2NvZGU+LiBJbiBvbmUgc2Vjb25kLCA8c3Ryb25nPmFsbDwvc3Ryb25nPiBvY2N1cnJlbmNlcyBvZiA8Y29kZT4iMDEiPC9jb2RlPiBhcmUgPHN0cm9uZz5zaW11bHRhbmVvdXNseTwvc3Ryb25nPiByZXBsYWNlZCB3aXRoIDxjb2RlPiIxMCI8L2NvZGU+LiBUaGlzIHByb2Nlc3MgPHN0cm9uZz5yZXBlYXRzPC9zdHJvbmc+IHVudGlsIG5vIG9jY3VycmVuY2VzIG9mIDxjb2RlPiIwMSI8L2NvZGU+IGV4aXN0LjwvcD4KPHA+UmV0dXJuPGVtPiB0aGUgbnVtYmVyIG9mIHNlY29uZHMgbmVlZGVkIHRvIGNvbXBsZXRlIHRoaXMgcHJvY2Vzcy48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICIwMTEwMTAxIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKQWZ0ZXIgb25lIHNlY29uZCwgcyBiZWNvbWVzICIxMDExMDEwIi4KQWZ0ZXIgYW5vdGhlciBzZWNvbmQsIHMgYmVjb21lcyAiMTEwMTEwMCIuCkFmdGVyIHRoZSB0aGlyZCBzZWNvbmQsIHMgYmVjb21lcyAiMTExMDEwMCIuCkFmdGVyIHRoZSBmb3VydGggc2Vjb25kLCBzIGJlY29tZXMgIjExMTEwMDAiLgpObyBvY2N1cnJlbmNlIG9mICIwMSIgZXhpc3RzIGFueSBsb25nZXIsIGFuZCB0aGUgcHJvY2VzcyBuZWVkZWQgNCBzZWNvbmRzIHRvIGNvbXBsZXRlLApzbyB3ZSByZXR1cm4gNC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICIxMTEwMCIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KTm8gb2NjdXJyZW5jZSBvZiAiMDEiIGV4aXN0cyBpbiBzLCBhbmQgdGhlIHByb2Nlc3NlcyBuZWVkZWQgMCBzZWNvbmRzIHRvIGNvbXBsZXRlLApzbyB3ZSByZXR1cm4gMC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBzLmxlbmd0aCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zW2ldPC9jb2RlPiBpcyBlaXRoZXIgPGNvZGU+JzAnPC9jb2RlPiBvciA8Y29kZT4nMSc8L2NvZGU+LjwvbGk+CjwvdWw+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkZvbGxvdyB1cDo8L3N0cm9uZz48L3A+CjxwPkNhbiB5b3Ugc29sdmUgdGhpcyBwcm9ibGVtIGluIE8obikgdGltZSBjb21wbGV4aXR5PzwvcD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "String",
+ "Dynamic Programming",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2385. Amount of Time for Binary Tree to Be Infected",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdGhlIDxjb2RlPnJvb3Q8L2NvZGU+IG9mIGEgYmluYXJ5IHRyZWUgd2l0aCA8c3Ryb25nPnVuaXF1ZTwvc3Ryb25nPiB2YWx1ZXMsIGFuZCBhbiBpbnRlZ2VyIDxjb2RlPnN0YXJ0PC9jb2RlPi4gQXQgbWludXRlIDxjb2RlPjA8L2NvZGU+LCBhbiA8c3Ryb25nPmluZmVjdGlvbjwvc3Ryb25nPiBzdGFydHMgZnJvbSB0aGUgbm9kZSB3aXRoIHZhbHVlIDxjb2RlPnN0YXJ0PC9jb2RlPi48L3A+CjxwPkVhY2ggbWludXRlLCBhIG5vZGUgYmVjb21lcyBpbmZlY3RlZCBpZjo8L3A+Cjx1bD4KPGxpPlRoZSBub2RlIGlzIGN1cnJlbnRseSB1bmluZmVjdGVkLjwvbGk+CjxsaT5UaGUgbm9kZSBpcyBhZGphY2VudCB0byBhbiBpbmZlY3RlZCBub2RlLjwvbGk+CjwvdWw+CjxwPlJldHVybiA8ZW0+dGhlIG51bWJlciBvZiBtaW51dGVzIG5lZWRlZCBmb3IgdGhlIGVudGlyZSB0cmVlIHRvIGJlIGluZmVjdGVkLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA2LzI1L2ltYWdlLTIwMjIwNjI1MjMxNzQ0LTEucG5nIiBzdHlsZT0id2lkdGg6IDQwMHB4OyBoZWlnaHQ6IDMwNnB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHJvb3QgPSBbMSw1LDMsbnVsbCw0LDEwLDYsOSwyXSwgc3RhcnQgPSAzCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBmb2xsb3dpbmcgbm9kZXMgYXJlIGluZmVjdGVkIGR1cmluZzoKLSBNaW51dGUgMDogTm9kZSAzCi0gTWludXRlIDE6IE5vZGVzIDEsIDEwIGFuZCA2Ci0gTWludXRlIDI6IE5vZGUgNQotIE1pbnV0ZSAzOiBOb2RlIDQKLSBNaW51dGUgNDogTm9kZXMgOSBhbmQgMgpJdCB0YWtlcyA0IG1pbnV0ZXMgZm9yIHRoZSB3aG9sZSB0cmVlIHRvIGJlIGluZmVjdGVkIHNvIHdlIHJldHVybiA0Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA2LzI1L2ltYWdlLTIwMjIwNjI1MjMxODEyLTIucG5nIiBzdHlsZT0id2lkdGg6IDc1cHg7IGhlaWdodDogNjZweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiByb290ID0gWzFdLCBzdGFydCA9IDEKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gQXQgbWludXRlIDAsIHRoZSBvbmx5IG5vZGUgaW4gdGhlIHRyZWUgaXMgaW5mZWN0ZWQgc28gd2UgcmV0dXJuIDAuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPlRoZSBudW1iZXIgb2Ygbm9kZXMgaW4gdGhlIHRyZWUgaXMgaW4gdGhlIHJhbmdlIDxjb2RlPlsxLCAxMDxzdXA+NTwvc3VwPl08L2NvZGU+LjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IE5vZGUudmFsICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT5FYWNoIG5vZGUgaGFzIGEgPHN0cm9uZz51bmlxdWU8L3N0cm9uZz4gdmFsdWUuPC9saT4KPGxpPkEgbm9kZSB3aXRoIGEgdmFsdWUgb2YgPGNvZGU+c3RhcnQ8L2NvZGU+IGV4aXN0cyBpbiB0aGUgdHJlZS48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Tree",
+ "Depth-First Search",
+ "Breadth-First Search",
+ "Binary Tree"
+ ]
+ },
+ {
+ "title": "2375. Construct Smallest Number From DI String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBzdHJpbmcgPGNvZGU+cGF0dGVybjwvY29kZT4gb2YgbGVuZ3RoIDxjb2RlPm48L2NvZGU+IGNvbnNpc3Rpbmcgb2YgdGhlIGNoYXJhY3RlcnMgPGNvZGU+J0knPC9jb2RlPiBtZWFuaW5nIDxzdHJvbmc+aW5jcmVhc2luZzwvc3Ryb25nPiBhbmQgPGNvZGU+J0QnPC9jb2RlPiBtZWFuaW5nIDxzdHJvbmc+ZGVjcmVhc2luZzwvc3Ryb25nPi48L3A+CjxwPkEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gc3RyaW5nIDxjb2RlPm51bTwvY29kZT4gb2YgbGVuZ3RoIDxjb2RlPm4gKyAxPC9jb2RlPiBpcyBjcmVhdGVkIHVzaW5nIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczo8L3A+Cjx1bD4KPGxpPjxjb2RlPm51bTwvY29kZT4gY29uc2lzdHMgb2YgdGhlIGRpZ2l0cyA8Y29kZT4nMSc8L2NvZGU+IHRvIDxjb2RlPic5JzwvY29kZT4sIHdoZXJlIGVhY2ggZGlnaXQgaXMgdXNlZCA8c3Ryb25nPmF0IG1vc3Q8L3N0cm9uZz4gb25jZS48L2xpPgo8bGk+SWYgPGNvZGU+cGF0dGVybltpXSA9PSAnSSc8L2NvZGU+LCB0aGVuIDxjb2RlPm51bVtpXSAmbHQ7IG51bVtpICsgMV08L2NvZGU+LjwvbGk+CjxsaT5JZiA8Y29kZT5wYXR0ZXJuW2ldID09ICdEJzwvY29kZT4sIHRoZW4gPGNvZGU+bnVtW2ldICZndDsgbnVtW2kgKyAxXTwvY29kZT4uPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgbGV4aWNvZ3JhcGhpY2FsbHkgPHN0cm9uZz5zbWFsbGVzdDwvc3Ryb25nPiBwb3NzaWJsZSBzdHJpbmcgPC9lbT48Y29kZT5udW08L2NvZGU+PGVtPiB0aGF0IG1lZXRzIHRoZSBjb25kaXRpb25zLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBwYXR0ZXJuID0gIklJSURJREREIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gIjEyMzU0OTg3NiIKPHN0cm9uZz5FeHBsYW5hdGlvbjoKPC9zdHJvbmc+QXQgaW5kaWNlcyAwLCAxLCAyLCBhbmQgNCB3ZSBtdXN0IGhhdmUgdGhhdCBudW1baV0gJmx0OyBudW1baSsxXS4KQXQgaW5kaWNlcyAzLCA1LCA2LCBhbmQgNyB3ZSBtdXN0IGhhdmUgdGhhdCBudW1baV0gJmd0OyBudW1baSsxXS4KU29tZSBwb3NzaWJsZSB2YWx1ZXMgb2YgbnVtIGFyZSAiMjQ1NjM5ODcxIiwgIjEzNTc0OTg2MiIsIGFuZCAiMTIzODQ5NzY1Ii4KSXQgY2FuIGJlIHByb3ZlbiB0aGF0ICIxMjM1NDk4NzYiIGlzIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSBudW0gdGhhdCBtZWV0cyB0aGUgY29uZGl0aW9ucy4KTm90ZSB0aGF0ICIxMjM0MTQzMjEiIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHRoZSBkaWdpdCAnMScgaXMgdXNlZCBtb3JlIHRoYW4gb25jZS48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBwYXR0ZXJuID0gIkRERCIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICI0MzIxIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpTb21lIHBvc3NpYmxlIHZhbHVlcyBvZiBudW0gYXJlICI5ODc2IiwgIjczMjEiLCBhbmQgIjg3NDIiLgpJdCBjYW4gYmUgcHJvdmVuIHRoYXQgIjQzMjEiIGlzIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSBudW0gdGhhdCBtZWV0cyB0aGUgY29uZGl0aW9ucy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBwYXR0ZXJuLmxlbmd0aCAmbHQ7PSA4PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5wYXR0ZXJuPC9jb2RlPiBjb25zaXN0cyBvZiBvbmx5IHRoZSBsZXR0ZXJzIDxjb2RlPidJJzwvY29kZT4gYW5kIDxjb2RlPidEJzwvY29kZT4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "String",
+ "Backtracking",
+ "Stack",
+ "Greedy"
+ ]
+ },
+ {
+ "title": "2374. Node With Highest Edge Score",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBkaXJlY3RlZCBncmFwaCB3aXRoIDxjb2RlPm48L2NvZGU+IG5vZGVzIGxhYmVsZWQgZnJvbSA8Y29kZT4wPC9jb2RlPiB0byA8Y29kZT5uIC0gMTwvY29kZT4sIHdoZXJlIGVhY2ggbm9kZSBoYXMgPHN0cm9uZz5leGFjdGx5IG9uZTwvc3Ryb25nPiBvdXRnb2luZyBlZGdlLjwvcD4KPHA+VGhlIGdyYXBoIGlzIHJlcHJlc2VudGVkIGJ5IGEgZ2l2ZW4gPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT5lZGdlczwvY29kZT4gb2YgbGVuZ3RoIDxjb2RlPm48L2NvZGU+LCB3aGVyZSA8Y29kZT5lZGdlc1tpXTwvY29kZT4gaW5kaWNhdGVzIHRoYXQgdGhlcmUgaXMgYSA8c3Ryb25nPmRpcmVjdGVkPC9zdHJvbmc+IGVkZ2UgZnJvbSBub2RlIDxjb2RlPmk8L2NvZGU+IHRvIG5vZGUgPGNvZGU+ZWRnZXNbaV08L2NvZGU+LjwvcD4KPHA+VGhlIDxzdHJvbmc+ZWRnZSBzY29yZTwvc3Ryb25nPiBvZiBhIG5vZGUgPGNvZGU+aTwvY29kZT4gaXMgZGVmaW5lZCBhcyB0aGUgc3VtIG9mIHRoZSA8c3Ryb25nPmxhYmVsczwvc3Ryb25nPiBvZiBhbGwgdGhlIG5vZGVzIHRoYXQgaGF2ZSBhbiBlZGdlIHBvaW50aW5nIHRvIDxjb2RlPmk8L2NvZGU+LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgbm9kZSB3aXRoIHRoZSBoaWdoZXN0IDxzdHJvbmc+ZWRnZSBzY29yZTwvc3Ryb25nPjwvZW0+LiBJZiBtdWx0aXBsZSBub2RlcyBoYXZlIHRoZSBzYW1lIDxzdHJvbmc+ZWRnZSBzY29yZTwvc3Ryb25nPiwgcmV0dXJuIHRoZSBub2RlIHdpdGggdGhlIDxzdHJvbmc+c21hbGxlc3Q8L3N0cm9uZz4gaW5kZXguPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDYvMjAvaW1hZ2UtMjAyMjA2MjAxOTU0MDMtMS5wbmciIHN0eWxlPSJ3aWR0aDogNDUwcHg7IGhlaWdodDogMjYwcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZWRnZXMgPSBbMSwwLDAsMCwwLDcsNyw1XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgotIFRoZSBub2RlcyAxLCAyLCAzIGFuZCA0IGhhdmUgYW4gZWRnZSBwb2ludGluZyB0byBub2RlIDAuIFRoZSBlZGdlIHNjb3JlIG9mIG5vZGUgMCBpcyAxICsgMiArIDMgKyA0ID0gMTAuCi0gVGhlIG5vZGUgMCBoYXMgYW4gZWRnZSBwb2ludGluZyB0byBub2RlIDEuIFRoZSBlZGdlIHNjb3JlIG9mIG5vZGUgMSBpcyAwLgotIFRoZSBub2RlIDcgaGFzIGFuIGVkZ2UgcG9pbnRpbmcgdG8gbm9kZSA1LiBUaGUgZWRnZSBzY29yZSBvZiBub2RlIDUgaXMgNy4KLSBUaGUgbm9kZXMgNSBhbmQgNiBoYXZlIGFuIGVkZ2UgcG9pbnRpbmcgdG8gbm9kZSA3LiBUaGUgZWRnZSBzY29yZSBvZiBub2RlIDcgaXMgNSArIDYgPSAxMS4KTm9kZSA3IGhhcyB0aGUgaGlnaGVzdCBlZGdlIHNjb3JlIHNvIHJldHVybiA3Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDYvMjAvaW1hZ2UtMjAyMjA2MjAyMDAyMTItMy5wbmciIHN0eWxlPSJ3aWR0aDogMTUwcHg7IGhlaWdodDogMTU1cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZWRnZXMgPSBbMiwwLDAsMl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KLSBUaGUgbm9kZXMgMSBhbmQgMiBoYXZlIGFuIGVkZ2UgcG9pbnRpbmcgdG8gbm9kZSAwLiBUaGUgZWRnZSBzY29yZSBvZiBub2RlIDAgaXMgMSArIDIgPSAzLgotIFRoZSBub2RlcyAwIGFuZCAzIGhhdmUgYW4gZWRnZSBwb2ludGluZyB0byBub2RlIDIuIFRoZSBlZGdlIHNjb3JlIG9mIG5vZGUgMiBpcyAwICsgMyA9IDMuCk5vZGVzIDAgYW5kIDIgYm90aCBoYXZlIGFuIGVkZ2Ugc2NvcmUgb2YgMy4gU2luY2Ugbm9kZSAwIGhhcyBhIHNtYWxsZXIgaW5kZXgsIHdlIHJldHVybiAwLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IGVkZ2VzLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MiAmbHQ7PSBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IGVkZ2VzW2ldICZsdDsgbjwvY29kZT48L2xpPgo8bGk+PGNvZGU+ZWRnZXNbaV0gIT0gaTwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Hash Table",
+ "Graph"
+ ]
+ },
+ {
+ "title": "2364. Count Number of Bad Pairs",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+LiBBIHBhaXIgb2YgaW5kaWNlcyA8Y29kZT4oaSwgaik8L2NvZGU+IGlzIGEgPHN0cm9uZz5iYWQgcGFpcjwvc3Ryb25nPiBpZiA8Y29kZT5pICZsdDsgajwvY29kZT4gYW5kIDxjb2RlPmogLSBpICE9IG51bXNbal0gLSBudW1zW2ldPC9jb2RlPi48L3A+CjxwPlJldHVybjxlbT4gdGhlIHRvdGFsIG51bWJlciBvZiA8c3Ryb25nPmJhZCBwYWlyczwvc3Ryb25nPiBpbiA8L2VtPjxjb2RlPm51bXM8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs0LDEsMywzXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgcGFpciAoMCwgMSkgaXMgYSBiYWQgcGFpciBzaW5jZSAxIC0gMCAhPSAxIC0gNC4KVGhlIHBhaXIgKDAsIDIpIGlzIGEgYmFkIHBhaXIgc2luY2UgMiAtIDAgIT0gMyAtIDQsIDIgIT0gLTEuClRoZSBwYWlyICgwLCAzKSBpcyBhIGJhZCBwYWlyIHNpbmNlIDMgLSAwICE9IDMgLSA0LCAzICE9IC0xLgpUaGUgcGFpciAoMSwgMikgaXMgYSBiYWQgcGFpciBzaW5jZSAyIC0gMSAhPSAzIC0gMSwgMSAhPSAyLgpUaGUgcGFpciAoMiwgMykgaXMgYSBiYWQgcGFpciBzaW5jZSAzIC0gMiAhPSAzIC0gMywgMSAhPSAwLgpUaGVyZSBhcmUgYSB0b3RhbCBvZiA1IGJhZCBwYWlycywgc28gd2UgcmV0dXJuIDUuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSwyLDMsNCw1XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGVyZSBhcmUgbm8gYmFkIHBhaXJzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0gJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table"
+ ]
+ },
+ {
+ "title": "2368. Reachable Nodes With Restrictions",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGFuIHVuZGlyZWN0ZWQgdHJlZSB3aXRoIDxjb2RlPm48L2NvZGU+IG5vZGVzIGxhYmVsZWQgZnJvbSA8Y29kZT4wPC9jb2RlPiB0byA8Y29kZT5uIC0gMTwvY29kZT4gYW5kIDxjb2RlPm4gLSAxPC9jb2RlPiBlZGdlcy48L3A+CjxwPllvdSBhcmUgZ2l2ZW4gYSAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPmVkZ2VzPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+biAtIDE8L2NvZGU+IHdoZXJlIDxjb2RlPmVkZ2VzW2ldID0gW2E8c3ViPmk8L3N1Yj4sIGI8c3ViPmk8L3N1Yj5dPC9jb2RlPiBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBpcyBhbiBlZGdlIGJldHdlZW4gbm9kZXMgPGNvZGU+YTxzdWI+aTwvc3ViPjwvY29kZT4gYW5kIDxjb2RlPmI8c3ViPmk8L3N1Yj48L2NvZGU+IGluIHRoZSB0cmVlLiBZb3UgYXJlIGFsc28gZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5yZXN0cmljdGVkPC9jb2RlPiB3aGljaCByZXByZXNlbnRzIDxzdHJvbmc+cmVzdHJpY3RlZDwvc3Ryb25nPiBub2Rlcy48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBudW1iZXIgb2Ygbm9kZXMgeW91IGNhbiByZWFjaCBmcm9tIG5vZGUgPC9lbT48Y29kZT4wPC9jb2RlPjxlbT4gd2l0aG91dCB2aXNpdGluZyBhIHJlc3RyaWN0ZWQgbm9kZS48L2VtPjwvcD4KPHA+Tm90ZSB0aGF0IG5vZGUgPGNvZGU+MDwvY29kZT4gd2lsbCA8c3Ryb25nPm5vdDwvc3Ryb25nPiBiZSBhIHJlc3RyaWN0ZWQgbm9kZS48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDYvMTUvZXgxZHJhd2lvLnBuZyIgc3R5bGU9IndpZHRoOiA0MDJweDsgaGVpZ2h0OiAzMjJweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gNywgZWRnZXMgPSBbWzAsMV0sWzEsMl0sWzMsMV0sWzQsMF0sWzAsNV0sWzUsNl1dLCByZXN0cmljdGVkID0gWzQsNV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGRpYWdyYW0gYWJvdmUgc2hvd3MgdGhlIHRyZWUuCldlIGhhdmUgdGhhdCBbMCwxLDIsM10gYXJlIHRoZSBvbmx5IG5vZGVzIHRoYXQgY2FuIGJlIHJlYWNoZWQgZnJvbSBub2RlIDAgd2l0aG91dCB2aXNpdGluZyBhIHJlc3RyaWN0ZWQgbm9kZS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wNi8xNS9leDJkcmF3aW8ucG5nIiBzdHlsZT0id2lkdGg6IDQxMnB4OyBoZWlnaHQ6IDMxMnB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSA3LCBlZGdlcyA9IFtbMCwxXSxbMCwyXSxbMCw1XSxbMCw0XSxbMywyXSxbNiw1XV0sIHJlc3RyaWN0ZWQgPSBbNCwyLDFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBkaWFncmFtIGFib3ZlIHNob3dzIHRoZSB0cmVlLgpXZSBoYXZlIHRoYXQgWzAsNSw2XSBhcmUgdGhlIG9ubHkgbm9kZXMgdGhhdCBjYW4gYmUgcmVhY2hlZCBmcm9tIG5vZGUgMCB3aXRob3V0IHZpc2l0aW5nIGEgcmVzdHJpY3RlZCBub2RlLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4yICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPmVkZ2VzLmxlbmd0aCA9PSBuIC0gMTwvY29kZT48L2xpPgo8bGk+PGNvZGU+ZWRnZXNbaV0ubGVuZ3RoID09IDI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gYTxzdWI+aTwvc3ViPiwgYjxzdWI+aTwvc3ViPiAmbHQ7IG48L2NvZGU+PC9saT4KPGxpPjxjb2RlPmE8c3ViPmk8L3N1Yj4gIT0gYjxzdWI+aTwvc3ViPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+ZWRnZXM8L2NvZGU+IHJlcHJlc2VudHMgYSB2YWxpZCB0cmVlLjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHJlc3RyaWN0ZWQubGVuZ3RoICZsdDsgbjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSByZXN0cmljdGVkW2ldICZsdDsgbjwvY29kZT48L2xpPgo8bGk+QWxsIHRoZSB2YWx1ZXMgb2YgPGNvZGU+cmVzdHJpY3RlZDwvY29kZT4gYXJlIDxzdHJvbmc+dW5pcXVlPC9zdHJvbmc+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Tree",
+ "Depth-First Search",
+ "Breadth-First Search",
+ "Graph"
+ ]
+ },
+ {
+ "title": "2370. Longest Ideal Subsequence",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4gY29uc2lzdGluZyBvZiBsb3dlcmNhc2UgbGV0dGVycyBhbmQgYW4gaW50ZWdlciA8Y29kZT5rPC9jb2RlPi4gV2UgY2FsbCBhIHN0cmluZyA8Y29kZT50PC9jb2RlPiA8c3Ryb25nPmlkZWFsPC9zdHJvbmc+IGlmIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgc2F0aXNmaWVkOjwvcD4KPHVsPgo8bGk+PGNvZGU+dDwvY29kZT4gaXMgYSA8c3Ryb25nPnN1YnNlcXVlbmNlPC9zdHJvbmc+IG9mIHRoZSBzdHJpbmcgPGNvZGU+czwvY29kZT4uPC9saT4KPGxpPlRoZSBhYnNvbHV0ZSBkaWZmZXJlbmNlIGluIHRoZSBhbHBoYWJldCBvcmRlciBvZiBldmVyeSB0d28gPHN0cm9uZz5hZGphY2VudDwvc3Ryb25nPiBsZXR0ZXJzIGluIDxjb2RlPnQ8L2NvZGU+IGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byA8Y29kZT5rPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPnRoZSBsZW5ndGggb2YgdGhlIDxzdHJvbmc+bG9uZ2VzdDwvc3Ryb25nPiBpZGVhbCBzdHJpbmc8L2VtPi48L3A+CjxwPkEgPHN0cm9uZz5zdWJzZXF1ZW5jZTwvc3Ryb25nPiBpcyBhIHN0cmluZyB0aGF0IGNhbiBiZSBkZXJpdmVkIGZyb20gYW5vdGhlciBzdHJpbmcgYnkgZGVsZXRpbmcgc29tZSBvciBubyBjaGFyYWN0ZXJzIHdpdGhvdXQgY2hhbmdpbmcgdGhlIG9yZGVyIG9mIHRoZSByZW1haW5pbmcgY2hhcmFjdGVycy48L3A+CjxwPjxzdHJvbmc+Tm90ZTwvc3Ryb25nPiB0aGF0IHRoZSBhbHBoYWJldCBvcmRlciBpcyBub3QgY3ljbGljLiBGb3IgZXhhbXBsZSwgdGhlIGFic29sdXRlIGRpZmZlcmVuY2UgaW4gdGhlIGFscGhhYmV0IG9yZGVyIG9mIDxjb2RlPidhJzwvY29kZT4gYW5kIDxjb2RlPid6JzwvY29kZT4gaXMgPGNvZGU+MjU8L2NvZGU+LCBub3QgPGNvZGU+MTwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImFjZmdiZCIsIGsgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBsb25nZXN0IGlkZWFsIHN0cmluZyBpcyAiYWNiZCIuIFRoZSBsZW5ndGggb2YgdGhpcyBzdHJpbmcgaXMgNCwgc28gNCBpcyByZXR1cm5lZC4KTm90ZSB0aGF0ICJhY2ZnYmQiIGlzIG5vdCBpZGVhbCBiZWNhdXNlICdjJyBhbmQgJ2YnIGhhdmUgYSBkaWZmZXJlbmNlIG9mIDMgaW4gYWxwaGFiZXQgb3JkZXIuPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJhYmNkIiwgayA9IDMKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGxvbmdlc3QgaWRlYWwgc3RyaW5nIGlzICJhYmNkIi4gVGhlIGxlbmd0aCBvZiB0aGlzIHN0cmluZyBpcyA0LCBzbyA0IGlzIHJldHVybmVkLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IGsgJmx0Oz0gMjU8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnM8L2NvZGU+IGNvbnNpc3RzIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Hash Table",
+ "String",
+ "Dynamic Programming"
+ ]
+ },
+ {
+ "title": "2369. Check if There is a Valid Partition For The Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+LiBZb3UgaGF2ZSB0byBwYXJ0aXRpb24gdGhlIGFycmF5IGludG8gb25lIG9yIG1vcmUgPHN0cm9uZz5jb250aWd1b3VzPC9zdHJvbmc+IHN1YmFycmF5cy48L3A+CjxwPldlIGNhbGwgYSBwYXJ0aXRpb24gb2YgdGhlIGFycmF5IDxzdHJvbmc+dmFsaWQ8L3N0cm9uZz4gaWYgZWFjaCBvZiB0aGUgb2J0YWluZWQgc3ViYXJyYXlzIHNhdGlzZmllcyA8c3Ryb25nPm9uZTwvc3Ryb25nPiBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6PC9wPgo8b2w+CjxsaT5UaGUgc3ViYXJyYXkgY29uc2lzdHMgb2YgPHN0cm9uZz5leGFjdGx5PC9zdHJvbmc+IDxjb2RlPjI8L2NvZGU+IGVxdWFsIGVsZW1lbnRzLiBGb3IgZXhhbXBsZSwgdGhlIHN1YmFycmF5IDxjb2RlPlsyLDJdPC9jb2RlPiBpcyBnb29kLjwvbGk+CjxsaT5UaGUgc3ViYXJyYXkgY29uc2lzdHMgb2YgPHN0cm9uZz5leGFjdGx5PC9zdHJvbmc+IDxjb2RlPjM8L2NvZGU+IGVxdWFsIGVsZW1lbnRzLiBGb3IgZXhhbXBsZSwgdGhlIHN1YmFycmF5IDxjb2RlPls0LDQsNF08L2NvZGU+IGlzIGdvb2QuPC9saT4KPGxpPlRoZSBzdWJhcnJheSBjb25zaXN0cyBvZiA8c3Ryb25nPmV4YWN0bHk8L3N0cm9uZz4gPGNvZGU+MzwvY29kZT4gY29uc2VjdXRpdmUgaW5jcmVhc2luZyBlbGVtZW50cywgdGhhdCBpcywgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhZGphY2VudCBlbGVtZW50cyBpcyA8Y29kZT4xPC9jb2RlPi4gRm9yIGV4YW1wbGUsIHRoZSBzdWJhcnJheSA8Y29kZT5bMyw0LDVdPC9jb2RlPiBpcyBnb29kLCBidXQgdGhlIHN1YmFycmF5IDxjb2RlPlsxLDMsNV08L2NvZGU+IGlzIG5vdC48L2xpPgo8L29sPgo8cD5SZXR1cm4gPGNvZGU+dHJ1ZTwvY29kZT48ZW0+IGlmIHRoZSBhcnJheSBoYXMgPHN0cm9uZz5hdCBsZWFzdDwvc3Ryb25nPiBvbmUgdmFsaWQgcGFydGl0aW9uPC9lbT4uIE90aGVyd2lzZSwgcmV0dXJuIDxjb2RlPmZhbHNlPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNCw0LDQsNSw2XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gdHJ1ZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgYXJyYXkgY2FuIGJlIHBhcnRpdGlvbmVkIGludG8gdGhlIHN1YmFycmF5cyBbNCw0XSBhbmQgWzQsNSw2XS4KVGhpcyBwYXJ0aXRpb24gaXMgdmFsaWQsIHNvIHdlIHJldHVybiB0cnVlLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMSwxLDJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBmYWxzZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGVyZSBpcyBubyB2YWxpZCBwYXJ0aXRpb24gZm9yIHRoaXMgYXJyYXkuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjIgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+Njwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Dynamic Programming"
+ ]
+ },
+ {
+ "title": "2359. Find Closest Node to Given Two Nodes",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPmRpcmVjdGVkPC9zdHJvbmc+IGdyYXBoIG9mIDxjb2RlPm48L2NvZGU+IG5vZGVzIG51bWJlcmVkIGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+biAtIDE8L2NvZGU+LCB3aGVyZSBlYWNoIG5vZGUgaGFzIDxzdHJvbmc+YXQgbW9zdCBvbmU8L3N0cm9uZz4gb3V0Z29pbmcgZWRnZS48L3A+CjxwPlRoZSBncmFwaCBpcyByZXByZXNlbnRlZCB3aXRoIGEgZ2l2ZW4gPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gYXJyYXkgPGNvZGU+ZWRnZXM8L2NvZGU+IG9mIHNpemUgPGNvZGU+bjwvY29kZT4sIGluZGljYXRpbmcgdGhhdCB0aGVyZSBpcyBhIGRpcmVjdGVkIGVkZ2UgZnJvbSBub2RlIDxjb2RlPmk8L2NvZGU+IHRvIG5vZGUgPGNvZGU+ZWRnZXNbaV08L2NvZGU+LiBJZiB0aGVyZSBpcyBubyBvdXRnb2luZyBlZGdlIGZyb20gPGNvZGU+aTwvY29kZT4sIHRoZW4gPGNvZGU+ZWRnZXNbaV0gPT0gLTE8L2NvZGU+LjwvcD4KPHA+WW91IGFyZSBhbHNvIGdpdmVuIHR3byBpbnRlZ2VycyA8Y29kZT5ub2RlMTwvY29kZT4gYW5kIDxjb2RlPm5vZGUyPC9jb2RlPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+aW5kZXg8L3N0cm9uZz4gb2YgdGhlIG5vZGUgdGhhdCBjYW4gYmUgcmVhY2hlZCBmcm9tIGJvdGggPC9lbT48Y29kZT5ub2RlMTwvY29kZT48ZW0+IGFuZCA8L2VtPjxjb2RlPm5vZGUyPC9jb2RlPjxlbT4sIHN1Y2ggdGhhdCB0aGUgPHN0cm9uZz5tYXhpbXVtPC9zdHJvbmc+IGJldHdlZW4gdGhlIGRpc3RhbmNlIGZyb20gPC9lbT48Y29kZT5ub2RlMTwvY29kZT48ZW0+IHRvIHRoYXQgbm9kZSwgYW5kIGZyb20gPC9lbT48Y29kZT5ub2RlMjwvY29kZT48ZW0+IHRvIHRoYXQgbm9kZSBpcyA8c3Ryb25nPm1pbmltaXplZDwvc3Ryb25nPjwvZW0+LiBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgYW5zd2VycywgcmV0dXJuIHRoZSBub2RlIHdpdGggdGhlIDxzdHJvbmc+c21hbGxlc3Q8L3N0cm9uZz4gaW5kZXgsIGFuZCBpZiBubyBwb3NzaWJsZSBhbnN3ZXIgZXhpc3RzLCByZXR1cm4gPGNvZGU+LTE8L2NvZGU+LjwvcD4KPHA+Tm90ZSB0aGF0IDxjb2RlPmVkZ2VzPC9jb2RlPiBtYXkgY29udGFpbiBjeWNsZXMuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA2LzA3L2dyYXBoNGRyYXdpby0yLnBuZyIgc3R5bGU9IndpZHRoOiAzMjFweDsgaGVpZ2h0OiAxNjFweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBlZGdlcyA9IFsyLDIsMywtMV0sIG5vZGUxID0gMCwgbm9kZTIgPSAxCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBkaXN0YW5jZSBmcm9tIG5vZGUgMCB0byBub2RlIDIgaXMgMSwgYW5kIHRoZSBkaXN0YW5jZSBmcm9tIG5vZGUgMSB0byBub2RlIDIgaXMgMS4KVGhlIG1heGltdW0gb2YgdGhvc2UgdHdvIGRpc3RhbmNlcyBpcyAxLiBJdCBjYW4gYmUgcHJvdmVuIHRoYXQgd2UgY2Fubm90IGdldCBhIG5vZGUgd2l0aCBhIHNtYWxsZXIgbWF4aW11bSBkaXN0YW5jZSB0aGFuIDEsIHNvIHdlIHJldHVybiBub2RlIDIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDYvMDcvZ3JhcGg0ZHJhd2lvLTQucG5nIiBzdHlsZT0id2lkdGg6IDE5NXB4OyBoZWlnaHQ6IDE2MXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGVkZ2VzID0gWzEsMiwtMV0sIG5vZGUxID0gMCwgbm9kZTIgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBkaXN0YW5jZSBmcm9tIG5vZGUgMCB0byBub2RlIDIgaXMgMiwgYW5kIHRoZSBkaXN0YW5jZSBmcm9tIG5vZGUgMiB0byBpdHNlbGYgaXMgMC4KVGhlIG1heGltdW0gb2YgdGhvc2UgdHdvIGRpc3RhbmNlcyBpcyAyLiBJdCBjYW4gYmUgcHJvdmVuIHRoYXQgd2UgY2Fubm90IGdldCBhIG5vZGUgd2l0aCBhIHNtYWxsZXIgbWF4aW11bSBkaXN0YW5jZSB0aGFuIDIsIHNvIHdlIHJldHVybiBub2RlIDIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gZWRnZXMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4yICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPi0xICZsdDs9IGVkZ2VzW2ldICZsdDsgbjwvY29kZT48L2xpPgo8bGk+PGNvZGU+ZWRnZXNbaV0gIT0gaTwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBub2RlMSwgbm9kZTIgJmx0OyBuPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Depth-First Search",
+ "Graph"
+ ]
+ },
+ {
+ "title": "2358. Maximum Number of Groups Entering a Competition",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBwb3NpdGl2ZSBpbnRlZ2VyIGFycmF5IDxjb2RlPmdyYWRlczwvY29kZT4gd2hpY2ggcmVwcmVzZW50cyB0aGUgZ3JhZGVzIG9mIHN0dWRlbnRzIGluIGEgdW5pdmVyc2l0eS4gWW91IHdvdWxkIGxpa2UgdG8gZW50ZXIgPHN0cm9uZz5hbGw8L3N0cm9uZz4gdGhlc2Ugc3R1ZGVudHMgaW50byBhIGNvbXBldGl0aW9uIGluIDxzdHJvbmc+b3JkZXJlZDwvc3Ryb25nPiBub24tZW1wdHkgZ3JvdXBzLCBzdWNoIHRoYXQgdGhlIG9yZGVyaW5nIG1lZXRzIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczo8L3A+Cjx1bD4KPGxpPlRoZSBzdW0gb2YgdGhlIGdyYWRlcyBvZiBzdHVkZW50cyBpbiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGdyb3VwIGlzIDxzdHJvbmc+bGVzcyB0aGFuPC9zdHJvbmc+IHRoZSBzdW0gb2YgdGhlIGdyYWRlcyBvZiBzdHVkZW50cyBpbiB0aGUgPGNvZGU+KGkgKyAxKTxzdXA+dGg8L3N1cD48L2NvZGU+IGdyb3VwLCBmb3IgYWxsIGdyb3VwcyAoZXhjZXB0IHRoZSBsYXN0KS48L2xpPgo8bGk+VGhlIHRvdGFsIG51bWJlciBvZiBzdHVkZW50cyBpbiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGdyb3VwIGlzIDxzdHJvbmc+bGVzcyB0aGFuPC9zdHJvbmc+IHRoZSB0b3RhbCBudW1iZXIgb2Ygc3R1ZGVudHMgaW4gdGhlIDxjb2RlPihpICsgMSk8c3VwPnRoPC9zdXA+PC9jb2RlPiBncm91cCwgZm9yIGFsbCBncm91cHMgKGV4Y2VwdCB0aGUgbGFzdCkuPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5tYXhpbXVtPC9zdHJvbmc+IG51bWJlciBvZiBncm91cHMgdGhhdCBjYW4gYmUgZm9ybWVkPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBncmFkZXMgPSBbMTAsNiwxMiw3LDMsNV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGZvbGxvd2luZyBpcyBhIHBvc3NpYmxlIHdheSB0byBmb3JtIDMgZ3JvdXBzIG9mIHN0dWRlbnRzOgotIDE8c3VwPnN0PC9zdXA+IGdyb3VwIGhhcyB0aGUgc3R1ZGVudHMgd2l0aCBncmFkZXMgPSBbMTJdLiBTdW0gb2YgZ3JhZGVzOiAxMi4gU3R1ZGVudCBjb3VudDogMQotIDI8c3VwPm5kPC9zdXA+IGdyb3VwIGhhcyB0aGUgc3R1ZGVudHMgd2l0aCBncmFkZXMgPSBbNiw3XS4gU3VtIG9mIGdyYWRlczogNiArIDcgPSAxMy4gU3R1ZGVudCBjb3VudDogMgotIDM8c3VwPnJkPC9zdXA+IGdyb3VwIGhhcyB0aGUgc3R1ZGVudHMgd2l0aCBncmFkZXMgPSBbMTAsMyw1XS4gU3VtIG9mIGdyYWRlczogMTAgKyAzICsgNSA9IDE4LiBTdHVkZW50IGNvdW50OiAzCkl0IGNhbiBiZSBzaG93biB0aGF0IGl0IGlzIG5vdCBwb3NzaWJsZSB0byBmb3JtIG1vcmUgdGhhbiAzIGdyb3Vwcy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JhZGVzID0gWzgsOF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gV2UgY2FuIG9ubHkgZm9ybSAxIGdyb3VwLCBzaW5jZSBmb3JtaW5nIDIgZ3JvdXBzIHdvdWxkIGxlYWQgdG8gYW4gZXF1YWwgbnVtYmVyIG9mIHN0dWRlbnRzIGluIGJvdGggZ3JvdXBzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IGdyYWRlcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gZ3JhZGVzW2ldICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Math",
+ "Binary Search",
+ "Greedy"
+ ]
+ },
+ {
+ "title": "2349. Design a Number Container System",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkRlc2lnbiBhIG51bWJlciBjb250YWluZXIgc3lzdGVtIHRoYXQgY2FuIGRvIHRoZSBmb2xsb3dpbmc6PC9wPgo8dWw+CjxsaT48c3Ryb25nPkluc2VydCA8L3N0cm9uZz5vciA8c3Ryb25nPlJlcGxhY2U8L3N0cm9uZz4gYSBudW1iZXIgYXQgdGhlIGdpdmVuIGluZGV4IGluIHRoZSBzeXN0ZW0uPC9saT4KPGxpPjxzdHJvbmc+UmV0dXJuIDwvc3Ryb25nPnRoZSBzbWFsbGVzdCBpbmRleCBmb3IgdGhlIGdpdmVuIG51bWJlciBpbiB0aGUgc3lzdGVtLjwvbGk+CjwvdWw+CjxwPkltcGxlbWVudCB0aGUgPGNvZGU+TnVtYmVyQ29udGFpbmVyczwvY29kZT4gY2xhc3M6PC9wPgo8dWw+CjxsaT48Y29kZT5OdW1iZXJDb250YWluZXJzKCk8L2NvZGU+IEluaXRpYWxpemVzIHRoZSBudW1iZXIgY29udGFpbmVyIHN5c3RlbS48L2xpPgo8bGk+PGNvZGU+dm9pZCBjaGFuZ2UoaW50IGluZGV4LCBpbnQgbnVtYmVyKTwvY29kZT4gRmlsbHMgdGhlIGNvbnRhaW5lciBhdCA8Y29kZT5pbmRleDwvY29kZT4gd2l0aCB0aGUgPGNvZGU+bnVtYmVyPC9jb2RlPi4gSWYgdGhlcmUgaXMgYWxyZWFkeSBhIG51bWJlciBhdCB0aGF0IDxjb2RlPmluZGV4PC9jb2RlPiwgcmVwbGFjZSBpdC48L2xpPgo8bGk+PGNvZGU+aW50IGZpbmQoaW50IG51bWJlcik8L2NvZGU+IFJldHVybnMgdGhlIHNtYWxsZXN0IGluZGV4IGZvciB0aGUgZ2l2ZW4gPGNvZGU+bnVtYmVyPC9jb2RlPiwgb3IgPGNvZGU+LTE8L2NvZGU+IGlmIHRoZXJlIGlzIG5vIGluZGV4IHRoYXQgaXMgZmlsbGVkIGJ5IDxjb2RlPm51bWJlcjwvY29kZT4gaW4gdGhlIHN5c3RlbS48L2xpPgo8L3VsPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0PC9zdHJvbmc+ClsiTnVtYmVyQ29udGFpbmVycyIsICJmaW5kIiwgImNoYW5nZSIsICJjaGFuZ2UiLCAiY2hhbmdlIiwgImNoYW5nZSIsICJmaW5kIiwgImNoYW5nZSIsICJmaW5kIl0KW1tdLCBbMTBdLCBbMiwgMTBdLCBbMSwgMTBdLCBbMywgMTBdLCBbNSwgMTBdLCBbMTBdLCBbMSwgMjBdLCBbMTBdXQo8c3Ryb25nPk91dHB1dDwvc3Ryb25nPgpbbnVsbCwgLTEsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIDEsIG51bGwsIDJdCgo8c3Ryb25nPkV4cGxhbmF0aW9uPC9zdHJvbmc+Ck51bWJlckNvbnRhaW5lcnMgbmMgPSBuZXcgTnVtYmVyQ29udGFpbmVycygpOwpuYy5maW5kKDEwKTsgLy8gVGhlcmUgaXMgbm8gaW5kZXggdGhhdCBpcyBmaWxsZWQgd2l0aCBudW1iZXIgMTAuIFRoZXJlZm9yZSwgd2UgcmV0dXJuIC0xLgpuYy5jaGFuZ2UoMiwgMTApOyAvLyBZb3VyIGNvbnRhaW5lciBhdCBpbmRleCAyIHdpbGwgYmUgZmlsbGVkIHdpdGggbnVtYmVyIDEwLgpuYy5jaGFuZ2UoMSwgMTApOyAvLyBZb3VyIGNvbnRhaW5lciBhdCBpbmRleCAxIHdpbGwgYmUgZmlsbGVkIHdpdGggbnVtYmVyIDEwLgpuYy5jaGFuZ2UoMywgMTApOyAvLyBZb3VyIGNvbnRhaW5lciBhdCBpbmRleCAzIHdpbGwgYmUgZmlsbGVkIHdpdGggbnVtYmVyIDEwLgpuYy5jaGFuZ2UoNSwgMTApOyAvLyBZb3VyIGNvbnRhaW5lciBhdCBpbmRleCA1IHdpbGwgYmUgZmlsbGVkIHdpdGggbnVtYmVyIDEwLgpuYy5maW5kKDEwKTsgLy8gTnVtYmVyIDEwIGlzIGF0IHRoZSBpbmRpY2VzIDEsIDIsIDMsIGFuZCA1LiBTaW5jZSB0aGUgc21hbGxlc3QgaW5kZXggdGhhdCBpcyBmaWxsZWQgd2l0aCAxMCBpcyAxLCB3ZSByZXR1cm4gMS4KbmMuY2hhbmdlKDEsIDIwKTsgLy8gWW91ciBjb250YWluZXIgYXQgaW5kZXggMSB3aWxsIGJlIGZpbGxlZCB3aXRoIG51bWJlciAyMC4gTm90ZSB0aGF0IGluZGV4IDEgd2FzIGZpbGxlZCB3aXRoIDEwIGFuZCB0aGVuIHJlcGxhY2VkIHdpdGggMjAuIApuYy5maW5kKDEwKTsgLy8gTnVtYmVyIDEwIGlzIGF0IHRoZSBpbmRpY2VzIDIsIDMsIGFuZCA1LiBUaGUgc21hbGxlc3QgaW5kZXggdGhhdCBpcyBmaWxsZWQgd2l0aCAxMCBpcyAyLiBUaGVyZWZvcmUsIHdlIHJldHVybiAyLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IGluZGV4LCBudW1iZXIgJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPGxpPkF0IG1vc3QgPGNvZGU+MTA8c3VwPjU8L3N1cD48L2NvZGU+IGNhbGxzIHdpbGwgYmUgbWFkZSA8c3Ryb25nPmluIHRvdGFsPC9zdHJvbmc+IHRvIDxjb2RlPmNoYW5nZTwvY29kZT4gYW5kIDxjb2RlPmZpbmQ8L2NvZGU+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Hash Table",
+ "Design",
+ "Heap (Priority Queue)",
+ "Ordered Set"
+ ]
+ },
+ {
+ "title": "2348. Number of Zero-Filled Subarrays",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGludGVnZXIgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4sIHJldHVybiA8ZW0+dGhlIG51bWJlciBvZiA8c3Ryb25nPnN1YmFycmF5czwvc3Ryb25nPiBmaWxsZWQgd2l0aCA8L2VtPjxjb2RlPjA8L2NvZGU+LjwvcD4KPHA+QSA8c3Ryb25nPnN1YmFycmF5PC9zdHJvbmc+IGlzIGEgY29udGlndW91cyBub24tZW1wdHkgc2VxdWVuY2Ugb2YgZWxlbWVudHMgd2l0aGluIGFuIGFycmF5LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDMsMCwwLDIsMCwwLDRdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA2CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApUaGVyZSBhcmUgNCBvY2N1cnJlbmNlcyBvZiBbMF0gYXMgYSBzdWJhcnJheS4KVGhlcmUgYXJlIDIgb2NjdXJyZW5jZXMgb2YgWzAsMF0gYXMgYSBzdWJhcnJheS4KVGhlcmUgaXMgbm8gb2NjdXJyZW5jZSBvZiBhIHN1YmFycmF5IHdpdGggYSBzaXplIG1vcmUgdGhhbiAyIGZpbGxlZCB3aXRoIDAuIFRoZXJlZm9yZSwgd2UgcmV0dXJuIDYuPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFswLDAsMCwyLDAsMF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDkKPHN0cm9uZz5FeHBsYW5hdGlvbjoKPC9zdHJvbmc+VGhlcmUgYXJlIDUgb2NjdXJyZW5jZXMgb2YgWzBdIGFzIGEgc3ViYXJyYXkuClRoZXJlIGFyZSAzIG9jY3VycmVuY2VzIG9mIFswLDBdIGFzIGEgc3ViYXJyYXkuClRoZXJlIGlzIDEgb2NjdXJyZW5jZSBvZiBbMCwwLDBdIGFzIGEgc3ViYXJyYXkuClRoZXJlIGlzIG5vIG9jY3VycmVuY2Ugb2YgYSBzdWJhcnJheSB3aXRoIGEgc2l6ZSBtb3JlIHRoYW4gMyBmaWxsZWQgd2l0aCAwLiBUaGVyZWZvcmUsIHdlIHJldHVybiA5Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzIsMTAsMjAxOV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgaXMgbm8gc3ViYXJyYXkgZmlsbGVkIHdpdGggMC4gVGhlcmVmb3JlLCB3ZSByZXR1cm4gMC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+LTEwPHN1cD45PC9zdXA+ICZsdDs9IG51bXNbaV0gJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Math"
+ ]
+ },
+ {
+ "title": "2353. Design a Food Rating System",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkRlc2lnbiBhIGZvb2QgcmF0aW5nIHN5c3RlbSB0aGF0IGNhbiBkbyB0aGUgZm9sbG93aW5nOjwvcD4KPHVsPgo8bGk+PHN0cm9uZz5Nb2RpZnk8L3N0cm9uZz4gdGhlIHJhdGluZyBvZiBhIGZvb2QgaXRlbSBsaXN0ZWQgaW4gdGhlIHN5c3RlbS48L2xpPgo8bGk+UmV0dXJuIHRoZSBoaWdoZXN0LXJhdGVkIGZvb2QgaXRlbSBmb3IgYSB0eXBlIG9mIGN1aXNpbmUgaW4gdGhlIHN5c3RlbS48L2xpPgo8L3VsPgo8cD5JbXBsZW1lbnQgdGhlIDxjb2RlPkZvb2RSYXRpbmdzPC9jb2RlPiBjbGFzczo8L3A+Cjx1bD4KPGxpPjxjb2RlPkZvb2RSYXRpbmdzKFN0cmluZ1tdIGZvb2RzLCBTdHJpbmdbXSBjdWlzaW5lcywgaW50W10gcmF0aW5ncyk8L2NvZGU+IEluaXRpYWxpemVzIHRoZSBzeXN0ZW0uIFRoZSBmb29kIGl0ZW1zIGFyZSBkZXNjcmliZWQgYnkgPGNvZGU+Zm9vZHM8L2NvZGU+LCA8Y29kZT5jdWlzaW5lczwvY29kZT4gYW5kIDxjb2RlPnJhdGluZ3M8L2NvZGU+LCBhbGwgb2Ygd2hpY2ggaGF2ZSBhIGxlbmd0aCBvZiA8Y29kZT5uPC9jb2RlPi4KCgk8dWw+CjxsaT48Y29kZT5mb29kc1tpXTwvY29kZT4gaXMgdGhlIG5hbWUgb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBmb29kLDwvbGk+CjxsaT48Y29kZT5jdWlzaW5lc1tpXTwvY29kZT4gaXMgdGhlIHR5cGUgb2YgY3Vpc2luZSBvZiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGZvb2QsIGFuZDwvbGk+CjxsaT48Y29kZT5yYXRpbmdzW2ldPC9jb2RlPiBpcyB0aGUgaW5pdGlhbCByYXRpbmcgb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBmb29kLjwvbGk+CjwvdWw+CjwvbGk+CjxsaT48Y29kZT52b2lkIGNoYW5nZVJhdGluZyhTdHJpbmcgZm9vZCwgaW50IG5ld1JhdGluZyk8L2NvZGU+IENoYW5nZXMgdGhlIHJhdGluZyBvZiB0aGUgZm9vZCBpdGVtIHdpdGggdGhlIG5hbWUgPGNvZGU+Zm9vZDwvY29kZT4uPC9saT4KPGxpPjxjb2RlPlN0cmluZyBoaWdoZXN0UmF0ZWQoU3RyaW5nIGN1aXNpbmUpPC9jb2RlPiBSZXR1cm5zIHRoZSBuYW1lIG9mIHRoZSBmb29kIGl0ZW0gdGhhdCBoYXMgdGhlIGhpZ2hlc3QgcmF0aW5nIGZvciB0aGUgZ2l2ZW4gdHlwZSBvZiA8Y29kZT5jdWlzaW5lPC9jb2RlPi4gSWYgdGhlcmUgaXMgYSB0aWUsIHJldHVybiB0aGUgaXRlbSB3aXRoIHRoZSA8c3Ryb25nPmxleGljb2dyYXBoaWNhbGx5IHNtYWxsZXI8L3N0cm9uZz4gbmFtZS48L2xpPgo8L3VsPgo8cD5Ob3RlIHRoYXQgYSBzdHJpbmcgPGNvZGU+eDwvY29kZT4gaXMgbGV4aWNvZ3JhcGhpY2FsbHkgc21hbGxlciB0aGFuIHN0cmluZyA8Y29kZT55PC9jb2RlPiBpZiA8Y29kZT54PC9jb2RlPiBjb21lcyBiZWZvcmUgPGNvZGU+eTwvY29kZT4gaW4gZGljdGlvbmFyeSBvcmRlciwgdGhhdCBpcywgZWl0aGVyIDxjb2RlPng8L2NvZGU+IGlzIGEgcHJlZml4IG9mIDxjb2RlPnk8L2NvZGU+LCBvciBpZiA8Y29kZT5pPC9jb2RlPiBpcyB0aGUgZmlyc3QgcG9zaXRpb24gc3VjaCB0aGF0IDxjb2RlPnhbaV0gIT0geVtpXTwvY29kZT4sIHRoZW4gPGNvZGU+eFtpXTwvY29kZT4gY29tZXMgYmVmb3JlIDxjb2RlPnlbaV08L2NvZGU+IGluIGFscGhhYmV0aWMgb3JkZXIuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0PC9zdHJvbmc+ClsiRm9vZFJhdGluZ3MiLCAiaGlnaGVzdFJhdGVkIiwgImhpZ2hlc3RSYXRlZCIsICJjaGFuZ2VSYXRpbmciLCAiaGlnaGVzdFJhdGVkIiwgImNoYW5nZVJhdGluZyIsICJoaWdoZXN0UmF0ZWQiXQpbW1sia2ltY2hpIiwgIm1pc28iLCAic3VzaGkiLCAibW91c3Nha2EiLCAicmFtZW4iLCAiYnVsZ29naSJdLCBbImtvcmVhbiIsICJqYXBhbmVzZSIsICJqYXBhbmVzZSIsICJncmVlayIsICJqYXBhbmVzZSIsICJrb3JlYW4iXSwgWzksIDEyLCA4LCAxNSwgMTQsIDddXSwgWyJrb3JlYW4iXSwgWyJqYXBhbmVzZSJdLCBbInN1c2hpIiwgMTZdLCBbImphcGFuZXNlIl0sIFsicmFtZW4iLCAxNl0sIFsiamFwYW5lc2UiXV0KPHN0cm9uZz5PdXRwdXQ8L3N0cm9uZz4KW251bGwsICJraW1jaGkiLCAicmFtZW4iLCBudWxsLCAic3VzaGkiLCBudWxsLCAicmFtZW4iXQoKPHN0cm9uZz5FeHBsYW5hdGlvbjwvc3Ryb25nPgpGb29kUmF0aW5ncyBmb29kUmF0aW5ncyA9IG5ldyBGb29kUmF0aW5ncyhbImtpbWNoaSIsICJtaXNvIiwgInN1c2hpIiwgIm1vdXNzYWthIiwgInJhbWVuIiwgImJ1bGdvZ2kiXSwgWyJrb3JlYW4iLCAiamFwYW5lc2UiLCAiamFwYW5lc2UiLCAiZ3JlZWsiLCAiamFwYW5lc2UiLCAia29yZWFuIl0sIFs5LCAxMiwgOCwgMTUsIDE0LCA3XSk7CmZvb2RSYXRpbmdzLmhpZ2hlc3RSYXRlZCgia29yZWFuIik7IC8vIHJldHVybiAia2ltY2hpIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAia2ltY2hpIiBpcyB0aGUgaGlnaGVzdCByYXRlZCBrb3JlYW4gZm9vZCB3aXRoIGEgcmF0aW5nIG9mIDkuCmZvb2RSYXRpbmdzLmhpZ2hlc3RSYXRlZCgiamFwYW5lc2UiKTsgLy8gcmV0dXJuICJyYW1lbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAicmFtZW4iIGlzIHRoZSBoaWdoZXN0IHJhdGVkIGphcGFuZXNlIGZvb2Qgd2l0aCBhIHJhdGluZyBvZiAxNC4KZm9vZFJhdGluZ3MuY2hhbmdlUmF0aW5nKCJzdXNoaSIsIDE2KTsgLy8gInN1c2hpIiBub3cgaGFzIGEgcmF0aW5nIG9mIDE2Lgpmb29kUmF0aW5ncy5oaWdoZXN0UmF0ZWQoImphcGFuZXNlIik7IC8vIHJldHVybiAic3VzaGkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gInN1c2hpIiBpcyB0aGUgaGlnaGVzdCByYXRlZCBqYXBhbmVzZSBmb29kIHdpdGggYSByYXRpbmcgb2YgMTYuCmZvb2RSYXRpbmdzLmNoYW5nZVJhdGluZygicmFtZW4iLCAxNik7IC8vICJyYW1lbiIgbm93IGhhcyBhIHJhdGluZyBvZiAxNi4KZm9vZFJhdGluZ3MuaGlnaGVzdFJhdGVkKCJqYXBhbmVzZSIpOyAvLyByZXR1cm4gInJhbWVuIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEJvdGggInN1c2hpIiBhbmQgInJhbWVuIiBoYXZlIGEgcmF0aW5nIG9mIDE2LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEhvd2V2ZXIsICJyYW1lbiIgaXMgbGV4aWNvZ3JhcGhpY2FsbHkgc21hbGxlciB0aGFuICJzdXNoaSIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAyICogMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPm4gPT0gZm9vZHMubGVuZ3RoID09IGN1aXNpbmVzLmxlbmd0aCA9PSByYXRpbmdzLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBmb29kc1tpXS5sZW5ndGgsIGN1aXNpbmVzW2ldLmxlbmd0aCAmbHQ7PSAxMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+Zm9vZHNbaV08L2NvZGU+LCA8Y29kZT5jdWlzaW5lc1tpXTwvY29kZT4gY29uc2lzdCBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHJhdGluZ3NbaV0gJmx0Oz0gMTA8c3VwPjg8L3N1cD48L2NvZGU+PC9saT4KPGxpPkFsbCB0aGUgc3RyaW5ncyBpbiA8Y29kZT5mb29kczwvY29kZT4gYXJlIDxzdHJvbmc+ZGlzdGluY3Q8L3N0cm9uZz4uPC9saT4KPGxpPjxjb2RlPmZvb2Q8L2NvZGU+IHdpbGwgYmUgdGhlIG5hbWUgb2YgYSBmb29kIGl0ZW0gaW4gdGhlIHN5c3RlbSBhY3Jvc3MgYWxsIGNhbGxzIHRvIDxjb2RlPmNoYW5nZVJhdGluZzwvY29kZT4uPC9saT4KPGxpPjxjb2RlPmN1aXNpbmU8L2NvZGU+IHdpbGwgYmUgYSB0eXBlIG9mIGN1aXNpbmUgb2YgPHN0cm9uZz5hdCBsZWFzdCBvbmU8L3N0cm9uZz4gZm9vZCBpdGVtIGluIHRoZSBzeXN0ZW0gYWNyb3NzIGFsbCBjYWxscyB0byA8Y29kZT5oaWdoZXN0UmF0ZWQ8L2NvZGU+LjwvbGk+CjxsaT5BdCBtb3N0IDxjb2RlPjIgKiAxMDxzdXA+NDwvc3VwPjwvY29kZT4gY2FsbHMgPHN0cm9uZz5pbiB0b3RhbDwvc3Ryb25nPiB3aWxsIGJlIG1hZGUgdG8gPGNvZGU+Y2hhbmdlUmF0aW5nPC9jb2RlPiBhbmQgPGNvZGU+aGlnaGVzdFJhdGVkPC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Hash Table",
+ "Design",
+ "Heap (Priority Queue)",
+ "Ordered Set"
+ ]
+ },
+ {
+ "title": "2352. Equal Row and Column Pairs",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gPGNvZGU+biB4IG48L2NvZGU+IGludGVnZXIgbWF0cml4IDxjb2RlPmdyaWQ8L2NvZGU+LCA8ZW0+cmV0dXJuIHRoZSBudW1iZXIgb2YgcGFpcnMgPC9lbT48Y29kZT4oUjxzdWI+aTwvc3ViPiwgQzxzdWI+ajwvc3ViPik8L2NvZGU+PGVtPiBzdWNoIHRoYXQgcm93IDwvZW0+PGNvZGU+UjxzdWI+aTwvc3ViPjwvY29kZT48ZW0+IGFuZCBjb2x1bW4gPC9lbT48Y29kZT5DPHN1Yj5qPC9zdWI+PC9jb2RlPjxlbT4gYXJlIGVxdWFsPC9lbT4uPC9wPgo8cD5BIHJvdyBhbmQgY29sdW1uIHBhaXIgaXMgY29uc2lkZXJlZCBlcXVhbCBpZiB0aGV5IGNvbnRhaW4gdGhlIHNhbWUgZWxlbWVudHMgaW4gdGhlIHNhbWUgb3JkZXIgKGkuZS4gYW4gZXF1YWwgYXJyYXkpLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wNi8wMS9leDEuanBnIiBzdHlsZT0id2lkdGg6IDE1MHB4OyBoZWlnaHQ6IDE1M3B4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGdyaWQgPSBbWzMsMiwxXSxbMSw3LDZdLFsyLDcsN11dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGlzIDEgZXF1YWwgcm93IGFuZCBjb2x1bW4gcGFpcjoKLSAoUm93IDIsIENvbHVtbiAxKTogWzIsNyw3XQo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA2LzAxL2V4Mi5qcGciIHN0eWxlPSJ3aWR0aDogMjAwcHg7IGhlaWdodDogMjA5cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbMywxLDIsMl0sWzEsNCw0LDVdLFsyLDQsMiwyXSxbMiw0LDIsMl1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSAzIGVxdWFsIHJvdyBhbmQgY29sdW1uIHBhaXJzOgotIChSb3cgMCwgQ29sdW1uIDApOiBbMywxLDIsMl0KLSAoUm93IDIsIENvbHVtbiAyKTogWzIsNCwyLDJdCi0gKFJvdyAzLCBDb2x1bW4gMik6IFsyLDQsMiwyXQo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IGdyaWQubGVuZ3RoID09IGdyaWRbaV0ubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMjAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGdyaWRbaV1bal0gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Matrix",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2343. Query Kth Smallest Trimmed Number",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBhcnJheSBvZiBzdHJpbmdzIDxjb2RlPm51bXM8L2NvZGU+LCB3aGVyZSBlYWNoIHN0cmluZyBpcyBvZiA8c3Ryb25nPmVxdWFsIGxlbmd0aDwvc3Ryb25nPiBhbmQgY29uc2lzdHMgb2Ygb25seSBkaWdpdHMuPC9wPgo8cD5Zb3UgYXJlIGFsc28gZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPnF1ZXJpZXM8L2NvZGU+IHdoZXJlIDxjb2RlPnF1ZXJpZXNbaV0gPSBbazxzdWI+aTwvc3ViPiwgdHJpbTxzdWI+aTwvc3ViPl08L2NvZGU+LiBGb3IgZWFjaCA8Y29kZT5xdWVyaWVzW2ldPC9jb2RlPiwgeW91IG5lZWQgdG86PC9wPgo8dWw+CjxsaT48c3Ryb25nPlRyaW08L3N0cm9uZz4gZWFjaCBudW1iZXIgaW4gPGNvZGU+bnVtczwvY29kZT4gdG8gaXRzIDxzdHJvbmc+cmlnaHRtb3N0PC9zdHJvbmc+IDxjb2RlPnRyaW08c3ViPmk8L3N1Yj48L2NvZGU+IGRpZ2l0cy48L2xpPgo8bGk+RGV0ZXJtaW5lIHRoZSA8c3Ryb25nPmluZGV4PC9zdHJvbmc+IG9mIHRoZSA8Y29kZT5rPHN1Yj5pPC9zdWI+PHN1cD50aDwvc3VwPjwvY29kZT4gc21hbGxlc3QgdHJpbW1lZCBudW1iZXIgaW4gPGNvZGU+bnVtczwvY29kZT4uIElmIHR3byB0cmltbWVkIG51bWJlcnMgYXJlIGVxdWFsLCB0aGUgbnVtYmVyIHdpdGggdGhlIDxzdHJvbmc+bG93ZXI8L3N0cm9uZz4gaW5kZXggaXMgY29uc2lkZXJlZCB0byBiZSBzbWFsbGVyLjwvbGk+CjxsaT5SZXNldCBlYWNoIG51bWJlciBpbiA8Y29kZT5udW1zPC9jb2RlPiB0byBpdHMgb3JpZ2luYWwgbGVuZ3RoLjwvbGk+CjwvdWw+CjxwPlJldHVybiA8ZW0+YW4gYXJyYXkgPC9lbT48Y29kZT5hbnN3ZXI8L2NvZGU+PGVtPiBvZiB0aGUgc2FtZSBsZW5ndGggYXMgPC9lbT48Y29kZT5xdWVyaWVzPC9jb2RlPiw8ZW0+IHdoZXJlIDwvZW0+PGNvZGU+YW5zd2VyW2ldPC9jb2RlPjxlbT4gaXMgdGhlIGFuc3dlciB0byB0aGUgPC9lbT48Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT48ZW0+IHF1ZXJ5LjwvZW0+PC9wPgo8cD48c3Ryb25nPk5vdGU8L3N0cm9uZz46PC9wPgo8dWw+CjxsaT5UbyB0cmltIHRvIHRoZSByaWdodG1vc3QgPGNvZGU+eDwvY29kZT4gZGlnaXRzIG1lYW5zIHRvIGtlZXAgcmVtb3ZpbmcgdGhlIGxlZnRtb3N0IGRpZ2l0LCB1bnRpbCBvbmx5IDxjb2RlPng8L2NvZGU+IGRpZ2l0cyByZW1haW4uPC9saT4KPGxpPlN0cmluZ3MgaW4gPGNvZGU+bnVtczwvY29kZT4gbWF5IGNvbnRhaW4gbGVhZGluZyB6ZXJvcy48L2xpPgo8L3VsPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWyIxMDIiLCI0NzMiLCIyNTEiLCI4MTQiXSwgcXVlcmllcyA9IFtbMSwxXSxbMiwzXSxbNCwyXSxbMSwyXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsyLDIsMSwwXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgoxLiBBZnRlciB0cmltbWluZyB0byB0aGUgbGFzdCBkaWdpdCwgbnVtcyA9IFsiMiIsIjMiLCIxIiwiNCJdLiBUaGUgc21hbGxlc3QgbnVtYmVyIGlzIDEgYXQgaW5kZXggMi4KMi4gVHJpbW1lZCB0byB0aGUgbGFzdCAzIGRpZ2l0cywgbnVtcyBpcyB1bmNoYW5nZWQuIFRoZSAyPHN1cD5uZDwvc3VwPiBzbWFsbGVzdCBudW1iZXIgaXMgMjUxIGF0IGluZGV4IDIuCjMuIFRyaW1tZWQgdG8gdGhlIGxhc3QgMiBkaWdpdHMsIG51bXMgPSBbIjAyIiwiNzMiLCI1MSIsIjE0Il0uIFRoZSA0PHN1cD50aDwvc3VwPiBzbWFsbGVzdCBudW1iZXIgaXMgNzMuCjQuIFRyaW1tZWQgdG8gdGhlIGxhc3QgMiBkaWdpdHMsIHRoZSBzbWFsbGVzdCBudW1iZXIgaXMgMiBhdCBpbmRleCAwLgogICBOb3RlIHRoYXQgdGhlIHRyaW1tZWQgbnVtYmVyICIwMiIgaXMgZXZhbHVhdGVkIGFzIDIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbIjI0IiwiMzciLCI5NiIsIjA0Il0sIHF1ZXJpZXMgPSBbWzIsMV0sWzIsMl1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMywwXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgoxLiBUcmltbWVkIHRvIHRoZSBsYXN0IGRpZ2l0LCBudW1zID0gWyI0IiwiNyIsIjYiLCI0Il0uIFRoZSAyPHN1cD5uZDwvc3VwPiBzbWFsbGVzdCBudW1iZXIgaXMgNCBhdCBpbmRleCAzLgogICBUaGVyZSBhcmUgdHdvIG9jY3VycmVuY2VzIG9mIDQsIGJ1dCB0aGUgb25lIGF0IGluZGV4IDAgaXMgY29uc2lkZXJlZCBzbWFsbGVyIHRoYW4gdGhlIG9uZSBhdCBpbmRleCAzLgoyLiBUcmltbWVkIHRvIHRoZSBsYXN0IDIgZGlnaXRzLCBudW1zIGlzIHVuY2hhbmdlZC4gVGhlIDI8c3VwPm5kPC9zdXA+IHNtYWxsZXN0IG51bWJlciBpcyAyNC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXS5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5udW1zW2ldPC9jb2RlPiBjb25zaXN0cyBvZiBvbmx5IGRpZ2l0cy48L2xpPgo8bGk+QWxsIDxjb2RlPm51bXNbaV0ubGVuZ3RoPC9jb2RlPiBhcmUgPHN0cm9uZz5lcXVhbDwvc3Ryb25nPi48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBxdWVyaWVzLmxlbmd0aCAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnF1ZXJpZXNbaV0ubGVuZ3RoID09IDI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gazxzdWI+aTwvc3ViPiAmbHQ7PSBudW1zLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSB0cmltPHN1Yj5pPC9zdWI+ICZsdDs9IG51bXNbaV0ubGVuZ3RoPC9jb2RlPjwvbGk+CjwvdWw+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkZvbGxvdyB1cDo8L3N0cm9uZz4gQ291bGQgeW91IHVzZSB0aGUgPHN0cm9uZz5SYWRpeCBTb3J0IEFsZ29yaXRobTwvc3Ryb25nPiB0byBzb2x2ZSB0aGlzIHByb2JsZW0/IFdoYXQgd2lsbCBiZSB0aGUgY29tcGxleGl0eSBvZiB0aGF0IHNvbHV0aW9uPzwvcD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "String",
+ "Divide and Conquer",
+ "Sorting",
+ "Heap (Priority Queue)",
+ "Radix Sort",
+ "Quickselect"
+ ]
+ },
+ {
+ "title": "2333. Minimum Sum of Squared Difference",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIHBvc2l0aXZlIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXlzIDxjb2RlPm51bXMxPC9jb2RlPiBhbmQgPGNvZGU+bnVtczI8L2NvZGU+LCBib3RoIG9mIGxlbmd0aCA8Y29kZT5uPC9jb2RlPi48L3A+CjxwPlRoZSA8c3Ryb25nPnN1bSBvZiBzcXVhcmVkIGRpZmZlcmVuY2U8L3N0cm9uZz4gb2YgYXJyYXlzIDxjb2RlPm51bXMxPC9jb2RlPiBhbmQgPGNvZGU+bnVtczI8L2NvZGU+IGlzIGRlZmluZWQgYXMgdGhlIDxzdHJvbmc+c3VtPC9zdHJvbmc+IG9mIDxjb2RlPihudW1zMVtpXSAtIG51bXMyW2ldKTxzdXA+Mjwvc3VwPjwvY29kZT4gZm9yIGVhY2ggPGNvZGU+MCAmbHQ7PSBpICZsdDsgbjwvY29kZT4uPC9wPgo8cD5Zb3UgYXJlIGFsc28gZ2l2ZW4gdHdvIHBvc2l0aXZlIGludGVnZXJzIDxjb2RlPmsxPC9jb2RlPiBhbmQgPGNvZGU+azI8L2NvZGU+LiBZb3UgY2FuIG1vZGlmeSBhbnkgb2YgdGhlIGVsZW1lbnRzIG9mIDxjb2RlPm51bXMxPC9jb2RlPiBieSA8Y29kZT4rMTwvY29kZT4gb3IgPGNvZGU+LTE8L2NvZGU+IGF0IG1vc3QgPGNvZGU+azE8L2NvZGU+IHRpbWVzLiBTaW1pbGFybHksIHlvdSBjYW4gbW9kaWZ5IGFueSBvZiB0aGUgZWxlbWVudHMgb2YgPGNvZGU+bnVtczI8L2NvZGU+IGJ5IDxjb2RlPisxPC9jb2RlPiBvciA8Y29kZT4tMTwvY29kZT4gYXQgbW9zdCA8Y29kZT5rMjwvY29kZT4gdGltZXMuPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSBtaW5pbXVtIDxzdHJvbmc+c3VtIG9mIHNxdWFyZWQgZGlmZmVyZW5jZTwvc3Ryb25nPiBhZnRlciBtb2RpZnlpbmcgYXJyYXkgPC9lbT48Y29kZT5udW1zMTwvY29kZT48ZW0+IGF0IG1vc3QgPC9lbT48Y29kZT5rMTwvY29kZT48ZW0+IHRpbWVzIGFuZCBtb2RpZnlpbmcgYXJyYXkgPC9lbT48Y29kZT5udW1zMjwvY29kZT48ZW0+IGF0IG1vc3QgPC9lbT48Y29kZT5rMjwvY29kZT48ZW0+IHRpbWVzPC9lbT4uPC9wPgo8cD48c3Ryb25nPk5vdGU8L3N0cm9uZz46IFlvdSBhcmUgYWxsb3dlZCB0byBtb2RpZnkgdGhlIGFycmF5IGVsZW1lbnRzIHRvIGJlY29tZSA8c3Ryb25nPm5lZ2F0aXZlPC9zdHJvbmc+IGludGVnZXJzLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtczEgPSBbMSwyLDMsNF0sIG51bXMyID0gWzIsMTAsMjAsMTldLCBrMSA9IDAsIGsyID0gMAo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNTc5CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBlbGVtZW50cyBpbiBudW1zMSBhbmQgbnVtczIgY2Fubm90IGJlIG1vZGlmaWVkIGJlY2F1c2UgazEgPSAwIGFuZCBrMiA9IDAuIApUaGUgc3VtIG9mIHNxdWFyZSBkaWZmZXJlbmNlIHdpbGwgYmU6ICgxIC0gMik8c3VwPjIgPC9zdXA+KyAoMiAtIDEwKTxzdXA+MiA8L3N1cD4rICgzIC0gMjApPHN1cD4yIDwvc3VwPisgKDQgLSAxOSk8c3VwPjI8L3N1cD7CoD0gNTc5Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zMSA9IFsxLDQsMTAsMTJdLCBudW1zMiA9IFs1LDgsNiw5XSwgazEgPSAxLCBrMiA9IDEKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IE9uZSB3YXkgdG8gb2J0YWluIHRoZSBtaW5pbXVtIHN1bSBvZiBzcXVhcmUgZGlmZmVyZW5jZSBpczogCi0gSW5jcmVhc2UgbnVtczFbMF0gb25jZS4KLSBJbmNyZWFzZSBudW1zMlsyXSBvbmNlLgpUaGUgbWluaW11bSBvZiB0aGUgc3VtIG9mIHNxdWFyZSBkaWZmZXJlbmNlIHdpbGwgYmU6IAooMiAtIDUpPHN1cD4yIDwvc3VwPisgKDQgLSA4KTxzdXA+MiA8L3N1cD4rICgxMCAtIDcpPHN1cD4yIDwvc3VwPisgKDEyIC0gOSk8c3VwPjI8L3N1cD7CoD0gNDMuCk5vdGUgdGhhdCwgdGhlcmUgYXJlIG90aGVyIHdheXMgdG8gb2J0YWluIHRoZSBtaW5pbXVtIG9mIHRoZSBzdW0gb2Ygc3F1YXJlIGRpZmZlcmVuY2UsIGJ1dCB0aGVyZSBpcyBubyB3YXkgdG8gb2J0YWluIGEgc3VtIHNtYWxsZXIgdGhhbiA0My48L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IG51bXMxLmxlbmd0aCA9PSBudW1zMi5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBudW1zMVtpXSwgbnVtczJbaV0gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gazEsIGsyICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Math",
+ "Sorting",
+ "Heap (Priority Queue)"
+ ]
+ },
+ {
+ "title": "2332. The Latest Time to Catch a Bus",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPmJ1c2VzPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4sIHdoZXJlIDxjb2RlPmJ1c2VzW2ldPC9jb2RlPiByZXByZXNlbnRzIHRoZSBkZXBhcnR1cmUgdGltZSBvZiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGJ1cy4gWW91IGFyZSBhbHNvIGdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT5wYXNzZW5nZXJzPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bTwvY29kZT4sIHdoZXJlIDxjb2RlPnBhc3NlbmdlcnNbal08L2NvZGU+IHJlcHJlc2VudHMgdGhlIGFycml2YWwgdGltZSBvZiB0aGUgPGNvZGU+ajxzdXA+dGg8L3N1cD48L2NvZGU+IHBhc3Nlbmdlci4gQWxsIGJ1cyBkZXBhcnR1cmUgdGltZXMgYXJlIHVuaXF1ZS4gQWxsIHBhc3NlbmdlciBhcnJpdmFsIHRpbWVzIGFyZSB1bmlxdWUuPC9wPgo8cD5Zb3UgYXJlIGdpdmVuIGFuIGludGVnZXIgPGNvZGU+Y2FwYWNpdHk8L2NvZGU+LCB3aGljaCByZXByZXNlbnRzIHRoZSA8c3Ryb25nPm1heGltdW08L3N0cm9uZz4gbnVtYmVyIG9mIHBhc3NlbmdlcnMgdGhhdCBjYW4gZ2V0IG9uIGVhY2ggYnVzLjwvcD4KPHA+V2hlbiBhIHBhc3NlbmdlciBhcnJpdmVzLCB0aGV5IHdpbGwgd2FpdCBpbiBsaW5lIGZvciB0aGUgbmV4dCBhdmFpbGFibGUgYnVzLiBZb3UgY2FuIGdldCBvbiBhIGJ1cyB0aGF0IGRlcGFydHMgYXQgPGNvZGU+eDwvY29kZT4gbWludXRlcyBpZiB5b3UgYXJyaXZlIGF0IDxjb2RlPnk8L2NvZGU+IG1pbnV0ZXMgd2hlcmUgPGNvZGU+eSAmbHQ7PSB4PC9jb2RlPiwgYW5kIHRoZSBidXMgaXMgbm90IGZ1bGwuIFBhc3NlbmdlcnMgd2l0aCB0aGUgPHN0cm9uZz5lYXJsaWVzdDwvc3Ryb25nPiBhcnJpdmFsIHRpbWVzIGdldCBvbiB0aGUgYnVzIGZpcnN0LjwvcD4KPHA+TW9yZSBmb3JtYWxseSB3aGVuIGEgYnVzIGFycml2ZXMsIGVpdGhlcjo8L3A+Cjx1bD4KPGxpPklmIDxjb2RlPmNhcGFjaXR5PC9jb2RlPiBvciBmZXdlciBwYXNzZW5nZXJzIGFyZSB3YWl0aW5nIGZvciBhIGJ1cywgdGhleSB3aWxsIDxzdHJvbmc+YWxsPC9zdHJvbmc+IGdldCBvbiB0aGUgYnVzLCBvcjwvbGk+CjxsaT5UaGUgPGNvZGU+Y2FwYWNpdHk8L2NvZGU+IHBhc3NlbmdlcnMgd2l0aCB0aGUgPHN0cm9uZz5lYXJsaWVzdDwvc3Ryb25nPiBhcnJpdmFsIHRpbWVzIHdpbGwgZ2V0IG9uIHRoZSBidXMuPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgbGF0ZXN0IHRpbWUgeW91IG1heSBhcnJpdmUgYXQgdGhlIGJ1cyBzdGF0aW9uIHRvIGNhdGNoIGEgYnVzPC9lbT4uIFlvdSA8c3Ryb25nPmNhbm5vdDwvc3Ryb25nPiBhcnJpdmUgYXQgdGhlIHNhbWUgdGltZSBhcyBhbm90aGVyIHBhc3Nlbmdlci48L3A+CjxwPjxzdHJvbmc+Tm90ZTogPC9zdHJvbmc+VGhlIGFycmF5cyA8Y29kZT5idXNlczwvY29kZT4gYW5kIDxjb2RlPnBhc3NlbmdlcnM8L2NvZGU+IGFyZSBub3QgbmVjZXNzYXJpbHkgc29ydGVkLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gYnVzZXMgPSBbMTAsMjBdLCBwYXNzZW5nZXJzID0gWzIsMTcsMTgsMTldLCBjYXBhY2l0eSA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDE2CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFN1cHBvc2UgeW91IGFycml2ZSBhdCB0aW1lIDE2LgpBdCB0aW1lIDEwLCB0aGUgZmlyc3QgYnVzIGRlcGFydHMgd2l0aCB0aGUgMDxzdXA+dGg8L3N1cD4gcGFzc2VuZ2VyLiAKQXQgdGltZSAyMCwgdGhlIHNlY29uZCBidXMgZGVwYXJ0cyB3aXRoIHlvdSBhbmQgdGhlIDE8c3VwPnN0PC9zdXA+IHBhc3Nlbmdlci4KTm90ZSB0aGF0IHlvdSBtYXkgbm90IGFycml2ZSBhdCB0aGUgc2FtZSB0aW1lIGFzIGFub3RoZXIgcGFzc2VuZ2VyLCB3aGljaCBpcyB3aHkgeW91IG11c3QgYXJyaXZlIGJlZm9yZSB0aGUgMTxzdXA+c3Q8L3N1cD4gcGFzc2VuZ2VyIHRvIGNhdGNoIHRoZSBidXMuPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gYnVzZXMgPSBbMjAsMzAsMTBdLCBwYXNzZW5nZXJzID0gWzE5LDEzLDI2LDQsMjUsMTEsMjFdLCBjYXBhY2l0eSA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFN1cHBvc2UgeW91IGFycml2ZSBhdCB0aW1lIDIwLgpBdCB0aW1lIDEwLCB0aGUgZmlyc3QgYnVzIGRlcGFydHMgd2l0aCB0aGUgMzxzdXA+cmQ8L3N1cD4gcGFzc2VuZ2VyLiAKQXQgdGltZSAyMCwgdGhlIHNlY29uZCBidXMgZGVwYXJ0cyB3aXRoIHRoZSA1PHN1cD50aDwvc3VwPiBhbmQgMTxzdXA+c3Q8L3N1cD4gcGFzc2VuZ2Vycy4KQXQgdGltZSAzMCwgdGhlIHRoaXJkIGJ1cyBkZXBhcnRzIHdpdGggdGhlIDA8c3VwPnRoPC9zdXA+IHBhc3NlbmdlciBhbmQgeW91LgpOb3RpY2UgaWYgeW91IGhhZCBhcnJpdmVkIGFueSBsYXRlciwgdGhlbiB0aGUgNjxzdXA+dGg8L3N1cD4gcGFzc2VuZ2VyIHdvdWxkIGhhdmUgdGFrZW4geW91ciBzZWF0IG9uIHRoZSB0aGlyZCBidXMuPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBidXNlcy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPm0gPT0gcGFzc2VuZ2Vycy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiwgbSwgY2FwYWNpdHkgJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjIgJmx0Oz0gYnVzZXNbaV0sIHBhc3NlbmdlcnNbaV0gJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPGxpPkVhY2ggZWxlbWVudCBpbiA8Y29kZT5idXNlczwvY29kZT4gaXMgPHN0cm9uZz51bmlxdWU8L3N0cm9uZz4uPC9saT4KPGxpPkVhY2ggZWxlbWVudCBpbiA8Y29kZT5wYXNzZW5nZXJzPC9jb2RlPiBpcyA8c3Ryb25nPnVuaXF1ZTwvc3Ryb25nPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Two Pointers",
+ "Binary Search",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2337. Move Pieces to Obtain a String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIHN0cmluZ3MgPGNvZGU+c3RhcnQ8L2NvZGU+IGFuZCA8Y29kZT50YXJnZXQ8L2NvZGU+LCBib3RoIG9mIGxlbmd0aCA8Y29kZT5uPC9jb2RlPi4gRWFjaCBzdHJpbmcgY29uc2lzdHMgPHN0cm9uZz5vbmx5PC9zdHJvbmc+IG9mIHRoZSBjaGFyYWN0ZXJzIDxjb2RlPidMJzwvY29kZT4sIDxjb2RlPidSJzwvY29kZT4sIGFuZCA8Y29kZT4nXyc8L2NvZGU+IHdoZXJlOjwvcD4KPHVsPgo8bGk+VGhlIGNoYXJhY3RlcnMgPGNvZGU+J0wnPC9jb2RlPiBhbmQgPGNvZGU+J1InPC9jb2RlPiByZXByZXNlbnQgcGllY2VzLCB3aGVyZSBhIHBpZWNlIDxjb2RlPidMJzwvY29kZT4gY2FuIG1vdmUgdG8gdGhlIDxzdHJvbmc+bGVmdDwvc3Ryb25nPiBvbmx5IGlmIHRoZXJlIGlzIGEgPHN0cm9uZz5ibGFuazwvc3Ryb25nPiBzcGFjZSBkaXJlY3RseSB0byBpdHMgbGVmdCwgYW5kIGEgcGllY2UgPGNvZGU+J1InPC9jb2RlPiBjYW4gbW92ZSB0byB0aGUgPHN0cm9uZz5yaWdodDwvc3Ryb25nPiBvbmx5IGlmIHRoZXJlIGlzIGEgPHN0cm9uZz5ibGFuazwvc3Ryb25nPiBzcGFjZSBkaXJlY3RseSB0byBpdHMgcmlnaHQuPC9saT4KPGxpPlRoZSBjaGFyYWN0ZXIgPGNvZGU+J18nPC9jb2RlPiByZXByZXNlbnRzIGEgYmxhbmsgc3BhY2UgdGhhdCBjYW4gYmUgb2NjdXBpZWQgYnkgPHN0cm9uZz5hbnk8L3N0cm9uZz4gb2YgdGhlIDxjb2RlPidMJzwvY29kZT4gb3IgPGNvZGU+J1InPC9jb2RlPiBwaWVjZXMuPC9saT4KPC91bD4KPHA+UmV0dXJuIDxjb2RlPnRydWU8L2NvZGU+IDxlbT5pZiBpdCBpcyBwb3NzaWJsZSB0byBvYnRhaW4gdGhlIHN0cmluZzwvZW0+IDxjb2RlPnRhcmdldDwvY29kZT48ZW0+IGJ5IG1vdmluZyB0aGUgcGllY2VzIG9mIHRoZSBzdHJpbmcgPC9lbT48Y29kZT5zdGFydDwvY29kZT48ZW0+IDxzdHJvbmc+YW55PC9zdHJvbmc+IG51bWJlciBvZiB0aW1lczwvZW0+LiBPdGhlcndpc2UsIHJldHVybiA8Y29kZT5mYWxzZTwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzdGFydCA9ICJfTF9fUl9fUl8iLCB0YXJnZXQgPSAiTF9fX19fX1JSIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gdHJ1ZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSBjYW4gb2J0YWluIHRoZSBzdHJpbmcgdGFyZ2V0IGZyb20gc3RhcnQgYnkgZG9pbmcgdGhlIGZvbGxvd2luZyBtb3ZlczoKLSBNb3ZlIHRoZSBmaXJzdCBwaWVjZSBvbmUgc3RlcCB0byB0aGUgbGVmdCwgc3RhcnQgYmVjb21lcyBlcXVhbCB0byAiPHN0cm9uZz5MPC9zdHJvbmc+X19fUl9fUl8iLgotIE1vdmUgdGhlIGxhc3QgcGllY2Ugb25lIHN0ZXAgdG8gdGhlIHJpZ2h0LCBzdGFydCBiZWNvbWVzIGVxdWFsIHRvICJMX19fUl9fXzxzdHJvbmc+Ujwvc3Ryb25nPiIuCi0gTW92ZSB0aGUgc2Vjb25kIHBpZWNlIHRocmVlIHN0ZXBzIHRvIHRoZSByaWdodCwgc3RhcnQgYmVjb21lcyBlcXVhbCB0byAiTF9fX19fXzxzdHJvbmc+Ujwvc3Ryb25nPlIiLgpTaW5jZSBpdCBpcyBwb3NzaWJsZSB0byBnZXQgdGhlIHN0cmluZyB0YXJnZXQgZnJvbSBzdGFydCwgd2UgcmV0dXJuIHRydWUuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHN0YXJ0ID0gIlJfTF8iLCB0YXJnZXQgPSAiX19MUiIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IGZhbHNlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSAnUicgcGllY2UgaW4gdGhlIHN0cmluZyBzdGFydCBjYW4gbW92ZSBvbmUgc3RlcCB0byB0aGUgcmlnaHQgdG8gb2J0YWluICJfPHN0cm9uZz5SPC9zdHJvbmc+TF8iLgpBZnRlciB0aGF0LCBubyBwaWVjZXMgY2FuIG1vdmUgYW55bW9yZSwgc28gaXQgaXMgaW1wb3NzaWJsZSB0byBvYnRhaW4gdGhlIHN0cmluZyB0YXJnZXQgZnJvbSBzdGFydC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gc3RhcnQgPSAiX1IiLCB0YXJnZXQgPSAiUl8iCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBmYWxzZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgcGllY2UgaW4gdGhlIHN0cmluZyBzdGFydCBjYW4gbW92ZSBvbmx5IHRvIHRoZSByaWdodCwgc28gaXQgaXMgaW1wb3NzaWJsZSB0byBvYnRhaW4gdGhlIHN0cmluZyB0YXJnZXQgZnJvbSBzdGFydC48L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IHN0YXJ0Lmxlbmd0aCA9PSB0YXJnZXQubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnN0YXJ0PC9jb2RlPiBhbmQgPGNvZGU+dGFyZ2V0PC9jb2RlPiBjb25zaXN0IG9mIHRoZSBjaGFyYWN0ZXJzIDxjb2RlPidMJzwvY29kZT4sIDxjb2RlPidSJzwvY29kZT4sIGFuZCA8Y29kZT4nXyc8L2NvZGU+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Two Pointers",
+ "String"
+ ]
+ },
+ {
+ "title": "2336. Smallest Number in Infinite Set",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBoYXZlIGEgc2V0IHdoaWNoIGNvbnRhaW5zIGFsbCBwb3NpdGl2ZSBpbnRlZ2VycyA8Y29kZT5bMSwgMiwgMywgNCwgNSwgLi4uXTwvY29kZT4uPC9wPgo8cD5JbXBsZW1lbnQgdGhlIDxjb2RlPlNtYWxsZXN0SW5maW5pdGVTZXQ8L2NvZGU+IGNsYXNzOjwvcD4KPHVsPgo8bGk+PGNvZGU+U21hbGxlc3RJbmZpbml0ZVNldCgpPC9jb2RlPiBJbml0aWFsaXplcyB0aGUgPHN0cm9uZz5TbWFsbGVzdEluZmluaXRlU2V0PC9zdHJvbmc+IG9iamVjdCB0byBjb250YWluIDxzdHJvbmc+YWxsPC9zdHJvbmc+IHBvc2l0aXZlIGludGVnZXJzLjwvbGk+CjxsaT48Y29kZT5pbnQgcG9wU21hbGxlc3QoKTwvY29kZT4gPHN0cm9uZz5SZW1vdmVzPC9zdHJvbmc+IGFuZCByZXR1cm5zIHRoZSBzbWFsbGVzdCBpbnRlZ2VyIGNvbnRhaW5lZCBpbiB0aGUgaW5maW5pdGUgc2V0LjwvbGk+CjxsaT48Y29kZT52b2lkIGFkZEJhY2soaW50IG51bSk8L2NvZGU+IDxzdHJvbmc+QWRkczwvc3Ryb25nPiBhIHBvc2l0aXZlIGludGVnZXIgPGNvZGU+bnVtPC9jb2RlPiBiYWNrIGludG8gdGhlIGluZmluaXRlIHNldCwgaWYgaXQgaXMgPHN0cm9uZz5ub3Q8L3N0cm9uZz4gYWxyZWFkeSBpbiB0aGUgaW5maW5pdGUgc2V0LjwvbGk+CjwvdWw+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ8L3N0cm9uZz4KWyJTbWFsbGVzdEluZmluaXRlU2V0IiwgImFkZEJhY2siLCAicG9wU21hbGxlc3QiLCAicG9wU21hbGxlc3QiLCAicG9wU21hbGxlc3QiLCAiYWRkQmFjayIsICJwb3BTbWFsbGVzdCIsICJwb3BTbWFsbGVzdCIsICJwb3BTbWFsbGVzdCJdCltbXSwgWzJdLCBbXSwgW10sIFtdLCBbMV0sIFtdLCBbXSwgW11dCjxzdHJvbmc+T3V0cHV0PC9zdHJvbmc+CltudWxsLCBudWxsLCAxLCAyLCAzLCBudWxsLCAxLCA0LCA1XQoKPHN0cm9uZz5FeHBsYW5hdGlvbjwvc3Ryb25nPgpTbWFsbGVzdEluZmluaXRlU2V0IHNtYWxsZXN0SW5maW5pdGVTZXQgPSBuZXcgU21hbGxlc3RJbmZpbml0ZVNldCgpOwpzbWFsbGVzdEluZmluaXRlU2V0LmFkZEJhY2soMik7ICAgIC8vIDIgaXMgYWxyZWFkeSBpbiB0aGUgc2V0LCBzbyBubyBjaGFuZ2UgaXMgbWFkZS4Kc21hbGxlc3RJbmZpbml0ZVNldC5wb3BTbWFsbGVzdCgpOyAvLyByZXR1cm4gMSwgc2luY2UgMSBpcyB0aGUgc21hbGxlc3QgbnVtYmVyLCBhbmQgcmVtb3ZlIGl0IGZyb20gdGhlIHNldC4Kc21hbGxlc3RJbmZpbml0ZVNldC5wb3BTbWFsbGVzdCgpOyAvLyByZXR1cm4gMiwgYW5kIHJlbW92ZSBpdCBmcm9tIHRoZSBzZXQuCnNtYWxsZXN0SW5maW5pdGVTZXQucG9wU21hbGxlc3QoKTsgLy8gcmV0dXJuIDMsIGFuZCByZW1vdmUgaXQgZnJvbSB0aGUgc2V0LgpzbWFsbGVzdEluZmluaXRlU2V0LmFkZEJhY2soMSk7ICAgIC8vIDEgaXMgYWRkZWQgYmFjayB0byB0aGUgc2V0LgpzbWFsbGVzdEluZmluaXRlU2V0LnBvcFNtYWxsZXN0KCk7IC8vIHJldHVybiAxLCBzaW5jZSAxIHdhcyBhZGRlZCBiYWNrIHRvIHRoZSBzZXQgYW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaXMgdGhlIHNtYWxsZXN0IG51bWJlciwgYW5kIHJlbW92ZSBpdCBmcm9tIHRoZSBzZXQuCnNtYWxsZXN0SW5maW5pdGVTZXQucG9wU21hbGxlc3QoKTsgLy8gcmV0dXJuIDQsIGFuZCByZW1vdmUgaXQgZnJvbSB0aGUgc2V0LgpzbWFsbGVzdEluZmluaXRlU2V0LnBvcFNtYWxsZXN0KCk7IC8vIHJldHVybiA1LCBhbmQgcmVtb3ZlIGl0IGZyb20gdGhlIHNldC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW0gJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8bGk+QXQgbW9zdCA8Y29kZT4xMDAwPC9jb2RlPiBjYWxscyB3aWxsIGJlIG1hZGUgPHN0cm9uZz5pbiB0b3RhbDwvc3Ryb25nPiB0byA8Y29kZT5wb3BTbWFsbGVzdDwvY29kZT4gYW5kIDxjb2RlPmFkZEJhY2s8L2NvZGU+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Hash Table",
+ "Design",
+ "Heap (Priority Queue)"
+ ]
+ },
+ {
+ "title": "2326. Spiral Matrix IV",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIGludGVnZXJzIDxjb2RlPm08L2NvZGU+IGFuZCA8Y29kZT5uPC9jb2RlPiwgd2hpY2ggcmVwcmVzZW50IHRoZSBkaW1lbnNpb25zIG9mIGEgbWF0cml4LjwvcD4KPHA+WW91IGFyZSBhbHNvIGdpdmVuIHRoZSA8Y29kZT5oZWFkPC9jb2RlPiBvZiBhIGxpbmtlZCBsaXN0IG9mIGludGVnZXJzLjwvcD4KPHA+R2VuZXJhdGUgYW4gPGNvZGU+bSB4IG48L2NvZGU+IG1hdHJpeCB0aGF0IGNvbnRhaW5zIHRoZSBpbnRlZ2VycyBpbiB0aGUgbGlua2VkIGxpc3QgcHJlc2VudGVkIGluIDxzdHJvbmc+c3BpcmFsPC9zdHJvbmc+IG9yZGVyIDxzdHJvbmc+KGNsb2Nrd2lzZSk8L3N0cm9uZz4sIHN0YXJ0aW5nIGZyb20gdGhlIDxzdHJvbmc+dG9wLWxlZnQ8L3N0cm9uZz4gb2YgdGhlIG1hdHJpeC4gSWYgdGhlcmUgYXJlIHJlbWFpbmluZyBlbXB0eSBzcGFjZXMsIGZpbGwgdGhlbSB3aXRoIDxjb2RlPi0xPC9jb2RlPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIGdlbmVyYXRlZCBtYXRyaXg8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDUvMDkvZXgxbmV3LmpwZyIgc3R5bGU9IndpZHRoOiAyNDBweDsgaGVpZ2h0OiAxNTBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBtID0gMywgbiA9IDUsIGhlYWQgPSBbMywwLDIsNiw4LDEsNyw5LDQsMiw1LDUsMF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFtbMywwLDIsNiw4XSxbNSwwLC0xLC0xLDFdLFs1LDIsNCw5LDddXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgZGlhZ3JhbSBhYm92ZSBzaG93cyBob3cgdGhlIHZhbHVlcyBhcmUgcHJpbnRlZCBpbiB0aGUgbWF0cml4LgpOb3RlIHRoYXQgdGhlIHJlbWFpbmluZyBzcGFjZXMgaW4gdGhlIG1hdHJpeCBhcmUgZmlsbGVkIHdpdGggLTEuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDUvMTEvZXgyLmpwZyIgc3R5bGU9IndpZHRoOiAyMjFweDsgaGVpZ2h0OiA2MHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG0gPSAxLCBuID0gNCwgaGVhZCA9IFswLDEsMl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFtbMCwxLDIsLTFdXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgZGlhZ3JhbSBhYm92ZSBzaG93cyBob3cgdGhlIHZhbHVlcyBhcmUgcHJpbnRlZCBmcm9tIGxlZnQgdG8gcmlnaHQgaW4gdGhlIG1hdHJpeC4KVGhlIGxhc3Qgc3BhY2UgaW4gdGhlIG1hdHJpeCBpcyBzZXQgdG8gLTEuPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBtLCBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG0gKiBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT5UaGUgbnVtYmVyIG9mIG5vZGVzIGluIHRoZSBsaXN0IGlzIGluIHRoZSByYW5nZSA8Y29kZT5bMSwgbSAqIG5dPC9jb2RlPi48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBOb2RlLnZhbCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Linked List",
+ "Matrix",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2327. Number of People Aware of a Secret",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPk9uIGRheSA8Y29kZT4xPC9jb2RlPiwgb25lIHBlcnNvbiBkaXNjb3ZlcnMgYSBzZWNyZXQuPC9wPgo8cD5Zb3UgYXJlIGdpdmVuIGFuIGludGVnZXIgPGNvZGU+ZGVsYXk8L2NvZGU+LCB3aGljaCBtZWFucyB0aGF0IGVhY2ggcGVyc29uIHdpbGwgPHN0cm9uZz5zaGFyZTwvc3Ryb25nPiB0aGUgc2VjcmV0IHdpdGggYSBuZXcgcGVyc29uIDxzdHJvbmc+ZXZlcnkgZGF5PC9zdHJvbmc+LCBzdGFydGluZyBmcm9tIDxjb2RlPmRlbGF5PC9jb2RlPiBkYXlzIGFmdGVyIGRpc2NvdmVyaW5nIHRoZSBzZWNyZXQuIFlvdSBhcmUgYWxzbyBnaXZlbiBhbiBpbnRlZ2VyIDxjb2RlPmZvcmdldDwvY29kZT4sIHdoaWNoIG1lYW5zIHRoYXQgZWFjaCBwZXJzb24gd2lsbCA8c3Ryb25nPmZvcmdldDwvc3Ryb25nPiB0aGUgc2VjcmV0IDxjb2RlPmZvcmdldDwvY29kZT4gZGF5cyBhZnRlciBkaXNjb3ZlcmluZyBpdC4gQSBwZXJzb24gPHN0cm9uZz5jYW5ub3Q8L3N0cm9uZz4gc2hhcmUgdGhlIHNlY3JldCBvbiB0aGUgc2FtZSBkYXkgdGhleSBmb3Jnb3QgaXQsIG9yIG9uIGFueSBkYXkgYWZ0ZXJ3YXJkcy48L3A+CjxwPkdpdmVuIGFuIGludGVnZXIgPGNvZGU+bjwvY29kZT4sIHJldHVybjxlbT4gdGhlIG51bWJlciBvZiBwZW9wbGUgd2hvIGtub3cgdGhlIHNlY3JldCBhdCB0aGUgZW5kIG9mIGRheSA8L2VtPjxjb2RlPm48L2NvZGU+LiBTaW5jZSB0aGUgYW5zd2VyIG1heSBiZSB2ZXJ5IGxhcmdlLCByZXR1cm4gaXQgPHN0cm9uZz5tb2R1bG88L3N0cm9uZz4gPGNvZGU+MTA8c3VwPjk8L3N1cD4gKyA3PC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSA2LCBkZWxheSA9IDIsIGZvcmdldCA9IDQKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KRGF5IDE6IFN1cHBvc2UgdGhlIGZpcnN0IHBlcnNvbiBpcyBuYW1lZCBBLiAoMSBwZXJzb24pCkRheSAyOiBBIGlzIHRoZSBvbmx5IHBlcnNvbiB3aG8ga25vd3MgdGhlIHNlY3JldC4gKDEgcGVyc29uKQpEYXkgMzogQSBzaGFyZXMgdGhlIHNlY3JldCB3aXRoIGEgbmV3IHBlcnNvbiwgQi4gKDIgcGVvcGxlKQpEYXkgNDogQSBzaGFyZXMgdGhlIHNlY3JldCB3aXRoIGEgbmV3IHBlcnNvbiwgQy4gKDMgcGVvcGxlKQpEYXkgNTogQSBmb3JnZXRzIHRoZSBzZWNyZXQsIGFuZCBCIHNoYXJlcyB0aGUgc2VjcmV0IHdpdGggYSBuZXcgcGVyc29uLCBELiAoMyBwZW9wbGUpCkRheSA2OiBCIHNoYXJlcyB0aGUgc2VjcmV0IHdpdGggRSwgYW5kIEMgc2hhcmVzIHRoZSBzZWNyZXQgd2l0aCBGLiAoNSBwZW9wbGUpCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSA0LCBkZWxheSA9IDEsIGZvcmdldCA9IDMKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDYKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KRGF5IDE6IFRoZSBmaXJzdCBwZXJzb24gaXMgbmFtZWQgQS4gKDEgcGVyc29uKQpEYXkgMjogQSBzaGFyZXMgdGhlIHNlY3JldCB3aXRoIEIuICgyIHBlb3BsZSkKRGF5IDM6IEEgYW5kIEIgc2hhcmUgdGhlIHNlY3JldCB3aXRoIDIgbmV3IHBlb3BsZSwgQyBhbmQgRC4gKDQgcGVvcGxlKQpEYXkgNDogQSBmb3JnZXRzIHRoZSBzZWNyZXQuIEIsIEMsIGFuZCBEIHNoYXJlIHRoZSBzZWNyZXQgd2l0aCAzIG5ldyBwZW9wbGUuICg2IHBlb3BsZSkKPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MiAmbHQ7PSBuICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gZGVsYXkgJmx0OyBmb3JnZXQgJmx0Oz0gbjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Dynamic Programming",
+ "Queue",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2316. Count Unreachable Pairs of Nodes in an Undirected Graph",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5uPC9jb2RlPi4gVGhlcmUgaXMgYW4gPHN0cm9uZz51bmRpcmVjdGVkPC9zdHJvbmc+IGdyYXBoIHdpdGggPGNvZGU+bjwvY29kZT4gbm9kZXMsIG51bWJlcmVkIGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+biAtIDE8L2NvZGU+LiBZb3UgYXJlIGdpdmVuIGEgMkQgaW50ZWdlciBhcnJheSA8Y29kZT5lZGdlczwvY29kZT4gd2hlcmUgPGNvZGU+ZWRnZXNbaV0gPSBbYTxzdWI+aTwvc3ViPiwgYjxzdWI+aTwvc3ViPl08L2NvZGU+IGRlbm90ZXMgdGhhdCB0aGVyZSBleGlzdHMgYW4gPHN0cm9uZz51bmRpcmVjdGVkPC9zdHJvbmc+IGVkZ2UgY29ubmVjdGluZyBub2RlcyA8Y29kZT5hPHN1Yj5pPC9zdWI+PC9jb2RlPiBhbmQgPGNvZGU+YjxzdWI+aTwvc3ViPjwvY29kZT4uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm51bWJlciBvZiBwYWlyczwvc3Ryb25nPiBvZiBkaWZmZXJlbnQgbm9kZXMgdGhhdCBhcmUgPHN0cm9uZz51bnJlYWNoYWJsZTwvc3Ryb25nPiBmcm9tIGVhY2ggb3RoZXI8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDUvMDUvdGMtMy5wbmciIHN0eWxlPSJ3aWR0aDogMjY3cHg7IGhlaWdodDogMTY5cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDMsIGVkZ2VzID0gW1swLDFdLFswLDJdLFsxLDJdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGVyZSBhcmUgbm8gcGFpcnMgb2Ygbm9kZXMgdGhhdCBhcmUgdW5yZWFjaGFibGUgZnJvbSBlYWNoIG90aGVyLiBUaGVyZWZvcmUsIHdlIHJldHVybiAwLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA1LzA1L3RjLTIucG5nIiBzdHlsZT0id2lkdGg6IDI5NXB4OyBoZWlnaHQ6IDI2OXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSA3LCBlZGdlcyA9IFtbMCwyXSxbMCw1XSxbMiw0XSxbMSw2XSxbNSw0XV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDE0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSAxNCBwYWlycyBvZiBub2RlcyB0aGF0IGFyZSB1bnJlYWNoYWJsZSBmcm9tIGVhY2ggb3RoZXI6CltbMCwxXSxbMCwzXSxbMCw2XSxbMSwyXSxbMSwzXSxbMSw0XSxbMSw1XSxbMiwzXSxbMiw2XSxbMyw0XSxbMyw1XSxbMyw2XSxbNCw2XSxbNSw2XV0uClRoZXJlZm9yZSwgd2UgcmV0dXJuIDE0Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gZWRnZXMubGVuZ3RoICZsdDs9IDIgKiAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+ZWRnZXNbaV0ubGVuZ3RoID09IDI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gYTxzdWI+aTwvc3ViPiwgYjxzdWI+aTwvc3ViPiAmbHQ7IG48L2NvZGU+PC9saT4KPGxpPjxjb2RlPmE8c3ViPmk8L3N1Yj4gIT0gYjxzdWI+aTwvc3ViPjwvY29kZT48L2xpPgo8bGk+VGhlcmUgYXJlIG5vIHJlcGVhdGVkIGVkZ2VzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Depth-First Search",
+ "Breadth-First Search",
+ "Union Find",
+ "Graph"
+ ]
+ },
+ {
+ "title": "2317. Maximum XOR After Operations ",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+LiBJbiBvbmUgb3BlcmF0aW9uLCBzZWxlY3QgPHN0cm9uZz5hbnk8L3N0cm9uZz4gbm9uLW5lZ2F0aXZlIGludGVnZXIgPGNvZGU+eDwvY29kZT4gYW5kIGFuIGluZGV4IDxjb2RlPmk8L2NvZGU+LCB0aGVuIDxzdHJvbmc+dXBkYXRlPC9zdHJvbmc+IDxjb2RlPm51bXNbaV08L2NvZGU+IHRvIGJlIGVxdWFsIHRvIDxjb2RlPm51bXNbaV0gQU5EIChudW1zW2ldIFhPUiB4KTwvY29kZT4uPC9wPgo8cD5Ob3RlIHRoYXQgPGNvZGU+QU5EPC9jb2RlPiBpcyB0aGUgYml0d2lzZSBBTkQgb3BlcmF0aW9uIGFuZCA8Y29kZT5YT1I8L2NvZGU+IGlzIHRoZSBiaXR3aXNlIFhPUiBvcGVyYXRpb24uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1heGltdW08L3N0cm9uZz4gcG9zc2libGUgYml0d2lzZSBYT1Igb2YgYWxsIGVsZW1lbnRzIG9mIDwvZW0+PGNvZGU+bnVtczwvY29kZT48ZW0+IGFmdGVyIGFwcGx5aW5nIHRoZSBvcGVyYXRpb24gPHN0cm9uZz5hbnkgbnVtYmVyPC9zdHJvbmc+IG9mIHRpbWVzPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzMsMiw0LDZdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA3CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEFwcGx5IHRoZSBvcGVyYXRpb24gd2l0aCB4ID0gNCBhbmQgaSA9IDMsIG51bVszXSA9IDYgQU5EICg2IFhPUiA0KSA9IDYgQU5EIDIgPSAyLgpOb3csIG51bXMgPSBbMywgMiwgNCwgMl0gYW5kIHRoZSBiaXR3aXNlIFhPUiBvZiBhbGwgdGhlIGVsZW1lbnRzID0gMyBYT1IgMiBYT1IgNCBYT1IgMiA9IDcuCkl0IGNhbiBiZSBzaG93biB0aGF0IDcgaXMgdGhlIG1heGltdW0gcG9zc2libGUgYml0d2lzZSBYT1IuCk5vdGUgdGhhdCBvdGhlciBvcGVyYXRpb25zIG1heSBiZSB1c2VkIHRvIGFjaGlldmUgYSBiaXR3aXNlIFhPUiBvZiA3LjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSwyLDMsOSwyXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gQXBwbHkgdGhlIG9wZXJhdGlvbiB6ZXJvIHRpbWVzLgpUaGUgYml0d2lzZSBYT1Igb2YgYWxsIHRoZSBlbGVtZW50cyA9IDEgWE9SIDIgWE9SIDMgWE9SIDkgWE9SIDIgPSAxMS4KSXQgY2FuIGJlIHNob3duIHRoYXQgMTEgaXMgdGhlIG1heGltdW0gcG9zc2libGUgYml0d2lzZSBYT1IuPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBudW1zW2ldICZsdDs9IDEwPHN1cD44PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Math",
+ "Bit Manipulation"
+ ]
+ },
+ {
+ "title": "2320. Count Number of Ways to Place Houses",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGEgc3RyZWV0IHdpdGggPGNvZGU+biAqIDI8L2NvZGU+IDxzdHJvbmc+cGxvdHM8L3N0cm9uZz4sIHdoZXJlIHRoZXJlIGFyZSA8Y29kZT5uPC9jb2RlPiBwbG90cyBvbiBlYWNoIHNpZGUgb2YgdGhlIHN0cmVldC4gVGhlIHBsb3RzIG9uIGVhY2ggc2lkZSBhcmUgbnVtYmVyZWQgZnJvbSA8Y29kZT4xPC9jb2RlPiB0byA8Y29kZT5uPC9jb2RlPi4gT24gZWFjaCBwbG90LCBhIGhvdXNlIGNhbiBiZSBwbGFjZWQuPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSBudW1iZXIgb2Ygd2F5cyBob3VzZXMgY2FuIGJlIHBsYWNlZCBzdWNoIHRoYXQgbm8gdHdvIGhvdXNlcyBhcmUgYWRqYWNlbnQgdG8gZWFjaCBvdGhlciBvbiB0aGUgc2FtZSBzaWRlIG9mIHRoZSBzdHJlZXQ8L2VtPi4gU2luY2UgdGhlIGFuc3dlciBtYXkgYmUgdmVyeSBsYXJnZSwgcmV0dXJuIGl0IDxzdHJvbmc+bW9kdWxvPC9zdHJvbmc+IDxjb2RlPjEwPHN1cD45PC9zdXA+ICsgNzwvY29kZT4uPC9wPgo8cD5Ob3RlIHRoYXQgaWYgYSBob3VzZSBpcyBwbGFjZWQgb24gdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBwbG90IG9uIG9uZSBzaWRlIG9mIHRoZSBzdHJlZXQsIGEgaG91c2UgY2FuIGFsc28gYmUgcGxhY2VkIG9uIHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gcGxvdCBvbiB0aGUgb3RoZXIgc2lkZSBvZiB0aGUgc3RyZWV0LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDEKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gClBvc3NpYmxlIGFycmFuZ2VtZW50czoKMS4gQWxsIHBsb3RzIGFyZSBlbXB0eS4KMi4gQSBob3VzZSBpcyBwbGFjZWQgb24gb25lIHNpZGUgb2YgdGhlIHN0cmVldC4KMy4gQSBob3VzZSBpcyBwbGFjZWQgb24gdGhlIG90aGVyIHNpZGUgb2YgdGhlIHN0cmVldC4KNC4gVHdvIGhvdXNlcyBhcmUgcGxhY2VkLCBvbmUgb24gZWFjaCBzaWRlIG9mIHRoZSBzdHJlZXQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDUvMTIvYXJyYW5nZW1lbnRzLnBuZyIgc3R5bGU9IndpZHRoOiA1MDBweDsgaGVpZ2h0OiA1MDBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gOQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgOSBwb3NzaWJsZSBhcnJhbmdlbWVudHMgYXJlIHNob3duIGluIHRoZSBkaWFncmFtIGFib3ZlLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Dynamic Programming"
+ ]
+ },
+ {
+ "title": "2311. Longest Binary Subsequence Less Than or Equal to K",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBiaW5hcnkgc3RyaW5nIDxjb2RlPnM8L2NvZGU+IGFuZCBhIHBvc2l0aXZlIGludGVnZXIgPGNvZGU+azwvY29kZT4uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSBsZW5ndGggb2YgdGhlIDxzdHJvbmc+bG9uZ2VzdDwvc3Ryb25nPiBzdWJzZXF1ZW5jZSBvZiA8L2VtPjxjb2RlPnM8L2NvZGU+PGVtPiB0aGF0IG1ha2VzIHVwIGEgPHN0cm9uZz5iaW5hcnk8L3N0cm9uZz4gbnVtYmVyIGxlc3MgdGhhbiBvciBlcXVhbCB0bzwvZW0+IDxjb2RlPms8L2NvZGU+LjwvcD4KPHA+Tm90ZTo8L3A+Cjx1bD4KPGxpPlRoZSBzdWJzZXF1ZW5jZSBjYW4gY29udGFpbiA8c3Ryb25nPmxlYWRpbmcgemVyb2VzPC9zdHJvbmc+LjwvbGk+CjxsaT5UaGUgZW1wdHkgc3RyaW5nIGlzIGNvbnNpZGVyZWQgdG8gYmUgZXF1YWwgdG8gPGNvZGU+MDwvY29kZT4uPC9saT4KPGxpPkEgPHN0cm9uZz5zdWJzZXF1ZW5jZTwvc3Ryb25nPiBpcyBhIHN0cmluZyB0aGF0IGNhbiBiZSBkZXJpdmVkIGZyb20gYW5vdGhlciBzdHJpbmcgYnkgZGVsZXRpbmcgc29tZSBvciBubyBjaGFyYWN0ZXJzIHdpdGhvdXQgY2hhbmdpbmcgdGhlIG9yZGVyIG9mIHRoZSByZW1haW5pbmcgY2hhcmFjdGVycy48L2xpPgo8L3VsPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gIjEwMDEwMTAiLCBrID0gNQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgbG9uZ2VzdCBzdWJzZXF1ZW5jZSBvZiBzIHRoYXQgbWFrZXMgdXAgYSBiaW5hcnkgbnVtYmVyIGxlc3MgdGhhbiBvciBlcXVhbCB0byA1IGlzICIwMDAxMCIsIGFzIHRoaXMgbnVtYmVyIGlzIGVxdWFsIHRvIDIgaW4gZGVjaW1hbC4KTm90ZSB0aGF0ICIwMDEwMCIgYW5kICIwMDEwMSIgYXJlIGFsc28gcG9zc2libGUsIHdoaWNoIGFyZSBlcXVhbCB0byA0IGFuZCA1IGluIGRlY2ltYWwsIHJlc3BlY3RpdmVseS4KVGhlIGxlbmd0aCBvZiB0aGlzIHN1YnNlcXVlbmNlIGlzIDUsIHNvIDUgaXMgcmV0dXJuZWQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiMDAxMDEwMDEiLCBrID0gMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAiMDAwMDAxIiBpcyB0aGUgbG9uZ2VzdCBzdWJzZXF1ZW5jZSBvZiBzIHRoYXQgbWFrZXMgdXAgYSBiaW5hcnkgbnVtYmVyIGxlc3MgdGhhbiBvciBlcXVhbCB0byAxLCBhcyB0aGlzIG51bWJlciBpcyBlcXVhbCB0byAxIGluIGRlY2ltYWwuClRoZSBsZW5ndGggb2YgdGhpcyBzdWJzZXF1ZW5jZSBpcyA2LCBzbyA2IGlzIHJldHVybmVkLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHMubGVuZ3RoICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnNbaV08L2NvZGU+IGlzIGVpdGhlciA8Y29kZT4nMCc8L2NvZGU+IG9yIDxjb2RlPicxJzwvY29kZT4uPC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gayAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "String",
+ "Dynamic Programming",
+ "Greedy",
+ "Memoization"
+ ]
+ },
+ {
+ "title": "2300. Successful Pairs of Spells and Potions",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIHBvc2l0aXZlIGludGVnZXIgYXJyYXlzIDxjb2RlPnNwZWxsczwvY29kZT4gYW5kIDxjb2RlPnBvdGlvbnM8L2NvZGU+LCBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4gYW5kIDxjb2RlPm08L2NvZGU+IHJlc3BlY3RpdmVseSwgd2hlcmUgPGNvZGU+c3BlbGxzW2ldPC9jb2RlPiByZXByZXNlbnRzIHRoZSBzdHJlbmd0aCBvZiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHNwZWxsIGFuZCA8Y29kZT5wb3Rpb25zW2pdPC9jb2RlPiByZXByZXNlbnRzIHRoZSBzdHJlbmd0aCBvZiB0aGUgPGNvZGU+ajxzdXA+dGg8L3N1cD48L2NvZGU+IHBvdGlvbi48L3A+CjxwPllvdSBhcmUgYWxzbyBnaXZlbiBhbiBpbnRlZ2VyIDxjb2RlPnN1Y2Nlc3M8L2NvZGU+LiBBIHNwZWxsIGFuZCBwb3Rpb24gcGFpciBpcyBjb25zaWRlcmVkIDxzdHJvbmc+c3VjY2Vzc2Z1bDwvc3Ryb25nPiBpZiB0aGUgPHN0cm9uZz5wcm9kdWN0PC9zdHJvbmc+IG9mIHRoZWlyIHN0cmVuZ3RocyBpcyA8c3Ryb25nPmF0IGxlYXN0PC9zdHJvbmc+IDxjb2RlPnN1Y2Nlc3M8L2NvZGU+LjwvcD4KPHA+UmV0dXJuIDxlbT5hbiBpbnRlZ2VyIGFycmF5IDwvZW0+PGNvZGU+cGFpcnM8L2NvZGU+PGVtPiBvZiBsZW5ndGggPC9lbT48Y29kZT5uPC9jb2RlPjxlbT4gd2hlcmUgPC9lbT48Y29kZT5wYWlyc1tpXTwvY29kZT48ZW0+IGlzIHRoZSBudW1iZXIgb2YgPHN0cm9uZz5wb3Rpb25zPC9zdHJvbmc+IHRoYXQgd2lsbCBmb3JtIGEgc3VjY2Vzc2Z1bCBwYWlyIHdpdGggdGhlIDwvZW0+PGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+PGVtPiBzcGVsbC48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gc3BlbGxzID0gWzUsMSwzXSwgcG90aW9ucyA9IFsxLDIsMyw0LDVdLCBzdWNjZXNzID0gNwo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzQsMCwzXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgotIDA8c3VwPnRoPC9zdXA+IHNwZWxsOiA1ICogWzEsMiwzLDQsNV0gPSBbNSw8dT48c3Ryb25nPjEwPC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjE1PC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjIwPC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjI1PC9zdHJvbmc+PC91Pl0uIDQgcGFpcnMgYXJlIHN1Y2Nlc3NmdWwuCi0gMTxzdXA+c3Q8L3N1cD4gc3BlbGw6IDEgKiBbMSwyLDMsNCw1XSA9IFsxLDIsMyw0LDVdLiAwIHBhaXJzIGFyZSBzdWNjZXNzZnVsLgotIDI8c3VwPm5kPC9zdXA+IHNwZWxsOiAzICogWzEsMiwzLDQsNV0gPSBbMyw2LDx1PjxzdHJvbmc+OTwvc3Ryb25nPjwvdT4sPHU+PHN0cm9uZz4xMjwvc3Ryb25nPjwvdT4sPHU+PHN0cm9uZz4xNTwvc3Ryb25nPjwvdT5dLiAzIHBhaXJzIGFyZSBzdWNjZXNzZnVsLgpUaHVzLCBbNCwwLDNdIGlzIHJldHVybmVkLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzcGVsbHMgPSBbMywxLDJdLCBwb3Rpb25zID0gWzgsNSw4XSwgc3VjY2VzcyA9IDE2CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMiwwLDJdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ci0gMDxzdXA+dGg8L3N1cD4gc3BlbGw6IDMgKiBbOCw1LDhdID0gWzx1PjxzdHJvbmc+MjQ8L3N0cm9uZz48L3U+LDE1LDx1PjxzdHJvbmc+MjQ8L3N0cm9uZz48L3U+XS4gMiBwYWlycyBhcmUgc3VjY2Vzc2Z1bC4KLSAxPHN1cD5zdDwvc3VwPiBzcGVsbDogMSAqIFs4LDUsOF0gPSBbOCw1LDhdLiAwIHBhaXJzIGFyZSBzdWNjZXNzZnVsLiAKLSAyPHN1cD5uZDwvc3VwPiBzcGVsbDogMiAqIFs4LDUsOF0gPSBbPHN0cm9uZz48dT4xNjwvdT48L3N0cm9uZz4sMTAsPHU+PHN0cm9uZz4xNjwvc3Ryb25nPjwvdT5dLiAyIHBhaXJzIGFyZSBzdWNjZXNzZnVsLiAKVGh1cywgWzIsMCwyXSBpcyByZXR1cm5lZC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBzcGVsbHMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5tID09IHBvdGlvbnMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4sIG0gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gc3BlbGxzW2ldLCBwb3Rpb25zW2ldICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHN1Y2Nlc3MgJmx0Oz0gMTA8c3VwPjEwPC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Two Pointers",
+ "Binary Search",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2295. Replace Elements in an Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiB0aGF0IGNvbnNpc3RzIG9mIDxjb2RlPm48L2NvZGU+IDxzdHJvbmc+ZGlzdGluY3Q8L3N0cm9uZz4gcG9zaXRpdmUgaW50ZWdlcnMuIEFwcGx5IDxjb2RlPm08L2NvZGU+IG9wZXJhdGlvbnMgdG8gdGhpcyBhcnJheSwgd2hlcmUgaW4gdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBvcGVyYXRpb24geW91IHJlcGxhY2UgdGhlIG51bWJlciA8Y29kZT5vcGVyYXRpb25zW2ldWzBdPC9jb2RlPiB3aXRoIDxjb2RlPm9wZXJhdGlvbnNbaV1bMV08L2NvZGU+LjwvcD4KPHA+SXQgaXMgZ3VhcmFudGVlZCB0aGF0IGluIHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gb3BlcmF0aW9uOjwvcD4KPHVsPgo8bGk+PGNvZGU+b3BlcmF0aW9uc1tpXVswXTwvY29kZT4gPHN0cm9uZz5leGlzdHM8L3N0cm9uZz4gaW4gPGNvZGU+bnVtczwvY29kZT4uPC9saT4KPGxpPjxjb2RlPm9wZXJhdGlvbnNbaV1bMV08L2NvZGU+IGRvZXMgPHN0cm9uZz5ub3Q8L3N0cm9uZz4gZXhpc3QgaW4gPGNvZGU+bnVtczwvY29kZT4uPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgYXJyYXkgb2J0YWluZWQgYWZ0ZXIgYXBwbHlpbmcgYWxsIHRoZSBvcGVyYXRpb25zPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMiw0LDZdLCBvcGVyYXRpb25zID0gW1sxLDNdLFs0LDddLFs2LDFdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzMsMiw3LDFdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFdlIHBlcmZvcm0gdGhlIGZvbGxvd2luZyBvcGVyYXRpb25zIG9uIG51bXM6Ci0gUmVwbGFjZSB0aGUgbnVtYmVyIDEgd2l0aCAzLiBudW1zIGJlY29tZXMgWzx1PjxzdHJvbmc+Mzwvc3Ryb25nPjwvdT4sMiw0LDZdLgotIFJlcGxhY2UgdGhlIG51bWJlciA0IHdpdGggNy4gbnVtcyBiZWNvbWVzIFszLDIsPHU+PHN0cm9uZz43PC9zdHJvbmc+PC91Piw2XS4KLSBSZXBsYWNlIHRoZSBudW1iZXIgNiB3aXRoIDEuIG51bXMgYmVjb21lcyBbMywyLDcsPHU+PHN0cm9uZz4xPC9zdHJvbmc+PC91Pl0uCldlIHJldHVybiB0aGUgZmluYWwgYXJyYXkgWzMsMiw3LDFdLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMl0sIG9wZXJhdGlvbnMgPSBbWzEsM10sWzIsMV0sWzMsMl1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMiwxXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSBwZXJmb3JtIHRoZSBmb2xsb3dpbmcgb3BlcmF0aW9ucyB0byBudW1zOgotIFJlcGxhY2UgdGhlIG51bWJlciAxIHdpdGggMy4gbnVtcyBiZWNvbWVzIFs8dT48c3Ryb25nPjM8L3N0cm9uZz48L3U+LDJdLgotIFJlcGxhY2UgdGhlIG51bWJlciAyIHdpdGggMS4gbnVtcyBiZWNvbWVzIFszLDx1PjxzdHJvbmc+MTwvc3Ryb25nPjwvdT5dLgotIFJlcGxhY2UgdGhlIG51bWJlciAzIHdpdGggMi4gbnVtcyBiZWNvbWVzIFs8dT48c3Ryb25nPjI8L3N0cm9uZz48L3U+LDFdLgpXZSByZXR1cm4gdGhlIGFycmF5IFsyLDFdLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IG51bXMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5tID09IG9wZXJhdGlvbnMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4sIG0gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPkFsbCB0aGUgdmFsdWVzIG9mIDxjb2RlPm51bXM8L2NvZGU+IGFyZSA8c3Ryb25nPmRpc3RpbmN0PC9zdHJvbmc+LjwvbGk+CjxsaT48Y29kZT5vcGVyYXRpb25zW2ldLmxlbmd0aCA9PSAyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0sIG9wZXJhdGlvbnNbaV1bMF0sIG9wZXJhdGlvbnNbaV1bMV0gJmx0Oz0gMTA8c3VwPjY8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPm9wZXJhdGlvbnNbaV1bMF08L2NvZGU+IHdpbGwgZXhpc3QgaW4gPGNvZGU+bnVtczwvY29kZT4gd2hlbiBhcHBseWluZyB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IG9wZXJhdGlvbi48L2xpPgo8bGk+PGNvZGU+b3BlcmF0aW9uc1tpXVsxXTwvY29kZT4gd2lsbCBub3QgZXhpc3QgaW4gPGNvZGU+bnVtczwvY29kZT4gd2hlbiBhcHBseWluZyB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IG9wZXJhdGlvbi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2294. Partition Array Such That Maximum Difference Is K",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBhbmQgYW4gaW50ZWdlciA8Y29kZT5rPC9jb2RlPi4gWW91IG1heSBwYXJ0aXRpb24gPGNvZGU+bnVtczwvY29kZT4gaW50byBvbmUgb3IgbW9yZSA8c3Ryb25nPnN1YnNlcXVlbmNlczwvc3Ryb25nPiBzdWNoIHRoYXQgZWFjaCBlbGVtZW50IGluIDxjb2RlPm51bXM8L2NvZGU+IGFwcGVhcnMgaW4gPHN0cm9uZz5leGFjdGx5PC9zdHJvbmc+IG9uZSBvZiB0aGUgc3Vic2VxdWVuY2VzLjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5taW5pbXVtIDwvc3Ryb25nPm51bWJlciBvZiBzdWJzZXF1ZW5jZXMgbmVlZGVkIHN1Y2ggdGhhdCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBtYXhpbXVtIGFuZCBtaW5pbXVtIHZhbHVlcyBpbiBlYWNoIHN1YnNlcXVlbmNlIGlzIDxzdHJvbmc+YXQgbW9zdDwvc3Ryb25nPiA8L2VtPjxjb2RlPms8L2NvZGU+PGVtPi48L2VtPjwvcD4KPHA+QSA8c3Ryb25nPnN1YnNlcXVlbmNlPC9zdHJvbmc+IGlzIGEgc2VxdWVuY2UgdGhhdCBjYW4gYmUgZGVyaXZlZCBmcm9tIGFub3RoZXIgc2VxdWVuY2UgYnkgZGVsZXRpbmcgc29tZSBvciBubyBlbGVtZW50cyB3aXRob3V0IGNoYW5naW5nIHRoZSBvcmRlciBvZiB0aGUgcmVtYWluaW5nIGVsZW1lbnRzLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFszLDYsMSwyLDVdLCBrID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpXZSBjYW4gcGFydGl0aW9uIG51bXMgaW50byB0aGUgdHdvIHN1YnNlcXVlbmNlcyBbMywxLDJdIGFuZCBbNiw1XS4KVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgbWF4aW11bSBhbmQgbWluaW11bSB2YWx1ZSBpbiB0aGUgZmlyc3Qgc3Vic2VxdWVuY2UgaXMgMyAtIDEgPSAyLgpUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBtYXhpbXVtIGFuZCBtaW5pbXVtIHZhbHVlIGluIHRoZSBzZWNvbmQgc3Vic2VxdWVuY2UgaXMgNiAtIDUgPSAxLgpTaW5jZSB0d28gc3Vic2VxdWVuY2VzIHdlcmUgY3JlYXRlZCwgd2UgcmV0dXJuIDIuIEl0IGNhbiBiZSBzaG93biB0aGF0IDIgaXMgdGhlIG1pbmltdW0gbnVtYmVyIG9mIHN1YnNlcXVlbmNlcyBuZWVkZWQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSwyLDNdLCBrID0gMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpXZSBjYW4gcGFydGl0aW9uIG51bXMgaW50byB0aGUgdHdvIHN1YnNlcXVlbmNlcyBbMSwyXSBhbmQgWzNdLgpUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBtYXhpbXVtIGFuZCBtaW5pbXVtIHZhbHVlIGluIHRoZSBmaXJzdCBzdWJzZXF1ZW5jZSBpcyAyIC0gMSA9IDEuClRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIG1heGltdW0gYW5kIG1pbmltdW0gdmFsdWUgaW4gdGhlIHNlY29uZCBzdWJzZXF1ZW5jZSBpcyAzIC0gMyA9IDAuClNpbmNlIHR3byBzdWJzZXF1ZW5jZXMgd2VyZSBjcmVhdGVkLCB3ZSByZXR1cm4gMi4gTm90ZSB0aGF0IGFub3RoZXIgb3B0aW1hbCBzb2x1dGlvbiBpcyB0byBwYXJ0aXRpb24gbnVtcyBpbnRvIHRoZSB0d28gc3Vic2VxdWVuY2VzIFsxXSBhbmQgWzIsM10uCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMiwyLDQsNV0sIGsgPSAwCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+CldlIGNhbiBwYXJ0aXRpb24gbnVtcyBpbnRvIHRoZSB0aHJlZSBzdWJzZXF1ZW5jZXMgWzIsMl0sIFs0XSwgYW5kIFs1XS4KVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgbWF4aW11bSBhbmQgbWluaW11bSB2YWx1ZSBpbiB0aGUgZmlyc3Qgc3Vic2VxdWVuY2VzIGlzIDIgLSAyID0gMC4KVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgbWF4aW11bSBhbmQgbWluaW11bSB2YWx1ZSBpbiB0aGUgc2Vjb25kIHN1YnNlcXVlbmNlcyBpcyA0IC0gNCA9IDAuClRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIG1heGltdW0gYW5kIG1pbmltdW0gdmFsdWUgaW4gdGhlIHRoaXJkIHN1YnNlcXVlbmNlcyBpcyA1IC0gNSA9IDAuClNpbmNlIHRocmVlIHN1YnNlcXVlbmNlcyB3ZXJlIGNyZWF0ZWQsIHdlIHJldHVybiAzLiBJdCBjYW4gYmUgc2hvd24gdGhhdCAzIGlzIHRoZSBtaW5pbXVtIG51bWJlciBvZiBzdWJzZXF1ZW5jZXMgbmVlZGVkLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IG51bXNbaV0gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gayAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Greedy",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2285. Maximum Total Importance of Roads",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5uPC9jb2RlPiBkZW5vdGluZyB0aGUgbnVtYmVyIG9mIGNpdGllcyBpbiBhIGNvdW50cnkuIFRoZSBjaXRpZXMgYXJlIG51bWJlcmVkIGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+biAtIDE8L2NvZGU+LjwvcD4KPHA+WW91IGFyZSBhbHNvIGdpdmVuIGEgMkQgaW50ZWdlciBhcnJheSA8Y29kZT5yb2FkczwvY29kZT4gd2hlcmUgPGNvZGU+cm9hZHNbaV0gPSBbYTxzdWI+aTwvc3ViPiwgYjxzdWI+aTwvc3ViPl08L2NvZGU+IGRlbm90ZXMgdGhhdCB0aGVyZSBleGlzdHMgYSA8c3Ryb25nPmJpZGlyZWN0aW9uYWw8L3N0cm9uZz4gcm9hZCBjb25uZWN0aW5nIGNpdGllcyA8Y29kZT5hPHN1Yj5pPC9zdWI+PC9jb2RlPiBhbmQgPGNvZGU+YjxzdWI+aTwvc3ViPjwvY29kZT4uPC9wPgo8cD5Zb3UgbmVlZCB0byBhc3NpZ24gZWFjaCBjaXR5IHdpdGggYW4gaW50ZWdlciB2YWx1ZSBmcm9tIDxjb2RlPjE8L2NvZGU+IHRvIDxjb2RlPm48L2NvZGU+LCB3aGVyZSBlYWNoIHZhbHVlIGNhbiBvbmx5IGJlIHVzZWQgPHN0cm9uZz5vbmNlPC9zdHJvbmc+LiBUaGUgPHN0cm9uZz5pbXBvcnRhbmNlPC9zdHJvbmc+IG9mIGEgcm9hZCBpcyB0aGVuIGRlZmluZWQgYXMgdGhlIDxzdHJvbmc+c3VtPC9zdHJvbmc+IG9mIHRoZSB2YWx1ZXMgb2YgdGhlIHR3byBjaXRpZXMgaXQgY29ubmVjdHMuPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1heGltdW0gdG90YWwgaW1wb3J0YW5jZTwvc3Ryb25nPiBvZiBhbGwgcm9hZHMgcG9zc2libGUgYWZ0ZXIgYXNzaWduaW5nIHRoZSB2YWx1ZXMgb3B0aW1hbGx5LjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA0LzA3L2V4MWRyYXdpby5wbmciIHN0eWxlPSJ3aWR0aDogMjkwcHg7IGhlaWdodDogMjE1cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDUsIHJvYWRzID0gW1swLDFdLFsxLDJdLFsyLDNdLFswLDJdLFsxLDNdLFsyLDRdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGZpZ3VyZSBhYm92ZSBzaG93cyB0aGUgY291bnRyeSBhbmQgdGhlIGFzc2lnbmVkIHZhbHVlcyBvZiBbMiw0LDUsMywxXS4KLSBUaGUgcm9hZCAoMCwxKSBoYXMgYW4gaW1wb3J0YW5jZSBvZiAyICsgNCA9IDYuCi0gVGhlIHJvYWQgKDEsMikgaGFzIGFuIGltcG9ydGFuY2Ugb2YgNCArIDUgPSA5LgotIFRoZSByb2FkICgyLDMpIGhhcyBhbiBpbXBvcnRhbmNlIG9mIDUgKyAzID0gOC4KLSBUaGUgcm9hZCAoMCwyKSBoYXMgYW4gaW1wb3J0YW5jZSBvZiAyICsgNSA9IDcuCi0gVGhlIHJvYWQgKDEsMykgaGFzIGFuIGltcG9ydGFuY2Ugb2YgNCArIDMgPSA3LgotIFRoZSByb2FkICgyLDQpIGhhcyBhbiBpbXBvcnRhbmNlIG9mIDUgKyAxID0gNi4KVGhlIHRvdGFsIGltcG9ydGFuY2Ugb2YgYWxsIHJvYWRzIGlzIDYgKyA5ICsgOCArIDcgKyA3ICsgNiA9IDQzLgpJdCBjYW4gYmUgc2hvd24gdGhhdCB3ZSBjYW5ub3Qgb2J0YWluIGEgZ3JlYXRlciB0b3RhbCBpbXBvcnRhbmNlIHRoYW4gNDMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDQvMDcvZXgyZHJhd2lvLnBuZyIgc3R5bGU9IndpZHRoOiAyODFweDsgaGVpZ2h0OiAxNTFweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gNSwgcm9hZHMgPSBbWzAsM10sWzIsNF0sWzEsM11dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgZmlndXJlIGFib3ZlIHNob3dzIHRoZSBjb3VudHJ5IGFuZCB0aGUgYXNzaWduZWQgdmFsdWVzIG9mIFs0LDMsMiw1LDFdLgotIFRoZSByb2FkICgwLDMpIGhhcyBhbiBpbXBvcnRhbmNlIG9mIDQgKyA1ID0gOS4KLSBUaGUgcm9hZCAoMiw0KSBoYXMgYW4gaW1wb3J0YW5jZSBvZiAyICsgMSA9IDMuCi0gVGhlIHJvYWQgKDEsMykgaGFzIGFuIGltcG9ydGFuY2Ugb2YgMyArIDUgPSA4LgpUaGUgdG90YWwgaW1wb3J0YW5jZSBvZiBhbGwgcm9hZHMgaXMgOSArIDMgKyA4ID0gMjAuCkl0IGNhbiBiZSBzaG93biB0aGF0IHdlIGNhbm5vdCBvYnRhaW4gYSBncmVhdGVyIHRvdGFsIGltcG9ydGFuY2UgdGhhbiAyMC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MiAmbHQ7PSBuICZsdDs9IDUgKiAxMDxzdXA+NDwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSByb2Fkcy5sZW5ndGggJmx0Oz0gNSAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5yb2Fkc1tpXS5sZW5ndGggPT0gMjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBhPHN1Yj5pPC9zdWI+LCBiPHN1Yj5pPC9zdWI+ICZsdDs9IG4gLSAxPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5hPHN1Yj5pPC9zdWI+ICE9IGI8c3ViPmk8L3N1Yj48L2NvZGU+PC9saT4KPGxpPlRoZXJlIGFyZSBubyBkdXBsaWNhdGUgcm9hZHMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Greedy",
+ "Graph",
+ "Sorting",
+ "Heap (Priority Queue)"
+ ]
+ },
+ {
+ "title": "2284. Sender With Largest Word Count",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBoYXZlIGEgY2hhdCBsb2cgb2YgPGNvZGU+bjwvY29kZT4gbWVzc2FnZXMuIFlvdSBhcmUgZ2l2ZW4gdHdvIHN0cmluZyBhcnJheXMgPGNvZGU+bWVzc2FnZXM8L2NvZGU+IGFuZCA8Y29kZT5zZW5kZXJzPC9jb2RlPiB3aGVyZSA8Y29kZT5tZXNzYWdlc1tpXTwvY29kZT4gaXMgYSA8c3Ryb25nPm1lc3NhZ2U8L3N0cm9uZz4gc2VudCBieSA8Y29kZT5zZW5kZXJzW2ldPC9jb2RlPi48L3A+CjxwPkEgPHN0cm9uZz5tZXNzYWdlPC9zdHJvbmc+IGlzIGxpc3Qgb2YgPHN0cm9uZz53b3Jkczwvc3Ryb25nPiB0aGF0IGFyZSBzZXBhcmF0ZWQgYnkgYSBzaW5nbGUgc3BhY2Ugd2l0aCBubyBsZWFkaW5nIG9yIHRyYWlsaW5nIHNwYWNlcy4gVGhlIDxzdHJvbmc+d29yZCBjb3VudDwvc3Ryb25nPiBvZiBhIHNlbmRlciBpcyB0aGUgdG90YWwgbnVtYmVyIG9mIDxzdHJvbmc+d29yZHM8L3N0cm9uZz4gc2VudCBieSB0aGUgc2VuZGVyLiBOb3RlIHRoYXQgYSBzZW5kZXIgbWF5IHNlbmQgbW9yZSB0aGFuIG9uZSBtZXNzYWdlLjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgc2VuZGVyIHdpdGggdGhlIDxzdHJvbmc+bGFyZ2VzdDwvc3Ryb25nPiB3b3JkIGNvdW50PC9lbT4uIElmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgc2VuZGVyIHdpdGggdGhlIGxhcmdlc3Qgd29yZCBjb3VudCwgcmV0dXJuIDxlbT50aGUgb25lIHdpdGggdGhlIDxzdHJvbmc+bGV4aWNvZ3JhcGhpY2FsbHkgbGFyZ2VzdDwvc3Ryb25nPiBuYW1lPC9lbT4uPC9wPgo8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT5VcHBlcmNhc2UgbGV0dGVycyBjb21lIGJlZm9yZSBsb3dlcmNhc2UgbGV0dGVycyBpbiBsZXhpY29ncmFwaGljYWwgb3JkZXIuPC9saT4KPGxpPjxjb2RlPiJBbGljZSI8L2NvZGU+IGFuZCA8Y29kZT4iYWxpY2UiPC9jb2RlPiBhcmUgZGlzdGluY3QuPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbWVzc2FnZXMgPSBbIkhlbGxvIHVzZXJUd29vbyIsIkhpIHVzZXJUaHJlZSIsIldvbmRlcmZ1bCBkYXkgQWxpY2UiLCJOaWNlIGRheSB1c2VyVGhyZWUiXSwgc2VuZGVycyA9IFsiQWxpY2UiLCJ1c2VyVHdvIiwidXNlclRocmVlIiwiQWxpY2UiXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gIkFsaWNlIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBBbGljZSBzZW5kcyBhIHRvdGFsIG9mIDIgKyAzID0gNSB3b3Jkcy4KdXNlclR3byBzZW5kcyBhIHRvdGFsIG9mIDIgd29yZHMuCnVzZXJUaHJlZSBzZW5kcyBhIHRvdGFsIG9mIDMgd29yZHMuClNpbmNlIEFsaWNlIGhhcyB0aGUgbGFyZ2VzdCB3b3JkIGNvdW50LCB3ZSByZXR1cm4gIkFsaWNlIi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbWVzc2FnZXMgPSBbIkhvdyBpcyBsZWV0Y29kZSBmb3IgZXZlcnlvbmUiLCJMZWV0Y29kZSBpcyB1c2VmdWwgZm9yIHByYWN0aWNlIl0sIHNlbmRlcnMgPSBbIkJvYiIsIkNoYXJsaWUiXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gIkNoYXJsaWUiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEJvYiBzZW5kcyBhIHRvdGFsIG9mIDUgd29yZHMuCkNoYXJsaWUgc2VuZHMgYSB0b3RhbCBvZiA1IHdvcmRzLgpTaW5jZSB0aGVyZSBpcyBhIHRpZSBmb3IgdGhlIGxhcmdlc3Qgd29yZCBjb3VudCwgd2UgcmV0dXJuIHRoZSBzZW5kZXIgd2l0aCB0aGUgbGV4aWNvZ3JhcGhpY2FsbHkgbGFyZ2VyIG5hbWUsIENoYXJsaWUuPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBtZXNzYWdlcy5sZW5ndGggPT0gc2VuZGVycy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDxzdXA+NDwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBtZXNzYWdlc1tpXS5sZW5ndGggJmx0Oz0gMTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHNlbmRlcnNbaV0ubGVuZ3RoICZsdDs9IDEwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5tZXNzYWdlc1tpXTwvY29kZT4gY29uc2lzdHMgb2YgdXBwZXJjYXNlIGFuZCBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzIGFuZCA8Y29kZT4nICc8L2NvZGU+LjwvbGk+CjxsaT5BbGwgdGhlIHdvcmRzIGluIDxjb2RlPm1lc3NhZ2VzW2ldPC9jb2RlPiBhcmUgc2VwYXJhdGVkIGJ5IDxzdHJvbmc+YSBzaW5nbGUgc3BhY2U8L3N0cm9uZz4uPC9saT4KPGxpPjxjb2RlPm1lc3NhZ2VzW2ldPC9jb2RlPiBkb2VzIG5vdCBoYXZlIGxlYWRpbmcgb3IgdHJhaWxpbmcgc3BhY2VzLjwvbGk+CjxsaT48Y29kZT5zZW5kZXJzW2ldPC9jb2RlPiBjb25zaXN0cyBvZiB1cHBlcmNhc2UgYW5kIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMgb25seS48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "String",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2289. Steps to Make Array Non-decreasing",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+LiBJbiBvbmUgc3RlcCwgPHN0cm9uZz5yZW1vdmU8L3N0cm9uZz4gYWxsIGVsZW1lbnRzIDxjb2RlPm51bXNbaV08L2NvZGU+IHdoZXJlIDxjb2RlPm51bXNbaSAtIDFdICZndDsgbnVtc1tpXTwvY29kZT4gZm9yIGFsbCA8Y29kZT4wICZsdDsgaSAmbHQ7IG51bXMubGVuZ3RoPC9jb2RlPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIG51bWJlciBvZiBzdGVwcyBwZXJmb3JtZWQgdW50aWwgPC9lbT48Y29kZT5udW1zPC9jb2RlPjxlbT4gYmVjb21lcyBhIDxzdHJvbmc+bm9uLWRlY3JlYXNpbmc8L3N0cm9uZz4gYXJyYXk8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNSwzLDQsNCw3LDMsNiwxMSw4LDUsMTFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBmb2xsb3dpbmcgYXJlIHRoZSBzdGVwcyBwZXJmb3JtZWQ6Ci0gU3RlcCAxOiBbNSw8c3Ryb25nPjx1PjM8L3U+PC9zdHJvbmc+LDQsNCw3LDx1PjxzdHJvbmc+Mzwvc3Ryb25nPjwvdT4sNiwxMSw8dT48c3Ryb25nPjg8L3N0cm9uZz48L3U+LDx1PjxzdHJvbmc+NTwvc3Ryb25nPjwvdT4sMTFdIGJlY29tZXMgWzUsNCw0LDcsNiwxMSwxMV0KLSBTdGVwIDI6IFs1LDx1PjxzdHJvbmc+NDwvc3Ryb25nPjwvdT4sNCw3LDx1PjxzdHJvbmc+Njwvc3Ryb25nPjwvdT4sMTEsMTFdIGJlY29tZXMgWzUsNCw3LDExLDExXQotIFN0ZXAgMzogWzUsPHU+PHN0cm9uZz40PC9zdHJvbmc+PC91Piw3LDExLDExXSBiZWNvbWVzIFs1LDcsMTEsMTFdCls1LDcsMTEsMTFdIGlzIGEgbm9uLWRlY3JlYXNpbmcgYXJyYXkuIFRoZXJlZm9yZSwgd2UgcmV0dXJuIDMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNCw1LDcsNywxM10KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gbnVtcyBpcyBhbHJlYWR5IGEgbm9uLWRlY3JlYXNpbmcgYXJyYXkuIFRoZXJlZm9yZSwgd2UgcmV0dXJuIDAuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Linked List",
+ "Stack",
+ "Monotonic Stack"
+ ]
+ },
+ {
+ "title": "2288. Apply Discount to Prices",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgPHN0cm9uZz5zZW50ZW5jZTwvc3Ryb25nPiBpcyBhIHN0cmluZyBvZiBzaW5nbGUtc3BhY2Ugc2VwYXJhdGVkIHdvcmRzIHdoZXJlIGVhY2ggd29yZCBjYW4gY29udGFpbiBkaWdpdHMsIGxvd2VyY2FzZSBsZXR0ZXJzLCBhbmQgdGhlIGRvbGxhciBzaWduIDxjb2RlPickJzwvY29kZT4uIEEgd29yZCByZXByZXNlbnRzIGEgPHN0cm9uZz5wcmljZTwvc3Ryb25nPiBpZiBpdCBpcyBhIHNlcXVlbmNlIG9mIGRpZ2l0cyBwcmVjZWRlZCBieSBhIGRvbGxhciBzaWduLjwvcD4KPHVsPgo8bGk+Rm9yIGV4YW1wbGUsIDxjb2RlPiIkMTAwIjwvY29kZT4sIDxjb2RlPiIkMjMiPC9jb2RlPiwgYW5kIDxjb2RlPiIkNiI8L2NvZGU+IHJlcHJlc2VudCBwcmljZXMgd2hpbGUgPGNvZGU+IjEwMCI8L2NvZGU+LCA8Y29kZT4iJCI8L2NvZGU+LCBhbmQgPGNvZGU+IiQxZTUiPC9jb2RlPiBkbyBub3QuPC9saT4KPC91bD4KPHA+WW91IGFyZSBnaXZlbiBhIHN0cmluZyA8Y29kZT5zZW50ZW5jZTwvY29kZT4gcmVwcmVzZW50aW5nIGEgc2VudGVuY2UgYW5kIGFuIGludGVnZXIgPGNvZGU+ZGlzY291bnQ8L2NvZGU+LiBGb3IgZWFjaCB3b3JkIHJlcHJlc2VudGluZyBhIHByaWNlLCBhcHBseSBhIGRpc2NvdW50IG9mIDxjb2RlPmRpc2NvdW50JTwvY29kZT4gb24gdGhlIHByaWNlIGFuZCA8c3Ryb25nPnVwZGF0ZTwvc3Ryb25nPiB0aGUgd29yZCBpbiB0aGUgc2VudGVuY2UuIEFsbCB1cGRhdGVkIHByaWNlcyBzaG91bGQgYmUgcmVwcmVzZW50ZWQgd2l0aCA8c3Ryb25nPmV4YWN0bHkgdHdvPC9zdHJvbmc+IGRlY2ltYWwgcGxhY2VzLjwvcD4KPHA+UmV0dXJuIDxlbT5hIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIG1vZGlmaWVkIHNlbnRlbmNlPC9lbT4uPC9wPgo8cD5Ob3RlIHRoYXQgYWxsIHByaWNlcyB3aWxsIGNvbnRhaW4gPHN0cm9uZz5hdCBtb3N0PC9zdHJvbmc+IDxjb2RlPjEwPC9jb2RlPiBkaWdpdHMuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzZW50ZW5jZSA9ICJ0aGVyZSBhcmUgJDEgJDIgYW5kIDUkIGNhbmRpZXMgaW4gdGhlIHNob3AiLCBkaXNjb3VudCA9IDUwCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAidGhlcmUgYXJlICQwLjUwICQxLjAwIGFuZCA1JCBjYW5kaWVzIGluIHRoZSBzaG9wIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKVGhlIHdvcmRzIHdoaWNoIHJlcHJlc2VudCBwcmljZXMgYXJlICIkMSIgYW5kICIkMiIuIAotIEEgNTAlIGRpc2NvdW50IG9uICIkMSIgeWllbGRzICIkMC41MCIsIHNvICIkMSIgaXMgcmVwbGFjZWQgYnkgIiQwLjUwIi4KLSBBIDUwJSBkaXNjb3VudCBvbiAiJDIiIHlpZWxkcyAiJDEiLiBTaW5jZSB3ZSBuZWVkIHRvIGhhdmUgZXhhY3RseSAyIGRlY2ltYWwgcGxhY2VzIGFmdGVyIGEgcHJpY2UsIHdlIHJlcGxhY2UgIiQyIiB3aXRoICIkMS4wMCIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHNlbnRlbmNlID0gIjEgMiAkMyA0ICQ1ICQ2IDcgOCQgJDkgJDEwJCIsIGRpc2NvdW50ID0gMTAwCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiMSAyICQwLjAwIDQgJDAuMDAgJDAuMDAgNyA4JCAkMC4wMCAkMTAkIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKQXBwbHlpbmcgYSAxMDAlIGRpc2NvdW50IG9uIGFueSBwcmljZSB3aWxsIHJlc3VsdCBpbiAwLgpUaGUgd29yZHMgcmVwcmVzZW50aW5nIHByaWNlcyBhcmUgIiQzIiwgIiQ1IiwgIiQ2IiwgYW5kICIkOSIuCkVhY2ggb2YgdGhlbSBpcyByZXBsYWNlZCBieSAiJDAuMDAiLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHNlbnRlbmNlLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+c2VudGVuY2U8L2NvZGU+IGNvbnNpc3RzIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMsIGRpZ2l0cywgPGNvZGU+JyAnPC9jb2RlPiwgYW5kIDxjb2RlPickJzwvY29kZT4uPC9saT4KPGxpPjxjb2RlPnNlbnRlbmNlPC9jb2RlPiBkb2VzIG5vdCBoYXZlIGxlYWRpbmcgb3IgdHJhaWxpbmcgc3BhY2VzLjwvbGk+CjxsaT5BbGwgd29yZHMgaW4gPGNvZGU+c2VudGVuY2U8L2NvZGU+IGFyZSBzZXBhcmF0ZWQgYnkgYSBzaW5nbGUgc3BhY2UuPC9saT4KPGxpPkFsbCBwcmljZXMgd2lsbCBiZSA8c3Ryb25nPnBvc2l0aXZlPC9zdHJvbmc+IG51bWJlcnMgd2l0aG91dCBsZWFkaW5nIHplcm9zLjwvbGk+CjxsaT5BbGwgcHJpY2VzIHdpbGwgaGF2ZSA8c3Ryb25nPmF0IG1vc3Q8L3N0cm9uZz4gPGNvZGU+MTA8L2NvZGU+IGRpZ2l0cy48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBkaXNjb3VudCAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "String"
+ ]
+ },
+ {
+ "title": "2280. Minimum Lines to Represent a Line Chart",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPnN0b2NrUHJpY2VzPC9jb2RlPiB3aGVyZSA8Y29kZT5zdG9ja1ByaWNlc1tpXSA9IFtkYXk8c3ViPmk8L3N1Yj4sIHByaWNlPHN1Yj5pPC9zdWI+XTwvY29kZT4gaW5kaWNhdGVzIHRoZSBwcmljZSBvZiB0aGUgc3RvY2sgb24gZGF5IDxjb2RlPmRheTxzdWI+aTwvc3ViPjwvY29kZT4gaXMgPGNvZGU+cHJpY2U8c3ViPmk8L3N1Yj48L2NvZGU+LiBBIDxzdHJvbmc+bGluZSBjaGFydDwvc3Ryb25nPiBpcyBjcmVhdGVkIGZyb20gdGhlIGFycmF5IGJ5IHBsb3R0aW5nIHRoZSBwb2ludHMgb24gYW4gWFkgcGxhbmUgd2l0aCB0aGUgWC1heGlzIHJlcHJlc2VudGluZyB0aGUgZGF5IGFuZCB0aGUgWS1heGlzIHJlcHJlc2VudGluZyB0aGUgcHJpY2UgYW5kIGNvbm5lY3RpbmcgYWRqYWNlbnQgcG9pbnRzLiBPbmUgc3VjaCBleGFtcGxlIGlzIHNob3duIGJlbG93OjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAzLzMwLzE5MjBweC1wdXNoa2luX3BvcHVsYXRpb25faGlzdG9yeXN2Zy5wbmciIHN0eWxlPSJ3aWR0aDogNTAwcHg7IGhlaWdodDogMzEzcHg7Ii8+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWluaW11bSBudW1iZXIgb2YgbGluZXM8L3N0cm9uZz4gbmVlZGVkIHRvIHJlcHJlc2VudCB0aGUgbGluZSBjaGFydDwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMy8zMC9leDAucG5nIiBzdHlsZT0id2lkdGg6IDQwMHB4OyBoZWlnaHQ6IDQwMHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHN0b2NrUHJpY2VzID0gW1sxLDddLFsyLDZdLFszLDVdLFs0LDRdLFs1LDRdLFs2LDNdLFs3LDJdLFs4LDFdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgZGlhZ3JhbSBhYm92ZSByZXByZXNlbnRzIHRoZSBpbnB1dCwgd2l0aCB0aGUgWC1heGlzIHJlcHJlc2VudGluZyB0aGUgZGF5IGFuZCBZLWF4aXMgcmVwcmVzZW50aW5nIHRoZSBwcmljZS4KVGhlIGZvbGxvd2luZyAzIGxpbmVzIGNhbiBiZSBkcmF3biB0byByZXByZXNlbnQgdGhlIGxpbmUgY2hhcnQ6Ci0gTGluZSAxIChpbiByZWQpIGZyb20gKDEsNykgdG8gKDQsNCkgcGFzc2luZyB0aHJvdWdoICgxLDcpLCAoMiw2KSwgKDMsNSksIGFuZCAoNCw0KS4KLSBMaW5lIDIgKGluIGJsdWUpIGZyb20gKDQsNCkgdG8gKDUsNCkuCi0gTGluZSAzIChpbiBncmVlbikgZnJvbSAoNSw0KSB0byAoOCwxKSBwYXNzaW5nIHRocm91Z2ggKDUsNCksICg2LDMpLCAoNywyKSwgYW5kICg4LDEpLgpJdCBjYW4gYmUgc2hvd24gdGhhdCBpdCBpcyBub3QgcG9zc2libGUgdG8gcmVwcmVzZW50IHRoZSBsaW5lIGNoYXJ0IHVzaW5nIGxlc3MgdGhhbiAzIGxpbmVzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAzLzMwL2V4MS5wbmciIHN0eWxlPSJ3aWR0aDogMzI1cHg7IGhlaWdodDogMzI1cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gc3RvY2tQcmljZXMgPSBbWzMsNF0sWzEsMl0sWzcsOF0sWzIsM11dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+CkFzIHNob3duIGluIHRoZSBkaWFncmFtIGFib3ZlLCB0aGUgbGluZSBjaGFydCBjYW4gYmUgcmVwcmVzZW50ZWQgd2l0aCBhIHNpbmdsZSBsaW5lLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHN0b2NrUHJpY2VzLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+c3RvY2tQcmljZXNbaV0ubGVuZ3RoID09IDI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gZGF5PHN1Yj5pPC9zdWI+LCBwcmljZTxzdWI+aTwvc3ViPiAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8bGk+QWxsIDxjb2RlPmRheTxzdWI+aTwvc3ViPjwvY29kZT4gYXJlIDxzdHJvbmc+ZGlzdGluY3Q8L3N0cm9uZz4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Math",
+ "Geometry",
+ "Sorting",
+ "Number Theory"
+ ]
+ },
+ {
+ "title": "2279. Maximum Bags With Full Capacity of Rocks",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBoYXZlIDxjb2RlPm48L2NvZGU+IGJhZ3MgbnVtYmVyZWQgZnJvbSA8Y29kZT4wPC9jb2RlPiB0byA8Y29kZT5uIC0gMTwvY29kZT4uIFlvdSBhcmUgZ2l2ZW4gdHdvIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXlzIDxjb2RlPmNhcGFjaXR5PC9jb2RlPiBhbmQgPGNvZGU+cm9ja3M8L2NvZGU+LiBUaGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGJhZyBjYW4gaG9sZCBhIG1heGltdW0gb2YgPGNvZGU+Y2FwYWNpdHlbaV08L2NvZGU+IHJvY2tzIGFuZCBjdXJyZW50bHkgY29udGFpbnMgPGNvZGU+cm9ja3NbaV08L2NvZGU+IHJvY2tzLiBZb3UgYXJlIGFsc28gZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5hZGRpdGlvbmFsUm9ja3M8L2NvZGU+LCB0aGUgbnVtYmVyIG9mIGFkZGl0aW9uYWwgcm9ja3MgeW91IGNhbiBwbGFjZSBpbiA8c3Ryb25nPmFueTwvc3Ryb25nPiBvZiB0aGUgYmFncy48L3A+CjxwPlJldHVybjxlbT4gdGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBudW1iZXIgb2YgYmFncyB0aGF0IGNvdWxkIGhhdmUgZnVsbCBjYXBhY2l0eSBhZnRlciBwbGFjaW5nIHRoZSBhZGRpdGlvbmFsIHJvY2tzIGluIHNvbWUgYmFncy48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gY2FwYWNpdHkgPSBbMiwzLDQsNV0sIHJvY2tzID0gWzEsMiw0LDRdLCBhZGRpdGlvbmFsUm9ja3MgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClBsYWNlIDEgcm9jayBpbiBiYWcgMCBhbmQgMSByb2NrIGluIGJhZyAxLgpUaGUgbnVtYmVyIG9mIHJvY2tzIGluIGVhY2ggYmFnIGFyZSBub3cgWzIsMyw0LDRdLgpCYWdzIDAsIDEsIGFuZCAyIGhhdmUgZnVsbCBjYXBhY2l0eS4KVGhlcmUgYXJlIDMgYmFncyBhdCBmdWxsIGNhcGFjaXR5LCBzbyB3ZSByZXR1cm4gMy4KSXQgY2FuIGJlIHNob3duIHRoYXQgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGhhdmUgbW9yZSB0aGFuIDMgYmFncyBhdCBmdWxsIGNhcGFjaXR5LgpOb3RlIHRoYXQgdGhlcmUgbWF5IGJlIG90aGVyIHdheXMgb2YgcGxhY2luZyB0aGUgcm9ja3MgdGhhdCByZXN1bHQgaW4gYW4gYW5zd2VyIG9mIDMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGNhcGFjaXR5ID0gWzEwLDIsMl0sIHJvY2tzID0gWzIsMiwwXSwgYWRkaXRpb25hbFJvY2tzID0gMTAwCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClBsYWNlIDggcm9ja3MgaW4gYmFnIDAgYW5kIDIgcm9ja3MgaW4gYmFnIDIuClRoZSBudW1iZXIgb2Ygcm9ja3MgaW4gZWFjaCBiYWcgYXJlIG5vdyBbMTAsMiwyXS4KQmFncyAwLCAxLCBhbmQgMiBoYXZlIGZ1bGwgY2FwYWNpdHkuClRoZXJlIGFyZSAzIGJhZ3MgYXQgZnVsbCBjYXBhY2l0eSwgc28gd2UgcmV0dXJuIDMuCkl0IGNhbiBiZSBzaG93biB0aGF0IGl0IGlzIG5vdCBwb3NzaWJsZSB0byBoYXZlIG1vcmUgdGhhbiAzIGJhZ3MgYXQgZnVsbCBjYXBhY2l0eS4KTm90ZSB0aGF0IHdlIGRpZCBub3QgdXNlIGFsbCBvZiB0aGUgYWRkaXRpb25hbCByb2Nrcy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBjYXBhY2l0eS5sZW5ndGggPT0gcm9ja3MubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gNSAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGNhcGFjaXR5W2ldICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IHJvY2tzW2ldICZsdDs9IGNhcGFjaXR5W2ldPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGFkZGl0aW9uYWxSb2NrcyAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Greedy",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2245. Maximum Trailing Zeros in a Cornered Path",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPmdyaWQ8L2NvZGU+IG9mIHNpemUgPGNvZGU+bSB4IG48L2NvZGU+LCB3aGVyZSBlYWNoIGNlbGwgY29udGFpbnMgYSBwb3NpdGl2ZSBpbnRlZ2VyLjwvcD4KPHA+QSA8c3Ryb25nPmNvcm5lcmVkIHBhdGg8L3N0cm9uZz4gaXMgZGVmaW5lZCBhcyBhIHNldCBvZiBhZGphY2VudCBjZWxscyB3aXRoIDxzdHJvbmc+YXQgbW9zdDwvc3Ryb25nPiBvbmUgdHVybi4gTW9yZSBzcGVjaWZpY2FsbHksIHRoZSBwYXRoIHNob3VsZCBleGNsdXNpdmVseSBtb3ZlIGVpdGhlciA8c3Ryb25nPmhvcml6b250YWxseTwvc3Ryb25nPiBvciA8c3Ryb25nPnZlcnRpY2FsbHk8L3N0cm9uZz4gdXAgdG8gdGhlIHR1cm4gKGlmIHRoZXJlIGlzIG9uZSksIHdpdGhvdXQgcmV0dXJuaW5nIHRvIGEgcHJldmlvdXNseSB2aXNpdGVkIGNlbGwuIEFmdGVyIHRoZSB0dXJuLCB0aGUgcGF0aCB3aWxsIHRoZW4gbW92ZSBleGNsdXNpdmVseSBpbiB0aGUgPHN0cm9uZz5hbHRlcm5hdGU8L3N0cm9uZz4gZGlyZWN0aW9uOiBtb3ZlIHZlcnRpY2FsbHkgaWYgaXQgbW92ZWQgaG9yaXpvbnRhbGx5LCBhbmQgdmljZSB2ZXJzYSwgYWxzbyB3aXRob3V0IHJldHVybmluZyB0byBhIHByZXZpb3VzbHkgdmlzaXRlZCBjZWxsLjwvcD4KPHA+VGhlIDxzdHJvbmc+cHJvZHVjdDwvc3Ryb25nPiBvZiBhIHBhdGggaXMgZGVmaW5lZCBhcyB0aGUgcHJvZHVjdCBvZiBhbGwgdGhlIHZhbHVlcyBpbiB0aGUgcGF0aC48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBudW1iZXIgb2YgPHN0cm9uZz50cmFpbGluZyB6ZXJvczwvc3Ryb25nPiBpbiB0aGUgcHJvZHVjdCBvZiBhIGNvcm5lcmVkIHBhdGggZm91bmQgaW4gPC9lbT48Y29kZT5ncmlkPC9jb2RlPi48L3A+CjxwPk5vdGU6PC9wPgo8dWw+CjxsaT48c3Ryb25nPkhvcml6b250YWw8L3N0cm9uZz4gbW92ZW1lbnQgbWVhbnMgbW92aW5nIGluIGVpdGhlciB0aGUgbGVmdCBvciByaWdodCBkaXJlY3Rpb24uPC9saT4KPGxpPjxzdHJvbmc+VmVydGljYWw8L3N0cm9uZz4gbW92ZW1lbnQgbWVhbnMgbW92aW5nIGluIGVpdGhlciB0aGUgdXAgb3IgZG93biBkaXJlY3Rpb24uPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMy8yMy9leDFuZXcyLmpwZyIgc3R5bGU9IndpZHRoOiA1NzdweDsgaGVpZ2h0OiAxOTBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBncmlkID0gW1syMywxNywxNSwzLDIwXSxbOCwxLDIwLDI3LDExXSxbOSw0LDYsMiwyMV0sWzQwLDksMSwxMCw2XSxbMjIsNyw0LDUsM11dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBncmlkIG9uIHRoZSBsZWZ0IHNob3dzIGEgdmFsaWQgY29ybmVyZWQgcGF0aC4KSXQgaGFzIGEgcHJvZHVjdCBvZiAxNSAqIDIwICogNiAqIDEgKiAxMCA9IDE4MDAwIHdoaWNoIGhhcyAzIHRyYWlsaW5nIHplcm9zLgpJdCBjYW4gYmUgc2hvd24gdGhhdCB0aGlzIGlzIHRoZSBtYXhpbXVtIHRyYWlsaW5nIHplcm9zIGluIHRoZSBwcm9kdWN0IG9mIGEgY29ybmVyZWQgcGF0aC4KClRoZSBncmlkIGluIHRoZSBtaWRkbGUgaXMgbm90IGEgY29ybmVyZWQgcGF0aCBhcyBpdCBoYXMgbW9yZSB0aGFuIG9uZSB0dXJuLgpUaGUgZ3JpZCBvbiB0aGUgcmlnaHQgaXMgbm90IGEgY29ybmVyZWQgcGF0aCBhcyBpdCByZXF1aXJlcyBhIHJldHVybiB0byBhIHByZXZpb3VzbHkgdmlzaXRlZCBjZWxsLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAzLzI1L2V4Mi5qcGciIHN0eWxlPSJ3aWR0aDogMTUwcHg7IGhlaWdodDogMTU3cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbNCwzLDJdLFs3LDYsMV0sWzgsOCw4XV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGdyaWQgaXMgc2hvd24gaW4gdGhlIGZpZ3VyZSBhYm92ZS4KVGhlcmUgYXJlIG5vIGNvcm5lcmVkIHBhdGhzIGluIHRoZSBncmlkIHRoYXQgcmVzdWx0IGluIGEgcHJvZHVjdCB3aXRoIGEgdHJhaWxpbmcgemVyby4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+bSA9PSBncmlkLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+biA9PSBncmlkW2ldLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBtLCBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG0gKiBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGdyaWRbaV1bal0gJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Matrix",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2244. Minimum Rounds to Complete All Tasks",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPnRhc2tzPC9jb2RlPiwgd2hlcmUgPGNvZGU+dGFza3NbaV08L2NvZGU+IHJlcHJlc2VudHMgdGhlIGRpZmZpY3VsdHkgbGV2ZWwgb2YgYSB0YXNrLiBJbiBlYWNoIHJvdW5kLCB5b3UgY2FuIGNvbXBsZXRlIGVpdGhlciAyIG9yIDMgdGFza3Mgb2YgdGhlIDxzdHJvbmc+c2FtZSBkaWZmaWN1bHR5IGxldmVsPC9zdHJvbmc+LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5taW5pbXVtPC9zdHJvbmc+IHJvdW5kcyByZXF1aXJlZCB0byBjb21wbGV0ZSBhbGwgdGhlIHRhc2tzLCBvciA8L2VtPjxjb2RlPi0xPC9jb2RlPjxlbT4gaWYgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGNvbXBsZXRlIGFsbCB0aGUgdGFza3MuPC9lbT48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHRhc2tzID0gWzIsMiwzLDMsMiw0LDQsNCw0LDRdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRvIGNvbXBsZXRlIGFsbCB0aGUgdGFza3MsIGEgcG9zc2libGUgcGxhbiBpczoKLSBJbiB0aGUgZmlyc3Qgcm91bmQsIHlvdSBjb21wbGV0ZSAzIHRhc2tzIG9mIGRpZmZpY3VsdHkgbGV2ZWwgMi4gCi0gSW4gdGhlIHNlY29uZCByb3VuZCwgeW91IGNvbXBsZXRlIDIgdGFza3Mgb2YgZGlmZmljdWx0eSBsZXZlbCAzLiAKLSBJbiB0aGUgdGhpcmQgcm91bmQsIHlvdSBjb21wbGV0ZSAzIHRhc2tzIG9mIGRpZmZpY3VsdHkgbGV2ZWwgNC4gCi0gSW4gdGhlIGZvdXJ0aCByb3VuZCwgeW91IGNvbXBsZXRlIDIgdGFza3Mgb2YgZGlmZmljdWx0eSBsZXZlbCA0LiAgCkl0IGNhbiBiZSBzaG93biB0aGF0IGFsbCB0aGUgdGFza3MgY2Fubm90IGJlIGNvbXBsZXRlZCBpbiBmZXdlciB0aGFuIDQgcm91bmRzLCBzbyB0aGUgYW5zd2VyIGlzIDQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHRhc2tzID0gWzIsMywzXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gLTEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgaXMgb25seSAxIHRhc2sgb2YgZGlmZmljdWx0eSBsZXZlbCAyLCBidXQgaW4gZWFjaCByb3VuZCwgeW91IGNhbiBvbmx5IGNvbXBsZXRlIGVpdGhlciAyIG9yIDMgdGFza3Mgb2YgdGhlIHNhbWUgZGlmZmljdWx0eSBsZXZlbC4gSGVuY2UsIHlvdSBjYW5ub3QgY29tcGxldGUgYWxsIHRoZSB0YXNrcywgYW5kIHRoZSBhbnN3ZXIgaXMgLTEuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gdGFza3MubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHRhc2tzW2ldICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Greedy",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2271. Maximum White Tiles Covered by a Carpet",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPnRpbGVzPC9jb2RlPiB3aGVyZSA8Y29kZT50aWxlc1tpXSA9IFtsPHN1Yj5pPC9zdWI+LCByPHN1Yj5pPC9zdWI+XTwvY29kZT4gcmVwcmVzZW50cyB0aGF0IGV2ZXJ5IHRpbGUgPGNvZGU+ajwvY29kZT4gaW4gdGhlIHJhbmdlIDxjb2RlPmw8c3ViPmk8L3N1Yj4gJmx0Oz0gaiAmbHQ7PSByPHN1Yj5pPC9zdWI+PC9jb2RlPiBpcyBjb2xvcmVkIHdoaXRlLjwvcD4KPHA+WW91IGFyZSBhbHNvIGdpdmVuIGFuIGludGVnZXIgPGNvZGU+Y2FycGV0TGVuPC9jb2RlPiwgdGhlIGxlbmd0aCBvZiBhIHNpbmdsZSBjYXJwZXQgdGhhdCBjYW4gYmUgcGxhY2VkIDxzdHJvbmc+YW55d2hlcmU8L3N0cm9uZz4uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1heGltdW08L3N0cm9uZz4gbnVtYmVyIG9mIHdoaXRlIHRpbGVzIHRoYXQgY2FuIGJlIGNvdmVyZWQgYnkgdGhlIGNhcnBldDwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMy8yNS9leGFtcGxlMWRyYXdpbzMucG5nIiBzdHlsZT0id2lkdGg6IDY0NHB4OyBoZWlnaHQ6IDE1OHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHRpbGVzID0gW1sxLDVdLFsxMCwxMV0sWzEyLDE4XSxbMjAsMjVdLFszMCwzMl1dLCBjYXJwZXRMZW4gPSAxMAo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gOQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBQbGFjZSB0aGUgY2FycGV0IHN0YXJ0aW5nIG9uIHRpbGUgMTAuIApJdCBjb3ZlcnMgOSB3aGl0ZSB0aWxlcywgc28gd2UgcmV0dXJuIDkuCk5vdGUgdGhhdCB0aGVyZSBtYXkgYmUgb3RoZXIgcGxhY2VzIHdoZXJlIHRoZSBjYXJwZXQgY292ZXJzIDkgd2hpdGUgdGlsZXMuCkl0IGNhbiBiZSBzaG93biB0aGF0IHRoZSBjYXJwZXQgY2Fubm90IGNvdmVyIG1vcmUgdGhhbiA5IHdoaXRlIHRpbGVzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAzLzI0L2V4YW1wbGUyZHJhd2lvLnBuZyIgc3R5bGU9IndpZHRoOiAyMzFweDsgaGVpZ2h0OiAxNjhweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB0aWxlcyA9IFtbMTAsMTFdLFsxLDFdXSwgY2FycGV0TGVuID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBQbGFjZSB0aGUgY2FycGV0IHN0YXJ0aW5nIG9uIHRpbGUgMTAuIApJdCBjb3ZlcnMgMiB3aGl0ZSB0aWxlcywgc28gd2UgcmV0dXJuIDIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gdGlsZXMubGVuZ3RoICZsdDs9IDUgKiAxMDxzdXA+NDwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+dGlsZXNbaV0ubGVuZ3RoID09IDI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbDxzdWI+aTwvc3ViPiAmbHQ7PSByPHN1Yj5pPC9zdWI+ICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGNhcnBldExlbiAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8bGk+VGhlIDxjb2RlPnRpbGVzPC9jb2RlPiBhcmUgPHN0cm9uZz5ub24tb3ZlcmxhcHBpbmc8L3N0cm9uZz4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Greedy",
+ "Sorting",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2270. Number of Ways to Split Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT5uPC9jb2RlPi48L3A+CjxwPjxjb2RlPm51bXM8L2NvZGU+IGNvbnRhaW5zIGEgPHN0cm9uZz52YWxpZCBzcGxpdDwvc3Ryb25nPiBhdCBpbmRleCA8Y29kZT5pPC9jb2RlPiBpZiB0aGUgZm9sbG93aW5nIGFyZSB0cnVlOjwvcD4KPHVsPgo8bGk+VGhlIHN1bSBvZiB0aGUgZmlyc3QgPGNvZGU+aSArIDE8L2NvZGU+IGVsZW1lbnRzIGlzIDxzdHJvbmc+Z3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvPC9zdHJvbmc+IHRoZSBzdW0gb2YgdGhlIGxhc3QgPGNvZGU+biAtIGkgLSAxPC9jb2RlPiBlbGVtZW50cy48L2xpPgo8bGk+VGhlcmUgaXMgPHN0cm9uZz5hdCBsZWFzdCBvbmU8L3N0cm9uZz4gZWxlbWVudCB0byB0aGUgcmlnaHQgb2YgPGNvZGU+aTwvY29kZT4uIFRoYXQgaXMsIDxjb2RlPjAgJmx0Oz0gaSAmbHQ7IG4gLSAxPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPnRoZSBudW1iZXIgb2YgPHN0cm9uZz52YWxpZCBzcGxpdHM8L3N0cm9uZz4gaW48L2VtPiA8Y29kZT5udW1zPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMTAsNCwtOCw3XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKVGhlcmUgYXJlIHRocmVlIHdheXMgb2Ygc3BsaXR0aW5nIG51bXMgaW50byB0d28gbm9uLWVtcHR5IHBhcnRzOgotIFNwbGl0IG51bXMgYXQgaW5kZXggMC4gVGhlbiwgdGhlIGZpcnN0IHBhcnQgaXMgWzEwXSwgYW5kIGl0cyBzdW0gaXMgMTAuIFRoZSBzZWNvbmQgcGFydCBpcyBbNCwtOCw3XSwgYW5kIGl0cyBzdW0gaXMgMy4gU2luY2UgMTAgJmd0Oz0gMywgaSA9IDAgaXMgYSB2YWxpZCBzcGxpdC4KLSBTcGxpdCBudW1zIGF0IGluZGV4IDEuIFRoZW4sIHRoZSBmaXJzdCBwYXJ0IGlzIFsxMCw0XSwgYW5kIGl0cyBzdW0gaXMgMTQuIFRoZSBzZWNvbmQgcGFydCBpcyBbLTgsN10sIGFuZCBpdHMgc3VtIGlzIC0xLiBTaW5jZSAxNCAmZ3Q7PSAtMSwgaSA9IDEgaXMgYSB2YWxpZCBzcGxpdC4KLSBTcGxpdCBudW1zIGF0IGluZGV4IDIuIFRoZW4sIHRoZSBmaXJzdCBwYXJ0IGlzIFsxMCw0LC04XSwgYW5kIGl0cyBzdW0gaXMgNi4gVGhlIHNlY29uZCBwYXJ0IGlzIFs3XSwgYW5kIGl0cyBzdW0gaXMgNy4gU2luY2UgNiAmbHQ7IDcsIGkgPSAyIGlzIG5vdCBhIHZhbGlkIHNwbGl0LgpUaHVzLCB0aGUgbnVtYmVyIG9mIHZhbGlkIHNwbGl0cyBpbiBudW1zIGlzIDIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMiwzLDEsMF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gClRoZXJlIGFyZSB0d28gdmFsaWQgc3BsaXRzIGluIG51bXM6Ci0gU3BsaXQgbnVtcyBhdCBpbmRleCAxLiBUaGVuLCB0aGUgZmlyc3QgcGFydCBpcyBbMiwzXSwgYW5kIGl0cyBzdW0gaXMgNS4gVGhlIHNlY29uZCBwYXJ0IGlzIFsxLDBdLCBhbmQgaXRzIHN1bSBpcyAxLiBTaW5jZSA1ICZndDs9IDEsIGkgPSAxIGlzIGEgdmFsaWQgc3BsaXQuIAotIFNwbGl0IG51bXMgYXQgaW5kZXggMi4gVGhlbiwgdGhlIGZpcnN0IHBhcnQgaXMgWzIsMywxXSwgYW5kIGl0cyBzdW0gaXMgNi4gVGhlIHNlY29uZCBwYXJ0IGlzIFswXSwgYW5kIGl0cyBzdW0gaXMgMC4gU2luY2UgNiAmZ3Q7PSAwLCBpID0gMiBpcyBhIHZhbGlkIHNwbGl0Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4yICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4tMTA8c3VwPjU8L3N1cD4gJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2275. Largest Combination With Bitwise AND Greater Than Zero",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZSA8c3Ryb25nPmJpdHdpc2UgQU5EPC9zdHJvbmc+IG9mIGFuIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IGlzIHRoZSBiaXR3aXNlIEFORCBvZiBhbGwgaW50ZWdlcnMgaW4gPGNvZGU+bnVtczwvY29kZT4uPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgZm9yIDxjb2RlPm51bXMgPSBbMSwgNSwgM108L2NvZGU+LCB0aGUgYml0d2lzZSBBTkQgaXMgZXF1YWwgdG8gPGNvZGU+MSAmYW1wOyA1ICZhbXA7IDMgPSAxPC9jb2RlPi48L2xpPgo8bGk+QWxzbywgZm9yIDxjb2RlPm51bXMgPSBbN108L2NvZGU+LCB0aGUgYml0d2lzZSBBTkQgaXMgPGNvZGU+NzwvY29kZT4uPC9saT4KPC91bD4KPHA+WW91IGFyZSBnaXZlbiBhbiBhcnJheSBvZiBwb3NpdGl2ZSBpbnRlZ2VycyA8Y29kZT5jYW5kaWRhdGVzPC9jb2RlPi4gRXZhbHVhdGUgdGhlIDxzdHJvbmc+Yml0d2lzZSBBTkQ8L3N0cm9uZz4gb2YgZXZlcnkgPHN0cm9uZz5jb21iaW5hdGlvbjwvc3Ryb25nPiBvZiBudW1iZXJzIG9mIDxjb2RlPmNhbmRpZGF0ZXM8L2NvZGU+LiBFYWNoIG51bWJlciBpbiA8Y29kZT5jYW5kaWRhdGVzPC9jb2RlPiBtYXkgb25seSBiZSB1c2VkIDxzdHJvbmc+b25jZTwvc3Ryb25nPiBpbiBlYWNoIGNvbWJpbmF0aW9uLjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgc2l6ZSBvZiB0aGUgPHN0cm9uZz5sYXJnZXN0PC9zdHJvbmc+IGNvbWJpbmF0aW9uIG9mIDwvZW0+PGNvZGU+Y2FuZGlkYXRlczwvY29kZT48ZW0+IHdpdGggYSBiaXR3aXNlIEFORCA8c3Ryb25nPmdyZWF0ZXI8L3N0cm9uZz4gdGhhbiA8L2VtPjxjb2RlPjA8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gY2FuZGlkYXRlcyA9IFsxNiwxNyw3MSw2MiwxMiwyNCwxNF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGNvbWJpbmF0aW9uIFsxNiwxNyw2MiwyNF0gaGFzIGEgYml0d2lzZSBBTkQgb2YgMTYgJmFtcDsgMTcgJmFtcDsgNjIgJmFtcDsgMjQgPSAxNiAmZ3Q7IDAuClRoZSBzaXplIG9mIHRoZSBjb21iaW5hdGlvbiBpcyA0LgpJdCBjYW4gYmUgc2hvd24gdGhhdCBubyBjb21iaW5hdGlvbiB3aXRoIGEgc2l6ZSBncmVhdGVyIHRoYW4gNCBoYXMgYSBiaXR3aXNlIEFORCBncmVhdGVyIHRoYW4gMC4KTm90ZSB0aGF0IG1vcmUgdGhhbiBvbmUgY29tYmluYXRpb24gbWF5IGhhdmUgdGhlIGxhcmdlc3Qgc2l6ZS4KRm9yIGV4YW1wbGUsIHRoZSBjb21iaW5hdGlvbiBbNjIsMTIsMjQsMTRdIGhhcyBhIGJpdHdpc2UgQU5EIG9mIDYyICZhbXA7IDEyICZhbXA7IDI0ICZhbXA7IDE0ID0gOCAmZ3Q7IDAuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGNhbmRpZGF0ZXMgPSBbOCw4XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgbGFyZ2VzdCBjb21iaW5hdGlvbiBbOCw4XSBoYXMgYSBiaXR3aXNlIEFORCBvZiA4ICZhbXA7IDggPSA4ICZndDsgMC4KVGhlIHNpemUgb2YgdGhlIGNvbWJpbmF0aW9uIGlzIDIsIHNvIHdlIHJldHVybiAyLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IGNhbmRpZGF0ZXMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGNhbmRpZGF0ZXNbaV0gJmx0Oz0gMTA8c3VwPjc8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Bit Manipulation",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2274. Maximum Consecutive Floors Without Special Floors",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkFsaWNlIG1hbmFnZXMgYSBjb21wYW55IGFuZCBoYXMgcmVudGVkIHNvbWUgZmxvb3JzIG9mIGEgYnVpbGRpbmcgYXMgb2ZmaWNlIHNwYWNlLiBBbGljZSBoYXMgZGVjaWRlZCBzb21lIG9mIHRoZXNlIGZsb29ycyBzaG91bGQgYmUgPHN0cm9uZz5zcGVjaWFsIGZsb29yczwvc3Ryb25nPiwgdXNlZCBmb3IgcmVsYXhhdGlvbiBvbmx5LjwvcD4KPHA+WW91IGFyZSBnaXZlbiB0d28gaW50ZWdlcnMgPGNvZGU+Ym90dG9tPC9jb2RlPiBhbmQgPGNvZGU+dG9wPC9jb2RlPiwgd2hpY2ggZGVub3RlIHRoYXQgQWxpY2UgaGFzIHJlbnRlZCBhbGwgdGhlIGZsb29ycyBmcm9tIDxjb2RlPmJvdHRvbTwvY29kZT4gdG8gPGNvZGU+dG9wPC9jb2RlPiAoPHN0cm9uZz5pbmNsdXNpdmU8L3N0cm9uZz4pLiBZb3UgYXJlIGFsc28gZ2l2ZW4gdGhlIGludGVnZXIgYXJyYXkgPGNvZGU+c3BlY2lhbDwvY29kZT4sIHdoZXJlIDxjb2RlPnNwZWNpYWxbaV08L2NvZGU+IGRlbm90ZXMgYSBzcGVjaWFsIGZsb29yIHRoYXQgQWxpY2UgaGFzIGRlc2lnbmF0ZWQgZm9yIHJlbGF4YXRpb24uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1heGltdW08L3N0cm9uZz4gbnVtYmVyIG9mIGNvbnNlY3V0aXZlIGZsb29ycyB3aXRob3V0IGEgc3BlY2lhbCBmbG9vcjwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gYm90dG9tID0gMiwgdG9wID0gOSwgc3BlY2lhbCA9IFs0LDZdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBmb2xsb3dpbmcgYXJlIHRoZSByYW5nZXMgKGluY2x1c2l2ZSkgb2YgY29uc2VjdXRpdmUgZmxvb3JzIHdpdGhvdXQgYSBzcGVjaWFsIGZsb29yOgotICgyLCAzKSB3aXRoIGEgdG90YWwgYW1vdW50IG9mIDIgZmxvb3JzLgotICg1LCA1KSB3aXRoIGEgdG90YWwgYW1vdW50IG9mIDEgZmxvb3IuCi0gKDcsIDkpIHdpdGggYSB0b3RhbCBhbW91bnQgb2YgMyBmbG9vcnMuClRoZXJlZm9yZSwgd2UgcmV0dXJuIHRoZSBtYXhpbXVtIG51bWJlciB3aGljaCBpcyAzIGZsb29ycy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gYm90dG9tID0gNiwgdG9wID0gOCwgc3BlY2lhbCA9IFs3LDYsOF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gRXZlcnkgZmxvb3IgcmVudGVkIGlzIGEgc3BlY2lhbCBmbG9vciwgc28gd2UgcmV0dXJuIDAuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gc3BlY2lhbC5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gYm90dG9tICZsdDs9IHNwZWNpYWxbaV0gJmx0Oz0gdG9wICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT5BbGwgdGhlIHZhbHVlcyBvZiA8Y29kZT5zcGVjaWFsPC9jb2RlPiBhcmUgPHN0cm9uZz51bmlxdWU8L3N0cm9uZz4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2241. Design an ATM Machine",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGFuIEFUTSBtYWNoaW5lIHRoYXQgc3RvcmVzIGJhbmtub3RlcyBvZiA8Y29kZT41PC9jb2RlPiBkZW5vbWluYXRpb25zOiA8Y29kZT4yMDwvY29kZT4sIDxjb2RlPjUwPC9jb2RlPiwgPGNvZGU+MTAwPC9jb2RlPiwgPGNvZGU+MjAwPC9jb2RlPiwgYW5kIDxjb2RlPjUwMDwvY29kZT4gZG9sbGFycy4gSW5pdGlhbGx5IHRoZSBBVE0gaXMgZW1wdHkuIFRoZSB1c2VyIGNhbiB1c2UgdGhlIG1hY2hpbmUgdG8gZGVwb3NpdCBvciB3aXRoZHJhdyBhbnkgYW1vdW50IG9mIG1vbmV5LjwvcD4KPHA+V2hlbiB3aXRoZHJhd2luZywgdGhlIG1hY2hpbmUgcHJpb3JpdGl6ZXMgdXNpbmcgYmFua25vdGVzIG9mIDxzdHJvbmc+bGFyZ2VyPC9zdHJvbmc+IHZhbHVlcy48L3A+Cjx1bD4KPGxpPkZvciBleGFtcGxlLCBpZiB5b3Ugd2FudCB0byB3aXRoZHJhdyA8Y29kZT4kMzAwPC9jb2RlPiBhbmQgdGhlcmUgYXJlIDxjb2RlPjI8L2NvZGU+IDxjb2RlPiQ1MDwvY29kZT4gYmFua25vdGVzLCA8Y29kZT4xPC9jb2RlPiA8Y29kZT4kMTAwPC9jb2RlPiBiYW5rbm90ZSwgYW5kIDxjb2RlPjE8L2NvZGU+IDxjb2RlPiQyMDA8L2NvZGU+IGJhbmtub3RlLCB0aGVuIHRoZSBtYWNoaW5lIHdpbGwgdXNlIHRoZSA8Y29kZT4kMTAwPC9jb2RlPiBhbmQgPGNvZGU+JDIwMDwvY29kZT4gYmFua25vdGVzLjwvbGk+CjxsaT5Ib3dldmVyLCBpZiB5b3UgdHJ5IHRvIHdpdGhkcmF3IDxjb2RlPiQ2MDA8L2NvZGU+IGFuZCB0aGVyZSBhcmUgPGNvZGU+MzwvY29kZT4gPGNvZGU+JDIwMDwvY29kZT4gYmFua25vdGVzIGFuZCA8Y29kZT4xPC9jb2RlPiA8Y29kZT4kNTAwPC9jb2RlPiBiYW5rbm90ZSwgdGhlbiB0aGUgd2l0aGRyYXcgcmVxdWVzdCB3aWxsIGJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIG1hY2hpbmUgd2lsbCBmaXJzdCB0cnkgdG8gdXNlIHRoZSA8Y29kZT4kNTAwPC9jb2RlPiBiYW5rbm90ZSBhbmQgdGhlbiBiZSB1bmFibGUgdG8gdXNlIGJhbmtub3RlcyB0byBjb21wbGV0ZSB0aGUgcmVtYWluaW5nIDxjb2RlPiQxMDA8L2NvZGU+LiBOb3RlIHRoYXQgdGhlIG1hY2hpbmUgaXMgPHN0cm9uZz5ub3Q8L3N0cm9uZz4gYWxsb3dlZCB0byB1c2UgdGhlIDxjb2RlPiQyMDA8L2NvZGU+IGJhbmtub3RlcyBpbnN0ZWFkIG9mIHRoZSA8Y29kZT4kNTAwPC9jb2RlPiBiYW5rbm90ZS48L2xpPgo8L3VsPgo8cD5JbXBsZW1lbnQgdGhlIEFUTSBjbGFzczo8L3A+Cjx1bD4KPGxpPjxjb2RlPkFUTSgpPC9jb2RlPiBJbml0aWFsaXplcyB0aGUgQVRNIG9iamVjdC48L2xpPgo8bGk+PGNvZGU+dm9pZCBkZXBvc2l0KGludFtdIGJhbmtub3Rlc0NvdW50KTwvY29kZT4gRGVwb3NpdHMgbmV3IGJhbmtub3RlcyBpbiB0aGUgb3JkZXIgPGNvZGU+JDIwPC9jb2RlPiwgPGNvZGU+JDUwPC9jb2RlPiwgPGNvZGU+JDEwMDwvY29kZT4sIDxjb2RlPiQyMDA8L2NvZGU+LCBhbmQgPGNvZGU+JDUwMDwvY29kZT4uPC9saT4KPGxpPjxjb2RlPmludFtdIHdpdGhkcmF3KGludCBhbW91bnQpPC9jb2RlPiBSZXR1cm5zIGFuIGFycmF5IG9mIGxlbmd0aCA8Y29kZT41PC9jb2RlPiBvZiB0aGUgbnVtYmVyIG9mIGJhbmtub3RlcyB0aGF0IHdpbGwgYmUgaGFuZGVkIHRvIHRoZSB1c2VyIGluIHRoZSBvcmRlciA8Y29kZT4kMjA8L2NvZGU+LCA8Y29kZT4kNTA8L2NvZGU+LCA8Y29kZT4kMTAwPC9jb2RlPiwgPGNvZGU+JDIwMDwvY29kZT4sIGFuZCA8Y29kZT4kNTAwPC9jb2RlPiwgYW5kIHVwZGF0ZSB0aGUgbnVtYmVyIG9mIGJhbmtub3RlcyBpbiB0aGUgQVRNIGFmdGVyIHdpdGhkcmF3aW5nLiBSZXR1cm5zIDxjb2RlPlstMV08L2NvZGU+IGlmIGl0IGlzIG5vdCBwb3NzaWJsZSAoZG8gPHN0cm9uZz5ub3Q8L3N0cm9uZz4gd2l0aGRyYXcgYW55IGJhbmtub3RlcyBpbiB0aGlzIGNhc2UpLjwvbGk+CjwvdWw+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ8L3N0cm9uZz4KWyJBVE0iLCAiZGVwb3NpdCIsICJ3aXRoZHJhdyIsICJkZXBvc2l0IiwgIndpdGhkcmF3IiwgIndpdGhkcmF3Il0KW1tdLCBbWzAsMCwxLDIsMV1dLCBbNjAwXSwgW1swLDEsMCwxLDFdXSwgWzYwMF0sIFs1NTBdXQo8c3Ryb25nPk91dHB1dDwvc3Ryb25nPgpbbnVsbCwgbnVsbCwgWzAsMCwxLDAsMV0sIG51bGwsIFstMV0sIFswLDEsMCwwLDFdXQoKPHN0cm9uZz5FeHBsYW5hdGlvbjwvc3Ryb25nPgpBVE0gYXRtID0gbmV3IEFUTSgpOwphdG0uZGVwb3NpdChbMCwwLDEsMiwxXSk7IC8vIERlcG9zaXRzIDEgJDEwMCBiYW5rbm90ZSwgMiAkMjAwIGJhbmtub3RlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhbmQgMSAkNTAwIGJhbmtub3RlLgphdG0ud2l0aGRyYXcoNjAwKTsgICAgICAgIC8vIFJldHVybnMgWzAsMCwxLDAsMV0uIFRoZSBtYWNoaW5lIHVzZXMgMSAkMTAwIGJhbmtub3RlCiAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYW5kIDEgJDUwMCBiYW5rbm90ZS4gVGhlIGJhbmtub3RlcyBsZWZ0IG92ZXIgaW4gdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWFjaGluZSBhcmUgWzAsMCwwLDIsMF0uCmF0bS5kZXBvc2l0KFswLDEsMCwxLDFdKTsgLy8gRGVwb3NpdHMgMSAkNTAsICQyMDAsIGFuZCAkNTAwIGJhbmtub3RlLgogICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBiYW5rbm90ZXMgaW4gdGhlIG1hY2hpbmUgYXJlIG5vdyBbMCwxLDAsMywxXS4KYXRtLndpdGhkcmF3KDYwMCk7ICAgICAgICAvLyBSZXR1cm5zIFstMV0uIFRoZSBtYWNoaW5lIHdpbGwgdHJ5IHRvIHVzZSBhICQ1MDAgYmFua25vdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhbmQgdGhlbiBiZSB1bmFibGUgdG8gY29tcGxldGUgdGhlIHJlbWFpbmluZyAkMTAwLAogICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNvIHRoZSB3aXRoZHJhdyByZXF1ZXN0IHdpbGwgYmUgcmVqZWN0ZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2luY2UgdGhlIHJlcXVlc3QgaXMgcmVqZWN0ZWQsIHRoZSBudW1iZXIgb2YgYmFua25vdGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaW4gdGhlIG1hY2hpbmUgaXMgbm90IG1vZGlmaWVkLgphdG0ud2l0aGRyYXcoNTUwKTsgICAgICAgIC8vIFJldHVybnMgWzAsMSwwLDAsMV0uIFRoZSBtYWNoaW5lIHVzZXMgMSAkNTAgYmFua25vdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhbmQgMSAkNTAwIGJhbmtub3RlLjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPmJhbmtub3Rlc0NvdW50Lmxlbmd0aCA9PSA1PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IGJhbmtub3Rlc0NvdW50W2ldICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGFtb3VudCAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8bGk+QXQgbW9zdCA8Y29kZT41MDAwPC9jb2RlPiBjYWxscyA8c3Ryb25nPmluIHRvdGFsPC9zdHJvbmc+IHdpbGwgYmUgbWFkZSB0byA8Y29kZT53aXRoZHJhdzwvY29kZT4gYW5kIDxjb2RlPmRlcG9zaXQ8L2NvZGU+LjwvbGk+CjxsaT5BdCBsZWFzdCA8c3Ryb25nPm9uZTwvc3Ryb25nPiBjYWxsIHdpbGwgYmUgbWFkZSB0byBlYWNoIGZ1bmN0aW9uIDxjb2RlPndpdGhkcmF3PC9jb2RlPiBhbmQgPGNvZGU+ZGVwb3NpdDwvY29kZT4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Greedy",
+ "Design"
+ ]
+ },
+ {
+ "title": "2240. Number of Ways to Buy Pens and Pencils",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT50b3RhbDwvY29kZT4gaW5kaWNhdGluZyB0aGUgYW1vdW50IG9mIG1vbmV5IHlvdSBoYXZlLiBZb3UgYXJlIGFsc28gZ2l2ZW4gdHdvIGludGVnZXJzIDxjb2RlPmNvc3QxPC9jb2RlPiBhbmQgPGNvZGU+Y29zdDI8L2NvZGU+IGluZGljYXRpbmcgdGhlIHByaWNlIG9mIGEgcGVuIGFuZCBwZW5jaWwgcmVzcGVjdGl2ZWx5LiBZb3UgY2FuIHNwZW5kIDxzdHJvbmc+cGFydCBvciBhbGw8L3N0cm9uZz4gb2YgeW91ciBtb25leSB0byBidXkgbXVsdGlwbGUgcXVhbnRpdGllcyAob3Igbm9uZSkgb2YgZWFjaCBraW5kIG9mIHdyaXRpbmcgdXRlbnNpbC48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bnVtYmVyIG9mIGRpc3RpbmN0IHdheXM8L3N0cm9uZz4geW91IGNhbiBidXkgc29tZSBudW1iZXIgb2YgcGVucyBhbmQgcGVuY2lscy48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gdG90YWwgPSAyMCwgY29zdDEgPSAxMCwgY29zdDIgPSA1CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA5CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBwcmljZSBvZiBhIHBlbiBpcyAxMCBhbmQgdGhlIHByaWNlIG9mIGEgcGVuY2lsIGlzIDUuCi0gSWYgeW91IGJ1eSAwIHBlbnMsIHlvdSBjYW4gYnV5IDAsIDEsIDIsIDMsIG9yIDQgcGVuY2lscy4KLSBJZiB5b3UgYnV5IDEgcGVuLCB5b3UgY2FuIGJ1eSAwLCAxLCBvciAyIHBlbmNpbHMuCi0gSWYgeW91IGJ1eSAyIHBlbnMsIHlvdSBjYW5ub3QgYnV5IGFueSBwZW5jaWxzLgpUaGUgdG90YWwgbnVtYmVyIG9mIHdheXMgdG8gYnV5IHBlbnMgYW5kIHBlbmNpbHMgaXMgNSArIDMgKyAxID0gOS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gdG90YWwgPSA1LCBjb3N0MSA9IDEwLCBjb3N0MiA9IDEwCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBwcmljZSBvZiBib3RoIHBlbnMgYW5kIHBlbmNpbHMgYXJlIDEwLCB3aGljaCBjb3N0IG1vcmUgdGhhbiB0b3RhbCwgc28geW91IGNhbm5vdCBidXkgYW55IHdyaXRpbmcgdXRlbnNpbHMuIFRoZXJlZm9yZSwgdGhlcmUgaXMgb25seSAxIHdheTogYnV5IDAgcGVucyBhbmQgMCBwZW5jaWxzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHRvdGFsLCBjb3N0MSwgY29zdDIgJmx0Oz0gMTA8c3VwPjY8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Math",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2266. Count Number of Texts",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkFsaWNlIGlzIHRleHRpbmcgQm9iIHVzaW5nIGhlciBwaG9uZS4gVGhlIDxzdHJvbmc+bWFwcGluZzwvc3Ryb25nPiBvZiBkaWdpdHMgdG8gbGV0dGVycyBpcyBzaG93biBpbiB0aGUgZmlndXJlIGJlbG93LjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAzLzE1LzEyMDBweC10ZWxlcGhvbmUta2V5cGFkMnN2Zy5wbmciIHN0eWxlPSJ3aWR0aDogMjAwcHg7IGhlaWdodDogMTYycHg7Ii8+CjxwPkluIG9yZGVyIHRvIDxzdHJvbmc+YWRkPC9zdHJvbmc+IGEgbGV0dGVyLCBBbGljZSBoYXMgdG8gPHN0cm9uZz5wcmVzczwvc3Ryb25nPiB0aGUga2V5IG9mIHRoZSBjb3JyZXNwb25kaW5nIGRpZ2l0IDxjb2RlPmk8L2NvZGU+IHRpbWVzLCB3aGVyZSA8Y29kZT5pPC9jb2RlPiBpcyB0aGUgcG9zaXRpb24gb2YgdGhlIGxldHRlciBpbiB0aGUga2V5LjwvcD4KPHVsPgo8bGk+Rm9yIGV4YW1wbGUsIHRvIGFkZCB0aGUgbGV0dGVyIDxjb2RlPidzJzwvY29kZT4sIEFsaWNlIGhhcyB0byBwcmVzcyA8Y29kZT4nNyc8L2NvZGU+IGZvdXIgdGltZXMuIFNpbWlsYXJseSwgdG8gYWRkIHRoZSBsZXR0ZXIgPGNvZGU+J2snPC9jb2RlPiwgQWxpY2UgaGFzIHRvIHByZXNzIDxjb2RlPic1JzwvY29kZT4gdHdpY2UuPC9saT4KPGxpPk5vdGUgdGhhdCB0aGUgZGlnaXRzIDxjb2RlPicwJzwvY29kZT4gYW5kIDxjb2RlPicxJzwvY29kZT4gZG8gbm90IG1hcCB0byBhbnkgbGV0dGVycywgc28gQWxpY2UgPHN0cm9uZz5kb2VzIG5vdDwvc3Ryb25nPiB1c2UgdGhlbS48L2xpPgo8L3VsPgo8cD5Ib3dldmVyLCBkdWUgdG8gYW4gZXJyb3IgaW4gdHJhbnNtaXNzaW9uLCBCb2IgZGlkIG5vdCByZWNlaXZlIEFsaWNlJ3MgdGV4dCBtZXNzYWdlIGJ1dCByZWNlaXZlZCBhIDxzdHJvbmc+c3RyaW5nIG9mIHByZXNzZWQga2V5czwvc3Ryb25nPiBpbnN0ZWFkLjwvcD4KPHVsPgo8bGk+Rm9yIGV4YW1wbGUsIHdoZW4gQWxpY2Ugc2VudCB0aGUgbWVzc2FnZSA8Y29kZT4iYm9iIjwvY29kZT4sIEJvYiByZWNlaXZlZCB0aGUgc3RyaW5nIDxjb2RlPiIyMjY2NjIyIjwvY29kZT4uPC9saT4KPC91bD4KPHA+R2l2ZW4gYSBzdHJpbmcgPGNvZGU+cHJlc3NlZEtleXM8L2NvZGU+IHJlcHJlc2VudGluZyB0aGUgc3RyaW5nIHJlY2VpdmVkIGJ5IEJvYiwgcmV0dXJuIDxlbT50aGUgPHN0cm9uZz50b3RhbCBudW1iZXIgb2YgcG9zc2libGUgdGV4dCBtZXNzYWdlczwvc3Ryb25nPiBBbGljZSBjb3VsZCBoYXZlIHNlbnQ8L2VtPi48L3A+CjxwPlNpbmNlIHRoZSBhbnN3ZXIgbWF5IGJlIHZlcnkgbGFyZ2UsIHJldHVybiBpdCA8c3Ryb25nPm1vZHVsbzwvc3Ryb25nPiA8Y29kZT4xMDxzdXA+OTwvc3VwPiArIDc8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcHJlc3NlZEtleXMgPSAiMjIyMzMiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA4CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBwb3NzaWJsZSB0ZXh0IG1lc3NhZ2VzIEFsaWNlIGNvdWxkIGhhdmUgc2VudCBhcmU6CiJhYWFkZCIsICJhYmRkIiwgImJhZGQiLCAiY2RkIiwgImFhYWUiLCAiYWJlIiwgImJhZSIsIGFuZCAiY2UiLgpTaW5jZSB0aGVyZSBhcmUgOCBwb3NzaWJsZSBtZXNzYWdlcywgd2UgcmV0dXJuIDguCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHByZXNzZWRLZXlzID0gIjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMiIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDgyODc2MDg5CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZXJlIGFyZSAyMDgyODc2MTAzIHBvc3NpYmxlIHRleHQgbWVzc2FnZXMgQWxpY2UgY291bGQgaGF2ZSBzZW50LgpTaW5jZSB3ZSBuZWVkIHRvIHJldHVybiB0aGUgYW5zd2VyIG1vZHVsbyAxMDxzdXA+OTwvc3VwPiArIDcsIHdlIHJldHVybiAyMDgyODc2MTAzICUgKDEwPHN1cD45PC9zdXA+ICsgNykgPSA4Mjg3NjA4OS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBwcmVzc2VkS2V5cy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnByZXNzZWRLZXlzPC9jb2RlPiBvbmx5IGNvbnNpc3RzIG9mIGRpZ2l0cyBmcm9tIDxjb2RlPicyJzwvY29kZT4gLSA8Y29kZT4nOSc8L2NvZGU+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Hash Table",
+ "Math",
+ "String",
+ "Dynamic Programming"
+ ]
+ },
+ {
+ "title": "2265. Count Nodes Equal to Average of Subtree",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIHRoZSA8Y29kZT5yb290PC9jb2RlPiBvZiBhIGJpbmFyeSB0cmVlLCByZXR1cm4gPGVtPnRoZSBudW1iZXIgb2Ygbm9kZXMgd2hlcmUgdGhlIHZhbHVlIG9mIHRoZSBub2RlIGlzIGVxdWFsIHRvIHRoZSA8c3Ryb25nPmF2ZXJhZ2U8L3N0cm9uZz4gb2YgdGhlIHZhbHVlcyBpbiBpdHMgPHN0cm9uZz5zdWJ0cmVlPC9zdHJvbmc+PC9lbT4uPC9wPgo8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT5UaGUgPHN0cm9uZz5hdmVyYWdlPC9zdHJvbmc+IG9mIDxjb2RlPm48L2NvZGU+IGVsZW1lbnRzIGlzIHRoZSA8c3Ryb25nPnN1bTwvc3Ryb25nPiBvZiB0aGUgPGNvZGU+bjwvY29kZT4gZWxlbWVudHMgZGl2aWRlZCBieSA8Y29kZT5uPC9jb2RlPiBhbmQgPHN0cm9uZz5yb3VuZGVkIGRvd248L3N0cm9uZz4gdG8gdGhlIG5lYXJlc3QgaW50ZWdlci48L2xpPgo8bGk+QSA8c3Ryb25nPnN1YnRyZWU8L3N0cm9uZz4gb2YgPGNvZGU+cm9vdDwvY29kZT4gaXMgYSB0cmVlIGNvbnNpc3Rpbmcgb2YgPGNvZGU+cm9vdDwvY29kZT4gYW5kIGFsbCBvZiBpdHMgZGVzY2VuZGFudHMuPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAzLzE1L2ltYWdlLTIwMjIwMzE1MjAzOTI1LTEucG5nIiBzdHlsZT0id2lkdGg6IDMwMHB4OyBoZWlnaHQ6IDIxMnB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHJvb3QgPSBbNCw4LDUsMCwxLG51bGwsNl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCkZvciB0aGUgbm9kZSB3aXRoIHZhbHVlIDQ6IFRoZSBhdmVyYWdlIG9mIGl0cyBzdWJ0cmVlIGlzICg0ICsgOCArIDUgKyAwICsgMSArIDYpIC8gNiA9IDI0IC8gNiA9IDQuCkZvciB0aGUgbm9kZSB3aXRoIHZhbHVlIDU6IFRoZSBhdmVyYWdlIG9mIGl0cyBzdWJ0cmVlIGlzICg1ICsgNikgLyAyID0gMTEgLyAyID0gNS4KRm9yIHRoZSBub2RlIHdpdGggdmFsdWUgMDogVGhlIGF2ZXJhZ2Ugb2YgaXRzIHN1YnRyZWUgaXMgMCAvIDEgPSAwLgpGb3IgdGhlIG5vZGUgd2l0aCB2YWx1ZSAxOiBUaGUgYXZlcmFnZSBvZiBpdHMgc3VidHJlZSBpcyAxIC8gMSA9IDEuCkZvciB0aGUgbm9kZSB3aXRoIHZhbHVlIDY6IFRoZSBhdmVyYWdlIG9mIGl0cyBzdWJ0cmVlIGlzIDYgLyAxID0gNi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAzLzI2L2ltYWdlLTIwMjIwMzI2MTMzOTIwLTEucG5nIiBzdHlsZT0id2lkdGg6IDgwcHg7IGhlaWdodDogNzZweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiByb290ID0gWzFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEZvciB0aGUgbm9kZSB3aXRoIHZhbHVlIDE6IFRoZSBhdmVyYWdlIG9mIGl0cyBzdWJ0cmVlIGlzIDEgLyAxID0gMS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+VGhlIG51bWJlciBvZiBub2RlcyBpbiB0aGUgdHJlZSBpcyBpbiB0aGUgcmFuZ2UgPGNvZGU+WzEsIDEwMDBdPC9jb2RlPi48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBOb2RlLnZhbCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Tree",
+ "Depth-First Search",
+ "Binary Tree"
+ ]
+ },
+ {
+ "title": "2257. Count Unguarded Cells in the Grid",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIGludGVnZXJzIDxjb2RlPm08L2NvZGU+IGFuZCA8Y29kZT5uPC9jb2RlPiByZXByZXNlbnRpbmcgYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiA8Y29kZT5tIHggbjwvY29kZT4gZ3JpZC4gWW91IGFyZSBhbHNvIGdpdmVuIHR3byAyRCBpbnRlZ2VyIGFycmF5cyA8Y29kZT5ndWFyZHM8L2NvZGU+IGFuZCA8Y29kZT53YWxsczwvY29kZT4gd2hlcmUgPGNvZGU+Z3VhcmRzW2ldID0gW3JvdzxzdWI+aTwvc3ViPiwgY29sPHN1Yj5pPC9zdWI+XTwvY29kZT4gYW5kIDxjb2RlPndhbGxzW2pdID0gW3JvdzxzdWI+ajwvc3ViPiwgY29sPHN1Yj5qPC9zdWI+XTwvY29kZT4gcmVwcmVzZW50IHRoZSBwb3NpdGlvbnMgb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBndWFyZCBhbmQgPGNvZGU+ajxzdXA+dGg8L3N1cD48L2NvZGU+IHdhbGwgcmVzcGVjdGl2ZWx5LjwvcD4KPHA+QSBndWFyZCBjYW4gc2VlIDxiPmV2ZXJ5PC9iPiBjZWxsIGluIHRoZSBmb3VyIGNhcmRpbmFsIGRpcmVjdGlvbnMgKG5vcnRoLCBlYXN0LCBzb3V0aCwgb3Igd2VzdCkgc3RhcnRpbmcgZnJvbSB0aGVpciBwb3NpdGlvbiB1bmxlc3MgPHN0cm9uZz5vYnN0cnVjdGVkPC9zdHJvbmc+IGJ5IGEgd2FsbCBvciBhbm90aGVyIGd1YXJkLiBBIGNlbGwgaXMgPHN0cm9uZz5ndWFyZGVkPC9zdHJvbmc+IGlmIHRoZXJlIGlzIDxzdHJvbmc+YXQgbGVhc3Q8L3N0cm9uZz4gb25lIGd1YXJkIHRoYXQgY2FuIHNlZSBpdC48L3A+CjxwPlJldHVybjxlbT4gdGhlIG51bWJlciBvZiB1bm9jY3VwaWVkIGNlbGxzIHRoYXQgYXJlIDxzdHJvbmc+bm90PC9zdHJvbmc+IDxzdHJvbmc+Z3VhcmRlZDwvc3Ryb25nPi48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMy8xMC9leGFtcGxlMWRyYXdpbzIucG5nIiBzdHlsZT0id2lkdGg6IDMwMHB4OyBoZWlnaHQ6IDIwNHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG0gPSA0LCBuID0gNiwgZ3VhcmRzID0gW1swLDBdLFsxLDFdLFsyLDNdXSwgd2FsbHMgPSBbWzAsMV0sWzIsMl0sWzEsNF1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA3CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBndWFyZGVkIGFuZCB1bmd1YXJkZWQgY2VsbHMgYXJlIHNob3duIGluIHJlZCBhbmQgZ3JlZW4gcmVzcGVjdGl2ZWx5IGluIHRoZSBhYm92ZSBkaWFncmFtLgpUaGVyZSBhcmUgYSB0b3RhbCBvZiA3IHVuZ3VhcmRlZCBjZWxscywgc28gd2UgcmV0dXJuIDcuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDMvMTAvZXhhbXBsZTJkcmF3aW8ucG5nIiBzdHlsZT0id2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDIwMXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG0gPSAzLCBuID0gMywgZ3VhcmRzID0gW1sxLDFdXSwgd2FsbHMgPSBbWzAsMV0sWzEsMF0sWzIsMV0sWzEsMl1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSB1bmd1YXJkZWQgY2VsbHMgYXJlIHNob3duIGluIGdyZWVuIGluIHRoZSBhYm92ZSBkaWFncmFtLgpUaGVyZSBhcmUgYSB0b3RhbCBvZiA0IHVuZ3VhcmRlZCBjZWxscywgc28gd2UgcmV0dXJuIDQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbSwgbiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MiAmbHQ7PSBtICogbiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBndWFyZHMubGVuZ3RoLCB3YWxscy5sZW5ndGggJmx0Oz0gNSAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4yICZsdDs9IGd1YXJkcy5sZW5ndGggKyB3YWxscy5sZW5ndGggJmx0Oz0gbSAqIG48L2NvZGU+PC9saT4KPGxpPjxjb2RlPmd1YXJkc1tpXS5sZW5ndGggPT0gd2FsbHNbal0ubGVuZ3RoID09IDI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gcm93PHN1Yj5pPC9zdWI+LCByb3c8c3ViPmo8L3N1Yj4gJmx0OyBtPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IGNvbDxzdWI+aTwvc3ViPiwgY29sPHN1Yj5qPC9zdWI+ICZsdDsgbjwvY29kZT48L2xpPgo8bGk+QWxsIHRoZSBwb3NpdGlvbnMgaW4gPGNvZGU+Z3VhcmRzPC9jb2RlPiBhbmQgPGNvZGU+d2FsbHM8L2NvZGU+IGFyZSA8c3Ryb25nPnVuaXF1ZTwvc3Ryb25nPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Matrix",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2256. Minimum Average Difference",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT5uPC9jb2RlPi48L3A+CjxwPlRoZSA8c3Ryb25nPmF2ZXJhZ2UgZGlmZmVyZW5jZTwvc3Ryb25nPiBvZiB0aGUgaW5kZXggPGNvZGU+aTwvY29kZT4gaXMgdGhlIDxzdHJvbmc+YWJzb2x1dGU8L3N0cm9uZz4gPHN0cm9uZz5kaWZmZXJlbmNlPC9zdHJvbmc+IGJldHdlZW4gdGhlIGF2ZXJhZ2Ugb2YgdGhlIDxzdHJvbmc+Zmlyc3Q8L3N0cm9uZz4gPGNvZGU+aSArIDE8L2NvZGU+IGVsZW1lbnRzIG9mIDxjb2RlPm51bXM8L2NvZGU+IGFuZCB0aGUgYXZlcmFnZSBvZiB0aGUgPHN0cm9uZz5sYXN0PC9zdHJvbmc+IDxjb2RlPm4gLSBpIC0gMTwvY29kZT4gZWxlbWVudHMuIEJvdGggYXZlcmFnZXMgc2hvdWxkIGJlIDxzdHJvbmc+cm91bmRlZCBkb3duPC9zdHJvbmc+IHRvIHRoZSBuZWFyZXN0IGludGVnZXIuPC9wPgo8cD5SZXR1cm48ZW0+IHRoZSBpbmRleCB3aXRoIHRoZSA8c3Ryb25nPm1pbmltdW0gYXZlcmFnZSBkaWZmZXJlbmNlPC9zdHJvbmc+PC9lbT4uIElmIHRoZXJlIGFyZSBtdWx0aXBsZSBzdWNoIGluZGljZXMsIHJldHVybiB0aGUgPHN0cm9uZz5zbWFsbGVzdDwvc3Ryb25nPiBvbmUuPC9wPgo8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT5UaGUgPHN0cm9uZz5hYnNvbHV0ZSBkaWZmZXJlbmNlPC9zdHJvbmc+IG9mIHR3byBudW1iZXJzIGlzIHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB0aGVpciBkaWZmZXJlbmNlLjwvbGk+CjxsaT5UaGUgPHN0cm9uZz5hdmVyYWdlPC9zdHJvbmc+IG9mIDxjb2RlPm48L2NvZGU+IGVsZW1lbnRzIGlzIHRoZSA8c3Ryb25nPnN1bTwvc3Ryb25nPiBvZiB0aGUgPGNvZGU+bjwvY29kZT4gZWxlbWVudHMgZGl2aWRlZCAoPHN0cm9uZz5pbnRlZ2VyIGRpdmlzaW9uPC9zdHJvbmc+KSBieSA8Y29kZT5uPC9jb2RlPi48L2xpPgo8bGk+VGhlIGF2ZXJhZ2Ugb2YgPGNvZGU+MDwvY29kZT4gZWxlbWVudHMgaXMgY29uc2lkZXJlZCB0byBiZSA8Y29kZT4wPC9jb2RlPi48L2xpPgo8L3VsPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzIsNSwzLDksNSwzXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgotIFRoZSBhdmVyYWdlIGRpZmZlcmVuY2Ugb2YgaW5kZXggMCBpczogfDIgLyAxIC0gKDUgKyAzICsgOSArIDUgKyAzKSAvIDV8ID0gfDIgLyAxIC0gMjUgLyA1fCA9IHwyIC0gNXwgPSAzLgotIFRoZSBhdmVyYWdlIGRpZmZlcmVuY2Ugb2YgaW5kZXggMSBpczogfCgyICsgNSkgLyAyIC0gKDMgKyA5ICsgNSArIDMpIC8gNHwgPSB8NyAvIDIgLSAyMCAvIDR8ID0gfDMgLSA1fCA9IDIuCi0gVGhlIGF2ZXJhZ2UgZGlmZmVyZW5jZSBvZiBpbmRleCAyIGlzOiB8KDIgKyA1ICsgMykgLyAzIC0gKDkgKyA1ICsgMykgLyAzfCA9IHwxMCAvIDMgLSAxNyAvIDN8ID0gfDMgLSA1fCA9IDIuCi0gVGhlIGF2ZXJhZ2UgZGlmZmVyZW5jZSBvZiBpbmRleCAzIGlzOiB8KDIgKyA1ICsgMyArIDkpIC8gNCAtICg1ICsgMykgLyAyfCA9IHwxOSAvIDQgLSA4IC8gMnwgPSB8NCAtIDR8ID0gMC4KLSBUaGUgYXZlcmFnZSBkaWZmZXJlbmNlIG9mIGluZGV4IDQgaXM6IHwoMiArIDUgKyAzICsgOSArIDUpIC8gNSAtIDMgLyAxfCA9IHwyNCAvIDUgLSAzIC8gMXwgPSB8NCAtIDN8ID0gMS4KLSBUaGUgYXZlcmFnZSBkaWZmZXJlbmNlIG9mIGluZGV4IDUgaXM6IHwoMiArIDUgKyAzICsgOSArIDUgKyAzKSAvIDYgLSAwfCA9IHwyNyAvIDYgLSAwfCA9IHw0IC0gMHwgPSA0LgpUaGUgYXZlcmFnZSBkaWZmZXJlbmNlIG9mIGluZGV4IDMgaXMgdGhlIG1pbmltdW0gYXZlcmFnZSBkaWZmZXJlbmNlIHNvIHJldHVybiAzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzBdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBvbmx5IGluZGV4IGlzIDAgc28gcmV0dXJuIDAuClRoZSBhdmVyYWdlIGRpZmZlcmVuY2Ugb2YgaW5kZXggMCBpczogfDAgLyAxIC0gMHwgPSB8MCAtIDB8ID0gMC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBudW1zW2ldICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2261. K Divisible Elements Subarrays",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIGludGVnZXIgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4gYW5kIHR3byBpbnRlZ2VycyA8Y29kZT5rPC9jb2RlPiBhbmQgPGNvZGU+cDwvY29kZT4sIHJldHVybiA8ZW0+dGhlIG51bWJlciBvZiA8c3Ryb25nPmRpc3RpbmN0IHN1YmFycmF5czwvc3Ryb25nPiB3aGljaCBoYXZlIDxzdHJvbmc+YXQgbW9zdDwvc3Ryb25nPjwvZW0+IDxjb2RlPms8L2NvZGU+IDxlbT5lbGVtZW50cyBkaXZpc2libGUgYnk8L2VtPiA8Y29kZT5wPC9jb2RlPi48L3A+CjxwPlR3byBhcnJheXMgPGNvZGU+bnVtczE8L2NvZGU+IGFuZCA8Y29kZT5udW1zMjwvY29kZT4gYXJlIHNhaWQgdG8gYmUgPHN0cm9uZz5kaXN0aW5jdDwvc3Ryb25nPiBpZjo8L3A+Cjx1bD4KPGxpPlRoZXkgYXJlIG9mIDxzdHJvbmc+ZGlmZmVyZW50PC9zdHJvbmc+IGxlbmd0aHMsIG9yPC9saT4KPGxpPlRoZXJlIGV4aXN0cyA8c3Ryb25nPmF0IGxlYXN0PC9zdHJvbmc+IG9uZSBpbmRleCA8Y29kZT5pPC9jb2RlPiB3aGVyZSA8Y29kZT5udW1zMVtpXSAhPSBudW1zMltpXTwvY29kZT4uPC9saT4KPC91bD4KPHA+QSA8c3Ryb25nPnN1YmFycmF5PC9zdHJvbmc+IGlzIGRlZmluZWQgYXMgYSA8c3Ryb25nPm5vbi1lbXB0eTwvc3Ryb25nPiBjb250aWd1b3VzIHNlcXVlbmNlIG9mIGVsZW1lbnRzIGluIGFuIGFycmF5LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs8dT48c3Ryb25nPjI8L3N0cm9uZz48L3U+LDMsMyw8dT48c3Ryb25nPjI8L3N0cm9uZz48L3U+LDx1PjxzdHJvbmc+Mjwvc3Ryb25nPjwvdT5dLCBrID0gMiwgcCA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDExCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBlbGVtZW50cyBhdCBpbmRpY2VzIDAsIDMsIGFuZCA0IGFyZSBkaXZpc2libGUgYnkgcCA9IDIuClRoZSAxMSBkaXN0aW5jdCBzdWJhcnJheXMgd2hpY2ggaGF2ZSBhdCBtb3N0IGsgPSAyIGVsZW1lbnRzIGRpdmlzaWJsZSBieSAyIGFyZToKWzJdLCBbMiwzXSwgWzIsMywzXSwgWzIsMywzLDJdLCBbM10sIFszLDNdLCBbMywzLDJdLCBbMywzLDIsMl0sIFszLDJdLCBbMywyLDJdLCBhbmQgWzIsMl0uCk5vdGUgdGhhdCB0aGUgc3ViYXJyYXlzIFsyXSBhbmQgWzNdIG9jY3VyIG1vcmUgdGhhbiBvbmNlIGluIG51bXMsIGJ1dCB0aGV5IHNob3VsZCBlYWNoIGJlIGNvdW50ZWQgb25seSBvbmNlLgpUaGUgc3ViYXJyYXkgWzIsMywzLDIsMl0gc2hvdWxkIG5vdCBiZSBjb3VudGVkIGJlY2F1c2UgaXQgaGFzIDMgZWxlbWVudHMgdGhhdCBhcmUgZGl2aXNpYmxlIGJ5IDIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSwyLDMsNF0sIGsgPSA0LCBwID0gMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KQWxsIGVsZW1lbnQgb2YgbnVtcyBhcmUgZGl2aXNpYmxlIGJ5IHAgPSAxLgpBbHNvLCBldmVyeSBzdWJhcnJheSBvZiBudW1zIHdpbGwgaGF2ZSBhdCBtb3N0IDQgZWxlbWVudHMgdGhhdCBhcmUgZGl2aXNpYmxlIGJ5IDEuClNpbmNlIGFsbCBzdWJhcnJheXMgYXJlIGRpc3RpbmN0LCB0aGUgdG90YWwgbnVtYmVyIG9mIHN1YmFycmF5cyBzYXRpc2Z5aW5nIGFsbCB0aGUgY29uc3RyYWludHMgaXMgMTAuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMjAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0sIHAgJmx0Oz0gMjAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGsgJmx0Oz0gbnVtcy5sZW5ndGg8L2NvZGU+PC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Rm9sbG93IHVwOjwvc3Ryb25nPjwvcD4KPHA+Q2FuIHlvdSBzb2x2ZSB0aGlzIHByb2JsZW0gaW4gTyhuPHN1cD4yPC9zdXA+KSB0aW1lIGNvbXBsZXhpdHk/PC9wPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Trie",
+ "Rolling Hash",
+ "Hash Function",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2260. Minimum Consecutive Cards to Pick Up",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5jYXJkczwvY29kZT4gd2hlcmUgPGNvZGU+Y2FyZHNbaV08L2NvZGU+IHJlcHJlc2VudHMgdGhlIDxzdHJvbmc+dmFsdWU8L3N0cm9uZz4gb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBjYXJkLiBBIHBhaXIgb2YgY2FyZHMgYXJlIDxzdHJvbmc+bWF0Y2hpbmc8L3N0cm9uZz4gaWYgdGhlIGNhcmRzIGhhdmUgdGhlIDxzdHJvbmc+c2FtZTwvc3Ryb25nPiB2YWx1ZS48L3A+CjxwPlJldHVybjxlbT4gdGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiBudW1iZXIgb2YgPHN0cm9uZz5jb25zZWN1dGl2ZTwvc3Ryb25nPiBjYXJkcyB5b3UgaGF2ZSB0byBwaWNrIHVwIHRvIGhhdmUgYSBwYWlyIG9mIDxzdHJvbmc+bWF0Y2hpbmc8L3N0cm9uZz4gY2FyZHMgYW1vbmcgdGhlIHBpY2tlZCBjYXJkcy48L2VtPiBJZiBpdCBpcyBpbXBvc3NpYmxlIHRvIGhhdmUgbWF0Y2hpbmcgY2FyZHMsIHJldHVybiA8Y29kZT4tMTwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBjYXJkcyA9IFszLDQsMiwzLDQsN10KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gV2UgY2FuIHBpY2sgdXAgdGhlIGNhcmRzIFszLDQsMiwzXSB3aGljaCBjb250YWluIGEgbWF0Y2hpbmcgcGFpciBvZiBjYXJkcyB3aXRoIHZhbHVlIDMuIE5vdGUgdGhhdCBwaWNraW5nIHVwIHRoZSBjYXJkcyBbNCwyLDMsNF0gaXMgYWxzbyBvcHRpbWFsLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBjYXJkcyA9IFsxLDAsNSwzXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gLTEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgaXMgbm8gd2F5IHRvIHBpY2sgdXAgYSBzZXQgb2YgY29uc2VjdXRpdmUgY2FyZHMgdGhhdCBjb250YWluIGEgcGFpciBvZiBtYXRjaGluZyBjYXJkcy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBjYXJkcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gY2FyZHNbaV0gJmx0Oz0gMTA8c3VwPjY8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Sliding Window"
+ ]
+ },
+ {
+ "title": "2250. Count Number of Rectangles Containing Each Point",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPnJlY3RhbmdsZXM8L2NvZGU+IHdoZXJlIDxjb2RlPnJlY3RhbmdsZXNbaV0gPSBbbDxzdWI+aTwvc3ViPiwgaDxzdWI+aTwvc3ViPl08L2NvZGU+IGluZGljYXRlcyB0aGF0IDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiByZWN0YW5nbGUgaGFzIGEgbGVuZ3RoIG9mIDxjb2RlPmw8c3ViPmk8L3N1Yj48L2NvZGU+IGFuZCBhIGhlaWdodCBvZiA8Y29kZT5oPHN1Yj5pPC9zdWI+PC9jb2RlPi4gWW91IGFyZSBhbHNvIGdpdmVuIGEgMkQgaW50ZWdlciBhcnJheSA8Y29kZT5wb2ludHM8L2NvZGU+IHdoZXJlIDxjb2RlPnBvaW50c1tqXSA9IFt4PHN1Yj5qPC9zdWI+LCB5PHN1Yj5qPC9zdWI+XTwvY29kZT4gaXMgYSBwb2ludCB3aXRoIGNvb3JkaW5hdGVzIDxjb2RlPih4PHN1Yj5qPC9zdWI+LCB5PHN1Yj5qPC9zdWI+KTwvY29kZT4uPC9wPgo8cD5UaGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHJlY3RhbmdsZSBoYXMgaXRzIDxzdHJvbmc+Ym90dG9tLWxlZnQgY29ybmVyPC9zdHJvbmc+IHBvaW50IGF0IHRoZSBjb29yZGluYXRlcyA8Y29kZT4oMCwgMCk8L2NvZGU+IGFuZCBpdHMgPHN0cm9uZz50b3AtcmlnaHQgY29ybmVyPC9zdHJvbmc+IHBvaW50IGF0IDxjb2RlPihsPHN1Yj5pPC9zdWI+LCBoPHN1Yj5pPC9zdWI+KTwvY29kZT4uPC9wPgo8cD5SZXR1cm48ZW0+IGFuIGludGVnZXIgYXJyYXkgPC9lbT48Y29kZT5jb3VudDwvY29kZT48ZW0+IG9mIGxlbmd0aCA8L2VtPjxjb2RlPnBvaW50cy5sZW5ndGg8L2NvZGU+PGVtPiB3aGVyZSA8L2VtPjxjb2RlPmNvdW50W2pdPC9jb2RlPjxlbT4gaXMgdGhlIG51bWJlciBvZiByZWN0YW5nbGVzIHRoYXQgPHN0cm9uZz5jb250YWluPC9zdHJvbmc+IHRoZSA8L2VtPjxjb2RlPmo8c3VwPnRoPC9zdXA+PC9jb2RlPjxlbT4gcG9pbnQuPC9lbT48L3A+CjxwPlRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gcmVjdGFuZ2xlIDxzdHJvbmc+Y29udGFpbnM8L3N0cm9uZz4gdGhlIDxjb2RlPmo8c3VwPnRoPC9zdXA+PC9jb2RlPiBwb2ludCBpZiA8Y29kZT4wICZsdDs9IHg8c3ViPmo8L3N1Yj4gJmx0Oz0gbDxzdWI+aTwvc3ViPjwvY29kZT4gYW5kIDxjb2RlPjAgJmx0Oz0geTxzdWI+ajwvc3ViPiAmbHQ7PSBoPHN1Yj5pPC9zdWI+PC9jb2RlPi4gTm90ZSB0aGF0IHBvaW50cyB0aGF0IGxpZSBvbiB0aGUgPHN0cm9uZz5lZGdlczwvc3Ryb25nPiBvZiBhIHJlY3RhbmdsZSBhcmUgYWxzbyBjb25zaWRlcmVkIHRvIGJlIGNvbnRhaW5lZCBieSB0aGF0IHJlY3RhbmdsZS48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDMvMDIvZXhhbXBsZTEucG5nIiBzdHlsZT0id2lkdGg6IDMwMHB4OyBoZWlnaHQ6IDUwOXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHJlY3RhbmdsZXMgPSBbWzEsMl0sWzIsM10sWzIsNV1dLCBwb2ludHMgPSBbWzIsMV0sWzEsNF1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMiwxXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKVGhlIGZpcnN0IHJlY3RhbmdsZSBjb250YWlucyBubyBwb2ludHMuClRoZSBzZWNvbmQgcmVjdGFuZ2xlIGNvbnRhaW5zIG9ubHkgdGhlIHBvaW50ICgyLCAxKS4KVGhlIHRoaXJkIHJlY3RhbmdsZSBjb250YWlucyB0aGUgcG9pbnRzICgyLCAxKSBhbmQgKDEsIDQpLgpUaGUgbnVtYmVyIG9mIHJlY3RhbmdsZXMgdGhhdCBjb250YWluIHRoZSBwb2ludCAoMiwgMSkgaXMgMi4KVGhlIG51bWJlciBvZiByZWN0YW5nbGVzIHRoYXQgY29udGFpbiB0aGUgcG9pbnQgKDEsIDQpIGlzIDEuClRoZXJlZm9yZSwgd2UgcmV0dXJuIFsyLCAxXS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMy8wMi9leGFtcGxlMi5wbmciIHN0eWxlPSJ3aWR0aDogMzAwcHg7IGhlaWdodDogMzEycHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcmVjdGFuZ2xlcyA9IFtbMSwxXSxbMiwyXSxbMywzXV0sIHBvaW50cyA9IFtbMSwzXSxbMSwxXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsxLDNdCjxzdHJvbmc+RXhwbGFuYXRpb246Cjwvc3Ryb25nPlRoZSBmaXJzdCByZWN0YW5nbGUgY29udGFpbnMgb25seSB0aGUgcG9pbnQgKDEsIDEpLgpUaGUgc2Vjb25kIHJlY3RhbmdsZSBjb250YWlucyBvbmx5IHRoZSBwb2ludCAoMSwgMSkuClRoZSB0aGlyZCByZWN0YW5nbGUgY29udGFpbnMgdGhlIHBvaW50cyAoMSwgMykgYW5kICgxLCAxKS4KVGhlIG51bWJlciBvZiByZWN0YW5nbGVzIHRoYXQgY29udGFpbiB0aGUgcG9pbnQgKDEsIDMpIGlzIDEuClRoZSBudW1iZXIgb2YgcmVjdGFuZ2xlcyB0aGF0IGNvbnRhaW4gdGhlIHBvaW50ICgxLCAxKSBpcyAzLgpUaGVyZWZvcmUsIHdlIHJldHVybiBbMSwgM10uCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gcmVjdGFuZ2xlcy5sZW5ndGgsIHBvaW50cy5sZW5ndGggJmx0Oz0gNSAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5yZWN0YW5nbGVzW2ldLmxlbmd0aCA9PSBwb2ludHNbal0ubGVuZ3RoID09IDI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbDxzdWI+aTwvc3ViPiwgeDxzdWI+ajwvc3ViPiAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBoPHN1Yj5pPC9zdWI+LCB5PHN1Yj5qPC9zdWI+ICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+QWxsIHRoZSA8Y29kZT5yZWN0YW5nbGVzPC9jb2RlPiBhcmUgPHN0cm9uZz51bmlxdWU8L3N0cm9uZz4uPC9saT4KPGxpPkFsbCB0aGUgPGNvZGU+cG9pbnRzPC9jb2RlPiBhcmUgPHN0cm9uZz51bmlxdWU8L3N0cm9uZz4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Binary Indexed Tree",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2249. Count Lattice Points Inside a Circle",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgMkQgaW50ZWdlciBhcnJheSA8Y29kZT5jaXJjbGVzPC9jb2RlPiB3aGVyZSA8Y29kZT5jaXJjbGVzW2ldID0gW3g8c3ViPmk8L3N1Yj4sIHk8c3ViPmk8L3N1Yj4sIHI8c3ViPmk8L3N1Yj5dPC9jb2RlPiByZXByZXNlbnRzIHRoZSBjZW50ZXIgPGNvZGU+KHg8c3ViPmk8L3N1Yj4sIHk8c3ViPmk8L3N1Yj4pPC9jb2RlPiBhbmQgcmFkaXVzIDxjb2RlPnI8c3ViPmk8L3N1Yj48L2NvZGU+IG9mIHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gY2lyY2xlIGRyYXduIG9uIGEgZ3JpZCwgcmV0dXJuIDxlbT50aGUgPHN0cm9uZz5udW1iZXIgb2YgbGF0dGljZSBwb2ludHM8L3N0cm9uZz4gPC9lbT48ZW0+dGhhdCBhcmUgcHJlc2VudCBpbnNpZGUgPHN0cm9uZz5hdCBsZWFzdCBvbmU8L3N0cm9uZz4gY2lyY2xlPC9lbT4uPC9wPgo8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT5BIDxzdHJvbmc+bGF0dGljZSBwb2ludDwvc3Ryb25nPiBpcyBhIHBvaW50IHdpdGggaW50ZWdlciBjb29yZGluYXRlcy48L2xpPgo8bGk+UG9pbnRzIHRoYXQgbGllIDxzdHJvbmc+b24gdGhlIGNpcmN1bWZlcmVuY2Ugb2YgYSBjaXJjbGU8L3N0cm9uZz4gYXJlIGFsc28gY29uc2lkZXJlZCB0byBiZSBpbnNpZGUgaXQuPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMy8wMi9leGEtMTEucG5nIiBzdHlsZT0id2lkdGg6IDMwMHB4OyBoZWlnaHQ6IDMwMHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGNpcmNsZXMgPSBbWzIsMiwxXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIGZpZ3VyZSBhYm92ZSBzaG93cyB0aGUgZ2l2ZW4gY2lyY2xlLgpUaGUgbGF0dGljZSBwb2ludHMgcHJlc2VudCBpbnNpZGUgdGhlIGNpcmNsZSBhcmUgKDEsIDIpLCAoMiwgMSksICgyLCAyKSwgKDIsIDMpLCBhbmQgKDMsIDIpIGFuZCBhcmUgc2hvd24gaW4gZ3JlZW4uCk90aGVyIHBvaW50cyBzdWNoIGFzICgxLCAxKSBhbmQgKDEsIDMpLCB3aGljaCBhcmUgc2hvd24gaW4gcmVkLCBhcmUgbm90IGNvbnNpZGVyZWQgaW5zaWRlIHRoZSBjaXJjbGUuCkhlbmNlLCB0aGUgbnVtYmVyIG9mIGxhdHRpY2UgcG9pbnRzIHByZXNlbnQgaW5zaWRlIGF0IGxlYXN0IG9uZSBjaXJjbGUgaXMgNS48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAzLzAyL2V4YS0yMi5wbmciIHN0eWxlPSJ3aWR0aDogMzAwcHg7IGhlaWdodDogMzAwcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gY2lyY2xlcyA9IFtbMiwyLDJdLFszLDQsMV1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxNgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgZmlndXJlIGFib3ZlIHNob3dzIHRoZSBnaXZlbiBjaXJjbGVzLgpUaGVyZSBhcmUgZXhhY3RseSAxNiBsYXR0aWNlIHBvaW50cyB3aGljaCBhcmUgcHJlc2VudCBpbnNpZGUgYXQgbGVhc3Qgb25lIGNpcmNsZS4gClNvbWUgb2YgdGhlbSBhcmUgKDAsIDIpLCAoMiwgMCksICgyLCA0KSwgKDMsIDIpLCBhbmQgKDQsIDQpLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IGNpcmNsZXMubGVuZ3RoICZsdDs9IDIwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+Y2lyY2xlc1tpXS5sZW5ndGggPT0gMzwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSB4PHN1Yj5pPC9zdWI+LCB5PHN1Yj5pPC9zdWI+ICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSByPHN1Yj5pPC9zdWI+ICZsdDs9IG1pbih4PHN1Yj5pPC9zdWI+LCB5PHN1Yj5pPC9zdWI+KTwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Math",
+ "Geometry",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2233. Maximum Product After K Increments",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gYXJyYXkgb2Ygbm9uLW5lZ2F0aXZlIGludGVnZXJzIDxjb2RlPm51bXM8L2NvZGU+IGFuZCBhbiBpbnRlZ2VyIDxjb2RlPms8L2NvZGU+LiBJbiBvbmUgb3BlcmF0aW9uLCB5b3UgbWF5IGNob29zZSA8c3Ryb25nPmFueTwvc3Ryb25nPiBlbGVtZW50IGZyb20gPGNvZGU+bnVtczwvY29kZT4gYW5kIDxzdHJvbmc+aW5jcmVtZW50PC9zdHJvbmc+IGl0IGJ5IDxjb2RlPjE8L2NvZGU+LjwvcD4KPHA+UmV0dXJuPGVtPiB0aGUgPHN0cm9uZz5tYXhpbXVtPC9zdHJvbmc+IDxzdHJvbmc+cHJvZHVjdDwvc3Ryb25nPiBvZiA8L2VtPjxjb2RlPm51bXM8L2NvZGU+PGVtPiBhZnRlciA8c3Ryb25nPmF0IG1vc3Q8L3N0cm9uZz4gPC9lbT48Y29kZT5rPC9jb2RlPjxlbT4gb3BlcmF0aW9ucy4gPC9lbT5TaW5jZSB0aGUgYW5zd2VyIG1heSBiZSB2ZXJ5IGxhcmdlLCByZXR1cm4gaXQgPGI+bW9kdWxvPC9iPiA8Y29kZT4xMDxzdXA+OTwvc3VwPiArIDc8L2NvZGU+LiBOb3RlIHRoYXQgeW91IHNob3VsZCBtYXhpbWl6ZSB0aGUgcHJvZHVjdCBiZWZvcmUgdGFraW5nIHRoZSBtb2R1bG8uwqA8L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMCw0XSwgayA9IDUKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEluY3JlbWVudCB0aGUgZmlyc3QgbnVtYmVyIDUgdGltZXMuCk5vdyBudW1zID0gWzUsIDRdLCB3aXRoIGEgcHJvZHVjdCBvZiA1ICogNCA9IDIwLgpJdCBjYW4gYmUgc2hvd24gdGhhdCAyMCBpcyBtYXhpbXVtIHByb2R1Y3QgcG9zc2libGUsIHNvIHdlIHJldHVybiAyMC4KTm90ZSB0aGF0IHRoZXJlIG1heSBiZSBvdGhlciB3YXlzIHRvIGluY3JlbWVudCBudW1zIHRvIGhhdmUgdGhlIG1heGltdW0gcHJvZHVjdC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs2LDMsMywyXSwgayA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIxNgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBJbmNyZW1lbnQgdGhlIHNlY29uZCBudW1iZXIgMSB0aW1lIGFuZCBpbmNyZW1lbnQgdGhlIGZvdXJ0aCBudW1iZXIgMSB0aW1lLgpOb3cgbnVtcyA9IFs2LCA0LCAzLCAzXSwgd2l0aCBhIHByb2R1Y3Qgb2YgNiAqIDQgKiAzICogMyA9IDIxNi4KSXQgY2FuIGJlIHNob3duIHRoYXQgMjE2IGlzIG1heGltdW0gcHJvZHVjdCBwb3NzaWJsZSwgc28gd2UgcmV0dXJuIDIxNi4KTm90ZSB0aGF0IHRoZXJlIG1heSBiZSBvdGhlciB3YXlzIHRvIGluY3JlbWVudCBudW1zIHRvIGhhdmUgdGhlIG1heGltdW0gcHJvZHVjdC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCwgayAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBudW1zW2ldICZsdDs9IDEwPHN1cD42PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Greedy",
+ "Heap (Priority Queue)"
+ ]
+ },
+ {
+ "title": "2232. Minimize Result by Adding Parentheses to Expression",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBzdHJpbmcgPGNvZGU+ZXhwcmVzc2lvbjwvY29kZT4gb2YgdGhlIGZvcm0gPGNvZGU+IiZsdDtudW0xJmd0OysmbHQ7bnVtMiZndDsiPC9jb2RlPiB3aGVyZSA8Y29kZT4mbHQ7bnVtMSZndDs8L2NvZGU+IGFuZCA8Y29kZT4mbHQ7bnVtMiZndDs8L2NvZGU+IHJlcHJlc2VudCBwb3NpdGl2ZSBpbnRlZ2Vycy48L3A+CjxwPkFkZCBhIHBhaXIgb2YgcGFyZW50aGVzZXMgdG8gPGNvZGU+ZXhwcmVzc2lvbjwvY29kZT4gc3VjaCB0aGF0IGFmdGVyIHRoZSBhZGRpdGlvbiBvZiBwYXJlbnRoZXNlcywgPGNvZGU+ZXhwcmVzc2lvbjwvY29kZT4gaXMgYSA8c3Ryb25nPnZhbGlkPC9zdHJvbmc+IG1hdGhlbWF0aWNhbCBleHByZXNzaW9uIGFuZCBldmFsdWF0ZXMgdG8gdGhlIDxzdHJvbmc+c21hbGxlc3Q8L3N0cm9uZz4gcG9zc2libGUgdmFsdWUuIFRoZSBsZWZ0IHBhcmVudGhlc2lzIDxzdHJvbmc+bXVzdDwvc3Ryb25nPiBiZSBhZGRlZCB0byB0aGUgbGVmdCBvZiA8Y29kZT4nKyc8L2NvZGU+IGFuZCB0aGUgcmlnaHQgcGFyZW50aGVzaXMgPHN0cm9uZz5tdXN0PC9zdHJvbmc+IGJlIGFkZGVkIHRvIHRoZSByaWdodCBvZiA8Y29kZT4nKyc8L2NvZGU+LjwvcD4KPHA+UmV0dXJuIDxjb2RlPmV4cHJlc3Npb248L2NvZGU+PGVtPiBhZnRlciBhZGRpbmcgYSBwYWlyIG9mIHBhcmVudGhlc2VzIHN1Y2ggdGhhdCA8L2VtPjxjb2RlPmV4cHJlc3Npb248L2NvZGU+PGVtPiBldmFsdWF0ZXMgdG8gdGhlIDxzdHJvbmc+c21hbGxlc3Q8L3N0cm9uZz4gcG9zc2libGUgdmFsdWUuPC9lbT4gSWYgdGhlcmUgYXJlIG11bHRpcGxlIGFuc3dlcnMgdGhhdCB5aWVsZCB0aGUgc2FtZSByZXN1bHQsIHJldHVybiBhbnkgb2YgdGhlbS48L3A+CjxwPlRoZSBpbnB1dCBoYXMgYmVlbiBnZW5lcmF0ZWQgc3VjaCB0aGF0IHRoZSBvcmlnaW5hbCB2YWx1ZSBvZiA8Y29kZT5leHByZXNzaW9uPC9jb2RlPiwgYW5kIHRoZSB2YWx1ZSBvZiA8Y29kZT5leHByZXNzaW9uPC9jb2RlPiBhZnRlciBhZGRpbmcgYW55IHBhaXIgb2YgcGFyZW50aGVzZXMgdGhhdCBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZpdHMgd2l0aGluIGEgc2lnbmVkIDMyLWJpdCBpbnRlZ2VyLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZXhwcmVzc2lvbiA9ICIyNDcrMzgiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiMig0NyszOCkiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSA8Y29kZT5leHByZXNzaW9uPC9jb2RlPiBldmFsdWF0ZXMgdG8gMiAqICg0NyArIDM4KSA9IDIgKiA4NSA9IDE3MC4KTm90ZSB0aGF0ICIyKDQpNyszOCIgaXMgaW52YWxpZCBiZWNhdXNlIHRoZSByaWdodCBwYXJlbnRoZXNpcyBtdXN0IGJlIHRvIHRoZSByaWdodCBvZiB0aGUgPGNvZGU+JysnPC9jb2RlPi4KSXQgY2FuIGJlIHNob3duIHRoYXQgMTcwIGlzIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSB2YWx1ZS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZXhwcmVzc2lvbiA9ICIxMiszNCIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICIxKDIrMyk0Igo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgZXhwcmVzc2lvbiBldmFsdWF0ZXMgdG8gMSAqICgyICsgMykgKiA0ID0gMSAqIDUgKiA0ID0gMjAuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGV4cHJlc3Npb24gPSAiOTk5Kzk5OSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICIoOTk5Kzk5OSkiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSA8Y29kZT5leHByZXNzaW9uPC9jb2RlPiBldmFsdWF0ZXMgdG8gOTk5ICsgOTk5ID0gMTk5OC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MyAmbHQ7PSBleHByZXNzaW9uLmxlbmd0aCAmbHQ7PSAxMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+ZXhwcmVzc2lvbjwvY29kZT4gY29uc2lzdHMgb2YgZGlnaXRzIGZyb20gPGNvZGU+JzEnPC9jb2RlPiB0byA8Y29kZT4nOSc8L2NvZGU+IGFuZCA8Y29kZT4nKyc8L2NvZGU+LjwvbGk+CjxsaT48Y29kZT5leHByZXNzaW9uPC9jb2RlPiBzdGFydHMgYW5kIGVuZHMgd2l0aCBkaWdpdHMuPC9saT4KPGxpPjxjb2RlPmV4cHJlc3Npb248L2NvZGU+IGNvbnRhaW5zIGV4YWN0bHkgb25lIDxjb2RlPicrJzwvY29kZT4uPC9saT4KPGxpPlRoZSBvcmlnaW5hbCB2YWx1ZSBvZiA8Y29kZT5leHByZXNzaW9uPC9jb2RlPiwgYW5kIHRoZSB2YWx1ZSBvZiA8Y29kZT5leHByZXNzaW9uPC9jb2RlPiBhZnRlciBhZGRpbmcgYW55IHBhaXIgb2YgcGFyZW50aGVzZXMgdGhhdCBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZpdHMgd2l0aGluIGEgc2lnbmVkIDMyLWJpdCBpbnRlZ2VyLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "String",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2222. Number of Ways to Select Buildings",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBiaW5hcnkgc3RyaW5nIDxjb2RlPnM8L2NvZGU+IHdoaWNoIHJlcHJlc2VudHMgdGhlIHR5cGVzIG9mIGJ1aWxkaW5ncyBhbG9uZyBhIHN0cmVldCB3aGVyZTo8L3A+Cjx1bD4KPGxpPjxjb2RlPnNbaV0gPSAnMCc8L2NvZGU+IGRlbm90ZXMgdGhhdCB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGJ1aWxkaW5nIGlzIGFuIG9mZmljZSBhbmQ8L2xpPgo8bGk+PGNvZGU+c1tpXSA9ICcxJzwvY29kZT4gZGVub3RlcyB0aGF0IHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gYnVpbGRpbmcgaXMgYSByZXN0YXVyYW50LjwvbGk+CjwvdWw+CjxwPkFzIGEgY2l0eSBvZmZpY2lhbCwgeW91IHdvdWxkIGxpa2UgdG8gPHN0cm9uZz5zZWxlY3Q8L3N0cm9uZz4gMyBidWlsZGluZ3MgZm9yIHJhbmRvbSBpbnNwZWN0aW9uLiBIb3dldmVyLCB0byBlbnN1cmUgdmFyaWV0eSwgPHN0cm9uZz5ubyB0d28gY29uc2VjdXRpdmU8L3N0cm9uZz4gYnVpbGRpbmdzIG91dCBvZiB0aGUgPHN0cm9uZz5zZWxlY3RlZDwvc3Ryb25nPiBidWlsZGluZ3MgY2FuIGJlIG9mIHRoZSBzYW1lIHR5cGUuPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgZ2l2ZW4gPGNvZGU+cyA9ICIwPHU+PHN0cm9uZz4wPC9zdHJvbmc+PC91PjE8dT48c3Ryb25nPjE8L3N0cm9uZz48L3U+MDx1PjxzdHJvbmc+MTwvc3Ryb25nPjwvdT4iPC9jb2RlPiwgd2UgY2Fubm90IHNlbGVjdCB0aGUgPGNvZGU+MTxzdXA+c3Q8L3N1cD48L2NvZGU+LCA8Y29kZT4zPHN1cD5yZDwvc3VwPjwvY29kZT4sIGFuZCA8Y29kZT41PHN1cD50aDwvc3VwPjwvY29kZT4gYnVpbGRpbmdzIGFzIHRoYXQgd291bGQgZm9ybSA8Y29kZT4iMDxzdHJvbmc+PHU+MTE8L3U+PC9zdHJvbmc+IjwvY29kZT4gd2hpY2ggaXMgPHN0cm9uZz5ub3Q8L3N0cm9uZz4gYWxsb3dlZCBkdWUgdG8gaGF2aW5nIHR3byBjb25zZWN1dGl2ZSBidWlsZGluZ3Mgb2YgdGhlIHNhbWUgdHlwZS48L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPnRoZSA8Yj5udW1iZXIgb2YgdmFsaWQgd2F5czwvYj4gdG8gc2VsZWN0IDMgYnVpbGRpbmdzLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gIjAwMTEwMSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDYKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gClRoZSBmb2xsb3dpbmcgc2V0cyBvZiBpbmRpY2VzIHNlbGVjdGVkIGFyZSB2YWxpZDoKLSBbMCwyLDRdIGZyb20gIjx1PjxzdHJvbmc+MDwvc3Ryb25nPjwvdT4wPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPjE8c3Ryb25nPjx1PjA8L3U+PC9zdHJvbmc+MSIgZm9ybXMgIjAxMCIKLSBbMCwzLDRdIGZyb20gIjx1PjxzdHJvbmc+MDwvc3Ryb25nPjwvdT4wMTx1PjxzdHJvbmc+MTA8L3N0cm9uZz48L3U+MSIgZm9ybXMgIjAxMCIKLSBbMSwyLDRdIGZyb20gIjA8dT48c3Ryb25nPjAxPC9zdHJvbmc+PC91PjE8dT48c3Ryb25nPjA8L3N0cm9uZz48L3U+MSIgZm9ybXMgIjAxMCIKLSBbMSwzLDRdIGZyb20gIjA8dT48c3Ryb25nPjA8L3N0cm9uZz48L3U+MTx1PjxzdHJvbmc+MTA8L3N0cm9uZz48L3U+MSIgZm9ybXMgIjAxMCIKLSBbMiw0LDVdIGZyb20gIjAwPHU+PHN0cm9uZz4xPC9zdHJvbmc+PC91PjE8dT48c3Ryb25nPjAxPC9zdHJvbmc+PC91PiIgZm9ybXMgIjEwMSIKLSBbMyw0LDVdIGZyb20gIjAwMTx1PjxzdHJvbmc+MTAxPC9zdHJvbmc+PC91PiIgZm9ybXMgIjEwMSIKTm8gb3RoZXIgc2VsZWN0aW9uIGlzIHZhbGlkLiBUaHVzLCB0aGVyZSBhcmUgNiB0b3RhbCB3YXlzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gIjExMTAwIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBJdCBjYW4gYmUgc2hvd24gdGhhdCB0aGVyZSBhcmUgbm8gdmFsaWQgc2VsZWN0aW9ucy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MyAmbHQ7PSBzLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+c1tpXTwvY29kZT4gaXMgZWl0aGVyIDxjb2RlPicwJzwvY29kZT4gb3IgPGNvZGU+JzEnPC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "String",
+ "Dynamic Programming",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2221. Find Triangular Sum of an Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+LCB3aGVyZSA8Y29kZT5udW1zW2ldPC9jb2RlPiBpcyBhIGRpZ2l0IGJldHdlZW4gPGNvZGU+MDwvY29kZT4gYW5kIDxjb2RlPjk8L2NvZGU+ICg8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPikuPC9wPgo8cD5UaGUgPHN0cm9uZz50cmlhbmd1bGFyIHN1bTwvc3Ryb25nPiBvZiA8Y29kZT5udW1zPC9jb2RlPiBpcyB0aGUgdmFsdWUgb2YgdGhlIG9ubHkgZWxlbWVudCBwcmVzZW50IGluIDxjb2RlPm51bXM8L2NvZGU+IGFmdGVyIHRoZSBmb2xsb3dpbmcgcHJvY2VzcyB0ZXJtaW5hdGVzOjwvcD4KPG9sPgo8bGk+TGV0IDxjb2RlPm51bXM8L2NvZGU+IGNvbXByaXNlIG9mIDxjb2RlPm48L2NvZGU+IGVsZW1lbnRzLiBJZiA8Y29kZT5uID09IDE8L2NvZGU+LCA8c3Ryb25nPmVuZDwvc3Ryb25nPiB0aGUgcHJvY2Vzcy4gT3RoZXJ3aXNlLCA8c3Ryb25nPmNyZWF0ZTwvc3Ryb25nPiBhIG5ldyA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm5ld051bXM8L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT5uIC0gMTwvY29kZT4uPC9saT4KPGxpPkZvciBlYWNoIGluZGV4IDxjb2RlPmk8L2NvZGU+LCB3aGVyZSA8Y29kZT4wICZsdDs9IGkgJmx0O8KgbiAtIDE8L2NvZGU+LCA8c3Ryb25nPmFzc2lnbjwvc3Ryb25nPiB0aGUgdmFsdWUgb2YgPGNvZGU+bmV3TnVtc1tpXTwvY29kZT4gYXMgPGNvZGU+KG51bXNbaV0gKyBudW1zW2krMV0pICUgMTA8L2NvZGU+LCB3aGVyZSA8Y29kZT4lPC9jb2RlPiBkZW5vdGVzIG1vZHVsbyBvcGVyYXRvci48L2xpPgo8bGk+PHN0cm9uZz5SZXBsYWNlPC9zdHJvbmc+IHRoZSBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiB3aXRoIDxjb2RlPm5ld051bXM8L2NvZGU+LjwvbGk+CjxsaT48c3Ryb25nPlJlcGVhdDwvc3Ryb25nPiB0aGUgZW50aXJlIHByb2Nlc3Mgc3RhcnRpbmcgZnJvbSBzdGVwIDEuPC9saT4KPC9vbD4KPHA+UmV0dXJuIDxlbT50aGUgdHJpYW5ndWxhciBzdW0gb2Y8L2VtPiA8Y29kZT5udW1zPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDIvMjIvZXgxZHJhd2lvLnBuZyIgc3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMiwzLDQsNV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDgKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIGFib3ZlIGRpYWdyYW0gZGVwaWN0cyB0aGUgcHJvY2VzcyBmcm9tIHdoaWNoIHdlIG9idGFpbiB0aGUgdHJpYW5ndWxhciBzdW0gb2YgdGhlIGFycmF5LjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KU2luY2UgdGhlcmUgaXMgb25seSBvbmUgZWxlbWVudCBpbiBudW1zLCB0aGUgdHJpYW5ndWxhciBzdW0gaXMgdGhlIHZhbHVlIG9mIHRoYXQgZWxlbWVudCBpdHNlbGYuPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IG51bXNbaV0gJmx0Oz0gOTwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Math",
+ "Simulation",
+ "Combinatorics"
+ ]
+ },
+ {
+ "title": "2212. Maximum Points in an Archery Competition",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkFsaWNlIGFuZCBCb2IgYXJlIG9wcG9uZW50cyBpbiBhbiBhcmNoZXJ5IGNvbXBldGl0aW9uLiBUaGUgY29tcGV0aXRpb24gaGFzIHNldCB0aGUgZm9sbG93aW5nIHJ1bGVzOjwvcD4KPG9sPgo8bGk+QWxpY2UgZmlyc3Qgc2hvb3RzIDxjb2RlPm51bUFycm93czwvY29kZT4gYXJyb3dzIGFuZCB0aGVuIEJvYiBzaG9vdHMgPGNvZGU+bnVtQXJyb3dzPC9jb2RlPiBhcnJvd3MuPC9saT4KPGxpPlRoZSBwb2ludHMgYXJlIHRoZW4gY2FsY3VsYXRlZCBhcyBmb2xsb3dzOgoJPG9sPgo8bGk+VGhlIHRhcmdldCBoYXMgaW50ZWdlciBzY29yaW5nIHNlY3Rpb25zIHJhbmdpbmcgZnJvbSA8Y29kZT4wPC9jb2RlPiB0byA8Y29kZT4xMTwvY29kZT4gPHN0cm9uZz5pbmNsdXNpdmU8L3N0cm9uZz4uPC9saT4KPGxpPkZvciA8c3Ryb25nPmVhY2g8L3N0cm9uZz4gc2VjdGlvbiBvZiB0aGUgdGFyZ2V0IHdpdGggc2NvcmUgPGNvZGU+azwvY29kZT4gKGluIGJldHdlZW4gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+MTE8L2NvZGU+KSwgc2F5IEFsaWNlIGFuZCBCb2IgaGF2ZSBzaG90IDxjb2RlPmE8c3ViPms8L3N1Yj48L2NvZGU+IGFuZCA8Y29kZT5iPHN1Yj5rPC9zdWI+PC9jb2RlPiBhcnJvd3Mgb24gdGhhdCBzZWN0aW9uIHJlc3BlY3RpdmVseS4gSWYgPGNvZGU+YTxzdWI+azwvc3ViPiAmZ3Q7PSBiPHN1Yj5rPC9zdWI+PC9jb2RlPiwgdGhlbiBBbGljZSB0YWtlcyA8Y29kZT5rPC9jb2RlPiBwb2ludHMuIElmIDxjb2RlPmE8c3ViPms8L3N1Yj4gJmx0OyBiPHN1Yj5rPC9zdWI+PC9jb2RlPiwgdGhlbiBCb2IgdGFrZXMgPGNvZGU+azwvY29kZT4gcG9pbnRzLjwvbGk+CjxsaT5Ib3dldmVyLCBpZiA8Y29kZT5hPHN1Yj5rPC9zdWI+ID09IGI8c3ViPms8L3N1Yj4gPT0gMDwvY29kZT4sIHRoZW4gPHN0cm9uZz5ub2JvZHk8L3N0cm9uZz4gdGFrZXMgPGNvZGU+azwvY29kZT4gcG9pbnRzLjwvbGk+Cjwvb2w+CjwvbGk+Cjwvb2w+Cjx1bD4KPGxpPgo8cD5Gb3IgZXhhbXBsZSwgaWYgQWxpY2UgYW5kIEJvYiBib3RoIHNob3QgPGNvZGU+MjwvY29kZT4gYXJyb3dzIG9uIHRoZSBzZWN0aW9uIHdpdGggc2NvcmUgPGNvZGU+MTE8L2NvZGU+LCB0aGVuIEFsaWNlIHRha2VzIDxjb2RlPjExPC9jb2RlPiBwb2ludHMuIE9uIHRoZSBvdGhlciBoYW5kLCBpZiBBbGljZSBzaG90IDxjb2RlPjA8L2NvZGU+IGFycm93cyBvbiB0aGUgc2VjdGlvbiB3aXRoIHNjb3JlIDxjb2RlPjExPC9jb2RlPiBhbmQgQm9iIHNob3QgPGNvZGU+MjwvY29kZT4gYXJyb3dzIG9uIHRoYXQgc2FtZSBzZWN0aW9uLCB0aGVuIEJvYiB0YWtlcyA8Y29kZT4xMTwvY29kZT4gcG9pbnRzLjwvcD4KPC9saT4KPC91bD4KPHA+WW91IGFyZSBnaXZlbiB0aGUgaW50ZWdlciA8Y29kZT5udW1BcnJvd3M8L2NvZGU+IGFuZCBhbiBpbnRlZ2VyIGFycmF5IDxjb2RlPmFsaWNlQXJyb3dzPC9jb2RlPiBvZiBzaXplIDxjb2RlPjEyPC9jb2RlPiwgd2hpY2ggcmVwcmVzZW50cyB0aGUgbnVtYmVyIG9mIGFycm93cyBBbGljZSBzaG90IG9uIGVhY2ggc2NvcmluZyBzZWN0aW9uIGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+MTE8L2NvZGU+LiBOb3csIEJvYiB3YW50cyB0byA8c3Ryb25nPm1heGltaXplPC9zdHJvbmc+IHRoZSB0b3RhbCBudW1iZXIgb2YgcG9pbnRzIGhlIGNhbiBvYnRhaW4uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSBhcnJheSA8L2VtPjxjb2RlPmJvYkFycm93czwvY29kZT48ZW0+IHdoaWNoIHJlcHJlc2VudHMgdGhlIG51bWJlciBvZiBhcnJvd3MgQm9iIHNob3Qgb24gPHN0cm9uZz5lYWNoPC9zdHJvbmc+IHNjb3Jpbmcgc2VjdGlvbiBmcm9tIDwvZW0+PGNvZGU+MDwvY29kZT48ZW0+IHRvIDwvZW0+PGNvZGU+MTE8L2NvZGU+LiBUaGUgc3VtIG9mIHRoZSB2YWx1ZXMgaW4gPGNvZGU+Ym9iQXJyb3dzPC9jb2RlPiBzaG91bGQgZXF1YWwgPGNvZGU+bnVtQXJyb3dzPC9jb2RlPi48L3A+CjxwPklmIHRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIGZvciBCb2IgdG8gZWFybiB0aGUgbWF4aW11bSB0b3RhbCBwb2ludHMsIHJldHVybiA8c3Ryb25nPmFueTwvc3Ryb25nPiBvbmUgb2YgdGhlbS48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDIvMjQvZXgxLmpwZyIgc3R5bGU9IndpZHRoOiA2MDBweDsgaGVpZ2h0OiAxMjBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1BcnJvd3MgPSA5LCBhbGljZUFycm93cyA9IFsxLDEsMCwxLDAsMCwyLDEsMCwxLDIsMF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFswLDAsMCwwLDEsMSwwLDAsMSwyLDMsMV0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHRhYmxlIGFib3ZlIHNob3dzIGhvdyB0aGUgY29tcGV0aXRpb24gaXMgc2NvcmVkLiAKQm9iIGVhcm5zIGEgdG90YWwgcG9pbnQgb2YgNCArIDUgKyA4ICsgOSArIDEwICsgMTEgPSA0Ny4KSXQgY2FuIGJlIHNob3duIHRoYXQgQm9iIGNhbm5vdCBvYnRhaW4gYSBzY29yZSBoaWdoZXIgdGhhbiA0NyBwb2ludHMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDIvMjQvZXgybmV3LmpwZyIgc3R5bGU9IndpZHRoOiA2MDBweDsgaGVpZ2h0OiAxMTdweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1BcnJvd3MgPSAzLCBhbGljZUFycm93cyA9IFswLDAsMSwwLDAsMCwwLDAsMCwwLDAsMl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFswLDAsMCwwLDAsMCwwLDAsMSwxLDEsMF0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHRhYmxlIGFib3ZlIHNob3dzIGhvdyB0aGUgY29tcGV0aXRpb24gaXMgc2NvcmVkLgpCb2IgZWFybnMgYSB0b3RhbCBwb2ludCBvZiA4ICsgOSArIDEwID0gMjcuCkl0IGNhbiBiZSBzaG93biB0aGF0IEJvYiBjYW5ub3Qgb2J0YWluIGEgc2NvcmUgaGlnaGVyIHRoYW4gMjcgcG9pbnRzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bUFycm93cyAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+YWxpY2VBcnJvd3MubGVuZ3RoID09IGJvYkFycm93cy5sZW5ndGggPT0gMTI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gYWxpY2VBcnJvd3NbaV0sIGJvYkFycm93c1tpXSAmbHQ7PSBudW1BcnJvd3M8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnN1bShhbGljZUFycm93c1tpXSkgPT0gbnVtQXJyb3dzPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Bit Manipulation",
+ "Recursion",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2211. Count Collisions on a Road",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGFyZSA8Y29kZT5uPC9jb2RlPiBjYXJzIG9uIGFuIGluZmluaXRlbHkgbG9uZyByb2FkLiBUaGUgY2FycyBhcmUgbnVtYmVyZWQgZnJvbSA8Y29kZT4wPC9jb2RlPiB0byA8Y29kZT5uIC0gMTwvY29kZT4gZnJvbSBsZWZ0IHRvIHJpZ2h0IGFuZCBlYWNoIGNhciBpcyBwcmVzZW50IGF0IGEgPHN0cm9uZz51bmlxdWU8L3N0cm9uZz4gcG9pbnQuPC9wPgo8cD5Zb3UgYXJlIGdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gc3RyaW5nIDxjb2RlPmRpcmVjdGlvbnM8L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT5uPC9jb2RlPi4gPGNvZGU+ZGlyZWN0aW9uc1tpXTwvY29kZT4gY2FuIGJlIGVpdGhlciA8Y29kZT4nTCc8L2NvZGU+LCA8Y29kZT4nUic8L2NvZGU+LCBvciA8Y29kZT4nUyc8L2NvZGU+IGRlbm90aW5nIHdoZXRoZXIgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBjYXIgaXMgbW92aW5nIHRvd2FyZHMgdGhlIDxzdHJvbmc+bGVmdDwvc3Ryb25nPiwgdG93YXJkcyB0aGUgPHN0cm9uZz5yaWdodDwvc3Ryb25nPiwgb3IgPHN0cm9uZz5zdGF5aW5nPC9zdHJvbmc+IGF0IGl0cyBjdXJyZW50IHBvaW50IHJlc3BlY3RpdmVseS4gRWFjaCBtb3ZpbmcgY2FyIGhhcyB0aGUgPHN0cm9uZz5zYW1lIHNwZWVkPC9zdHJvbmc+LjwvcD4KPHA+VGhlIG51bWJlciBvZiBjb2xsaXNpb25zIGNhbiBiZSBjYWxjdWxhdGVkIGFzIGZvbGxvd3M6PC9wPgo8dWw+CjxsaT5XaGVuIHR3byBjYXJzIG1vdmluZyBpbiA8c3Ryb25nPm9wcG9zaXRlPC9zdHJvbmc+IGRpcmVjdGlvbnMgY29sbGlkZSB3aXRoIGVhY2ggb3RoZXIsIHRoZSBudW1iZXIgb2YgY29sbGlzaW9ucyBpbmNyZWFzZXMgYnkgPGNvZGU+MjwvY29kZT4uPC9saT4KPGxpPldoZW4gYSBtb3ZpbmcgY2FyIGNvbGxpZGVzIHdpdGggYSBzdGF0aW9uYXJ5IGNhciwgdGhlIG51bWJlciBvZiBjb2xsaXNpb25zIGluY3JlYXNlcyBieSA8Y29kZT4xPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5BZnRlciBhIGNvbGxpc2lvbiwgdGhlIGNhcnMgaW52b2x2ZWQgY2FuIG5vIGxvbmdlciBtb3ZlIGFuZCB3aWxsIHN0YXkgYXQgdGhlIHBvaW50IHdoZXJlIHRoZXkgY29sbGlkZWQuIE90aGVyIHRoYW4gdGhhdCwgY2FycyBjYW5ub3QgY2hhbmdlIHRoZWlyIHN0YXRlIG9yIGRpcmVjdGlvbiBvZiBtb3Rpb24uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPnRvdGFsIG51bWJlciBvZiBjb2xsaXNpb25zPC9zdHJvbmc+IHRoYXQgd2lsbCBoYXBwZW4gb24gdGhlIHJvYWQ8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGRpcmVjdGlvbnMgPSAiUkxSU0xMIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgY29sbGlzaW9ucyB0aGF0IHdpbGwgaGFwcGVuIG9uIHRoZSByb2FkIGFyZToKLSBDYXJzIDAgYW5kIDEgd2lsbCBjb2xsaWRlIHdpdGggZWFjaCBvdGhlci4gU2luY2UgdGhleSBhcmUgbW92aW5nIGluIG9wcG9zaXRlIGRpcmVjdGlvbnMsIHRoZSBudW1iZXIgb2YgY29sbGlzaW9ucyBiZWNvbWVzIDAgKyAyID0gMi4KLSBDYXJzIDIgYW5kIDMgd2lsbCBjb2xsaWRlIHdpdGggZWFjaCBvdGhlci4gU2luY2UgY2FyIDMgaXMgc3RhdGlvbmFyeSwgdGhlIG51bWJlciBvZiBjb2xsaXNpb25zIGJlY29tZXMgMiArIDEgPSAzLgotIENhcnMgMyBhbmQgNCB3aWxsIGNvbGxpZGUgd2l0aCBlYWNoIG90aGVyLiBTaW5jZSBjYXIgMyBpcyBzdGF0aW9uYXJ5LCB0aGUgbnVtYmVyIG9mIGNvbGxpc2lvbnMgYmVjb21lcyAzICsgMSA9IDQuCi0gQ2FycyA0IGFuZCA1IHdpbGwgY29sbGlkZSB3aXRoIGVhY2ggb3RoZXIuIEFmdGVyIGNhciA0IGNvbGxpZGVzIHdpdGggY2FyIDMsIGl0IHdpbGwgc3RheSBhdCB0aGUgcG9pbnQgb2YgY29sbGlzaW9uIGFuZCBnZXQgaGl0IGJ5IGNhciA1LiBUaGUgbnVtYmVyIG9mIGNvbGxpc2lvbnMgYmVjb21lcyA0ICsgMSA9IDUuClRodXMsIHRoZSB0b3RhbCBudW1iZXIgb2YgY29sbGlzaW9ucyB0aGF0IHdpbGwgaGFwcGVuIG9uIHRoZSByb2FkIGlzIDUuIAo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBkaXJlY3Rpb25zID0gIkxMUlIiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ck5vIGNhcnMgd2lsbCBjb2xsaWRlIHdpdGggZWFjaCBvdGhlci4gVGh1cywgdGhlIHRvdGFsIG51bWJlciBvZiBjb2xsaXNpb25zIHRoYXQgd2lsbCBoYXBwZW4gb24gdGhlIHJvYWQgaXMgMC48L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IGRpcmVjdGlvbnMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5kaXJlY3Rpb25zW2ldPC9jb2RlPiBpcyBlaXRoZXIgPGNvZGU+J0wnPC9jb2RlPiwgPGNvZGU+J1InPC9jb2RlPiwgb3IgPGNvZGU+J1MnPC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "String",
+ "Stack"
+ ]
+ },
+ {
+ "title": "2208. Minimum Operations to Halve Array Sum",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gYXJyYXkgPGNvZGU+bnVtczwvY29kZT4gb2YgcG9zaXRpdmUgaW50ZWdlcnMuIEluIG9uZSBvcGVyYXRpb24sIHlvdSBjYW4gY2hvb3NlIDxzdHJvbmc+YW55PC9zdHJvbmc+IG51bWJlciBmcm9tIDxjb2RlPm51bXM8L2NvZGU+IGFuZCByZWR1Y2UgaXQgdG8gPHN0cm9uZz5leGFjdGx5PC9zdHJvbmc+IGhhbGYgdGhlIG51bWJlci4gKE5vdGUgdGhhdCB5b3UgbWF5IGNob29zZSB0aGlzIHJlZHVjZWQgbnVtYmVyIGluIGZ1dHVyZSBvcGVyYXRpb25zLik8L3A+CjxwPlJldHVybjxlbT4gdGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiBudW1iZXIgb2Ygb3BlcmF0aW9ucyB0byByZWR1Y2UgdGhlIHN1bSBvZiA8L2VtPjxjb2RlPm51bXM8L2NvZGU+PGVtPiBieSA8c3Ryb25nPmF0IGxlYXN0PC9zdHJvbmc+IGhhbGYuPC9lbT48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNSwxOSw4LDFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBpbml0aWFsIHN1bSBvZiBudW1zIGlzIGVxdWFsIHRvIDUgKyAxOSArIDggKyAxID0gMzMuClRoZSBmb2xsb3dpbmcgaXMgb25lIG9mIHRoZSB3YXlzIHRvIHJlZHVjZSB0aGUgc3VtIGJ5IGF0IGxlYXN0IGhhbGY6ClBpY2sgdGhlIG51bWJlciAxOSBhbmQgcmVkdWNlIGl0IHRvIDkuNS4KUGljayB0aGUgbnVtYmVyIDkuNSBhbmQgcmVkdWNlIGl0IHRvIDQuNzUuClBpY2sgdGhlIG51bWJlciA4IGFuZCByZWR1Y2UgaXQgdG8gNC4KVGhlIGZpbmFsIGFycmF5IGlzIFs1LCA0Ljc1LCA0LCAxXSB3aXRoIGEgdG90YWwgc3VtIG9mIDUgKyA0Ljc1ICsgNCArIDEgPSAxNC43NS4gClRoZSBzdW0gb2YgbnVtcyBoYXMgYmVlbiByZWR1Y2VkIGJ5IDMzIC0gMTQuNzUgPSAxOC4yNSwgd2hpY2ggaXMgYXQgbGVhc3QgaGFsZiBvZiB0aGUgaW5pdGlhbCBzdW0sIDE4LjI1ICZndDs9IDMzLzIgPSAxNi41LgpPdmVyYWxsLCAzIG9wZXJhdGlvbnMgd2VyZSB1c2VkIHNvIHdlIHJldHVybiAzLgpJdCBjYW4gYmUgc2hvd24gdGhhdCB3ZSBjYW5ub3QgcmVkdWNlIHRoZSBzdW0gYnkgYXQgbGVhc3QgaGFsZiBpbiBsZXNzIHRoYW4gMyBvcGVyYXRpb25zLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzMsOCwyMF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGluaXRpYWwgc3VtIG9mIG51bXMgaXMgZXF1YWwgdG8gMyArIDggKyAyMCA9IDMxLgpUaGUgZm9sbG93aW5nIGlzIG9uZSBvZiB0aGUgd2F5cyB0byByZWR1Y2UgdGhlIHN1bSBieSBhdCBsZWFzdCBoYWxmOgpQaWNrIHRoZSBudW1iZXIgMjAgYW5kIHJlZHVjZSBpdCB0byAxMC4KUGljayB0aGUgbnVtYmVyIDEwIGFuZCByZWR1Y2UgaXQgdG8gNS4KUGljayB0aGUgbnVtYmVyIDMgYW5kIHJlZHVjZSBpdCB0byAxLjUuClRoZSBmaW5hbCBhcnJheSBpcyBbMS41LCA4LCA1XSB3aXRoIGEgdG90YWwgc3VtIG9mIDEuNSArIDggKyA1ID0gMTQuNS4gClRoZSBzdW0gb2YgbnVtcyBoYXMgYmVlbiByZWR1Y2VkIGJ5IDMxIC0gMTQuNSA9IDE2LjUsIHdoaWNoIGlzIGF0IGxlYXN0IGhhbGYgb2YgdGhlIGluaXRpYWwgc3VtLCAxNi41ICZndDs9IDMxLzIgPSAxNi41LgpPdmVyYWxsLCAzIG9wZXJhdGlvbnMgd2VyZSB1c2VkIHNvIHdlIHJldHVybiAzLgpJdCBjYW4gYmUgc2hvd24gdGhhdCB3ZSBjYW5ub3QgcmVkdWNlIHRoZSBzdW0gYnkgYXQgbGVhc3QgaGFsZiBpbiBsZXNzIHRoYW4gMyBvcGVyYXRpb25zLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0gJmx0Oz0gMTA8c3VwPjc8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Greedy",
+ "Heap (Priority Queue)"
+ ]
+ },
+ {
+ "title": "2207. Maximize Number of Subsequences in a String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBzdHJpbmcgPGNvZGU+dGV4dDwvY29kZT4gYW5kIGFub3RoZXIgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gc3RyaW5nIDxjb2RlPnBhdHRlcm48L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT4yPC9jb2RlPiwgYm90aCBvZiB3aGljaCBjb25zaXN0IG9mIG9ubHkgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycy48L3A+CjxwPllvdSBjYW4gYWRkIDxzdHJvbmc+ZWl0aGVyPC9zdHJvbmc+IDxjb2RlPnBhdHRlcm5bMF08L2NvZGU+IDxzdHJvbmc+b3I8L3N0cm9uZz4gPGNvZGU+cGF0dGVyblsxXTwvY29kZT4gYW55d2hlcmUgaW4gPGNvZGU+dGV4dDwvY29kZT4gPHN0cm9uZz5leGFjdGx5IG9uY2U8L3N0cm9uZz4uIE5vdGUgdGhhdCB0aGUgY2hhcmFjdGVyIGNhbiBiZSBhZGRlZCBldmVuIGF0IHRoZSBiZWdpbm5pbmcgb3IgYXQgdGhlIGVuZCBvZiA8Y29kZT50ZXh0PC9jb2RlPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBudW1iZXIgb2YgdGltZXM8L2VtPiA8Y29kZT5wYXR0ZXJuPC9jb2RlPiA8ZW0+Y2FuIG9jY3VyIGFzIGEgPHN0cm9uZz5zdWJzZXF1ZW5jZTwvc3Ryb25nPiBvZiB0aGUgbW9kaWZpZWQgPC9lbT48Y29kZT50ZXh0PC9jb2RlPi48L3A+CjxwPkEgPGI+c3Vic2VxdWVuY2U8L2I+IGlzIGEgc3RyaW5nIHRoYXQgY2FuIGJlIGRlcml2ZWQgZnJvbSBhbm90aGVyIHN0cmluZyBieSBkZWxldGluZyBzb21lIG9yIG5vIGNoYXJhY3RlcnMgd2l0aG91dCBjaGFuZ2luZyB0aGUgb3JkZXIgb2YgdGhlIHJlbWFpbmluZyBjaGFyYWN0ZXJzLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gdGV4dCA9ICJhYmRjZGJjIiwgcGF0dGVybiA9ICJhYyIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KSWYgd2UgYWRkIHBhdHRlcm5bMF0gPSAnYScgaW4gYmV0d2VlbiB0ZXh0WzFdIGFuZCB0ZXh0WzJdLCB3ZSBnZXQgImFiPHU+PHN0cm9uZz5hPC9zdHJvbmc+PC91PmRjZGJjIi4gTm93LCB0aGUgbnVtYmVyIG9mIHRpbWVzICJhYyIgb2NjdXJzIGFzIGEgc3Vic2VxdWVuY2UgaXMgNC4KU29tZSBvdGhlciBzdHJpbmdzIHdoaWNoIGhhdmUgNCBzdWJzZXF1ZW5jZXMgImFjIiBhZnRlciBhZGRpbmcgYSBjaGFyYWN0ZXIgdG8gdGV4dCBhcmUgIjx1PjxzdHJvbmc+YTwvc3Ryb25nPjwvdT5hYmRjZGJjIiBhbmQgImFiZDx1PjxzdHJvbmc+YTwvc3Ryb25nPjwvdT5jZGJjIi4KSG93ZXZlciwgc3RyaW5ncyBzdWNoIGFzICJhYmRjPHU+PHN0cm9uZz5hPC9zdHJvbmc+PC91PmRiYyIsICJhYmQ8dT48c3Ryb25nPmM8L3N0cm9uZz48L3U+Y2RiYyIsIGFuZCAiYWJkY2RiYzx1PjxzdHJvbmc+Yzwvc3Ryb25nPjwvdT4iLCBhbHRob3VnaCBvYnRhaW5hYmxlLCBoYXZlIG9ubHkgMyBzdWJzZXF1ZW5jZXMgImFjIiBhbmQgYXJlIHRodXMgc3Vib3B0aW1hbC4KSXQgY2FuIGJlIHNob3duIHRoYXQgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGdldCBtb3JlIHRoYW4gNCBzdWJzZXF1ZW5jZXMgImFjIiBieSBhZGRpbmcgb25seSBvbmUgY2hhcmFjdGVyLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB0ZXh0ID0gImFhYmIiLCBwYXR0ZXJuID0gImFiIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpTb21lIG9mIHRoZSBzdHJpbmdzIHdoaWNoIGNhbiBiZSBvYnRhaW5lZCBmcm9tIHRleHQgYW5kIGhhdmUgNiBzdWJzZXF1ZW5jZXMgImFiIiBhcmUgIjx1PjxzdHJvbmc+YTwvc3Ryb25nPjwvdT5hYWJiIiwgImFhPHU+PHN0cm9uZz5hPC9zdHJvbmc+PC91PmJiIiwgYW5kICJhYWI8dT48c3Ryb25nPmI8L3N0cm9uZz48L3U+YiIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gdGV4dC5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnBhdHRlcm4ubGVuZ3RoID09IDI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnRleHQ8L2NvZGU+IGFuZCA8Y29kZT5wYXR0ZXJuPC9jb2RlPiBjb25zaXN0IG9ubHkgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycy48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "String",
+ "Greedy",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2196. Create Binary Tree From Descriptions",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPmRlc2NyaXB0aW9uczwvY29kZT4gd2hlcmUgPGNvZGU+ZGVzY3JpcHRpb25zW2ldID0gW3BhcmVudDxzdWI+aTwvc3ViPiwgY2hpbGQ8c3ViPmk8L3N1Yj4sIGlzTGVmdDxzdWI+aTwvc3ViPl08L2NvZGU+IGluZGljYXRlcyB0aGF0IDxjb2RlPnBhcmVudDxzdWI+aTwvc3ViPjwvY29kZT4gaXMgdGhlIDxzdHJvbmc+cGFyZW50PC9zdHJvbmc+IG9mIDxjb2RlPmNoaWxkPHN1Yj5pPC9zdWI+PC9jb2RlPiBpbiBhIDxzdHJvbmc+YmluYXJ5PC9zdHJvbmc+IHRyZWUgb2YgPHN0cm9uZz51bmlxdWU8L3N0cm9uZz4gdmFsdWVzLiBGdXJ0aGVybW9yZSw8L3A+Cjx1bD4KPGxpPklmIDxjb2RlPmlzTGVmdDxzdWI+aTwvc3ViPiA9PSAxPC9jb2RlPiwgdGhlbiA8Y29kZT5jaGlsZDxzdWI+aTwvc3ViPjwvY29kZT4gaXMgdGhlIGxlZnQgY2hpbGQgb2YgPGNvZGU+cGFyZW50PHN1Yj5pPC9zdWI+PC9jb2RlPi48L2xpPgo8bGk+SWYgPGNvZGU+aXNMZWZ0PHN1Yj5pPC9zdWI+ID09IDA8L2NvZGU+LCB0aGVuIDxjb2RlPmNoaWxkPHN1Yj5pPC9zdWI+PC9jb2RlPiBpcyB0aGUgcmlnaHQgY2hpbGQgb2YgPGNvZGU+cGFyZW50PHN1Yj5pPC9zdWI+PC9jb2RlPi48L2xpPgo8L3VsPgo8cD5Db25zdHJ1Y3QgdGhlIGJpbmFyeSB0cmVlIGRlc2NyaWJlZCBieSA8Y29kZT5kZXNjcmlwdGlvbnM8L2NvZGU+IGFuZCByZXR1cm4gPGVtPml0cyA8c3Ryb25nPnJvb3Q8L3N0cm9uZz48L2VtPi48L3A+CjxwPlRoZSB0ZXN0IGNhc2VzIHdpbGwgYmUgZ2VuZXJhdGVkIHN1Y2ggdGhhdCB0aGUgYmluYXJ5IHRyZWUgaXMgPHN0cm9uZz52YWxpZDwvc3Ryb25nPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDIvMDkvZXhhbXBsZTFkcmF3aW8ucG5nIiBzdHlsZT0id2lkdGg6IDMwMHB4OyBoZWlnaHQ6IDIzNnB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGRlc2NyaXB0aW9ucyA9IFtbMjAsMTUsMV0sWzIwLDE3LDBdLFs1MCwyMCwxXSxbNTAsODAsMF0sWzgwLDE5LDFdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzUwLDIwLDgwLDE1LDE3LDE5XQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgcm9vdCBub2RlIGlzIHRoZSBub2RlIHdpdGggdmFsdWUgNTAgc2luY2UgaXQgaGFzIG5vIHBhcmVudC4KVGhlIHJlc3VsdGluZyBiaW5hcnkgdHJlZSBpcyBzaG93biBpbiB0aGUgZGlhZ3JhbS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMi8wOS9leGFtcGxlMmRyYXdpby5wbmciIHN0eWxlPSJ3aWR0aDogMTMxcHg7IGhlaWdodDogMzAwcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZGVzY3JpcHRpb25zID0gW1sxLDIsMV0sWzIsMywwXSxbMyw0LDFdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzEsMixudWxsLG51bGwsMyw0XQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgcm9vdCBub2RlIGlzIHRoZSBub2RlIHdpdGggdmFsdWUgMSBzaW5jZSBpdCBoYXMgbm8gcGFyZW50LgpUaGUgcmVzdWx0aW5nIGJpbmFyeSB0cmVlIGlzIHNob3duIGluIHRoZSBkaWFncmFtLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IGRlc2NyaXB0aW9ucy5sZW5ndGggJmx0Oz0gMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPmRlc2NyaXB0aW9uc1tpXS5sZW5ndGggPT0gMzwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBwYXJlbnQ8c3ViPmk8L3N1Yj4sIGNoaWxkPHN1Yj5pPC9zdWI+ICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IGlzTGVmdDxzdWI+aTwvc3ViPiAmbHQ7PSAxPC9jb2RlPjwvbGk+CjxsaT5UaGUgYmluYXJ5IHRyZWUgZGVzY3JpYmVkIGJ5IDxjb2RlPmRlc2NyaXB0aW9uczwvY29kZT4gaXMgdmFsaWQuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Tree",
+ "Depth-First Search",
+ "Breadth-First Search",
+ "Binary Tree"
+ ]
+ },
+ {
+ "title": "2195. Append K Integers With Minimal Sum",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBhbmQgYW4gaW50ZWdlciA8Y29kZT5rPC9jb2RlPi4gQXBwZW5kIDxjb2RlPms8L2NvZGU+IDxzdHJvbmc+dW5pcXVlIHBvc2l0aXZlPC9zdHJvbmc+IGludGVnZXJzIHRoYXQgZG8gPHN0cm9uZz5ub3Q8L3N0cm9uZz4gYXBwZWFyIGluIDxjb2RlPm51bXM8L2NvZGU+IHRvIDxjb2RlPm51bXM8L2NvZGU+IHN1Y2ggdGhhdCB0aGUgcmVzdWx0aW5nIHRvdGFsIHN1bSBpcyA8c3Ryb25nPm1pbmltdW08L3N0cm9uZz4uPC9wPgo8cD5SZXR1cm48ZW0+IHRoZSBzdW0gb2YgdGhlPC9lbT4gPGNvZGU+azwvY29kZT4gPGVtPmludGVnZXJzIGFwcGVuZGVkIHRvPC9lbT4gPGNvZGU+bnVtczwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsNCwyNSwxMCwyNV0sIGsgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA1CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSB0d28gdW5pcXVlIHBvc2l0aXZlIGludGVnZXJzIHRoYXQgZG8gbm90IGFwcGVhciBpbiBudW1zIHdoaWNoIHdlIGFwcGVuZCBhcmUgMiBhbmQgMy4KVGhlIHJlc3VsdGluZyBzdW0gb2YgbnVtcyBpcyAxICsgNCArIDI1ICsgMTAgKyAyNSArIDIgKyAzID0gNzAsIHdoaWNoIGlzIHRoZSBtaW5pbXVtLgpUaGUgc3VtIG9mIHRoZSB0d28gaW50ZWdlcnMgYXBwZW5kZWQgaXMgMiArIDMgPSA1LCBzbyB3ZSByZXR1cm4gNS48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzUsNl0sIGsgPSA2CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyNQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgc2l4IHVuaXF1ZSBwb3NpdGl2ZSBpbnRlZ2VycyB0aGF0IGRvIG5vdCBhcHBlYXIgaW4gbnVtcyB3aGljaCB3ZSBhcHBlbmQgYXJlIDEsIDIsIDMsIDQsIDcsIGFuZCA4LgpUaGUgcmVzdWx0aW5nIHN1bSBvZiBudW1zIGlzIDUgKyA2ICsgMSArIDIgKyAzICsgNCArIDcgKyA4ID0gMzYsIHdoaWNoIGlzIHRoZSBtaW5pbXVtLiAKVGhlIHN1bSBvZiB0aGUgc2l4IGludGVnZXJzIGFwcGVuZGVkIGlzIDEgKyAyICsgMyArIDQgKyA3ICsgOCA9IDI1LCBzbyB3ZSByZXR1cm4gMjUuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBrICZsdDs9IDEwPHN1cD44PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Math",
+ "Greedy",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2182. Construct String With Repeat Limit",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4gYW5kIGFuIGludGVnZXIgPGNvZGU+cmVwZWF0TGltaXQ8L2NvZGU+LiBDb25zdHJ1Y3QgYSBuZXcgc3RyaW5nIDxjb2RlPnJlcGVhdExpbWl0ZWRTdHJpbmc8L2NvZGU+IHVzaW5nIHRoZSBjaGFyYWN0ZXJzIG9mIDxjb2RlPnM8L2NvZGU+IHN1Y2ggdGhhdCBubyBsZXR0ZXIgYXBwZWFycyA8c3Ryb25nPm1vcmUgdGhhbjwvc3Ryb25nPiA8Y29kZT5yZXBlYXRMaW1pdDwvY29kZT4gdGltZXMgPHN0cm9uZz5pbiBhIHJvdzwvc3Ryb25nPi4gWW91IGRvIDxzdHJvbmc+bm90PC9zdHJvbmc+IGhhdmUgdG8gdXNlIGFsbCBjaGFyYWN0ZXJzIGZyb20gPGNvZGU+czwvY29kZT4uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPmxleGljb2dyYXBoaWNhbGx5IGxhcmdlc3Q8L3N0cm9uZz4gPC9lbT48Y29kZT5yZXBlYXRMaW1pdGVkU3RyaW5nPC9jb2RlPiA8ZW0+cG9zc2libGU8L2VtPi48L3A+CjxwPkEgc3RyaW5nIDxjb2RlPmE8L2NvZGU+IGlzIDxzdHJvbmc+bGV4aWNvZ3JhcGhpY2FsbHkgbGFyZ2VyPC9zdHJvbmc+IHRoYW4gYSBzdHJpbmcgPGNvZGU+YjwvY29kZT4gaWYgaW4gdGhlIGZpcnN0IHBvc2l0aW9uIHdoZXJlIDxjb2RlPmE8L2NvZGU+IGFuZCA8Y29kZT5iPC9jb2RlPiBkaWZmZXIsIHN0cmluZyA8Y29kZT5hPC9jb2RlPiBoYXMgYSBsZXR0ZXIgdGhhdCBhcHBlYXJzIGxhdGVyIGluIHRoZSBhbHBoYWJldCB0aGFuIHRoZSBjb3JyZXNwb25kaW5nIGxldHRlciBpbiA8Y29kZT5iPC9jb2RlPi4gSWYgdGhlIGZpcnN0IDxjb2RlPm1pbihhLmxlbmd0aCwgYi5sZW5ndGgpPC9jb2RlPiBjaGFyYWN0ZXJzIGRvIG5vdCBkaWZmZXIsIHRoZW4gdGhlIGxvbmdlciBzdHJpbmcgaXMgdGhlIGxleGljb2dyYXBoaWNhbGx5IGxhcmdlciBvbmUuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImNjemF6Y2MiLCByZXBlYXRMaW1pdCA9IDMKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICJ6emNjY2FjIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSB1c2UgYWxsIG9mIHRoZSBjaGFyYWN0ZXJzIGZyb20gcyB0byBjb25zdHJ1Y3QgdGhlIHJlcGVhdExpbWl0ZWRTdHJpbmcgInp6Y2NjYWMiLgpUaGUgbGV0dGVyICdhJyBhcHBlYXJzIGF0IG1vc3QgMSB0aW1lIGluIGEgcm93LgpUaGUgbGV0dGVyICdjJyBhcHBlYXJzIGF0IG1vc3QgMyB0aW1lcyBpbiBhIHJvdy4KVGhlIGxldHRlciAneicgYXBwZWFycyBhdCBtb3N0IDIgdGltZXMgaW4gYSByb3cuCkhlbmNlLCBubyBsZXR0ZXIgYXBwZWFycyBtb3JlIHRoYW4gcmVwZWF0TGltaXQgdGltZXMgaW4gYSByb3cgYW5kIHRoZSBzdHJpbmcgaXMgYSB2YWxpZCByZXBlYXRMaW1pdGVkU3RyaW5nLgpUaGUgc3RyaW5nIGlzIHRoZSBsZXhpY29ncmFwaGljYWxseSBsYXJnZXN0IHJlcGVhdExpbWl0ZWRTdHJpbmcgcG9zc2libGUgc28gd2UgcmV0dXJuICJ6emNjY2FjIi4KTm90ZSB0aGF0IHRoZSBzdHJpbmcgInp6Y2NjY2EiIGlzIGxleGljb2dyYXBoaWNhbGx5IGxhcmdlciBidXQgdGhlIGxldHRlciAnYycgYXBwZWFycyBtb3JlIHRoYW4gMyB0aW1lcyBpbiBhIHJvdywgc28gaXQgaXMgbm90IGEgdmFsaWQgcmVwZWF0TGltaXRlZFN0cmluZy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJhYWJhYmFiIiwgcmVwZWF0TGltaXQgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiYmJhYmFhIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSB1c2Ugb25seSBzb21lIG9mIHRoZSBjaGFyYWN0ZXJzIGZyb20gcyB0byBjb25zdHJ1Y3QgdGhlIHJlcGVhdExpbWl0ZWRTdHJpbmcgImJiYWJhYSIuIApUaGUgbGV0dGVyICdhJyBhcHBlYXJzIGF0IG1vc3QgMiB0aW1lcyBpbiBhIHJvdy4KVGhlIGxldHRlciAnYicgYXBwZWFycyBhdCBtb3N0IDIgdGltZXMgaW4gYSByb3cuCkhlbmNlLCBubyBsZXR0ZXIgYXBwZWFycyBtb3JlIHRoYW4gcmVwZWF0TGltaXQgdGltZXMgaW4gYSByb3cgYW5kIHRoZSBzdHJpbmcgaXMgYSB2YWxpZCByZXBlYXRMaW1pdGVkU3RyaW5nLgpUaGUgc3RyaW5nIGlzIHRoZSBsZXhpY29ncmFwaGljYWxseSBsYXJnZXN0IHJlcGVhdExpbWl0ZWRTdHJpbmcgcG9zc2libGUgc28gd2UgcmV0dXJuICJiYmFiYWEiLgpOb3RlIHRoYXQgdGhlIHN0cmluZyAiYmJhYmFhYSIgaXMgbGV4aWNvZ3JhcGhpY2FsbHkgbGFyZ2VyIGJ1dCB0aGUgbGV0dGVyICdhJyBhcHBlYXJzIG1vcmUgdGhhbiAyIHRpbWVzIGluIGEgcm93LCBzbyBpdCBpcyBub3QgYSB2YWxpZCByZXBlYXRMaW1pdGVkU3RyaW5nLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHJlcGVhdExpbWl0ICZsdDs9IHMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zPC9jb2RlPiBjb25zaXN0cyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Medium",
+ "topic": [
+ "String",
+ "Greedy",
+ "Heap (Priority Queue)",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2181. Merge Nodes in Between Zeros",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdGhlIDxjb2RlPmhlYWQ8L2NvZGU+IG9mIGEgbGlua2VkIGxpc3QsIHdoaWNoIGNvbnRhaW5zIGEgc2VyaWVzIG9mIGludGVnZXJzIDxzdHJvbmc+c2VwYXJhdGVkPC9zdHJvbmc+IGJ5IDxjb2RlPjA8L2NvZGU+J3MuIFRoZSA8c3Ryb25nPmJlZ2lubmluZzwvc3Ryb25nPiBhbmQgPHN0cm9uZz5lbmQ8L3N0cm9uZz4gb2YgdGhlIGxpbmtlZCBsaXN0IHdpbGwgaGF2ZSA8Y29kZT5Ob2RlLnZhbCA9PSAwPC9jb2RlPi48L3A+CjxwPkZvciA8c3Ryb25nPmV2ZXJ5IDwvc3Ryb25nPnR3byBjb25zZWN1dGl2ZSA8Y29kZT4wPC9jb2RlPidzLCA8c3Ryb25nPm1lcmdlPC9zdHJvbmc+IGFsbCB0aGUgbm9kZXMgbHlpbmcgaW4gYmV0d2VlbiB0aGVtIGludG8gYSBzaW5nbGUgbm9kZSB3aG9zZSB2YWx1ZSBpcyB0aGUgPHN0cm9uZz5zdW08L3N0cm9uZz4gb2YgYWxsIHRoZSBtZXJnZWQgbm9kZXMuIFRoZSBtb2RpZmllZCBsaXN0IHNob3VsZCBub3QgY29udGFpbiBhbnkgPGNvZGU+MDwvY29kZT4ncy48L3A+CjxwPlJldHVybiA8ZW0+dGhlPC9lbT4gPGNvZGU+aGVhZDwvY29kZT4gPGVtPm9mIHRoZSBtb2RpZmllZCBsaW5rZWQgbGlzdDwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMi8wMi9leDEtMS5wbmciIHN0eWxlPSJ3aWR0aDogNjAwcHg7IGhlaWdodDogNDFweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBoZWFkID0gWzAsMywxLDAsNCw1LDIsMF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFs0LDExXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKVGhlIGFib3ZlIGZpZ3VyZSByZXByZXNlbnRzIHRoZSBnaXZlbiBsaW5rZWQgbGlzdC4gVGhlIG1vZGlmaWVkIGxpc3QgY29udGFpbnMKLSBUaGUgc3VtIG9mIHRoZSBub2RlcyBtYXJrZWQgaW4gZ3JlZW46IDMgKyAxID0gNC4KLSBUaGUgc3VtIG9mIHRoZSBub2RlcyBtYXJrZWQgaW4gcmVkOiA0ICsgNSArIDIgPSAxMS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMi8wMi9leDItMS5wbmciIHN0eWxlPSJ3aWR0aDogNjAwcHg7IGhlaWdodDogNDFweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBoZWFkID0gWzAsMSwwLDMsMCwyLDIsMF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsxLDMsNF0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gClRoZSBhYm92ZSBmaWd1cmUgcmVwcmVzZW50cyB0aGUgZ2l2ZW4gbGlua2VkIGxpc3QuIFRoZSBtb2RpZmllZCBsaXN0IGNvbnRhaW5zCi0gVGhlIHN1bSBvZiB0aGUgbm9kZXMgbWFya2VkIGluIGdyZWVuOiAxID0gMS4KLSBUaGUgc3VtIG9mIHRoZSBub2RlcyBtYXJrZWQgaW4gcmVkOiAzID0gMy4KLSBUaGUgc3VtIG9mIHRoZSBub2RlcyBtYXJrZWQgaW4geWVsbG93OiAyICsgMiA9IDQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPlRoZSBudW1iZXIgb2Ygbm9kZXMgaW4gdGhlIGxpc3QgaXMgaW4gdGhlIHJhbmdlIDxjb2RlPlszLCAyICogMTA8c3VwPjU8L3N1cD5dPC9jb2RlPi48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBOb2RlLnZhbCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT5UaGVyZSBhcmUgPHN0cm9uZz5ubzwvc3Ryb25nPiB0d28gY29uc2VjdXRpdmUgbm9kZXMgd2l0aCA8Y29kZT5Ob2RlLnZhbCA9PSAwPC9jb2RlPi48L2xpPgo8bGk+VGhlIDxzdHJvbmc+YmVnaW5uaW5nPC9zdHJvbmc+IGFuZCA8c3Ryb25nPmVuZDwvc3Ryb25nPiBvZiB0aGUgbGlua2VkIGxpc3QgaGF2ZSA8Y29kZT5Ob2RlLnZhbCA9PSAwPC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Linked List",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2187. Minimum Time to Complete Trips",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gYXJyYXkgPGNvZGU+dGltZTwvY29kZT4gd2hlcmUgPGNvZGU+dGltZVtpXTwvY29kZT4gZGVub3RlcyB0aGUgdGltZSB0YWtlbiBieSB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGJ1cyB0byBjb21wbGV0ZSA8c3Ryb25nPm9uZSB0cmlwPC9zdHJvbmc+LjwvcD4KPHA+RWFjaCBidXMgY2FuIG1ha2UgbXVsdGlwbGUgdHJpcHMgPHN0cm9uZz5zdWNjZXNzaXZlbHk8L3N0cm9uZz47IHRoYXQgaXMsIHRoZSBuZXh0IHRyaXAgY2FuIHN0YXJ0IDxzdHJvbmc+aW1tZWRpYXRlbHkgYWZ0ZXI8L3N0cm9uZz4gY29tcGxldGluZyB0aGUgY3VycmVudCB0cmlwLiBBbHNvLCBlYWNoIGJ1cyBvcGVyYXRlcyA8c3Ryb25nPmluZGVwZW5kZW50bHk8L3N0cm9uZz47IHRoYXQgaXMsIHRoZSB0cmlwcyBvZiBvbmUgYnVzIGRvIG5vdCBpbmZsdWVuY2UgdGhlIHRyaXBzIG9mIGFueSBvdGhlciBidXMuPC9wPgo8cD5Zb3UgYXJlIGFsc28gZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT50b3RhbFRyaXBzPC9jb2RlPiwgd2hpY2ggZGVub3RlcyB0aGUgbnVtYmVyIG9mIHRyaXBzIGFsbCBidXNlcyBzaG91bGQgbWFrZSA8c3Ryb25nPmluIHRvdGFsPC9zdHJvbmc+LiBSZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1pbmltdW0gdGltZTwvc3Ryb25nPiByZXF1aXJlZCBmb3IgYWxsIGJ1c2VzIHRvIGNvbXBsZXRlIDxzdHJvbmc+YXQgbGVhc3Q8L3N0cm9uZz4gPC9lbT48Y29kZT50b3RhbFRyaXBzPC9jb2RlPjxlbT4gdHJpcHM8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHRpbWUgPSBbMSwyLDNdLCB0b3RhbFRyaXBzID0gNQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgotIEF0IHRpbWUgdCA9IDEsIHRoZSBudW1iZXIgb2YgdHJpcHMgY29tcGxldGVkIGJ5IGVhY2ggYnVzIGFyZSBbMSwwLDBdLiAKICBUaGUgdG90YWwgbnVtYmVyIG9mIHRyaXBzIGNvbXBsZXRlZCBpcyAxICsgMCArIDAgPSAxLgotIEF0IHRpbWUgdCA9IDIsIHRoZSBudW1iZXIgb2YgdHJpcHMgY29tcGxldGVkIGJ5IGVhY2ggYnVzIGFyZSBbMiwxLDBdLiAKICBUaGUgdG90YWwgbnVtYmVyIG9mIHRyaXBzIGNvbXBsZXRlZCBpcyAyICsgMSArIDAgPSAzLgotIEF0IHRpbWUgdCA9IDMsIHRoZSBudW1iZXIgb2YgdHJpcHMgY29tcGxldGVkIGJ5IGVhY2ggYnVzIGFyZSBbMywxLDFdLiAKICBUaGUgdG90YWwgbnVtYmVyIG9mIHRyaXBzIGNvbXBsZXRlZCBpcyAzICsgMSArIDEgPSA1LgpTbyB0aGUgbWluaW11bSB0aW1lIG5lZWRlZCBmb3IgYWxsIGJ1c2VzIHRvIGNvbXBsZXRlIGF0IGxlYXN0IDUgdHJpcHMgaXMgMy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gdGltZSA9IFsyXSwgdG90YWxUcmlwcyA9IDEKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlcmUgaXMgb25seSBvbmUgYnVzLCBhbmQgaXQgd2lsbCBjb21wbGV0ZSBpdHMgZmlyc3QgdHJpcCBhdCB0ID0gMi4KU28gdGhlIG1pbmltdW0gdGltZSBuZWVkZWQgdG8gY29tcGxldGUgMSB0cmlwIGlzIDIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gdGltZS5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gdGltZVtpXSwgdG90YWxUcmlwcyAmbHQ7PSAxMDxzdXA+Nzwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Binary Search"
+ ]
+ },
+ {
+ "title": "2186. Minimum Number of Steps to Make Two Strings Anagram II",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIHN0cmluZ3MgPGNvZGU+czwvY29kZT4gYW5kIDxjb2RlPnQ8L2NvZGU+LiBJbiBvbmUgc3RlcCwgeW91IGNhbiBhcHBlbmQgPHN0cm9uZz5hbnkgY2hhcmFjdGVyPC9zdHJvbmc+IHRvIGVpdGhlciA8Y29kZT5zPC9jb2RlPiBvciA8Y29kZT50PC9jb2RlPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIG1pbmltdW0gbnVtYmVyIG9mIHN0ZXBzIHRvIG1ha2UgPC9lbT48Y29kZT5zPC9jb2RlPjxlbT4gYW5kIDwvZW0+PGNvZGU+dDwvY29kZT48ZW0+IDxzdHJvbmc+YW5hZ3JhbXM8L3N0cm9uZz4gb2YgZWFjaCBvdGhlci48L2VtPjwvcD4KPHA+QW4gPHN0cm9uZz5hbmFncmFtPC9zdHJvbmc+IG9mIGEgc3RyaW5nIGlzIGEgc3RyaW5nIHRoYXQgY29udGFpbnMgdGhlIHNhbWUgY2hhcmFjdGVycyB3aXRoIGEgZGlmZmVyZW50IChvciB0aGUgc2FtZSkgb3JkZXJpbmcuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gIjxzdHJvbmc+PHU+bGVlPC91Pjwvc3Ryb25nPnRjbzx1PjxzdHJvbmc+ZGU8L3N0cm9uZz48L3U+IiwgdCA9ICJjbzx1PjxzdHJvbmc+YTwvc3Ryb25nPjwvdT50PHU+PHN0cm9uZz5zPC9zdHJvbmc+PC91PiIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDcKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCi0gSW4gMiBzdGVwcywgd2UgY2FuIGFwcGVuZCB0aGUgbGV0dGVycyBpbiAiYXMiIG9udG8gcyA9ICJsZWV0Y29kZSIsIGZvcm1pbmcgcyA9ICJsZWV0Y29kZTxzdHJvbmc+PHU+YXM8L3U+PC9zdHJvbmc+Ii4KLSBJbiA1IHN0ZXBzLCB3ZSBjYW4gYXBwZW5kIHRoZSBsZXR0ZXJzIGluICJsZWVkZSIgb250byB0ID0gImNvYXRzIiwgZm9ybWluZyB0ID0gImNvYXRzPHU+PHN0cm9uZz5sZWVkZTwvc3Ryb25nPjwvdT4iLgoibGVldGNvZGVhcyIgYW5kICJjb2F0c2xlZWRlIiBhcmUgbm93IGFuYWdyYW1zIG9mIGVhY2ggb3RoZXIuCldlIHVzZWQgYSB0b3RhbCBvZiAyICsgNSA9IDcgc3RlcHMuCkl0IGNhbiBiZSBzaG93biB0aGF0IHRoZXJlIGlzIG5vIHdheSB0byBtYWtlIHRoZW0gYW5hZ3JhbXMgb2YgZWFjaCBvdGhlciB3aXRoIGxlc3MgdGhhbiA3IHN0ZXBzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gIm5pZ2h0IiwgdCA9ICJ0aGluZyIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGdpdmVuIHN0cmluZ3MgYXJlIGFscmVhZHkgYW5hZ3JhbXMgb2YgZWFjaCBvdGhlci4gVGh1cywgd2UgZG8gbm90IG5lZWQgYW55IGZ1cnRoZXIgc3RlcHMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gcy5sZW5ndGgsIHQubGVuZ3RoICZsdDs9IDIgKiAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+czwvY29kZT4gYW5kIDxjb2RlPnQ8L2NvZGU+IGNvbnNpc3Qgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycy48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Hash Table",
+ "String",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2171. Removing Minimum Number of Magic Beans",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gYXJyYXkgb2YgPHN0cm9uZz5wb3NpdGl2ZTwvc3Ryb25nPiBpbnRlZ2VycyA8Y29kZT5iZWFuczwvY29kZT4sIHdoZXJlIGVhY2ggaW50ZWdlciByZXByZXNlbnRzIHRoZSBudW1iZXIgb2YgbWFnaWMgYmVhbnMgZm91bmQgaW4gYSBwYXJ0aWN1bGFyIG1hZ2ljIGJhZy48L3A+CjxwPjxzdHJvbmc+UmVtb3ZlPC9zdHJvbmc+IGFueSBudW1iZXIgb2YgYmVhbnMgKDxzdHJvbmc+cG9zc2libHkgbm9uZTwvc3Ryb25nPikgZnJvbSBlYWNoIGJhZyBzdWNoIHRoYXQgdGhlIG51bWJlciBvZiBiZWFucyBpbiBlYWNoIHJlbWFpbmluZyA8c3Ryb25nPm5vbi1lbXB0eTwvc3Ryb25nPiBiYWcgKHN0aWxsIGNvbnRhaW5pbmcgPHN0cm9uZz5hdCBsZWFzdCBvbmU8L3N0cm9uZz4gYmVhbikgaXMgPHN0cm9uZz5lcXVhbDwvc3Ryb25nPi4gT25jZSBhIGJlYW4gaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIGEgYmFnLCB5b3UgYXJlIDxzdHJvbmc+bm90PC9zdHJvbmc+IGFsbG93ZWQgdG8gcmV0dXJuIGl0IHRvIGFueSBvZiB0aGUgYmFncy48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiBudW1iZXIgb2YgbWFnaWMgYmVhbnMgdGhhdCB5b3UgaGF2ZSB0byByZW1vdmU8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGJlYW5zID0gWzQsPHU+PHN0cm9uZz4xPC9zdHJvbmc+PC91Piw2LDVdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IAotIFdlIHJlbW92ZSAxIGJlYW4gZnJvbSB0aGUgYmFnIHdpdGggb25seSAxIGJlYW4uCiAgVGhpcyByZXN1bHRzIGluIHRoZSByZW1haW5pbmcgYmFnczogWzQsPGI+PHU+MDwvdT48L2I+LDYsNV0KLSBUaGVuIHdlIHJlbW92ZSAyIGJlYW5zIGZyb20gdGhlIGJhZyB3aXRoIDYgYmVhbnMuCiAgVGhpcyByZXN1bHRzIGluIHRoZSByZW1haW5pbmcgYmFnczogWzQsMCw8c3Ryb25nPjx1PjQ8L3U+PC9zdHJvbmc+LDVdCi0gVGhlbiB3ZSByZW1vdmUgMSBiZWFuIGZyb20gdGhlIGJhZyB3aXRoIDUgYmVhbnMuCiAgVGhpcyByZXN1bHRzIGluIHRoZSByZW1haW5pbmcgYmFnczogWzQsMCw0LDxiPjx1PjQ8L3U+PC9iPl0KV2UgcmVtb3ZlZCBhIHRvdGFsIG9mIDEgKyAyICsgMSA9IDQgYmVhbnMgdG8gbWFrZSB0aGUgcmVtYWluaW5nIG5vbi1lbXB0eSBiYWdzIGhhdmUgYW4gZXF1YWwgbnVtYmVyIG9mIGJlYW5zLgpUaGVyZSBhcmUgbm8gb3RoZXIgc29sdXRpb25zIHRoYXQgcmVtb3ZlIDQgYmVhbnMgb3IgZmV3ZXIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGJlYW5zID0gWzxzdHJvbmc+PHU+MjwvdT48L3N0cm9uZz4sMTAsPHU+PHN0cm9uZz4zPC9zdHJvbmc+PC91Piw8c3Ryb25nPjx1PjI8L3U+PC9zdHJvbmc+XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgotIFdlIHJlbW92ZSAyIGJlYW5zIGZyb20gb25lIG9mIHRoZSBiYWdzIHdpdGggMiBiZWFucy4KICBUaGlzIHJlc3VsdHMgaW4gdGhlIHJlbWFpbmluZyBiYWdzOiBbPHU+PHN0cm9uZz4wPC9zdHJvbmc+PC91PiwxMCwzLDJdCi0gVGhlbiB3ZSByZW1vdmUgMiBiZWFucyBmcm9tIHRoZSBvdGhlciBiYWcgd2l0aCAyIGJlYW5zLgogIFRoaXMgcmVzdWx0cyBpbiB0aGUgcmVtYWluaW5nIGJhZ3M6IFswLDEwLDMsPHU+PHN0cm9uZz4wPC9zdHJvbmc+PC91Pl0KLSBUaGVuIHdlIHJlbW92ZSAzIGJlYW5zIGZyb20gdGhlIGJhZyB3aXRoIDMgYmVhbnMuIAogIFRoaXMgcmVzdWx0cyBpbiB0aGUgcmVtYWluaW5nIGJhZ3M6IFswLDEwLDx1PjxzdHJvbmc+MDwvc3Ryb25nPjwvdT4sMF0KV2UgcmVtb3ZlZCBhIHRvdGFsIG9mIDIgKyAyICsgMyA9IDcgYmVhbnMgdG8gbWFrZSB0aGUgcmVtYWluaW5nIG5vbi1lbXB0eSBiYWdzIGhhdmUgYW4gZXF1YWwgbnVtYmVyIG9mIGJlYW5zLgpUaGVyZSBhcmUgbm8gb3RoZXIgc29sdXRpb25zIHRoYXQgcmVtb3ZlcyA3IGJlYW5zIG9yIGZld2VyLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IGJlYW5zLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBiZWFuc1tpXSAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Medium",
+ "topic": [
+ "Array",
+ "Sorting",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2454. Next Greater Element IV",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBhcnJheSBvZiBub24tbmVnYXRpdmUgaW50ZWdlcnMgPGNvZGU+bnVtczwvY29kZT4uIEZvciBlYWNoIGludGVnZXIgaW4gPGNvZGU+bnVtczwvY29kZT4sIHlvdSBtdXN0IGZpbmQgaXRzIHJlc3BlY3RpdmUgPHN0cm9uZz5zZWNvbmQgZ3JlYXRlcjwvc3Ryb25nPiBpbnRlZ2VyLjwvcD4KPHA+VGhlIDxzdHJvbmc+c2Vjb25kIGdyZWF0ZXI8L3N0cm9uZz4gaW50ZWdlciBvZiA8Y29kZT5udW1zW2ldPC9jb2RlPiBpcyA8Y29kZT5udW1zW2pdPC9jb2RlPiBzdWNoIHRoYXQ6PC9wPgo8dWw+CjxsaT48Y29kZT5qICZndDsgaTwvY29kZT48L2xpPgo8bGk+PGNvZGU+bnVtc1tqXSAmZ3Q7IG51bXNbaV08L2NvZGU+PC9saT4KPGxpPlRoZXJlIGV4aXN0cyA8c3Ryb25nPmV4YWN0bHkgb25lPC9zdHJvbmc+IGluZGV4IDxjb2RlPms8L2NvZGU+IHN1Y2ggdGhhdCA8Y29kZT5udW1zW2tdICZndDsgbnVtc1tpXTwvY29kZT4gYW5kIDxjb2RlPmkgJmx0OyBrICZsdDsgajwvY29kZT4uPC9saT4KPC91bD4KPHA+SWYgdGhlcmUgaXMgbm8gc3VjaCA8Y29kZT5udW1zW2pdPC9jb2RlPiwgdGhlIHNlY29uZCBncmVhdGVyIGludGVnZXIgaXMgY29uc2lkZXJlZCB0byBiZSA8Y29kZT4tMTwvY29kZT4uPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgaW4gdGhlIGFycmF5IDxjb2RlPlsxLCAyLCA0LCAzXTwvY29kZT4sIHRoZSBzZWNvbmQgZ3JlYXRlciBpbnRlZ2VyIG9mIDxjb2RlPjE8L2NvZGU+IGlzIDxjb2RlPjQ8L2NvZGU+LCA8Y29kZT4yPC9jb2RlPiBpcyA8Y29kZT4zPC9jb2RlPizCoGFuZCB0aGF0IG9mIDxjb2RlPjM8L2NvZGU+IGFuZCA8Y29kZT40PC9jb2RlPiBpcyA8Y29kZT4tMTwvY29kZT4uPC9saT4KPC91bD4KPHA+UmV0dXJuPGVtPiBhbiBpbnRlZ2VyIGFycmF5IDwvZW0+PGNvZGU+YW5zd2VyPC9jb2RlPjxlbT4sIHdoZXJlIDwvZW0+PGNvZGU+YW5zd2VyW2ldPC9jb2RlPjxlbT4gaXMgdGhlIHNlY29uZCBncmVhdGVyIGludGVnZXIgb2YgPC9lbT48Y29kZT5udW1zW2ldPC9jb2RlPjxlbT4uPC9lbT48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMiw0LDAsOSw2XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzksNiw2LC0xLC0xXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgowdGggaW5kZXg6IDQgaXMgdGhlIGZpcnN0IGludGVnZXIgZ3JlYXRlciB0aGFuIDIsIGFuZCA5IGlzIHRoZSBzZWNvbmQgaW50ZWdlciBncmVhdGVyIHRoYW4gMiwgdG8gdGhlIHJpZ2h0IG9mIDIuCjFzdCBpbmRleDogOSBpcyB0aGUgZmlyc3QsIGFuZCA2IGlzIHRoZSBzZWNvbmQgaW50ZWdlciBncmVhdGVyIHRoYW4gNCwgdG8gdGhlIHJpZ2h0IG9mIDQuCjJuZCBpbmRleDogOSBpcyB0aGUgZmlyc3QsIGFuZCA2IGlzIHRoZSBzZWNvbmQgaW50ZWdlciBncmVhdGVyIHRoYW4gMCwgdG8gdGhlIHJpZ2h0IG9mIDAuCjNyZCBpbmRleDogVGhlcmUgaXMgbm8gaW50ZWdlciBncmVhdGVyIHRoYW4gOSB0byBpdHMgcmlnaHQsIHNvIHRoZSBzZWNvbmQgZ3JlYXRlciBpbnRlZ2VyIGlzIGNvbnNpZGVyZWQgdG8gYmUgLTEuCjR0aCBpbmRleDogVGhlcmUgaXMgbm8gaW50ZWdlciBncmVhdGVyIHRoYW4gNiB0byBpdHMgcmlnaHQsIHNvIHRoZSBzZWNvbmQgZ3JlYXRlciBpbnRlZ2VyIGlzIGNvbnNpZGVyZWQgdG8gYmUgLTEuClRodXMsIHdlIHJldHVybiBbOSw2LDYsLTEsLTFdLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzMsM10KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFstMSwtMV0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KV2UgcmV0dXJuIFstMSwtMV0gc2luY2UgbmVpdGhlciBpbnRlZ2VyIGhhcyBhbnkgaW50ZWdlciBncmVhdGVyIHRoYW4gaXQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Stack",
+ "Sorting",
+ "Heap (Priority Queue)",
+ "Monotonic Stack"
+ ]
+ },
+ {
+ "title": "2458. Height of Binary Tree After Subtree Removal Queries",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdGhlIDxjb2RlPnJvb3Q8L2NvZGU+IG9mIGEgPHN0cm9uZz5iaW5hcnkgdHJlZTwvc3Ryb25nPiB3aXRoIDxjb2RlPm48L2NvZGU+IG5vZGVzLiBFYWNoIG5vZGUgaXMgYXNzaWduZWQgYSB1bmlxdWUgdmFsdWUgZnJvbSA8Y29kZT4xPC9jb2RlPiB0byA8Y29kZT5uPC9jb2RlPi4gWW91IGFyZSBhbHNvIGdpdmVuIGFuIGFycmF5IDxjb2RlPnF1ZXJpZXM8L2NvZGU+IG9mIHNpemUgPGNvZGU+bTwvY29kZT4uPC9wPgo8cD5Zb3UgaGF2ZSB0byBwZXJmb3JtIDxjb2RlPm08L2NvZGU+IDxzdHJvbmc+aW5kZXBlbmRlbnQ8L3N0cm9uZz4gcXVlcmllcyBvbiB0aGUgdHJlZSB3aGVyZSBpbiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHF1ZXJ5IHlvdSBkbyB0aGUgZm9sbG93aW5nOjwvcD4KPHVsPgo8bGk+PHN0cm9uZz5SZW1vdmU8L3N0cm9uZz4gdGhlIHN1YnRyZWUgcm9vdGVkIGF0IHRoZSBub2RlIHdpdGggdGhlIHZhbHVlIDxjb2RlPnF1ZXJpZXNbaV08L2NvZGU+IGZyb20gdGhlIHRyZWUuIEl0IGlzIDxzdHJvbmc+Z3VhcmFudGVlZDwvc3Ryb25nPiB0aGF0IDxjb2RlPnF1ZXJpZXNbaV08L2NvZGU+IHdpbGwgPHN0cm9uZz5ub3Q8L3N0cm9uZz4gYmUgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIHRoZSByb290LjwvbGk+CjwvdWw+CjxwPlJldHVybiA8ZW0+YW4gYXJyYXkgPC9lbT48Y29kZT5hbnN3ZXI8L2NvZGU+PGVtPiBvZiBzaXplIDwvZW0+PGNvZGU+bTwvY29kZT48ZW0+IHdoZXJlIDwvZW0+PGNvZGU+YW5zd2VyW2ldPC9jb2RlPjxlbT4gaXMgdGhlIGhlaWdodCBvZiB0aGUgdHJlZSBhZnRlciBwZXJmb3JtaW5nIHRoZSA8L2VtPjxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPjxlbT4gcXVlcnk8L2VtPi48L3A+CjxwPjxzdHJvbmc+Tm90ZTwvc3Ryb25nPjo8L3A+Cjx1bD4KPGxpPlRoZSBxdWVyaWVzIGFyZSBpbmRlcGVuZGVudCwgc28gdGhlIHRyZWUgcmV0dXJucyB0byBpdHMgPHN0cm9uZz5pbml0aWFsPC9zdHJvbmc+IHN0YXRlIGFmdGVyIGVhY2ggcXVlcnkuPC9saT4KPGxpPlRoZSBoZWlnaHQgb2YgYSB0cmVlIGlzIHRoZSA8c3Ryb25nPm51bWJlciBvZiBlZGdlcyBpbiB0aGUgbG9uZ2VzdCBzaW1wbGUgcGF0aDwvc3Ryb25nPiBmcm9tIHRoZSByb290IHRvIHNvbWUgbm9kZSBpbiB0aGUgdHJlZS48L2xpPgo8L3VsPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA5LzA3L2JpbmFyeXl0cmVlZWRyYXdpby0xLnBuZyIgc3R5bGU9IndpZHRoOiA0OTVweDsgaGVpZ2h0OiAyODFweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiByb290ID0gWzEsMyw0LDIsbnVsbCw2LDUsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLDddLCBxdWVyaWVzID0gWzRdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMl0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGRpYWdyYW0gYWJvdmUgc2hvd3MgdGhlIHRyZWUgYWZ0ZXIgcmVtb3ZpbmcgdGhlIHN1YnRyZWUgcm9vdGVkIGF0IG5vZGUgd2l0aCB2YWx1ZSA0LgpUaGUgaGVpZ2h0IG9mIHRoZSB0cmVlIGlzIDIgKFRoZSBwYXRoIDEgLSZndDsgMyAtJmd0OyAyKS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wOS8wNy9iaW5hcnl5dHJlZWVkcmF3aW8tMi5wbmciIHN0eWxlPSJ3aWR0aDogMzAxcHg7IGhlaWdodDogMjg0cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcm9vdCA9IFs1LDgsOSwyLDEsMyw3LDQsNl0sIHF1ZXJpZXMgPSBbMywyLDQsOF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFszLDIsMywyXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSBoYXZlIHRoZSBmb2xsb3dpbmcgcXVlcmllczoKLSBSZW1vdmluZyB0aGUgc3VidHJlZSByb290ZWQgYXQgbm9kZSB3aXRoIHZhbHVlIDMuIFRoZSBoZWlnaHQgb2YgdGhlIHRyZWUgYmVjb21lcyAzIChUaGUgcGF0aCA1IC0mZ3Q7IDggLSZndDsgMiAtJmd0OyA0KS4KLSBSZW1vdmluZyB0aGUgc3VidHJlZSByb290ZWQgYXQgbm9kZSB3aXRoIHZhbHVlIDIuIFRoZSBoZWlnaHQgb2YgdGhlIHRyZWUgYmVjb21lcyAyIChUaGUgcGF0aCA1IC0mZ3Q7IDggLSZndDsgMSkuCi0gUmVtb3ZpbmcgdGhlIHN1YnRyZWUgcm9vdGVkIGF0IG5vZGUgd2l0aCB2YWx1ZSA0LiBUaGUgaGVpZ2h0IG9mIHRoZSB0cmVlIGJlY29tZXMgMyAoVGhlIHBhdGggNSAtJmd0OyA4IC0mZ3Q7IDIgLSZndDsgNikuCi0gUmVtb3ZpbmcgdGhlIHN1YnRyZWUgcm9vdGVkIGF0IG5vZGUgd2l0aCB2YWx1ZSA4LiBUaGUgaGVpZ2h0IG9mIHRoZSB0cmVlIGJlY29tZXMgMiAoVGhlIHBhdGggNSAtJmd0OyA5IC0mZ3Q7IDMpLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT5UaGUgbnVtYmVyIG9mIG5vZGVzIGluIHRoZSB0cmVlIGlzIDxjb2RlPm48L2NvZGU+LjwvbGk+CjxsaT48Y29kZT4yICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gTm9kZS52YWwgJmx0Oz0gbjwvY29kZT48L2xpPgo8bGk+QWxsIHRoZSB2YWx1ZXMgaW4gdGhlIHRyZWUgYXJlIDxzdHJvbmc+dW5pcXVlPC9zdHJvbmc+LjwvbGk+CjxsaT48Y29kZT5tID09IHF1ZXJpZXMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG0gJmx0Oz0gbWluKG4sIDEwPHN1cD40PC9zdXA+KTwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBxdWVyaWVzW2ldICZsdDs9IG48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnF1ZXJpZXNbaV0gIT0gcm9vdC52YWw8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Tree",
+ "Depth-First Search",
+ "Breadth-First Search",
+ "Binary Tree"
+ ]
+ },
+ {
+ "title": "2449. Minimum Number of Operations to Make Arrays Similar",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIHBvc2l0aXZlIGludGVnZXIgYXJyYXlzIDxjb2RlPm51bXM8L2NvZGU+IGFuZCA8Y29kZT50YXJnZXQ8L2NvZGU+LCBvZiB0aGUgc2FtZSBsZW5ndGguPC9wPgo8cD5JbiBvbmUgb3BlcmF0aW9uLCB5b3UgY2FuIGNob29zZSBhbnkgdHdvIDxzdHJvbmc+ZGlzdGluY3Q8L3N0cm9uZz4gaW5kaWNlcyA8Y29kZT5pPC9jb2RlPiBhbmQgPGNvZGU+ajwvY29kZT4gd2hlcmUgPGNvZGU+MCAmbHQ7PSBpLCBqICZsdDsgbnVtcy5sZW5ndGg8L2NvZGU+IGFuZDo8L3A+Cjx1bD4KPGxpPnNldCA8Y29kZT5udW1zW2ldID0gbnVtc1tpXSArIDI8L2NvZGU+IGFuZDwvbGk+CjxsaT5zZXQgPGNvZGU+bnVtc1tqXSA9IG51bXNbal0gLSAyPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5Ud28gYXJyYXlzIGFyZSBjb25zaWRlcmVkIHRvIGJlIDxzdHJvbmc+c2ltaWxhcjwvc3Ryb25nPiBpZiB0aGUgZnJlcXVlbmN5IG9mIGVhY2ggZWxlbWVudCBpcyB0aGUgc2FtZS48L3A+CjxwPlJldHVybiA8ZW0+dGhlIG1pbmltdW0gbnVtYmVyIG9mIG9wZXJhdGlvbnMgcmVxdWlyZWQgdG8gbWFrZSA8L2VtPjxjb2RlPm51bXM8L2NvZGU+PGVtPiBzaW1pbGFyIHRvIDwvZW0+PGNvZGU+dGFyZ2V0PC9jb2RlPi4gVGhlIHRlc3QgY2FzZXMgYXJlIGdlbmVyYXRlZCBzdWNoIHRoYXQgPGNvZGU+bnVtczwvY29kZT4gY2FuIGFsd2F5cyBiZSBzaW1pbGFyIHRvIDxjb2RlPnRhcmdldDwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzgsMTIsNl0sIHRhcmdldCA9IFsyLDE0LDEwXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBJdCBpcyBwb3NzaWJsZSB0byBtYWtlIG51bXMgc2ltaWxhciB0byB0YXJnZXQgaW4gdHdvIG9wZXJhdGlvbnM6Ci0gQ2hvb3NlIGkgPSAwIGFuZCBqID0gMiwgbnVtcyA9IFsxMCwxMiw0XS4KLSBDaG9vc2UgaSA9IDEgYW5kIGogPSAyLCBudW1zID0gWzEwLDE0LDJdLgpJdCBjYW4gYmUgc2hvd24gdGhhdCAyIGlzIHRoZSBtaW5pbXVtIG51bWJlciBvZiBvcGVyYXRpb25zIG5lZWRlZC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDIsNV0sIHRhcmdldCA9IFs0LDEsM10KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gV2UgY2FuIG1ha2UgbnVtcyBzaW1pbGFyIHRvIHRhcmdldCBpbiBvbmUgb3BlcmF0aW9uOgotIENob29zZSBpID0gMSBhbmQgaiA9IDIsIG51bXMgPSBbMSw0LDNdLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMSwxLDEsMV0sIHRhcmdldCA9IFsxLDEsMSwxLDFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBhcnJheSBudW1zIGlzIGFscmVhZHkgc2ltaWxpYXIgdG8gdGFyZ2V0Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IG51bXMubGVuZ3RoID09IHRhcmdldC5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldLCB0YXJnZXRbaV0gJmx0Oz0gMTA8c3VwPjY8L3N1cD48L2NvZGU+PC9saT4KPGxpPkl0IGlzIHBvc3NpYmxlIHRvIG1ha2UgPGNvZGU+bnVtczwvY29kZT4gc2ltaWxhciB0byA8Y29kZT50YXJnZXQ8L2NvZGU+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Greedy",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2448. Minimum Cost to Make Array Equal",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGFycmF5cyA8Y29kZT5udW1zPC9jb2RlPiBhbmQgPGNvZGU+Y29zdDwvY29kZT4gY29uc2lzdGluZyBlYWNoIG9mIDxjb2RlPm48L2NvZGU+IDxzdHJvbmc+cG9zaXRpdmU8L3N0cm9uZz4gaW50ZWdlcnMuPC9wPgo8cD5Zb3UgY2FuIGRvIHRoZSBmb2xsb3dpbmcgb3BlcmF0aW9uIDxzdHJvbmc+YW55PC9zdHJvbmc+IG51bWJlciBvZiB0aW1lczo8L3A+Cjx1bD4KPGxpPkluY3JlYXNlIG9yIGRlY3JlYXNlIDxzdHJvbmc+YW55PC9zdHJvbmc+IGVsZW1lbnQgb2YgdGhlIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IGJ5IDxjb2RlPjE8L2NvZGU+LjwvbGk+CjwvdWw+CjxwPlRoZSBjb3N0IG9mIGRvaW5nIG9uZSBvcGVyYXRpb24gb24gdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBlbGVtZW50IGlzIDxjb2RlPmNvc3RbaV08L2NvZGU+LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5taW5pbXVtPC9zdHJvbmc+IHRvdGFsIGNvc3Qgc3VjaCB0aGF0IGFsbCB0aGUgZWxlbWVudHMgb2YgdGhlIGFycmF5IDwvZW0+PGNvZGU+bnVtczwvY29kZT48ZW0+IGJlY29tZSA8c3Ryb25nPmVxdWFsPC9zdHJvbmc+PC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMyw1LDJdLCBjb3N0ID0gWzIsMywxLDE0XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gOAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSBjYW4gbWFrZSBhbGwgdGhlIGVsZW1lbnRzIGVxdWFsIHRvIDIgaW4gdGhlIGZvbGxvd2luZyB3YXk6Ci0gSW5jcmVhc2UgdGhlIDA8c3VwPnRoPC9zdXA+IGVsZW1lbnQgb25lIHRpbWUuIFRoZSBjb3N0IGlzIDIuCi0gRGVjcmVhc2UgdGhlIDE8c3VwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjgzMzNweDsiPnN0PC9zcGFuPjwvc3VwPiBlbGVtZW50IG9uZSB0aW1lLiBUaGUgY29zdCBpcyAzLgotIERlY3JlYXNlIHRoZSAyPHN1cD5uZDwvc3VwPiBlbGVtZW50IHRocmVlIHRpbWVzLiBUaGUgY29zdCBpcyAxICsgMSArIDEgPSAzLgpUaGUgdG90YWwgY29zdCBpcyAyICsgMyArIDMgPSA4LgpJdCBjYW4gYmUgc2hvd24gdGhhdCB3ZSBjYW5ub3QgbWFrZSB0aGUgYXJyYXkgZXF1YWwgd2l0aCBhIHNtYWxsZXIgY29zdC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsyLDIsMiwyLDJdLCBjb3N0ID0gWzQsMiw4LDEsM10KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gQWxsIHRoZSBlbGVtZW50cyBhcmUgYWxyZWFkeSBlcXVhbCwgc28gbm8gb3BlcmF0aW9ucyBhcmUgbmVlZGVkLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IG51bXMubGVuZ3RoID09IGNvc3QubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSwgY29zdFtpXSAmbHQ7PSAxMDxzdXA+Njwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Sorting",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2440. Create Components With Same Value",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGFuIHVuZGlyZWN0ZWQgdHJlZSB3aXRoIDxjb2RlPm48L2NvZGU+IG5vZGVzIGxhYmVsZWQgZnJvbSA8Y29kZT4wPC9jb2RlPiB0byA8Y29kZT5uIC0gMTwvY29kZT4uPC9wPgo8cD5Zb3UgYXJlIGdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT48Zm9udCBmYWNlPSJtb25vc3BhY2UiPm51bXM8L2ZvbnQ+PC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4gd2hlcmUgPGNvZGU+bnVtc1tpXTwvY29kZT4gcmVwcmVzZW50cyB0aGUgdmFsdWUgb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBub2RlLiBZb3UgYXJlIGFsc28gZ2l2ZW4gYSAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPmVkZ2VzPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+biAtIDE8L2NvZGU+IHdoZXJlIDxjb2RlPmVkZ2VzW2ldID0gW2E8c3ViPmk8L3N1Yj4sIGI8c3ViPmk8L3N1Yj5dPC9jb2RlPiBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBpcyBhbiBlZGdlIGJldHdlZW4gbm9kZXMgPGNvZGU+YTxzdWI+aTwvc3ViPjwvY29kZT4gYW5kIDxjb2RlPmI8c3ViPmk8L3N1Yj48L2NvZGU+IGluIHRoZSB0cmVlLjwvcD4KPHA+WW91IGFyZSBhbGxvd2VkIHRvIDxzdHJvbmc+ZGVsZXRlPC9zdHJvbmc+IHNvbWUgZWRnZXMsIHNwbGl0dGluZyB0aGUgdHJlZSBpbnRvIG11bHRpcGxlIGNvbm5lY3RlZCBjb21wb25lbnRzLiBMZXQgdGhlIDxzdHJvbmc+dmFsdWU8L3N0cm9uZz4gb2YgYSBjb21wb25lbnQgYmUgdGhlIHN1bSBvZiA8c3Ryb25nPmFsbDwvc3Ryb25nPiA8Y29kZT5udW1zW2ldPC9jb2RlPiBmb3Igd2hpY2ggbm9kZSA8Y29kZT5pPC9jb2RlPiBpcyBpbiB0aGUgY29tcG9uZW50LjwvcD4KPHA+UmV0dXJuPGVtPiB0aGUgPHN0cm9uZz5tYXhpbXVtPC9zdHJvbmc+IG51bWJlciBvZiBlZGdlcyB5b3UgY2FuIGRlbGV0ZSwgc3VjaCB0aGF0IGV2ZXJ5IGNvbm5lY3RlZCBjb21wb25lbnQgaW4gdGhlIHRyZWUgaGFzIHRoZSBzYW1lIHZhbHVlLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA4LzI2L2RpYWdyYW1kcmF3aW8ucG5nIiBzdHlsZT0id2lkdGg6IDQ0MXB4OyBoZWlnaHQ6IDM1MXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNiwyLDIsMiw2XSwgZWRnZXMgPSBbWzAsMV0sWzEsMl0sWzEsM10sWzMsNF1dIAo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMiAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGFib3ZlIGZpZ3VyZSBzaG93cyBob3cgd2UgY2FuIGRlbGV0ZSB0aGUgZWRnZXMgWzAsMV0gYW5kIFszLDRdLiBUaGUgY3JlYXRlZCBjb21wb25lbnRzIGFyZSBub2RlcyBbMF0sIFsxLDIsM10gYW5kIFs0XS4gVGhlIHN1bSBvZiB0aGUgdmFsdWVzIGluIGVhY2ggY29tcG9uZW50IGVxdWFscyA2LiBJdCBjYW4gYmUgcHJvdmVuIHRoYXQgbm8gYmV0dGVyIGRlbGV0aW9uIGV4aXN0cywgc28gdGhlIGFuc3dlciBpcyAyLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzJdLCBlZGdlcyA9IFtdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSBubyBlZGdlcyB0byBiZSBkZWxldGVkLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMiAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5udW1zLmxlbmd0aCA9PSBuPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0gJmx0Oz0gNTA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPmVkZ2VzLmxlbmd0aCA9PSBuIC0gMTwvY29kZT48L2xpPgo8bGk+PGNvZGU+ZWRnZXNbaV0ubGVuZ3RoID09IDI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gZWRnZXNbaV1bMF0sIGVkZ2VzW2ldWzFdICZsdDs9IG4gLSAxPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5lZGdlczwvY29kZT4gcmVwcmVzZW50cyBhIHZhbGlkIHRyZWUuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Math",
+ "Tree",
+ "Depth-First Search",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2444. Count Subarrays With Fixed Bounds",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBhbmQgdHdvIGludGVnZXJzIDxjb2RlPm1pbks8L2NvZGU+IGFuZCA8Y29kZT5tYXhLPC9jb2RlPi48L3A+CjxwPkEgPHN0cm9uZz5maXhlZC1ib3VuZCBzdWJhcnJheTwvc3Ryb25nPiBvZiA8Y29kZT5udW1zPC9jb2RlPiBpcyBhIHN1YmFycmF5IHRoYXQgc2F0aXNmaWVzIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczo8L3A+Cjx1bD4KPGxpPlRoZSA8c3Ryb25nPm1pbmltdW08L3N0cm9uZz4gdmFsdWUgaW4gdGhlIHN1YmFycmF5IGlzIGVxdWFsIHRvIDxjb2RlPm1pbks8L2NvZGU+LjwvbGk+CjxsaT5UaGUgPHN0cm9uZz5tYXhpbXVtPC9zdHJvbmc+IHZhbHVlIGluIHRoZSBzdWJhcnJheSBpcyBlcXVhbCB0byA8Y29kZT5tYXhLPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm51bWJlcjwvc3Ryb25nPiBvZiBmaXhlZC1ib3VuZCBzdWJhcnJheXM8L2VtPi48L3A+CjxwPkEgPHN0cm9uZz5zdWJhcnJheTwvc3Ryb25nPiBpcyBhIDxzdHJvbmc+Y29udGlndW91czwvc3Ryb25nPiBwYXJ0IG9mIGFuIGFycmF5LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDMsNSwyLDcsNV0sIG1pbksgPSAxLCBtYXhLID0gNQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgZml4ZWQtYm91bmQgc3ViYXJyYXlzIGFyZSBbMSwzLDVdIGFuZCBbMSwzLDUsMl0uCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSwxLDEsMV0sIG1pbksgPSAxLCBtYXhLID0gMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gRXZlcnkgc3ViYXJyYXkgb2YgbnVtcyBpcyBhIGZpeGVkLWJvdW5kIHN1YmFycmF5LiBUaGVyZSBhcmUgMTAgcG9zc2libGUgc3ViYXJyYXlzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4yICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0sIG1pbkssIG1heEsgJmx0Oz0gMTA8c3VwPjY8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Queue",
+ "Sliding Window",
+ "Monotonic Queue"
+ ]
+ },
+ {
+ "title": "2407. Longest Increasing Subsequence II",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBhbmQgYW4gaW50ZWdlciA8Y29kZT5rPC9jb2RlPi48L3A+CjxwPkZpbmQgdGhlIGxvbmdlc3Qgc3Vic2VxdWVuY2Ugb2YgPGNvZGU+bnVtczwvY29kZT4gdGhhdCBtZWV0cyB0aGUgZm9sbG93aW5nIHJlcXVpcmVtZW50czo8L3A+Cjx1bD4KPGxpPlRoZSBzdWJzZXF1ZW5jZSBpcyA8c3Ryb25nPnN0cmljdGx5IGluY3JlYXNpbmc8L3N0cm9uZz4gYW5kPC9saT4KPGxpPlRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYWRqYWNlbnQgZWxlbWVudHMgaW4gdGhlIHN1YnNlcXVlbmNlIGlzIDxzdHJvbmc+YXQgbW9zdDwvc3Ryb25nPiA8Y29kZT5rPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5SZXR1cm48ZW0+IHRoZSBsZW5ndGggb2YgdGhlIDxzdHJvbmc+bG9uZ2VzdDwvc3Ryb25nPiA8c3Ryb25nPnN1YnNlcXVlbmNlPC9zdHJvbmc+IHRoYXQgbWVldHMgdGhlIHJlcXVpcmVtZW50cy48L2VtPjwvcD4KPHA+QSA8c3Ryb25nPnN1YnNlcXVlbmNlPC9zdHJvbmc+IGlzIGFuIGFycmF5IHRoYXQgY2FuIGJlIGRlcml2ZWQgZnJvbSBhbm90aGVyIGFycmF5IGJ5IGRlbGV0aW5nIHNvbWUgb3Igbm8gZWxlbWVudHMgd2l0aG91dCBjaGFuZ2luZyB0aGUgb3JkZXIgb2YgdGhlIHJlbWFpbmluZyBlbGVtZW50cy48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNCwyLDEsNCwzLDQsNSw4LDE1XSwgayA9IDMKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIGxvbmdlc3Qgc3Vic2VxdWVuY2UgdGhhdCBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGlzIFsxLDMsNCw1LDhdLgpUaGUgc3Vic2VxdWVuY2UgaGFzIGEgbGVuZ3RoIG9mIDUsIHNvIHdlIHJldHVybiA1LgpOb3RlIHRoYXQgdGhlIHN1YnNlcXVlbmNlIFsxLDMsNCw1LDgsMTVdIGRvZXMgbm90IG1lZXQgdGhlIHJlcXVpcmVtZW50cyBiZWNhdXNlIDE1IC0gOCA9IDcgaXMgbGFyZ2VyIHRoYW4gMy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs3LDQsNSwxLDgsMTIsNCw3XSwgayA9IDUKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIGxvbmdlc3Qgc3Vic2VxdWVuY2UgdGhhdCBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGlzIFs0LDUsOCwxMl0uClRoZSBzdWJzZXF1ZW5jZSBoYXMgYSBsZW5ndGggb2YgNCwgc28gd2UgcmV0dXJuIDQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSw1XSwgayA9IDEKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIGxvbmdlc3Qgc3Vic2VxdWVuY2UgdGhhdCBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGlzIFsxXS4KVGhlIHN1YnNlcXVlbmNlIGhhcyBhIGxlbmd0aCBvZiAxLCBzbyB3ZSByZXR1cm4gMS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldLCBrICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Divide and Conquer",
+ "Dynamic Programming",
+ "Binary Indexed Tree",
+ "Segment Tree",
+ "Queue",
+ "Monotonic Queue"
+ ]
+ },
+ {
+ "title": "2435. Paths in Matrix Whose Sum Is Divisible by K",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiA8Y29kZT5tIHggbjwvY29kZT4gaW50ZWdlciBtYXRyaXggPGNvZGU+Z3JpZDwvY29kZT4gYW5kIGFuIGludGVnZXIgPGNvZGU+azwvY29kZT4uIFlvdSBhcmUgY3VycmVudGx5IGF0IHBvc2l0aW9uIDxjb2RlPigwLCAwKTwvY29kZT4gYW5kIHlvdSB3YW50IHRvIHJlYWNoIHBvc2l0aW9uIDxjb2RlPihtIC0gMSwgbiAtIDEpPC9jb2RlPiBtb3Zpbmcgb25seSA8c3Ryb25nPmRvd248L3N0cm9uZz4gb3IgPHN0cm9uZz5yaWdodDwvc3Ryb25nPi48L3A+CjxwPlJldHVybjxlbT4gdGhlIG51bWJlciBvZiBwYXRocyB3aGVyZSB0aGUgc3VtIG9mIHRoZSBlbGVtZW50cyBvbiB0aGUgcGF0aCBpcyBkaXZpc2libGUgYnkgPC9lbT48Y29kZT5rPC9jb2RlPi4gU2luY2UgdGhlIGFuc3dlciBtYXkgYmUgdmVyeSBsYXJnZSwgcmV0dXJuIGl0IDxzdHJvbmc+bW9kdWxvPC9zdHJvbmc+IDxjb2RlPjEwPHN1cD45PC9zdXA+ICsgNzwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDgvMTMvaW1hZ2UtMjAyMjA4MTMxODMxMjQtMS5wbmciIHN0eWxlPSJ3aWR0aDogNDM3cHg7IGhlaWdodDogMjAwcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbNSwyLDRdLFszLDAsNV0sWzAsNywyXV0sIGsgPSAzCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSB0d28gcGF0aHMgd2hlcmUgdGhlIHN1bSBvZiB0aGUgZWxlbWVudHMgb24gdGhlIHBhdGggaXMgZGl2aXNpYmxlIGJ5IGsuClRoZSBmaXJzdCBwYXRoIGhpZ2hsaWdodGVkIGluIHJlZCBoYXMgYSBzdW0gb2YgNSArIDIgKyA0ICsgNSArIDIgPSAxOCB3aGljaCBpcyBkaXZpc2libGUgYnkgMy4KVGhlIHNlY29uZCBwYXRoIGhpZ2hsaWdodGVkIGluIGJsdWUgaGFzIGEgc3VtIG9mIDUgKyAzICsgMCArIDUgKyAyID0gMTUgd2hpY2ggaXMgZGl2aXNpYmxlIGJ5IDMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wOC8xNy9pbWFnZS0yMDIyMDgxNzExMjkzMC0zLnBuZyIgc3R5bGU9ImhlaWdodDogODVweDsgd2lkdGg6IDEzMnB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGdyaWQgPSBbWzAsMF1dLCBrID0gNQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgcGF0aCBoaWdobGlnaHRlZCBpbiByZWQgaGFzIGEgc3VtIG9mIDAgKyAwID0gMCB3aGljaCBpcyBkaXZpc2libGUgYnkgNS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxpbWcgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA4LzEyL2ltYWdlLTIwMjIwODEyMjI0NjA1LTMucG5nIiBzdHlsZT0id2lkdGg6IDI1N3B4OyBoZWlnaHQ6IDIwMHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGdyaWQgPSBbWzcsMyw0LDldLFsyLDMsNiwyXSxbMiwzLDcsMF1dLCBrID0gMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gRXZlcnkgaW50ZWdlciBpcyBkaXZpc2libGUgYnkgMSBzbyB0aGUgc3VtIG9mIHRoZSBlbGVtZW50cyBvbiBldmVyeSBwb3NzaWJsZSBwYXRoIGlzIGRpdmlzaWJsZSBieSBrLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5tID09IGdyaWQubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5uID09IGdyaWRbaV0ubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG0sIG4gJmx0Oz0gNSAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG0gKiBuICZsdDs9IDUgKiAxMDxzdXA+NDwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBncmlkW2ldW2pdICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBrICZsdDs9IDUwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Dynamic Programming",
+ "Matrix"
+ ]
+ },
+ {
+ "title": "2426. Number of Pairs Satisfying Inequality",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXlzIDxjb2RlPm51bXMxPC9jb2RlPiBhbmQgPGNvZGU+bnVtczI8L2NvZGU+LCBlYWNoIG9mIHNpemUgPGNvZGU+bjwvY29kZT4sIGFuZCBhbiBpbnRlZ2VyIDxjb2RlPmRpZmY8L2NvZGU+LiBGaW5kIHRoZSBudW1iZXIgb2YgPHN0cm9uZz5wYWlyczwvc3Ryb25nPiA8Y29kZT4oaSwgaik8L2NvZGU+IHN1Y2ggdGhhdDo8L3A+Cjx1bD4KPGxpPjxjb2RlPjAgJmx0Oz0gaSAmbHQ7IGogJmx0Oz0gbiAtIDE8L2NvZGU+IDxzdHJvbmc+YW5kPC9zdHJvbmc+PC9saT4KPGxpPjxjb2RlPm51bXMxW2ldIC0gbnVtczFbal0gJmx0Oz0gbnVtczJbaV0gLSBudW1zMltqXSArIGRpZmY8L2NvZGU+LjwvbGk+CjwvdWw+CjxwPlJldHVybjxlbT4gdGhlIDxzdHJvbmc+bnVtYmVyIG9mIHBhaXJzPC9zdHJvbmc+IHRoYXQgc2F0aXNmeSB0aGUgY29uZGl0aW9ucy48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtczEgPSBbMywyLDVdLCBudW1zMiA9IFsyLDIsMV0sIGRpZmYgPSAxCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZXJlIGFyZSAzIHBhaXJzIHRoYXQgc2F0aXNmeSB0aGUgY29uZGl0aW9uczoKMS4gaSA9IDAsIGogPSAxOiAzIC0gMiAmbHQ7PSAyIC0gMiArIDEuIFNpbmNlIGkgJmx0OyBqIGFuZCAxICZsdDs9IDEsIHRoaXMgcGFpciBzYXRpc2ZpZXMgdGhlIGNvbmRpdGlvbnMuCjIuIGkgPSAwLCBqID0gMjogMyAtIDUgJmx0Oz0gMiAtIDEgKyAxLiBTaW5jZSBpICZsdDsgaiBhbmQgLTIgJmx0Oz0gMiwgdGhpcyBwYWlyIHNhdGlzZmllcyB0aGUgY29uZGl0aW9ucy4KMy4gaSA9IDEsIGogPSAyOiAyIC0gNSAmbHQ7PSAyIC0gMSArIDEuIFNpbmNlIGkgJmx0OyBqIGFuZCAtMyAmbHQ7PSAyLCB0aGlzIHBhaXIgc2F0aXNmaWVzIHRoZSBjb25kaXRpb25zLgpUaGVyZWZvcmUsIHdlIHJldHVybiAzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zMSA9IFszLC0xXSwgbnVtczIgPSBbLTIsMl0sIGRpZmYgPSAtMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpTaW5jZSB0aGVyZSBkb2VzIG5vdCBleGlzdCBhbnkgcGFpciB0aGF0IHNhdGlzZmllcyB0aGUgY29uZGl0aW9ucywgd2UgcmV0dXJuIDAuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gbnVtczEubGVuZ3RoID09IG51bXMyLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MiAmbHQ7PSBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4tMTA8c3VwPjQ8L3N1cD4gJmx0Oz0gbnVtczFbaV0sIG51bXMyW2ldICZsdDs9IDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4tMTA8c3VwPjQ8L3N1cD4gJmx0Oz0gZGlmZiAmbHQ7PSAxMDxzdXA+NDwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Divide and Conquer",
+ "Binary Indexed Tree",
+ "Segment Tree",
+ "Merge Sort",
+ "Ordered Set"
+ ]
+ },
+ {
+ "title": "2430. Maximum Deletions on a String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4gY29uc2lzdGluZyBvZiBvbmx5IGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuIEluIG9uZSBvcGVyYXRpb24sIHlvdSBjYW46PC9wPgo8dWw+CjxsaT5EZWxldGUgPHN0cm9uZz50aGUgZW50aXJlIHN0cmluZzwvc3Ryb25nPiA8Y29kZT5zPC9jb2RlPiwgb3I8L2xpPgo8bGk+RGVsZXRlIHRoZSA8c3Ryb25nPmZpcnN0PC9zdHJvbmc+IDxjb2RlPmk8L2NvZGU+IGxldHRlcnMgb2YgPGNvZGU+czwvY29kZT4gaWYgdGhlIGZpcnN0IDxjb2RlPmk8L2NvZGU+IGxldHRlcnMgb2YgPGNvZGU+czwvY29kZT4gYXJlIDxzdHJvbmc+ZXF1YWw8L3N0cm9uZz4gdG8gdGhlIGZvbGxvd2luZyA8Y29kZT5pPC9jb2RlPiBsZXR0ZXJzIGluIDxjb2RlPnM8L2NvZGU+LCBmb3IgYW55IDxjb2RlPmk8L2NvZGU+IGluIHRoZSByYW5nZSA8Y29kZT4xICZsdDs9IGkgJmx0Oz0gcy5sZW5ndGggLyAyPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5Gb3IgZXhhbXBsZSwgaWYgPGNvZGU+cyA9ICJhYmFiYyI8L2NvZGU+LCB0aGVuIGluIG9uZSBvcGVyYXRpb24sIHlvdSBjb3VsZCBkZWxldGUgdGhlIGZpcnN0IHR3byBsZXR0ZXJzIG9mIDxjb2RlPnM8L2NvZGU+IHRvIGdldCA8Y29kZT4iYWJjIjwvY29kZT4sIHNpbmNlIHRoZSBmaXJzdCB0d28gbGV0dGVycyBvZiA8Y29kZT5zPC9jb2RlPiBhbmQgdGhlIGZvbGxvd2luZyB0d28gbGV0dGVycyBvZiA8Y29kZT5zPC9jb2RlPiBhcmUgYm90aCBlcXVhbCB0byA8Y29kZT4iYWIiPC9jb2RlPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBudW1iZXIgb2Ygb3BlcmF0aW9ucyBuZWVkZWQgdG8gZGVsZXRlIGFsbCBvZiA8L2VtPjxjb2RlPnM8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJhYmNhYmNkYWJjIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgotIERlbGV0ZSB0aGUgZmlyc3QgMyBsZXR0ZXJzICgiYWJjIikgc2luY2UgdGhlIG5leHQgMyBsZXR0ZXJzIGFyZSBlcXVhbC4gTm93LCBzID0gImFiY2RhYmMiLgotIERlbGV0ZSBhbGwgdGhlIGxldHRlcnMuCldlIHVzZWQgMiBvcGVyYXRpb25zIHNvIHJldHVybiAyLiBJdCBjYW4gYmUgcHJvdmVuIHRoYXQgMiBpcyB0aGUgbWF4aW11bSBudW1iZXIgb2Ygb3BlcmF0aW9ucyBuZWVkZWQuCk5vdGUgdGhhdCBpbiB0aGUgc2Vjb25kIG9wZXJhdGlvbiB3ZSBjYW5ub3QgZGVsZXRlICJhYmMiIGFnYWluIGJlY2F1c2UgdGhlIG5leHQgb2NjdXJyZW5jZSBvZiAiYWJjIiBkb2VzIG5vdCBoYXBwZW4gaW4gdGhlIG5leHQgMyBsZXR0ZXJzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImFhYWJhYWIiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ci0gRGVsZXRlIHRoZSBmaXJzdCBsZXR0ZXIgKCJhIikgc2luY2UgdGhlIG5leHQgbGV0dGVyIGlzIGVxdWFsLiBOb3csIHMgPSAiYWFiYWFiIi4KLSBEZWxldGUgdGhlIGZpcnN0IDMgbGV0dGVycyAoImFhYiIpIHNpbmNlIHRoZSBuZXh0IDMgbGV0dGVycyBhcmUgZXF1YWwuIE5vdywgcyA9ICJhYWIiLgotIERlbGV0ZSB0aGUgZmlyc3QgbGV0dGVyICgiYSIpIHNpbmNlIHRoZSBuZXh0IGxldHRlciBpcyBlcXVhbC4gTm93LCBzID0gImFiIi4KLSBEZWxldGUgYWxsIHRoZSBsZXR0ZXJzLgpXZSB1c2VkIDQgb3BlcmF0aW9ucyBzbyByZXR1cm4gNC4gSXQgY2FuIGJlIHByb3ZlbiB0aGF0IDQgaXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIG9wZXJhdGlvbnMgbmVlZGVkLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImFhYWFhIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBJbiBlYWNoIG9wZXJhdGlvbiwgd2UgY2FuIGRlbGV0ZSB0aGUgZmlyc3QgbGV0dGVyIG9mIHMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gcy5sZW5ndGggJmx0Oz0gNDAwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+czwvY29kZT4gY29uc2lzdHMgb25seSBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "String",
+ "Dynamic Programming",
+ "Rolling Hash",
+ "String Matching",
+ "Hash Function"
+ ]
+ },
+ {
+ "title": "2421. Number of Good Paths",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGEgdHJlZSAoaS5lLiBhIGNvbm5lY3RlZCwgdW5kaXJlY3RlZCBncmFwaCB3aXRoIG5vIGN5Y2xlcykgY29uc2lzdGluZyBvZiA8Y29kZT5uPC9jb2RlPiBub2RlcyBudW1iZXJlZCBmcm9tIDxjb2RlPjA8L2NvZGU+IHRvIDxjb2RlPm4gLSAxPC9jb2RlPiBhbmQgZXhhY3RseSA8Y29kZT5uIC0gMTwvY29kZT4gZWRnZXMuPC9wPgo8cD5Zb3UgYXJlIGdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT52YWxzPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4gd2hlcmUgPGNvZGU+dmFsc1tpXTwvY29kZT4gZGVub3RlcyB0aGUgdmFsdWUgb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBub2RlLiBZb3UgYXJlIGFsc28gZ2l2ZW4gYSAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPmVkZ2VzPC9jb2RlPiB3aGVyZSA8Y29kZT5lZGdlc1tpXSA9IFthPHN1Yj5pPC9zdWI+LCBiPHN1Yj5pPC9zdWI+XTwvY29kZT4gZGVub3RlcyB0aGF0IHRoZXJlIGV4aXN0cyBhbiA8c3Ryb25nPnVuZGlyZWN0ZWQ8L3N0cm9uZz4gZWRnZSBjb25uZWN0aW5nIG5vZGVzIDxjb2RlPmE8c3ViPmk8L3N1Yj48L2NvZGU+IGFuZCA8Y29kZT5iPHN1Yj5pPC9zdWI+PC9jb2RlPi48L3A+CjxwPkEgPHN0cm9uZz5nb29kIHBhdGg8L3N0cm9uZz4gaXMgYSBzaW1wbGUgcGF0aCB0aGF0IHNhdGlzZmllcyB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6PC9wPgo8b2w+CjxsaT5UaGUgc3RhcnRpbmcgbm9kZSBhbmQgdGhlIGVuZGluZyBub2RlIGhhdmUgdGhlIDxzdHJvbmc+c2FtZTwvc3Ryb25nPiB2YWx1ZS48L2xpPgo8bGk+QWxsIG5vZGVzIGJldHdlZW4gdGhlIHN0YXJ0aW5nIG5vZGUgYW5kIHRoZSBlbmRpbmcgbm9kZSBoYXZlIHZhbHVlcyA8c3Ryb25nPmxlc3MgdGhhbiBvciBlcXVhbCB0bzwvc3Ryb25nPiB0aGUgc3RhcnRpbmcgbm9kZSAoaS5lLiB0aGUgc3RhcnRpbmcgbm9kZSdzIHZhbHVlIHNob3VsZCBiZSB0aGUgbWF4aW11bSB2YWx1ZSBhbG9uZyB0aGUgcGF0aCkuPC9saT4KPC9vbD4KPHA+UmV0dXJuIDxlbT50aGUgbnVtYmVyIG9mIGRpc3RpbmN0IGdvb2QgcGF0aHM8L2VtPi48L3A+CjxwPk5vdGUgdGhhdCBhIHBhdGggYW5kIGl0cyByZXZlcnNlIGFyZSBjb3VudGVkIGFzIHRoZSA8c3Ryb25nPnNhbWU8L3N0cm9uZz4gcGF0aC4gRm9yIGV4YW1wbGUsIDxjb2RlPjAgLSZndDsgMTwvY29kZT4gaXMgY29uc2lkZXJlZCB0byBiZSB0aGUgc2FtZSBhcyA8Y29kZT4xIC0mZ3Q7IDA8L2NvZGU+LiBBIHNpbmdsZSBub2RlIGlzIGFsc28gY29uc2lkZXJlZCBhcyBhIHZhbGlkIHBhdGguPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA4LzA0L2Y5Y2FhYWMxNWIzODNhZjkxMTVjNTU4Njc3OWRlYzUucG5nIiBzdHlsZT0id2lkdGg6IDQwMHB4OyBoZWlnaHQ6IDMzM3B4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHZhbHMgPSBbMSwzLDIsMSwzXSwgZWRnZXMgPSBbWzAsMV0sWzAsMl0sWzIsM10sWzIsNF1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA2CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSA1IGdvb2QgcGF0aHMgY29uc2lzdGluZyBvZiBhIHNpbmdsZSBub2RlLgpUaGVyZSBpcyAxIGFkZGl0aW9uYWwgZ29vZCBwYXRoOiAxIC0mZ3Q7IDAgLSZndDsgMiAtJmd0OyA0LgooVGhlIHJldmVyc2UgcGF0aCA0IC0mZ3Q7IDIgLSZndDsgMCAtJmd0OyAxIGlzIHRyZWF0ZWQgYXMgdGhlIHNhbWUgYXMgMSAtJmd0OyAwIC0mZ3Q7IDIgLSZndDsgNC4pCk5vdGUgdGhhdCAwIC0mZ3Q7IDIgLSZndDsgMyBpcyBub3QgYSBnb29kIHBhdGggYmVjYXVzZSB2YWxzWzJdICZndDsgdmFsc1swXS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wOC8wNC8xNDlkMzA2NWVjMTY1YTcxYTFiOWFlYzg5MDc3NmZmLnBuZyIgc3R5bGU9IndpZHRoOiAyNzNweDsgaGVpZ2h0OiAzNTBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB2YWxzID0gWzEsMSwyLDIsM10sIGVkZ2VzID0gW1swLDFdLFsxLDJdLFsyLDNdLFsyLDRdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGVyZSBhcmUgNSBnb29kIHBhdGhzIGNvbnNpc3Rpbmcgb2YgYSBzaW5nbGUgbm9kZS4KVGhlcmUgYXJlIDIgYWRkaXRpb25hbCBnb29kIHBhdGhzOiAwIC0mZ3Q7IDEgYW5kIDIgLSZndDsgMy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wOC8wNC8zMTcwNWUyMmFmM2Q5YzBhNTU3NDU5YmM3ZDFiNjJkLnBuZyIgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiA4OHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHZhbHMgPSBbMV0sIGVkZ2VzID0gW10KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHRyZWUgY29uc2lzdHMgb2Ygb25seSBvbmUgbm9kZSwgc28gdGhlcmUgaXMgb25lIGdvb2QgcGF0aC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSB2YWxzLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDMgKiAxMDxzdXA+NDwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSB2YWxzW2ldICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5lZGdlcy5sZW5ndGggPT0gbiAtIDE8L2NvZGU+PC9saT4KPGxpPjxjb2RlPmVkZ2VzW2ldLmxlbmd0aCA9PSAyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IGE8c3ViPmk8L3N1Yj4sIGI8c3ViPmk8L3N1Yj4gJmx0OyBuPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5hPHN1Yj5pPC9zdWI+ICE9IGI8c3ViPmk8L3N1Yj48L2NvZGU+PC9saT4KPGxpPjxjb2RlPmVkZ2VzPC9jb2RlPiByZXByZXNlbnRzIGEgdmFsaWQgdHJlZS48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Tree",
+ "Union Find",
+ "Graph"
+ ]
+ },
+ {
+ "title": "2412. Minimum Money Required Before Transactions",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPjxmb250IGZhY2U9Im1vbm9zcGFjZSI+dHJhbnNhY3Rpb25zPC9mb250PjwvY29kZT4sIHdoZXJlIDxjb2RlPnRyYW5zYWN0aW9uc1tpXSA9IFtjb3N0PHN1Yj5pPC9zdWI+LCBjYXNoYmFjazxzdWI+aTwvc3ViPl08L2NvZGU+LjwvcD4KPHA+VGhlIGFycmF5IGRlc2NyaWJlcyB0cmFuc2FjdGlvbnMsIHdoZXJlIGVhY2ggdHJhbnNhY3Rpb24gbXVzdCBiZSBjb21wbGV0ZWQgZXhhY3RseSBvbmNlIGluIDxzdHJvbmc+c29tZSBvcmRlcjwvc3Ryb25nPi4gQXQgYW55IGdpdmVuIG1vbWVudCwgeW91IGhhdmUgYSBjZXJ0YWluIGFtb3VudCBvZiA8Y29kZT5tb25leTwvY29kZT4uIEluIG9yZGVyIHRvIGNvbXBsZXRlIHRyYW5zYWN0aW9uIDxjb2RlPmk8L2NvZGU+LCA8Y29kZT5tb25leSAmZ3Q7PSBjb3N0PHN1Yj5pPC9zdWI+PC9jb2RlPiBtdXN0IGhvbGQgdHJ1ZS4gQWZ0ZXIgcGVyZm9ybWluZyBhIHRyYW5zYWN0aW9uLCA8Y29kZT5tb25leTwvY29kZT4gYmVjb21lcyA8Y29kZT5tb25leSAtIGNvc3Q8c3ViPmk8L3N1Yj4gKyBjYXNoYmFjazxzdWI+aTwvc3ViPjwvY29kZT4uPC9wPgo8cD5SZXR1cm48ZW0+IHRoZSBtaW5pbXVtIGFtb3VudCBvZiA8L2VtPjxjb2RlPm1vbmV5PC9jb2RlPjxlbT4gcmVxdWlyZWQgYmVmb3JlIGFueSB0cmFuc2FjdGlvbiBzbyB0aGF0IGFsbCBvZiB0aGUgdHJhbnNhY3Rpb25zIGNhbiBiZSBjb21wbGV0ZWQgPHN0cm9uZz5yZWdhcmRsZXNzIG9mIHRoZSBvcmRlcjwvc3Ryb25nPiBvZiB0aGUgdHJhbnNhY3Rpb25zLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB0cmFuc2FjdGlvbnMgPSBbWzIsMV0sWzUsMF0sWzQsMl1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxMAo8c3Ryb25nPkV4cGxhbmF0aW9uOgo8L3N0cm9uZz5TdGFydGluZyB3aXRoIG1vbmV5ID0gMTAsIHRoZSB0cmFuc2FjdGlvbnMgY2FuIGJlIHBlcmZvcm1lZCBpbiBhbnkgb3JkZXIuCkl0IGNhbiBiZSBzaG93biB0aGF0IHN0YXJ0aW5nIHdpdGggbW9uZXkgJmx0OyAxMCB3aWxsIGZhaWwgdG8gY29tcGxldGUgYWxsIHRyYW5zYWN0aW9ucyBpbiBzb21lIG9yZGVyLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB0cmFuc2FjdGlvbnMgPSBbWzMsMF0sWzAsM11dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ci0gSWYgdHJhbnNhY3Rpb25zIGFyZSBpbiB0aGUgb3JkZXIgW1szLDBdLFswLDNdXSwgdGhlIG1pbmltdW0gbW9uZXkgcmVxdWlyZWQgdG8gY29tcGxldGUgdGhlIHRyYW5zYWN0aW9ucyBpcyAzLgotIElmIHRyYW5zYWN0aW9ucyBhcmUgaW4gdGhlIG9yZGVyIFtbMCwzXSxbMywwXV0sIHRoZSBtaW5pbXVtIG1vbmV5IHJlcXVpcmVkIHRvIGNvbXBsZXRlIHRoZSB0cmFuc2FjdGlvbnMgaXMgMC4KVGh1cywgc3RhcnRpbmcgd2l0aCBtb25leSA9IDMsIHRoZSB0cmFuc2FjdGlvbnMgY2FuIGJlIHBlcmZvcm1lZCBpbiBhbnkgb3JkZXIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gdHJhbnNhY3Rpb25zLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+dHJhbnNhY3Rpb25zW2ldLmxlbmd0aCA9PSAyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IGNvc3Q8c3ViPmk8L3N1Yj4sIGNhc2hiYWNrPHN1Yj5pPC9zdWI+ICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Greedy",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2416. Sum of Prefix Scores of Strings",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gYXJyYXkgPGNvZGU+d29yZHM8L2NvZGU+IG9mIHNpemUgPGNvZGU+bjwvY29kZT4gY29uc2lzdGluZyBvZiA8c3Ryb25nPm5vbi1lbXB0eTwvc3Ryb25nPiBzdHJpbmdzLjwvcD4KPHA+V2UgZGVmaW5lIHRoZSA8c3Ryb25nPnNjb3JlPC9zdHJvbmc+IG9mIGEgc3RyaW5nIDxjb2RlPndvcmQ8L2NvZGU+IGFzIHRoZSA8c3Ryb25nPm51bWJlcjwvc3Ryb25nPiBvZiBzdHJpbmdzIDxjb2RlPndvcmRzW2ldPC9jb2RlPiBzdWNoIHRoYXQgPGNvZGU+d29yZDwvY29kZT4gaXMgYSA8c3Ryb25nPnByZWZpeDwvc3Ryb25nPiBvZiA8Y29kZT53b3Jkc1tpXTwvY29kZT4uPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgaWYgPGNvZGU+d29yZHMgPSBbImEiLCAiYWIiLCAiYWJjIiwgImNhYiJdPC9jb2RlPiwgdGhlbiB0aGUgc2NvcmUgb2YgPGNvZGU+ImFiIjwvY29kZT4gaXMgPGNvZGU+MjwvY29kZT4sIHNpbmNlIDxjb2RlPiJhYiI8L2NvZGU+IGlzIGEgcHJlZml4IG9mIGJvdGggPGNvZGU+ImFiIjwvY29kZT4gYW5kIDxjb2RlPiJhYmMiPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPmFuIGFycmF5IDwvZW0+PGNvZGU+YW5zd2VyPC9jb2RlPjxlbT4gb2Ygc2l6ZSA8L2VtPjxjb2RlPm48L2NvZGU+PGVtPiB3aGVyZSA8L2VtPjxjb2RlPmFuc3dlcltpXTwvY29kZT48ZW0+IGlzIHRoZSA8c3Ryb25nPnN1bTwvc3Ryb25nPiBvZiBzY29yZXMgb2YgZXZlcnkgPHN0cm9uZz5ub24tZW1wdHk8L3N0cm9uZz4gcHJlZml4IG9mIDwvZW0+PGNvZGU+d29yZHNbaV08L2NvZGU+LjwvcD4KPHA+PHN0cm9uZz5Ob3RlPC9zdHJvbmc+IHRoYXQgYSBzdHJpbmcgaXMgY29uc2lkZXJlZCBhcyBhIHByZWZpeCBvZiBpdHNlbGYuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB3b3JkcyA9IFsiYWJjIiwiYWIiLCJiYyIsImIiXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzUsNCwzLDJdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBhbnN3ZXIgZm9yIGVhY2ggc3RyaW5nIGlzIHRoZSBmb2xsb3dpbmc6Ci0gImFiYyIgaGFzIDMgcHJlZml4ZXM6ICJhIiwgImFiIiwgYW5kICJhYmMiLgotIFRoZXJlIGFyZSAyIHN0cmluZ3Mgd2l0aCB0aGUgcHJlZml4ICJhIiwgMiBzdHJpbmdzIHdpdGggdGhlIHByZWZpeCAiYWIiLCBhbmQgMSBzdHJpbmcgd2l0aCB0aGUgcHJlZml4ICJhYmMiLgpUaGUgdG90YWwgaXMgYW5zd2VyWzBdID0gMiArIDIgKyAxID0gNS4KLSAiYWIiIGhhcyAyIHByZWZpeGVzOiAiYSIgYW5kICJhYiIuCi0gVGhlcmUgYXJlIDIgc3RyaW5ncyB3aXRoIHRoZSBwcmVmaXggImEiLCBhbmQgMiBzdHJpbmdzIHdpdGggdGhlIHByZWZpeCAiYWIiLgpUaGUgdG90YWwgaXMgYW5zd2VyWzFdID0gMiArIDIgPSA0LgotICJiYyIgaGFzIDIgcHJlZml4ZXM6ICJiIiBhbmQgImJjIi4KLSBUaGVyZSBhcmUgMiBzdHJpbmdzIHdpdGggdGhlIHByZWZpeCAiYiIsIGFuZCAxIHN0cmluZyB3aXRoIHRoZSBwcmVmaXggImJjIi4KVGhlIHRvdGFsIGlzIGFuc3dlclsyXSA9IDIgKyAxID0gMy4KLSAiYiIgaGFzIDEgcHJlZml4OiAiYiIuCi0gVGhlcmUgYXJlIDIgc3RyaW5ncyB3aXRoIHRoZSBwcmVmaXggImIiLgpUaGUgdG90YWwgaXMgYW5zd2VyWzNdID0gMi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZHMgPSBbImFiY2QiXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzRdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+CiJhYmNkIiBoYXMgNCBwcmVmaXhlczogImEiLCAiYWIiLCAiYWJjIiwgYW5kICJhYmNkIi4KRWFjaCBwcmVmaXggaGFzIGEgc2NvcmUgb2Ygb25lLCBzbyB0aGUgdG90YWwgaXMgYW5zd2VyWzBdID0gMSArIDEgKyAxICsgMSA9IDQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gd29yZHMubGVuZ3RoICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gd29yZHNbaV0ubGVuZ3RoICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPndvcmRzW2ldPC9jb2RlPiBjb25zaXN0cyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "String",
+ "Trie",
+ "Counting"
+ ]
+ },
+ {
+ "title": "2402. Meeting Rooms III",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5uPC9jb2RlPi4gVGhlcmUgYXJlIDxjb2RlPm48L2NvZGU+IHJvb21zIG51bWJlcmVkIGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+biAtIDE8L2NvZGU+LjwvcD4KPHA+WW91IGFyZSBnaXZlbiBhIDJEIGludGVnZXIgYXJyYXkgPGNvZGU+bWVldGluZ3M8L2NvZGU+IHdoZXJlIDxjb2RlPm1lZXRpbmdzW2ldID0gW3N0YXJ0PHN1Yj5pPC9zdWI+LCBlbmQ8c3ViPmk8L3N1Yj5dPC9jb2RlPiBtZWFucyB0aGF0IGEgbWVldGluZyB3aWxsIGJlIGhlbGQgZHVyaW5nIHRoZSA8c3Ryb25nPmhhbGYtY2xvc2VkPC9zdHJvbmc+IHRpbWUgaW50ZXJ2YWwgPGNvZGU+W3N0YXJ0PHN1Yj5pPC9zdWI+LCBlbmQ8c3ViPmk8L3N1Yj4pPC9jb2RlPi4gQWxsIHRoZSB2YWx1ZXMgb2YgPGNvZGU+c3RhcnQ8c3ViPmk8L3N1Yj48L2NvZGU+IGFyZSA8c3Ryb25nPnVuaXF1ZTwvc3Ryb25nPi48L3A+CjxwPk1lZXRpbmdzIGFyZSBhbGxvY2F0ZWQgdG8gcm9vbXMgaW4gdGhlIGZvbGxvd2luZyBtYW5uZXI6PC9wPgo8b2w+CjxsaT5FYWNoIG1lZXRpbmcgd2lsbCB0YWtlIHBsYWNlIGluIHRoZSB1bnVzZWQgcm9vbSB3aXRoIHRoZSA8c3Ryb25nPmxvd2VzdDwvc3Ryb25nPiBudW1iZXIuPC9saT4KPGxpPklmIHRoZXJlIGFyZSBubyBhdmFpbGFibGUgcm9vbXMsIHRoZSBtZWV0aW5nIHdpbGwgYmUgZGVsYXllZCB1bnRpbCBhIHJvb20gYmVjb21lcyBmcmVlLiBUaGUgZGVsYXllZCBtZWV0aW5nIHNob3VsZCBoYXZlIHRoZSA8c3Ryb25nPnNhbWU8L3N0cm9uZz4gZHVyYXRpb24gYXMgdGhlIG9yaWdpbmFsIG1lZXRpbmcuPC9saT4KPGxpPldoZW4gYSByb29tIGJlY29tZXMgdW51c2VkLCBtZWV0aW5ncyB0aGF0IGhhdmUgYW4gZWFybGllciBvcmlnaW5hbCA8c3Ryb25nPnN0YXJ0PC9zdHJvbmc+IHRpbWUgc2hvdWxkIGJlIGdpdmVuIHRoZSByb29tLjwvbGk+Cjwvb2w+CjxwPlJldHVybjxlbT4gdGhlIDxzdHJvbmc+bnVtYmVyPC9zdHJvbmc+IG9mIHRoZSByb29tIHRoYXQgaGVsZCB0aGUgbW9zdCBtZWV0aW5ncy4gPC9lbT5JZiB0aGVyZSBhcmUgbXVsdGlwbGUgcm9vbXMsIHJldHVybjxlbT4gdGhlIHJvb20gd2l0aCB0aGUgPHN0cm9uZz5sb3dlc3Q8L3N0cm9uZz4gbnVtYmVyLjwvZW0+PC9wPgo8cD5BIDxzdHJvbmc+aGFsZi1jbG9zZWQgaW50ZXJ2YWw8L3N0cm9uZz4gPGNvZGU+W2EsIGIpPC9jb2RlPiBpcyB0aGUgaW50ZXJ2YWwgYmV0d2VlbiA8Y29kZT5hPC9jb2RlPiBhbmQgPGNvZGU+YjwvY29kZT4gPHN0cm9uZz5pbmNsdWRpbmc8L3N0cm9uZz4gPGNvZGU+YTwvY29kZT4gYW5kIDxzdHJvbmc+bm90IGluY2x1ZGluZzwvc3Ryb25nPiA8Y29kZT5iPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSAyLCBtZWV0aW5ncyA9IFtbMCwxMF0sWzEsNV0sWzIsN10sWzMsNF1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ci0gQXQgdGltZSAwLCBib3RoIHJvb21zIGFyZSBub3QgYmVpbmcgdXNlZC4gVGhlIGZpcnN0IG1lZXRpbmcgc3RhcnRzIGluIHJvb20gMC4KLSBBdCB0aW1lIDEsIG9ubHkgcm9vbSAxIGlzIG5vdCBiZWluZyB1c2VkLiBUaGUgc2Vjb25kIG1lZXRpbmcgc3RhcnRzIGluIHJvb20gMS4KLSBBdCB0aW1lIDIsIGJvdGggcm9vbXMgYXJlIGJlaW5nIHVzZWQuIFRoZSB0aGlyZCBtZWV0aW5nIGlzIGRlbGF5ZWQuCi0gQXQgdGltZSAzLCBib3RoIHJvb21zIGFyZSBiZWluZyB1c2VkLiBUaGUgZm91cnRoIG1lZXRpbmcgaXMgZGVsYXllZC4KLSBBdCB0aW1lIDUsIHRoZSBtZWV0aW5nIGluIHJvb20gMSBmaW5pc2hlcy4gVGhlIHRoaXJkIG1lZXRpbmcgc3RhcnRzIGluIHJvb20gMSBmb3IgdGhlIHRpbWUgcGVyaW9kIFs1LDEwKS4KLSBBdCB0aW1lIDEwLCB0aGUgbWVldGluZ3MgaW4gYm90aCByb29tcyBmaW5pc2guIFRoZSBmb3VydGggbWVldGluZyBzdGFydHMgaW4gcm9vbSAwIGZvciB0aGUgdGltZSBwZXJpb2QgWzEwLDExKS4KQm90aCByb29tcyAwIGFuZCAxIGhlbGQgMiBtZWV0aW5ncywgc28gd2UgcmV0dXJuIDAuIAo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gMywgbWVldGluZ3MgPSBbWzEsMjBdLFsyLDEwXSxbMyw1XSxbNCw5XSxbNiw4XV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KLSBBdCB0aW1lIDEsIGFsbCB0aHJlZSByb29tcyBhcmUgbm90IGJlaW5nIHVzZWQuIFRoZSBmaXJzdCBtZWV0aW5nIHN0YXJ0cyBpbiByb29tIDAuCi0gQXQgdGltZSAyLCByb29tcyAxIGFuZCAyIGFyZSBub3QgYmVpbmcgdXNlZC4gVGhlIHNlY29uZCBtZWV0aW5nIHN0YXJ0cyBpbiByb29tIDEuCi0gQXQgdGltZSAzLCBvbmx5IHJvb20gMiBpcyBub3QgYmVpbmcgdXNlZC4gVGhlIHRoaXJkIG1lZXRpbmcgc3RhcnRzIGluIHJvb20gMi4KLSBBdCB0aW1lIDQsIGFsbCB0aHJlZSByb29tcyBhcmUgYmVpbmcgdXNlZC4gVGhlIGZvdXJ0aCBtZWV0aW5nIGlzIGRlbGF5ZWQuCi0gQXQgdGltZSA1LCB0aGUgbWVldGluZyBpbiByb29tIDIgZmluaXNoZXMuIFRoZSBmb3VydGggbWVldGluZyBzdGFydHMgaW4gcm9vbSAyIGZvciB0aGUgdGltZSBwZXJpb2QgWzUsMTApLgotIEF0IHRpbWUgNiwgYWxsIHRocmVlIHJvb21zIGFyZSBiZWluZyB1c2VkLiBUaGUgZmlmdGggbWVldGluZyBpcyBkZWxheWVkLgotIEF0IHRpbWUgMTAsIHRoZSBtZWV0aW5ncyBpbiByb29tcyAxIGFuZCAyIGZpbmlzaC4gVGhlIGZpZnRoIG1lZXRpbmcgc3RhcnRzIGluIHJvb20gMSBmb3IgdGhlIHRpbWUgcGVyaW9kIFsxMCwxMikuClJvb20gMCBoZWxkIDEgbWVldGluZyB3aGlsZSByb29tcyAxIGFuZCAyIGVhY2ggaGVsZCAyIG1lZXRpbmdzLCBzbyB3ZSByZXR1cm4gMS4gCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbWVldGluZ3MubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5tZWV0aW5nc1tpXS5sZW5ndGggPT0gMjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBzdGFydDxzdWI+aTwvc3ViPiAmbHQ7IGVuZDxzdWI+aTwvc3ViPiAmbHQ7PSA1ICogMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPkFsbCB0aGUgdmFsdWVzIG9mIDxjb2RlPnN0YXJ0PHN1Yj5pPC9zdWI+PC9jb2RlPiBhcmUgPHN0cm9uZz51bmlxdWU8L3N0cm9uZz4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Sorting",
+ "Heap (Priority Queue)"
+ ]
+ },
+ {
+ "title": "2392. Build a Matrix With Conditions",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPnBvc2l0aXZlPC9zdHJvbmc+IGludGVnZXIgPGNvZGU+azwvY29kZT4uIFlvdSBhcmUgYWxzbyBnaXZlbjo8L3A+Cjx1bD4KPGxpPmEgMkQgaW50ZWdlciBhcnJheSA8Y29kZT5yb3dDb25kaXRpb25zPC9jb2RlPiBvZiBzaXplIDxjb2RlPm48L2NvZGU+IHdoZXJlIDxjb2RlPnJvd0NvbmRpdGlvbnNbaV0gPSBbYWJvdmU8c3ViPmk8L3N1Yj4sIGJlbG93PHN1Yj5pPC9zdWI+XTwvY29kZT4sIGFuZDwvbGk+CjxsaT5hIDJEIGludGVnZXIgYXJyYXkgPGNvZGU+Y29sQ29uZGl0aW9uczwvY29kZT4gb2Ygc2l6ZSA8Y29kZT5tPC9jb2RlPiB3aGVyZSA8Y29kZT5jb2xDb25kaXRpb25zW2ldID0gW2xlZnQ8c3ViPmk8L3N1Yj4sIHJpZ2h0PHN1Yj5pPC9zdWI+XTwvY29kZT4uPC9saT4KPC91bD4KPHA+VGhlIHR3byBhcnJheXMgY29udGFpbiBpbnRlZ2VycyBmcm9tIDxjb2RlPjE8L2NvZGU+IHRvIDxjb2RlPms8L2NvZGU+LjwvcD4KPHA+WW91IGhhdmUgdG8gYnVpbGQgYSA8Y29kZT5rIHggazwvY29kZT4gbWF0cml4IHRoYXQgY29udGFpbnMgZWFjaCBvZiB0aGUgbnVtYmVycyBmcm9tIDxjb2RlPjE8L2NvZGU+IHRvIDxjb2RlPms8L2NvZGU+IDxzdHJvbmc+ZXhhY3RseSBvbmNlPC9zdHJvbmc+LiBUaGUgcmVtYWluaW5nIGNlbGxzIHNob3VsZCBoYXZlIHRoZSB2YWx1ZSA8Y29kZT4wPC9jb2RlPi48L3A+CjxwPlRoZSBtYXRyaXggc2hvdWxkIGFsc28gc2F0aXNmeSB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6PC9wPgo8dWw+CjxsaT5UaGUgbnVtYmVyIDxjb2RlPmFib3ZlPHN1Yj5pPC9zdWI+PC9jb2RlPiBzaG91bGQgYXBwZWFyIGluIGEgPHN0cm9uZz5yb3c8L3N0cm9uZz4gdGhhdCBpcyBzdHJpY3RseSA8c3Ryb25nPmFib3ZlPC9zdHJvbmc+IHRoZSByb3cgYXQgd2hpY2ggdGhlIG51bWJlciA8Y29kZT5iZWxvdzxzdWI+aTwvc3ViPjwvY29kZT4gYXBwZWFycyBmb3IgYWxsIDxjb2RlPmk8L2NvZGU+IGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+biAtIDE8L2NvZGU+LjwvbGk+CjxsaT5UaGUgbnVtYmVyIDxjb2RlPmxlZnQ8c3ViPmk8L3N1Yj48L2NvZGU+IHNob3VsZCBhcHBlYXIgaW4gYSA8c3Ryb25nPmNvbHVtbjwvc3Ryb25nPiB0aGF0IGlzIHN0cmljdGx5IDxzdHJvbmc+bGVmdDwvc3Ryb25nPiBvZiB0aGUgY29sdW1uIGF0IHdoaWNoIHRoZSBudW1iZXIgPGNvZGU+cmlnaHQ8c3ViPmk8L3N1Yj48L2NvZGU+IGFwcGVhcnMgZm9yIGFsbCA8Y29kZT5pPC9jb2RlPiBmcm9tIDxjb2RlPjA8L2NvZGU+IHRvIDxjb2RlPm0gLSAxPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPjxzdHJvbmc+YW55PC9zdHJvbmc+IG1hdHJpeCB0aGF0IHNhdGlzZmllcyB0aGUgY29uZGl0aW9uczwvZW0+LiBJZiBubyBhbnN3ZXIgZXhpc3RzLCByZXR1cm4gYW4gZW1wdHkgbWF0cml4LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wNy8wNi9ncmlkb3NkcmF3aW8ucG5nIiBzdHlsZT0id2lkdGg6IDIxMXB4OyBoZWlnaHQ6IDIxMXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGsgPSAzLCByb3dDb25kaXRpb25zID0gW1sxLDJdLFszLDJdXSwgY29sQ29uZGl0aW9ucyA9IFtbMiwxXSxbMywyXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFtbMywwLDBdLFswLDAsMV0sWzAsMiwwXV0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGRpYWdyYW0gYWJvdmUgc2hvd3MgYSB2YWxpZCBleGFtcGxlIG9mIGEgbWF0cml4IHRoYXQgc2F0aXNmaWVzIGFsbCB0aGUgY29uZGl0aW9ucy4KVGhlIHJvdyBjb25kaXRpb25zIGFyZSB0aGUgZm9sbG93aW5nOgotIE51bWJlciAxIGlzIGluIHJvdyA8dT4xPC91PiwgYW5kIG51bWJlciAyIGlzIGluIHJvdyA8dT4yPC91Piwgc28gMSBpcyBhYm92ZSAyIGluIHRoZSBtYXRyaXguCi0gTnVtYmVyIDMgaXMgaW4gcm93IDx1PjA8L3U+LCBhbmQgbnVtYmVyIDIgaXMgaW4gcm93IDx1PjI8L3U+LCBzbyAzIGlzIGFib3ZlIDIgaW4gdGhlIG1hdHJpeC4KVGhlIGNvbHVtbiBjb25kaXRpb25zIGFyZSB0aGUgZm9sbG93aW5nOgotIE51bWJlciAyIGlzIGluIGNvbHVtbiA8dT4xPC91PiwgYW5kIG51bWJlciAxIGlzIGluIGNvbHVtbiA8dT4yPC91Piwgc28gMiBpcyBsZWZ0IG9mIDEgaW4gdGhlIG1hdHJpeC4KLSBOdW1iZXIgMyBpcyBpbiBjb2x1bW4gPHU+MDwvdT4sIGFuZCBudW1iZXIgMiBpcyBpbiBjb2x1bW4gPHU+MTwvdT4sIHNvIDMgaXMgbGVmdCBvZiAyIGluIHRoZSBtYXRyaXguCk5vdGUgdGhhdCB0aGVyZSBtYXkgYmUgbXVsdGlwbGUgY29ycmVjdCBhbnN3ZXJzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBrID0gMywgcm93Q29uZGl0aW9ucyA9IFtbMSwyXSxbMiwzXSxbMywxXSxbMiwzXV0sIGNvbENvbmRpdGlvbnMgPSBbWzIsMV1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBGcm9tIHRoZSBmaXJzdCB0d28gY29uZGl0aW9ucywgMyBoYXMgdG8gYmUgYmVsb3cgMSBidXQgdGhlIHRoaXJkIGNvbmRpdGlvbnMgbmVlZHMgMyB0byBiZSBhYm92ZSAxIHRvIGJlIHNhdGlzZmllZC4KTm8gbWF0cml4IGNhbiBzYXRpc2Z5IGFsbCB0aGUgY29uZGl0aW9ucywgc28gd2UgcmV0dXJuIHRoZSBlbXB0eSBtYXRyaXguCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjIgJmx0Oz0gayAmbHQ7PSA0MDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gcm93Q29uZGl0aW9ucy5sZW5ndGgsIGNvbENvbmRpdGlvbnMubGVuZ3RoICZsdDs9IDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5yb3dDb25kaXRpb25zW2ldLmxlbmd0aCA9PSBjb2xDb25kaXRpb25zW2ldLmxlbmd0aCA9PSAyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGFib3ZlPHN1Yj5pPC9zdWI+LCBiZWxvdzxzdWI+aTwvc3ViPiwgbGVmdDxzdWI+aTwvc3ViPiwgcmlnaHQ8c3ViPmk8L3N1Yj4gJmx0Oz0gazwvY29kZT48L2xpPgo8bGk+PGNvZGU+YWJvdmU8c3ViPmk8L3N1Yj4gIT0gYmVsb3c8c3ViPmk8L3N1Yj48L2NvZGU+PC9saT4KPGxpPjxjb2RlPmxlZnQ8c3ViPmk8L3N1Yj4gIT0gcmlnaHQ8c3ViPmk8L3N1Yj48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Graph",
+ "Topological Sort",
+ "Matrix"
+ ]
+ },
+ {
+ "title": "2382. Maximum Segment Sum After Removals",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXlzIDxjb2RlPm51bXM8L2NvZGU+IGFuZCA8Y29kZT5yZW1vdmVRdWVyaWVzPC9jb2RlPiwgYm90aCBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4uIEZvciB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHF1ZXJ5LCB0aGUgZWxlbWVudCBpbiA8Y29kZT5udW1zPC9jb2RlPiBhdCB0aGUgaW5kZXggPGNvZGU+cmVtb3ZlUXVlcmllc1tpXTwvY29kZT4gaXMgcmVtb3ZlZCwgc3BsaXR0aW5nIDxjb2RlPm51bXM8L2NvZGU+IGludG8gZGlmZmVyZW50IHNlZ21lbnRzLjwvcD4KPHA+QSA8c3Ryb25nPnNlZ21lbnQ8L3N0cm9uZz4gaXMgYSBjb250aWd1b3VzIHNlcXVlbmNlIG9mIDxzdHJvbmc+cG9zaXRpdmU8L3N0cm9uZz4gaW50ZWdlcnMgaW4gPGNvZGU+bnVtczwvY29kZT4uIEEgPHN0cm9uZz5zZWdtZW50IHN1bTwvc3Ryb25nPiBpcyB0aGUgc3VtIG9mIGV2ZXJ5IGVsZW1lbnQgaW4gYSBzZWdtZW50LjwvcD4KPHA+UmV0dXJuPGVtPiBhbiBpbnRlZ2VyIGFycmF5IDwvZW0+PGNvZGU+YW5zd2VyPC9jb2RlPjxlbT4sIG9mIGxlbmd0aCA8L2VtPjxjb2RlPm48L2NvZGU+PGVtPiwgd2hlcmUgPC9lbT48Y29kZT5hbnN3ZXJbaV08L2NvZGU+PGVtPiBpcyB0aGUgPHN0cm9uZz5tYXhpbXVtPC9zdHJvbmc+IHNlZ21lbnQgc3VtIGFmdGVyIGFwcGx5aW5nIHRoZSA8L2VtPjxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiA8ZW0+cmVtb3ZhbC48L2VtPjwvcD4KPHA+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGUgc2FtZSBpbmRleCB3aWxsIDxzdHJvbmc+bm90PC9zdHJvbmc+IGJlIHJlbW92ZWQgbW9yZSB0aGFuIG9uY2UuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMiw1LDYsMV0sIHJlbW92ZVF1ZXJpZXMgPSBbMCwzLDIsNCwxXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzE0LDcsMiwyLDBdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFVzaW5nIDAgdG8gaW5kaWNhdGUgYSByZW1vdmVkIGVsZW1lbnQsIHRoZSBhbnN3ZXIgaXMgYXMgZm9sbG93czoKUXVlcnkgMTogUmVtb3ZlIHRoZSAwdGggZWxlbWVudCwgbnVtcyBiZWNvbWVzIFswLDIsNSw2LDFdIGFuZCB0aGUgbWF4aW11bSBzZWdtZW50IHN1bSBpcyAxNCBmb3Igc2VnbWVudCBbMiw1LDYsMV0uClF1ZXJ5IDI6IFJlbW92ZSB0aGUgM3JkIGVsZW1lbnQsIG51bXMgYmVjb21lcyBbMCwyLDUsMCwxXSBhbmQgdGhlIG1heGltdW0gc2VnbWVudCBzdW0gaXMgNyBmb3Igc2VnbWVudCBbMiw1XS4KUXVlcnkgMzogUmVtb3ZlIHRoZSAybmQgZWxlbWVudCwgbnVtcyBiZWNvbWVzIFswLDIsMCwwLDFdIGFuZCB0aGUgbWF4aW11bSBzZWdtZW50IHN1bSBpcyAyIGZvciBzZWdtZW50IFsyXS4gClF1ZXJ5IDQ6IFJlbW92ZSB0aGUgNHRoIGVsZW1lbnQsIG51bXMgYmVjb21lcyBbMCwyLDAsMCwwXSBhbmQgdGhlIG1heGltdW0gc2VnbWVudCBzdW0gaXMgMiBmb3Igc2VnbWVudCBbMl0uIApRdWVyeSA1OiBSZW1vdmUgdGhlIDFzdCBlbGVtZW50LCBudW1zIGJlY29tZXMgWzAsMCwwLDAsMF0gYW5kIHRoZSBtYXhpbXVtIHNlZ21lbnQgc3VtIGlzIDAsIHNpbmNlIHRoZXJlIGFyZSBubyBzZWdtZW50cy4KRmluYWxseSwgd2UgcmV0dXJuIFsxNCw3LDIsMiwwXS48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzMsMiwxMSwxXSwgcmVtb3ZlUXVlcmllcyA9IFszLDIsMSwwXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzE2LDUsMywwXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBVc2luZyAwIHRvIGluZGljYXRlIGEgcmVtb3ZlZCBlbGVtZW50LCB0aGUgYW5zd2VyIGlzIGFzIGZvbGxvd3M6ClF1ZXJ5IDE6IFJlbW92ZSB0aGUgM3JkIGVsZW1lbnQsIG51bXMgYmVjb21lcyBbMywyLDExLDBdIGFuZCB0aGUgbWF4aW11bSBzZWdtZW50IHN1bSBpcyAxNiBmb3Igc2VnbWVudCBbMywyLDExXS4KUXVlcnkgMjogUmVtb3ZlIHRoZSAybmQgZWxlbWVudCwgbnVtcyBiZWNvbWVzIFszLDIsMCwwXSBhbmQgdGhlIG1heGltdW0gc2VnbWVudCBzdW0gaXMgNSBmb3Igc2VnbWVudCBbMywyXS4KUXVlcnkgMzogUmVtb3ZlIHRoZSAxc3QgZWxlbWVudCwgbnVtcyBiZWNvbWVzIFszLDAsMCwwXSBhbmQgdGhlIG1heGltdW0gc2VnbWVudCBzdW0gaXMgMyBmb3Igc2VnbWVudCBbM10uClF1ZXJ5IDQ6IFJlbW92ZSB0aGUgMHRoIGVsZW1lbnQsIG51bXMgYmVjb21lcyBbMCwwLDAsMF0gYW5kIHRoZSBtYXhpbXVtIHNlZ21lbnQgc3VtIGlzIDAsIHNpbmNlIHRoZXJlIGFyZSBubyBzZWdtZW50cy4KRmluYWxseSwgd2UgcmV0dXJuIFsxNiw1LDMsMF0uCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gbnVtcy5sZW5ndGggPT0gcmVtb3ZlUXVlcmllcy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IHJlbW92ZVF1ZXJpZXNbaV0gJmx0OyBuPC9jb2RlPjwvbGk+CjxsaT5BbGwgdGhlIHZhbHVlcyBvZiA8Y29kZT5yZW1vdmVRdWVyaWVzPC9jb2RlPiBhcmUgPHN0cm9uZz51bmlxdWU8L3N0cm9uZz4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Union Find",
+ "Prefix Sum",
+ "Ordered Set"
+ ]
+ },
+ {
+ "title": "2386. Find the K-Sum of an Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBhbmQgYSA8c3Ryb25nPnBvc2l0aXZlPC9zdHJvbmc+IGludGVnZXIgPGNvZGU+azwvY29kZT4uIFlvdSBjYW4gY2hvb3NlIGFueSA8c3Ryb25nPnN1YnNlcXVlbmNlPC9zdHJvbmc+IG9mIHRoZSBhcnJheSBhbmQgc3VtIGFsbCBvZiBpdHMgZWxlbWVudHMgdG9nZXRoZXIuPC9wPgo8cD5XZSBkZWZpbmUgdGhlIDxzdHJvbmc+Sy1TdW08L3N0cm9uZz4gb2YgdGhlIGFycmF5IGFzIHRoZSA8Y29kZT5rPHN1cD50aDwvc3VwPjwvY29kZT4gPHN0cm9uZz5sYXJnZXN0PC9zdHJvbmc+IHN1YnNlcXVlbmNlIHN1bSB0aGF0IGNhbiBiZSBvYnRhaW5lZCAoPHN0cm9uZz5ub3Q8L3N0cm9uZz4gbmVjZXNzYXJpbHkgZGlzdGluY3QpLjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgSy1TdW0gb2YgdGhlIGFycmF5PC9lbT4uPC9wPgo8cD5BIDxzdHJvbmc+c3Vic2VxdWVuY2U8L3N0cm9uZz4gaXMgYW4gYXJyYXkgdGhhdCBjYW4gYmUgZGVyaXZlZCBmcm9tIGFub3RoZXIgYXJyYXkgYnkgZGVsZXRpbmcgc29tZSBvciBubyBlbGVtZW50cyB3aXRob3V0IGNoYW5naW5nIHRoZSBvcmRlciBvZiB0aGUgcmVtYWluaW5nIGVsZW1lbnRzLjwvcD4KPHA+PHN0cm9uZz5Ob3RlPC9zdHJvbmc+IHRoYXQgdGhlIGVtcHR5IHN1YnNlcXVlbmNlIGlzIGNvbnNpZGVyZWQgdG8gaGF2ZSBhIHN1bSBvZiA8Y29kZT4wPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMiw0LC0yXSwgayA9IDUKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gQWxsIHRoZSBwb3NzaWJsZSBzdWJzZXF1ZW5jZSBzdW1zIHRoYXQgd2UgY2FuIG9idGFpbiBhcmUgdGhlIGZvbGxvd2luZyBzb3J0ZWQgaW4gZGVjcmVhc2luZyBvcmRlcjoKLSA2LCA0LCA0LCAyLCA8dT4yPC91PiwgMCwgMCwgLTIuClRoZSA1LVN1bSBvZiB0aGUgYXJyYXkgaXMgMi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLC0yLDMsNCwtMTAsMTJdLCBrID0gMTYKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSAxNi1TdW0gb2YgdGhlIGFycmF5IGlzIDEwLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IG51bXMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPi0xMDxzdXA+OTwvc3VwPiAmbHQ7PSBudW1zW2ldICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGsgJmx0Oz0gbWluKDIwMDAsIDI8c3VwPm48L3N1cD4pPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Sorting",
+ "Heap (Priority Queue)"
+ ]
+ },
+ {
+ "title": "2376. Count Special Integers",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPldlIGNhbGwgYSBwb3NpdGl2ZSBpbnRlZ2VyIDxzdHJvbmc+c3BlY2lhbDwvc3Ryb25nPiBpZiBhbGwgb2YgaXRzIGRpZ2l0cyBhcmUgPHN0cm9uZz5kaXN0aW5jdDwvc3Ryb25nPi48L3A+CjxwPkdpdmVuIGEgPHN0cm9uZz5wb3NpdGl2ZTwvc3Ryb25nPiBpbnRlZ2VyIDxjb2RlPm48L2NvZGU+LCByZXR1cm4gPGVtPnRoZSBudW1iZXIgb2Ygc3BlY2lhbCBpbnRlZ2VycyB0aGF0IGJlbG9uZyB0byB0aGUgaW50ZXJ2YWwgPC9lbT48Y29kZT5bMSwgbl08L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDIwCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxOQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBBbGwgdGhlIGludGVnZXJzIGZyb20gMSB0byAyMCwgZXhjZXB0IDExLCBhcmUgc3BlY2lhbC4gVGh1cywgdGhlcmUgYXJlIDE5IHNwZWNpYWwgaW50ZWdlcnMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSA1CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA1CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEFsbCB0aGUgaW50ZWdlcnMgZnJvbSAxIHRvIDUgYXJlIHNwZWNpYWwuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSAxMzUKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDExMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGVyZSBhcmUgMTEwIGludGVnZXJzIGZyb20gMSB0byAxMzUgdGhhdCBhcmUgc3BlY2lhbC4KU29tZSBvZiB0aGUgaW50ZWdlcnMgdGhhdCBhcmUgbm90IHNwZWNpYWwgYXJlOiAyMiwgMTE0LCBhbmQgMTMxLjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAyICogMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Math",
+ "Dynamic Programming"
+ ]
+ },
+ {
+ "title": "2366. Minimum Replacements to Sort the Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+LiBJbiBvbmUgb3BlcmF0aW9uIHlvdSBjYW4gcmVwbGFjZSBhbnkgZWxlbWVudCBvZiB0aGUgYXJyYXkgd2l0aCA8c3Ryb25nPmFueSB0d288L3N0cm9uZz4gZWxlbWVudHMgdGhhdCA8c3Ryb25nPnN1bTwvc3Ryb25nPiB0byBpdC48L3A+Cjx1bD4KPGxpPkZvciBleGFtcGxlLCBjb25zaWRlciA8Y29kZT5udW1zID0gWzUsNiw3XTwvY29kZT4uIEluIG9uZSBvcGVyYXRpb24sIHdlIGNhbiByZXBsYWNlIDxjb2RlPm51bXNbMV08L2NvZGU+IHdpdGggPGNvZGU+MjwvY29kZT4gYW5kIDxjb2RlPjQ8L2NvZGU+IGFuZCBjb252ZXJ0IDxjb2RlPm51bXM8L2NvZGU+IHRvIDxjb2RlPls1LDIsNCw3XTwvY29kZT4uPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgbWluaW11bSBudW1iZXIgb2Ygb3BlcmF0aW9ucyB0byBtYWtlIGFuIGFycmF5IHRoYXQgaXMgc29ydGVkIGluIDxzdHJvbmc+bm9uLWRlY3JlYXNpbmc8L3N0cm9uZz4gb3JkZXI8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMyw5LDNdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEhlcmUgYXJlIHRoZSBzdGVwcyB0byBzb3J0IHRoZSBhcnJheSBpbiBub24tZGVjcmVhc2luZyBvcmRlcjoKLSBGcm9tIFszLDksM10sIHJlcGxhY2UgdGhlIDkgd2l0aCAzIGFuZCA2IHNvIHRoZSBhcnJheSBiZWNvbWVzIFszLDMsNiwzXQotIEZyb20gWzMsMyw2LDNdLCByZXBsYWNlIHRoZSA2IHdpdGggMyBhbmQgMyBzbyB0aGUgYXJyYXkgYmVjb21lcyBbMywzLDMsMywzXQpUaGVyZSBhcmUgMiBzdGVwcyB0byBzb3J0IHRoZSBhcnJheSBpbiBub24tZGVjcmVhc2luZyBvcmRlci4gVGhlcmVmb3JlLCB3ZSByZXR1cm4gMi4KCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSwyLDMsNCw1XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgYXJyYXkgaXMgYWxyZWFkeSBpbiBub24tZGVjcmVhc2luZyBvcmRlci4gVGhlcmVmb3JlLCB3ZSByZXR1cm4gMC4gCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Math",
+ "Greedy"
+ ]
+ },
+ {
+ "title": "2398. Maximum Number of Robots Within Budget",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBoYXZlIDxjb2RlPm48L2NvZGU+IHJvYm90cy4gWW91IGFyZSBnaXZlbiB0d28gPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheXMsIDxjb2RlPmNoYXJnZVRpbWVzPC9jb2RlPiBhbmQgPGNvZGU+cnVubmluZ0Nvc3RzPC9jb2RlPiwgYm90aCBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4uIFRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gcm9ib3QgY29zdHMgPGNvZGU+Y2hhcmdlVGltZXNbaV08L2NvZGU+IHVuaXRzIHRvIGNoYXJnZSBhbmQgY29zdHMgPGNvZGU+cnVubmluZ0Nvc3RzW2ldPC9jb2RlPiB1bml0cyB0byBydW4uIFlvdSBhcmUgYWxzbyBnaXZlbiBhbiBpbnRlZ2VyIDxjb2RlPmJ1ZGdldDwvY29kZT4uPC9wPgo8cD5UaGUgPHN0cm9uZz50b3RhbCBjb3N0PC9zdHJvbmc+IG9mIHJ1bm5pbmcgPGNvZGU+azwvY29kZT4gY2hvc2VuIHJvYm90cyBpcyBlcXVhbCB0byA8Y29kZT5tYXgoY2hhcmdlVGltZXMpICsgayAqIHN1bShydW5uaW5nQ29zdHMpPC9jb2RlPiwgd2hlcmUgPGNvZGU+bWF4KGNoYXJnZVRpbWVzKTwvY29kZT4gaXMgdGhlIGxhcmdlc3QgY2hhcmdlIGNvc3QgYW1vbmcgdGhlIDxjb2RlPms8L2NvZGU+IHJvYm90cyBhbmQgPGNvZGU+c3VtKHJ1bm5pbmdDb3N0cyk8L2NvZGU+IGlzIHRoZSBzdW0gb2YgcnVubmluZyBjb3N0cyBhbW9uZyB0aGUgPGNvZGU+azwvY29kZT4gcm9ib3RzLjwvcD4KPHA+UmV0dXJuPGVtPiB0aGUgPHN0cm9uZz5tYXhpbXVtPC9zdHJvbmc+IG51bWJlciBvZiA8c3Ryb25nPmNvbnNlY3V0aXZlPC9zdHJvbmc+IHJvYm90cyB5b3UgY2FuIHJ1biBzdWNoIHRoYXQgdGhlIHRvdGFsIGNvc3QgPHN0cm9uZz5kb2VzIG5vdDwvc3Ryb25nPiBleGNlZWQgPC9lbT48Y29kZT5idWRnZXQ8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gY2hhcmdlVGltZXMgPSBbMyw2LDEsMyw0XSwgcnVubmluZ0Nvc3RzID0gWzIsMSwzLDQsNV0sIGJ1ZGdldCA9IDI1CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApJdCBpcyBwb3NzaWJsZSB0byBydW4gYWxsIGluZGl2aWR1YWwgYW5kIGNvbnNlY3V0aXZlIHBhaXJzIG9mIHJvYm90cyB3aXRoaW4gYnVkZ2V0LgpUbyBvYnRhaW4gYW5zd2VyIDMsIGNvbnNpZGVyIHRoZSBmaXJzdCAzIHJvYm90cy4gVGhlIHRvdGFsIGNvc3Qgd2lsbCBiZSBtYXgoMyw2LDEpICsgMyAqIHN1bSgyLDEsMykgPSA2ICsgMyAqIDYgPSAyNCB3aGljaCBpcyBsZXNzIHRoYW4gMjUuCkl0IGNhbiBiZSBzaG93biB0aGF0IGl0IGlzIG5vdCBwb3NzaWJsZSB0byBydW4gbW9yZSB0aGFuIDMgY29uc2VjdXRpdmUgcm9ib3RzIHdpdGhpbiBidWRnZXQsIHNvIHdlIHJldHVybiAzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBjaGFyZ2VUaW1lcyA9IFsxMSwxMiwxOV0sIHJ1bm5pbmdDb3N0cyA9IFsxMCw4LDddLCBidWRnZXQgPSAxOQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBObyByb2JvdCBjYW4gYmUgcnVuIHRoYXQgZG9lcyBub3QgZXhjZWVkIHRoZSBidWRnZXQsIHNvIHdlIHJldHVybiAwLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5jaGFyZ2VUaW1lcy5sZW5ndGggPT0gcnVubmluZ0Nvc3RzLmxlbmd0aCA9PSBuPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gNSAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGNoYXJnZVRpbWVzW2ldLCBydW5uaW5nQ29zdHNbaV0gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gYnVkZ2V0ICZsdDs9IDEwPHN1cD4xNTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Queue",
+ "Sliding Window",
+ "Heap (Priority Queue)",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2360. Longest Cycle in a Graph",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPmRpcmVjdGVkPC9zdHJvbmc+IGdyYXBoIG9mIDxjb2RlPm48L2NvZGU+IG5vZGVzIG51bWJlcmVkIGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+biAtIDE8L2NvZGU+LCB3aGVyZSBlYWNoIG5vZGUgaGFzIDxzdHJvbmc+YXQgbW9zdCBvbmU8L3N0cm9uZz4gb3V0Z29pbmcgZWRnZS48L3A+CjxwPlRoZSBncmFwaCBpcyByZXByZXNlbnRlZCB3aXRoIGEgZ2l2ZW4gPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gYXJyYXkgPGNvZGU+ZWRnZXM8L2NvZGU+IG9mIHNpemUgPGNvZGU+bjwvY29kZT4sIGluZGljYXRpbmcgdGhhdCB0aGVyZSBpcyBhIGRpcmVjdGVkIGVkZ2UgZnJvbSBub2RlIDxjb2RlPmk8L2NvZGU+IHRvIG5vZGUgPGNvZGU+ZWRnZXNbaV08L2NvZGU+LiBJZiB0aGVyZSBpcyBubyBvdXRnb2luZyBlZGdlIGZyb20gbm9kZSA8Y29kZT5pPC9jb2RlPiwgdGhlbiA8Y29kZT5lZGdlc1tpXSA9PSAtMTwvY29kZT4uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSBsZW5ndGggb2YgdGhlIDxzdHJvbmc+bG9uZ2VzdDwvc3Ryb25nPiBjeWNsZSBpbiB0aGUgZ3JhcGg8L2VtPi4gSWYgbm8gY3ljbGUgZXhpc3RzLCByZXR1cm4gPGNvZGU+LTE8L2NvZGU+LjwvcD4KPHA+QSBjeWNsZSBpcyBhIHBhdGggdGhhdCBzdGFydHMgYW5kIGVuZHMgYXQgdGhlIDxzdHJvbmc+c2FtZTwvc3Ryb25nPiBub2RlLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wNi8wOC9ncmFwaDRkcmF3aW8tNS5wbmciIHN0eWxlPSJ3aWR0aDogMzM1cHg7IGhlaWdodDogMTkxcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZWRnZXMgPSBbMywzLDQsMiwzXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgbG9uZ2VzdCBjeWNsZSBpbiB0aGUgZ3JhcGggaXMgdGhlIGN5Y2xlOiAyIC0mZ3Q7IDQgLSZndDsgMyAtJmd0OyAyLgpUaGUgbGVuZ3RoIG9mIHRoaXMgY3ljbGUgaXMgMywgc28gMyBpcyByZXR1cm5lZC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wNi8wNy9ncmFwaDRkcmF3aW8tMS5wbmciIHN0eWxlPSJ3aWR0aDogMTcxcHg7IGhlaWdodDogMTYxcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZWRnZXMgPSBbMiwtMSwzLDFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAtMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGVyZSBhcmUgbm8gY3ljbGVzIGluIHRoaXMgZ3JhcGguCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gZWRnZXMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4yICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPi0xICZsdDs9IGVkZ2VzW2ldICZsdDsgbjwvY29kZT48L2xpPgo8bGk+PGNvZGU+ZWRnZXNbaV0gIT0gaTwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Depth-First Search",
+ "Graph",
+ "Topological Sort"
+ ]
+ },
+ {
+ "title": "2350. Shortest Impossible Sequence of Rolls",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5yb2xsczwvY29kZT4gb2YgbGVuZ3RoIDxjb2RlPm48L2NvZGU+IGFuZCBhbiBpbnRlZ2VyIDxjb2RlPms8L2NvZGU+LiBZb3Ugcm9sbCBhIDxjb2RlPms8L2NvZGU+IHNpZGVkIGRpY2UgbnVtYmVyZWQgZnJvbSA8Y29kZT4xPC9jb2RlPiB0byA8Y29kZT5rPC9jb2RlPiwgPGNvZGU+bjwvY29kZT4gdGltZXMsIHdoZXJlIHRoZSByZXN1bHQgb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiByb2xsIGlzIDxjb2RlPnJvbGxzW2ldPC9jb2RlPi48L3A+CjxwPlJldHVybjxlbT4gdGhlIGxlbmd0aCBvZiB0aGUgPHN0cm9uZz5zaG9ydGVzdDwvc3Ryb25nPiBzZXF1ZW5jZSBvZiByb2xscyB0aGF0IDxzdHJvbmc+Y2Fubm90PC9zdHJvbmc+IGJlIHRha2VuIGZyb20gPC9lbT48Y29kZT5yb2xsczwvY29kZT4uPC9wPgo8cD5BIDxzdHJvbmc+c2VxdWVuY2Ugb2Ygcm9sbHM8L3N0cm9uZz4gb2YgbGVuZ3RoIDxjb2RlPmxlbjwvY29kZT4gaXMgdGhlIHJlc3VsdCBvZiByb2xsaW5nIGEgPGNvZGU+azwvY29kZT4gc2lkZWQgZGljZSA8Y29kZT5sZW48L2NvZGU+IHRpbWVzLjwvcD4KPHA+PHN0cm9uZz5Ob3RlPC9zdHJvbmc+IHRoYXQgdGhlIHNlcXVlbmNlIHRha2VuIGRvZXMgbm90IGhhdmUgdG8gYmUgY29uc2VjdXRpdmUgYXMgbG9uZyBhcyBpdCBpcyBpbiBvcmRlci48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHJvbGxzID0gWzQsMiwxLDIsMywzLDIsNCwxXSwgayA9IDQKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gRXZlcnkgc2VxdWVuY2Ugb2Ygcm9sbHMgb2YgbGVuZ3RoIDEsIFsxXSwgWzJdLCBbM10sIFs0XSwgY2FuIGJlIHRha2VuIGZyb20gcm9sbHMuCkV2ZXJ5IHNlcXVlbmNlIG9mIHJvbGxzIG9mIGxlbmd0aCAyLCBbMSwgMV0sIFsxLCAyXSwgLi4uLCBbNCwgNF0sIGNhbiBiZSB0YWtlbiBmcm9tIHJvbGxzLgpUaGUgc2VxdWVuY2UgWzEsIDQsIDJdIGNhbm5vdCBiZSB0YWtlbiBmcm9tIHJvbGxzLCBzbyB3ZSByZXR1cm4gMy4KTm90ZSB0aGF0IHRoZXJlIGFyZSBvdGhlciBzZXF1ZW5jZXMgdGhhdCBjYW5ub3QgYmUgdGFrZW4gZnJvbSByb2xscy48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiByb2xscyA9IFsxLDEsMiwyXSwgayA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gRXZlcnkgc2VxdWVuY2Ugb2Ygcm9sbHMgb2YgbGVuZ3RoIDEsIFsxXSwgWzJdLCBjYW4gYmUgdGFrZW4gZnJvbSByb2xscy4KVGhlIHNlcXVlbmNlIFsyLCAxXSBjYW5ub3QgYmUgdGFrZW4gZnJvbSByb2xscywgc28gd2UgcmV0dXJuIDIuCk5vdGUgdGhhdCB0aGVyZSBhcmUgb3RoZXIgc2VxdWVuY2VzIHRoYXQgY2Fubm90IGJlIHRha2VuIGZyb20gcm9sbHMgYnV0IFsyLCAxXSBpcyB0aGUgc2hvcnRlc3QuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHJvbGxzID0gWzEsMSwzLDIsMiwyLDMsM10sIGsgPSA0CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBzZXF1ZW5jZSBbNF0gY2Fubm90IGJlIHRha2VuIGZyb20gcm9sbHMsIHNvIHdlIHJldHVybiAxLgpOb3RlIHRoYXQgdGhlcmUgYXJlIG90aGVyIHNlcXVlbmNlcyB0aGF0IGNhbm5vdCBiZSB0YWtlbiBmcm9tIHJvbGxzIGJ1dCBbNF0gaXMgdGhlIHNob3J0ZXN0Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IHJvbGxzLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHJvbGxzW2ldICZsdDs9IGsgJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Greedy"
+ ]
+ },
+ {
+ "title": "2354. Number of Excellent Pairs",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBwb3NpdGl2ZSBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IGFuZCBhIHBvc2l0aXZlIGludGVnZXIgPGNvZGU+azwvY29kZT4uPC9wPgo8cD5BIHBhaXIgb2YgbnVtYmVycyA8Y29kZT4obnVtMSwgbnVtMik8L2NvZGU+IGlzIGNhbGxlZCA8c3Ryb25nPmV4Y2VsbGVudDwvc3Ryb25nPiBpZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIHNhdGlzZmllZDo8L3A+Cjx1bD4KPGxpPjxzdHJvbmc+Qm90aDwvc3Ryb25nPiB0aGUgbnVtYmVycyA8Y29kZT5udW0xPC9jb2RlPiBhbmQgPGNvZGU+bnVtMjwvY29kZT4gZXhpc3QgaW4gdGhlIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+LjwvbGk+CjxsaT5UaGUgc3VtIG9mIHRoZSBudW1iZXIgb2Ygc2V0IGJpdHMgaW4gPGNvZGU+bnVtMSBPUiBudW0yPC9jb2RlPiBhbmQgPGNvZGU+bnVtMSBBTkQgbnVtMjwvY29kZT4gaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDxjb2RlPms8L2NvZGU+LCB3aGVyZSA8Y29kZT5PUjwvY29kZT4gaXMgdGhlIGJpdHdpc2UgPHN0cm9uZz5PUjwvc3Ryb25nPiBvcGVyYXRpb24gYW5kIDxjb2RlPkFORDwvY29kZT4gaXMgdGhlIGJpdHdpc2UgPHN0cm9uZz5BTkQ8L3N0cm9uZz4gb3BlcmF0aW9uLjwvbGk+CjwvdWw+CjxwPlJldHVybiA8ZW0+dGhlIG51bWJlciBvZiA8c3Ryb25nPmRpc3RpbmN0PC9zdHJvbmc+IGV4Y2VsbGVudCBwYWlyczwvZW0+LjwvcD4KPHA+VHdvIHBhaXJzIDxjb2RlPihhLCBiKTwvY29kZT4gYW5kIDxjb2RlPihjLCBkKTwvY29kZT4gYXJlIGNvbnNpZGVyZWQgZGlzdGluY3QgaWYgZWl0aGVyIDxjb2RlPmEgIT0gYzwvY29kZT4gb3IgPGNvZGU+YiAhPSBkPC9jb2RlPi4gRm9yIGV4YW1wbGUsIDxjb2RlPigxLCAyKTwvY29kZT4gYW5kIDxjb2RlPigyLCAxKTwvY29kZT4gYXJlIGRpc3RpbmN0LjwvcD4KPHA+PHN0cm9uZz5Ob3RlPC9zdHJvbmc+IHRoYXQgYSBwYWlyIDxjb2RlPihudW0xLCBudW0yKTwvY29kZT4gc3VjaCB0aGF0IDxjb2RlPm51bTEgPT0gbnVtMjwvY29kZT4gY2FuIGFsc28gYmUgZXhjZWxsZW50IGlmIHlvdSBoYXZlIGF0IGxlYXN0IDxzdHJvbmc+b25lPC9zdHJvbmc+IG9jY3VycmVuY2Ugb2YgPGNvZGU+bnVtMTwvY29kZT4gaW4gdGhlIGFycmF5LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDIsMywxXSwgayA9IDMKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGV4Y2VsbGVudCBwYWlycyBhcmUgdGhlIGZvbGxvd2luZzoKLSAoMywgMykuICgzIEFORCAzKSBhbmQgKDMgT1IgMykgYXJlIGJvdGggZXF1YWwgdG8gKDExKSBpbiBiaW5hcnkuIFRoZSB0b3RhbCBudW1iZXIgb2Ygc2V0IGJpdHMgaXMgMiArIDIgPSA0LCB3aGljaCBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gayA9IDMuCi0gKDIsIDMpIGFuZCAoMywgMikuICgyIEFORCAzKSBpcyBlcXVhbCB0byAoMTApIGluIGJpbmFyeSwgYW5kICgyIE9SIDMpIGlzIGVxdWFsIHRvICgxMSkgaW4gYmluYXJ5LiBUaGUgdG90YWwgbnVtYmVyIG9mIHNldCBiaXRzIGlzIDEgKyAyID0gMy4KLSAoMSwgMykgYW5kICgzLCAxKS4gKDEgQU5EIDMpIGlzIGVxdWFsIHRvICgwMSkgaW4gYmluYXJ5LCBhbmQgKDEgT1IgMykgaXMgZXF1YWwgdG8gKDExKSBpbiBiaW5hcnkuIFRoZSB0b3RhbCBudW1iZXIgb2Ygc2V0IGJpdHMgaXMgMSArIDIgPSAzLgpTbyB0aGUgbnVtYmVyIG9mIGV4Y2VsbGVudCBwYWlycyBpcyA1LjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNSwxLDFdLCBrID0gMTAKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgYXJlIG5vIGV4Y2VsbGVudCBwYWlycyBmb3IgdGhpcyBhcnJheS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGsgJmx0Oz0gNjA8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Binary Search",
+ "Bit Manipulation"
+ ]
+ },
+ {
+ "title": "2344. Minimum Deletions to Make Array Divisible",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIHBvc2l0aXZlIGludGVnZXIgYXJyYXlzIDxjb2RlPm51bXM8L2NvZGU+IGFuZCA8Y29kZT5udW1zRGl2aWRlPC9jb2RlPi4gWW91IGNhbiBkZWxldGUgYW55IG51bWJlciBvZiBlbGVtZW50cyBmcm9tIDxjb2RlPm51bXM8L2NvZGU+LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5taW5pbXVtPC9zdHJvbmc+IG51bWJlciBvZiBkZWxldGlvbnMgc3VjaCB0aGF0IHRoZSA8c3Ryb25nPnNtYWxsZXN0PC9zdHJvbmc+IGVsZW1lbnQgaW4gPC9lbT48Y29kZT5udW1zPC9jb2RlPjxlbT4gPHN0cm9uZz5kaXZpZGVzPC9zdHJvbmc+IGFsbCB0aGUgZWxlbWVudHMgb2YgPC9lbT48Y29kZT5udW1zRGl2aWRlPC9jb2RlPi4gSWYgdGhpcyBpcyBub3QgcG9zc2libGUsIHJldHVybiA8Y29kZT4tMTwvY29kZT4uPC9wPgo8cD5Ob3RlIHRoYXQgYW4gaW50ZWdlciA8Y29kZT54PC9jb2RlPiBkaXZpZGVzIDxjb2RlPnk8L2NvZGU+IGlmIDxjb2RlPnkgJSB4ID09IDA8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsyLDMsMiw0LDNdLCBudW1zRGl2aWRlID0gWzksNiw5LDMsMTVdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApUaGUgc21hbGxlc3QgZWxlbWVudCBpbiBbMiwzLDIsNCwzXSBpcyAyLCB3aGljaCBkb2VzIG5vdCBkaXZpZGUgYWxsIHRoZSBlbGVtZW50cyBvZiBudW1zRGl2aWRlLgpXZSB1c2UgMiBkZWxldGlvbnMgdG8gZGVsZXRlIHRoZSBlbGVtZW50cyBpbiBudW1zIHRoYXQgYXJlIGVxdWFsIHRvIDIgd2hpY2ggbWFrZXMgbnVtcyA9IFszLDQsM10uClRoZSBzbWFsbGVzdCBlbGVtZW50IGluIFszLDQsM10gaXMgMywgd2hpY2ggZGl2aWRlcyBhbGwgdGhlIGVsZW1lbnRzIG9mIG51bXNEaXZpZGUuCkl0IGNhbiBiZSBzaG93biB0aGF0IDIgaXMgdGhlIG1pbmltdW0gbnVtYmVyIG9mIGRlbGV0aW9ucyBuZWVkZWQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNCwzLDZdLCBudW1zRGl2aWRlID0gWzgsMiw2LDEwXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gLTEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCldlIHdhbnQgdGhlIHNtYWxsZXN0IGVsZW1lbnQgaW4gbnVtcyB0byBkaXZpZGUgYWxsIHRoZSBlbGVtZW50cyBvZiBudW1zRGl2aWRlLgpUaGVyZSBpcyBubyB3YXkgdG8gZGVsZXRlIGVsZW1lbnRzIGZyb20gbnVtcyB0byBhbGxvdyB0aGlzLjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGgsIG51bXNEaXZpZGUubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0sIG51bXNEaXZpZGVbaV0gJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Math",
+ "Sorting",
+ "Heap (Priority Queue)",
+ "Number Theory"
+ ]
+ },
+ {
+ "title": "2334. Subarray With Elements Greater Than Varying Threshold",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBhbmQgYW4gaW50ZWdlciA8Y29kZT50aHJlc2hvbGQ8L2NvZGU+LjwvcD4KPHA+RmluZCBhbnkgc3ViYXJyYXkgb2YgPGNvZGU+bnVtczwvY29kZT4gb2YgbGVuZ3RoIDxjb2RlPms8L2NvZGU+IHN1Y2ggdGhhdCA8c3Ryb25nPmV2ZXJ5PC9zdHJvbmc+IGVsZW1lbnQgaW4gdGhlIHN1YmFycmF5IGlzIDxzdHJvbmc+Z3JlYXRlcjwvc3Ryb25nPiB0aGFuIDxjb2RlPnRocmVzaG9sZCAvIGs8L2NvZGU+LjwvcD4KPHA+UmV0dXJuPGVtPiB0aGUgPHN0cm9uZz5zaXplPC9zdHJvbmc+IG9mIDxzdHJvbmc+YW55PC9zdHJvbmc+IHN1Y2ggc3ViYXJyYXk8L2VtPi4gSWYgdGhlcmUgaXMgbm8gc3VjaCBzdWJhcnJheSwgcmV0dXJuIDxjb2RlPi0xPC9jb2RlPi48L3A+CjxwPkEgPHN0cm9uZz5zdWJhcnJheTwvc3Ryb25nPiBpcyBhIGNvbnRpZ3VvdXMgbm9uLWVtcHR5IHNlcXVlbmNlIG9mIGVsZW1lbnRzIHdpdGhpbiBhbiBhcnJheS48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSwzLDQsMywxXSwgdGhyZXNob2xkID0gNgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgc3ViYXJyYXkgWzMsNCwzXSBoYXMgYSBzaXplIG9mIDMsIGFuZCBldmVyeSBlbGVtZW50IGlzIGdyZWF0ZXIgdGhhbiA2IC8gMyA9IDIuCk5vdGUgdGhhdCB0aGlzIGlzIHRoZSBvbmx5IHZhbGlkIHN1YmFycmF5Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzYsNSw2LDUsOF0sIHRocmVzaG9sZCA9IDcKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHN1YmFycmF5IFs4XSBoYXMgYSBzaXplIG9mIDEsIGFuZCA4ICZndDsgNyAvIDEgPSA3LiBTbyAxIGlzIHJldHVybmVkLgpOb3RlIHRoYXQgdGhlIHN1YmFycmF5IFs2LDVdIGhhcyBhIHNpemUgb2YgMiwgYW5kIGV2ZXJ5IGVsZW1lbnQgaXMgZ3JlYXRlciB0aGFuIDcgLyAyID0gMy41LiAKU2ltaWxhcmx5LCB0aGUgc3ViYXJyYXlzIFs2LDUsNl0sIFs2LDUsNiw1XSwgWzYsNSw2LDUsOF0gYWxzbyBzYXRpc2Z5IHRoZSBnaXZlbiBjb25kaXRpb25zLgpUaGVyZWZvcmUsIDIsIDMsIDQsIG9yIDUgbWF5IGFsc28gYmUgcmV0dXJuZWQuPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldLCB0aHJlc2hvbGQgJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Stack",
+ "Union Find",
+ "Monotonic Stack"
+ ]
+ },
+ {
+ "title": "2338. Count the Number of Ideal Arrays",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIGludGVnZXJzIDxjb2RlPm48L2NvZGU+IGFuZCA8Y29kZT5tYXhWYWx1ZTwvY29kZT4sIHdoaWNoIGFyZSB1c2VkIHRvIGRlc2NyaWJlIGFuIDxzdHJvbmc+aWRlYWw8L3N0cm9uZz4gYXJyYXkuPC9wPgo8cD5BIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXkgPGNvZGU+YXJyPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4gaXMgY29uc2lkZXJlZCA8c3Ryb25nPmlkZWFsPC9zdHJvbmc+IGlmIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBob2xkOjwvcD4KPHVsPgo8bGk+RXZlcnkgPGNvZGU+YXJyW2ldPC9jb2RlPiBpcyBhIHZhbHVlIGZyb20gPGNvZGU+MTwvY29kZT4gdG8gPGNvZGU+bWF4VmFsdWU8L2NvZGU+LCBmb3IgPGNvZGU+MCAmbHQ7PSBpICZsdDsgbjwvY29kZT4uPC9saT4KPGxpPkV2ZXJ5IDxjb2RlPmFycltpXTwvY29kZT4gaXMgZGl2aXNpYmxlIGJ5IDxjb2RlPmFycltpIC0gMV08L2NvZGU+LCBmb3IgPGNvZGU+MCAmbHQ7IGkgJmx0OyBuPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPnRoZSBudW1iZXIgb2YgPHN0cm9uZz5kaXN0aW5jdDwvc3Ryb25nPiBpZGVhbCBhcnJheXMgb2YgbGVuZ3RoIDwvZW0+PGNvZGU+bjwvY29kZT4uIFNpbmNlIHRoZSBhbnN3ZXIgbWF5IGJlIHZlcnkgbGFyZ2UsIHJldHVybiBpdCBtb2R1bG8gPGNvZGU+MTA8c3VwPjk8L3N1cD4gKyA3PC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSAyLCBtYXhWYWx1ZSA9IDUKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBmb2xsb3dpbmcgYXJlIHRoZSBwb3NzaWJsZSBpZGVhbCBhcnJheXM6Ci0gQXJyYXlzIHN0YXJ0aW5nIHdpdGggdGhlIHZhbHVlIDEgKDUgYXJyYXlzKTogWzEsMV0sIFsxLDJdLCBbMSwzXSwgWzEsNF0sIFsxLDVdCi0gQXJyYXlzIHN0YXJ0aW5nIHdpdGggdGhlIHZhbHVlIDIgKDIgYXJyYXlzKTogWzIsMl0sIFsyLDRdCi0gQXJyYXlzIHN0YXJ0aW5nIHdpdGggdGhlIHZhbHVlIDMgKDEgYXJyYXkpOiBbMywzXQotIEFycmF5cyBzdGFydGluZyB3aXRoIHRoZSB2YWx1ZSA0ICgxIGFycmF5KTogWzQsNF0KLSBBcnJheXMgc3RhcnRpbmcgd2l0aCB0aGUgdmFsdWUgNSAoMSBhcnJheSk6IFs1LDVdClRoZXJlIGFyZSBhIHRvdGFsIG9mIDUgKyAyICsgMSArIDEgKyAxID0gMTAgZGlzdGluY3QgaWRlYWwgYXJyYXlzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gNSwgbWF4VmFsdWUgPSAzCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgZm9sbG93aW5nIGFyZSB0aGUgcG9zc2libGUgaWRlYWwgYXJyYXlzOgotIEFycmF5cyBzdGFydGluZyB3aXRoIHRoZSB2YWx1ZSAxICg5IGFycmF5cyk6IAogICAtIFdpdGggbm8gb3RoZXIgZGlzdGluY3QgdmFsdWVzICgxIGFycmF5KTogWzEsMSwxLDEsMV0gCiAgIC0gV2l0aCAyPHN1cD5uZDwvc3VwPiBkaXN0aW5jdCB2YWx1ZSAyICg0IGFycmF5cyk6IFsxLDEsMSwxLDJdLCBbMSwxLDEsMiwyXSwgWzEsMSwyLDIsMl0sIFsxLDIsMiwyLDJdCiAgIC0gV2l0aCAyPHN1cD5uZDwvc3VwPiBkaXN0aW5jdCB2YWx1ZSAzICg0IGFycmF5cyk6IFsxLDEsMSwxLDNdLCBbMSwxLDEsMywzXSwgWzEsMSwzLDMsM10sIFsxLDMsMywzLDNdCi0gQXJyYXlzIHN0YXJ0aW5nIHdpdGggdGhlIHZhbHVlIDIgKDEgYXJyYXkpOiBbMiwyLDIsMiwyXQotIEFycmF5cyBzdGFydGluZyB3aXRoIHRoZSB2YWx1ZSAzICgxIGFycmF5KTogWzMsMywzLDMsM10KVGhlcmUgYXJlIGEgdG90YWwgb2YgOSArIDEgKyAxID0gMTEgZGlzdGluY3QgaWRlYWwgYXJyYXlzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4yICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbWF4VmFsdWUgJmx0Oz0gMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Math",
+ "Dynamic Programming",
+ "Combinatorics",
+ "Number Theory"
+ ]
+ },
+ {
+ "title": "2328. Number of Increasing Paths in a Grid",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gPGNvZGU+bSB4IG48L2NvZGU+IGludGVnZXIgbWF0cml4IDxjb2RlPmdyaWQ8L2NvZGU+LCB3aGVyZSB5b3UgY2FuIG1vdmUgZnJvbSBhIGNlbGwgdG8gYW55IGFkamFjZW50IGNlbGwgaW4gYWxsIDxjb2RlPjQ8L2NvZGU+IGRpcmVjdGlvbnMuPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSBudW1iZXIgb2YgPHN0cm9uZz5zdHJpY3RseTwvc3Ryb25nPiA8c3Ryb25nPmluY3JlYXNpbmc8L3N0cm9uZz4gcGF0aHMgaW4gdGhlIGdyaWQgc3VjaCB0aGF0IHlvdSBjYW4gc3RhcnQgZnJvbSA8c3Ryb25nPmFueTwvc3Ryb25nPiBjZWxsIGFuZCBlbmQgYXQgPHN0cm9uZz5hbnk8L3N0cm9uZz4gY2VsbC4gPC9lbT5TaW5jZSB0aGUgYW5zd2VyIG1heSBiZSB2ZXJ5IGxhcmdlLCByZXR1cm4gaXQgPHN0cm9uZz5tb2R1bG88L3N0cm9uZz4gPGNvZGU+MTA8c3VwPjk8L3N1cD4gKyA3PC9jb2RlPi48L3A+CjxwPlR3byBwYXRocyBhcmUgY29uc2lkZXJlZCBkaWZmZXJlbnQgaWYgdGhleSBkbyBub3QgaGF2ZSBleGFjdGx5IHRoZSBzYW1lIHNlcXVlbmNlIG9mIHZpc2l0ZWQgY2VsbHMuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA1LzEwL2dyaWRkcmF3aW8tNC5wbmciIHN0eWxlPSJ3aWR0aDogMTgxcHg7IGhlaWdodDogMTIxcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbMSwxXSxbMyw0XV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDgKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHN0cmljdGx5IGluY3JlYXNpbmcgcGF0aHMgYXJlOgotIFBhdGhzIHdpdGggbGVuZ3RoIDE6IFsxXSwgWzFdLCBbM10sIFs0XS4KLSBQYXRocyB3aXRoIGxlbmd0aCAyOiBbMSAtJmd0OyAzXSwgWzEgLSZndDsgNF0sIFszIC0mZ3Q7IDRdLgotIFBhdGhzIHdpdGggbGVuZ3RoIDM6IFsxIC0mZ3Q7IDMgLSZndDsgNF0uClRoZSB0b3RhbCBudW1iZXIgb2YgcGF0aHMgaXMgNCArIDMgKyAxID0gOC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbMV0sWzJdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgc3RyaWN0bHkgaW5jcmVhc2luZyBwYXRocyBhcmU6Ci0gUGF0aHMgd2l0aCBsZW5ndGggMTogWzFdLCBbMl0uCi0gUGF0aHMgd2l0aCBsZW5ndGggMjogWzEgLSZndDsgMl0uClRoZSB0b3RhbCBudW1iZXIgb2YgcGF0aHMgaXMgMiArIDEgPSAzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5tID09IGdyaWQubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5uID09IGdyaWRbaV0ubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG0sIG4gJmx0Oz0gMTAwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBtICogbiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBncmlkW2ldW2pdICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Dynamic Programming",
+ "Depth-First Search",
+ "Breadth-First Search",
+ "Graph",
+ "Topological Sort",
+ "Memoization",
+ "Matrix"
+ ]
+ },
+ {
+ "title": "2318. Number of Distinct Roll Sequences",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5uPC9jb2RlPi4gWW91IHJvbGwgYSBmYWlyIDYtc2lkZWQgZGljZSA8Y29kZT5uPC9jb2RlPiB0aW1lcy4gRGV0ZXJtaW5lIHRoZSB0b3RhbCBudW1iZXIgb2YgPHN0cm9uZz5kaXN0aW5jdDwvc3Ryb25nPiBzZXF1ZW5jZXMgb2Ygcm9sbHMgcG9zc2libGUgc3VjaCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgc2F0aXNmaWVkOjwvcD4KPG9sPgo8bGk+VGhlIDxzdHJvbmc+Z3JlYXRlc3QgY29tbW9uIGRpdmlzb3I8L3N0cm9uZz4gb2YgYW55IDxzdHJvbmc+YWRqYWNlbnQ8L3N0cm9uZz4gdmFsdWVzIGluIHRoZSBzZXF1ZW5jZSBpcyBlcXVhbCB0byA8Y29kZT4xPC9jb2RlPi48L2xpPgo8bGk+VGhlcmUgaXMgPHN0cm9uZz5hdCBsZWFzdDwvc3Ryb25nPiBhIGdhcCBvZiA8Y29kZT4yPC9jb2RlPiByb2xscyBiZXR3ZWVuIDxzdHJvbmc+ZXF1YWw8L3N0cm9uZz4gdmFsdWVkIHJvbGxzLiBNb3JlIGZvcm1hbGx5LCBpZiB0aGUgdmFsdWUgb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiByb2xsIGlzIDxzdHJvbmc+ZXF1YWw8L3N0cm9uZz4gdG8gdGhlIHZhbHVlIG9mIHRoZSA8Y29kZT5qPHN1cD50aDwvc3VwPjwvY29kZT4gcm9sbCwgdGhlbiA8Y29kZT5hYnMoaSAtIGopICZndDsgMjwvY29kZT4uPC9saT4KPC9vbD4KPHA+UmV0dXJuIDxlbT50aGU8c3Ryb25nPiB0b3RhbCBudW1iZXI8L3N0cm9uZz4gb2YgZGlzdGluY3Qgc2VxdWVuY2VzIHBvc3NpYmxlPC9lbT4uIFNpbmNlIHRoZSBhbnN3ZXIgbWF5IGJlIHZlcnkgbGFyZ2UsIHJldHVybiBpdCA8c3Ryb25nPm1vZHVsbzwvc3Ryb25nPiA8Y29kZT4xMDxzdXA+OTwvc3VwPiArIDc8L2NvZGU+LjwvcD4KPHA+VHdvIHNlcXVlbmNlcyBhcmUgY29uc2lkZXJlZCBkaXN0aW5jdCBpZiBhdCBsZWFzdCBvbmUgZWxlbWVudCBpcyBkaWZmZXJlbnQuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gNAo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTg0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFNvbWUgb2YgdGhlIHBvc3NpYmxlIHNlcXVlbmNlcyBhcmUgKDEsIDIsIDMsIDQpLCAoNiwgMSwgMiwgMyksICgxLCAyLCAzLCAxKSwgZXRjLgpTb21lIGludmFsaWQgc2VxdWVuY2VzIGFyZSAoMSwgMiwgMSwgMyksICgxLCAyLCAzLCA2KS4KKDEsIDIsIDEsIDMpIGlzIGludmFsaWQgc2luY2UgdGhlIGZpcnN0IGFuZCB0aGlyZCByb2xsIGhhdmUgYW4gZXF1YWwgdmFsdWUgYW5kIGFicygxIC0gMykgPSAyIChpIGFuZCBqIGFyZSAxLWluZGV4ZWQpLgooMSwgMiwgMywgNikgaXMgaW52YWxpZCBzaW5jZSB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgMyBhbmQgNiA9IDMuClRoZXJlIGFyZSBhIHRvdGFsIG9mIDE4NCBkaXN0aW5jdCBzZXF1ZW5jZXMgcG9zc2libGUsIHNvIHdlIHJldHVybiAxODQuPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFNvbWUgb2YgdGhlIHBvc3NpYmxlIHNlcXVlbmNlcyBhcmUgKDEsIDIpLCAoMiwgMSksICgzLCAyKS4KU29tZSBpbnZhbGlkIHNlcXVlbmNlcyBhcmUgKDMsIDYpLCAoMiwgNCkgc2luY2UgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIGlzIG5vdCBlcXVhbCB0byAxLgpUaGVyZSBhcmUgYSB0b3RhbCBvZiAyMiBkaXN0aW5jdCBzZXF1ZW5jZXMgcG9zc2libGUsIHNvIHdlIHJldHVybiAyMi4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Dynamic Programming",
+ "Memoization"
+ ]
+ },
+ {
+ "title": "2322. Minimum Score After Removals on a Tree",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGFuIHVuZGlyZWN0ZWQgY29ubmVjdGVkIHRyZWUgd2l0aCA8Y29kZT5uPC9jb2RlPiBub2RlcyBsYWJlbGVkIGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+biAtIDE8L2NvZGU+IGFuZCA8Y29kZT5uIC0gMTwvY29kZT4gZWRnZXMuPC9wPgo8cD5Zb3UgYXJlIGdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4gd2hlcmUgPGNvZGU+bnVtc1tpXTwvY29kZT4gcmVwcmVzZW50cyB0aGUgdmFsdWUgb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBub2RlLiBZb3UgYXJlIGFsc28gZ2l2ZW4gYSAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPmVkZ2VzPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+biAtIDE8L2NvZGU+IHdoZXJlIDxjb2RlPmVkZ2VzW2ldID0gW2E8c3ViPmk8L3N1Yj4sIGI8c3ViPmk8L3N1Yj5dPC9jb2RlPiBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBpcyBhbiBlZGdlIGJldHdlZW4gbm9kZXMgPGNvZGU+YTxzdWI+aTwvc3ViPjwvY29kZT4gYW5kIDxjb2RlPmI8c3ViPmk8L3N1Yj48L2NvZGU+IGluIHRoZSB0cmVlLjwvcD4KPHA+UmVtb3ZlIHR3byA8c3Ryb25nPmRpc3RpbmN0PC9zdHJvbmc+IGVkZ2VzIG9mIHRoZSB0cmVlIHRvIGZvcm0gdGhyZWUgY29ubmVjdGVkIGNvbXBvbmVudHMuIEZvciBhIHBhaXIgb2YgcmVtb3ZlZCBlZGdlcywgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgZGVmaW5lZDo8L3A+CjxvbD4KPGxpPkdldCB0aGUgWE9SIG9mIGFsbCB0aGUgdmFsdWVzIG9mIHRoZSBub2RlcyBmb3IgPHN0cm9uZz5lYWNoPC9zdHJvbmc+IG9mIHRoZSB0aHJlZSBjb21wb25lbnRzIHJlc3BlY3RpdmVseS48L2xpPgo8bGk+VGhlIDxzdHJvbmc+ZGlmZmVyZW5jZTwvc3Ryb25nPiBiZXR3ZWVuIHRoZSA8c3Ryb25nPmxhcmdlc3Q8L3N0cm9uZz4gWE9SIHZhbHVlIGFuZCB0aGUgPHN0cm9uZz5zbWFsbGVzdDwvc3Ryb25nPiBYT1IgdmFsdWUgaXMgdGhlIDxzdHJvbmc+c2NvcmU8L3N0cm9uZz4gb2YgdGhlIHBhaXIuPC9saT4KPC9vbD4KPHVsPgo8bGk+Rm9yIGV4YW1wbGUsIHNheSB0aGUgdGhyZWUgY29tcG9uZW50cyBoYXZlIHRoZSBub2RlIHZhbHVlczogPGNvZGU+WzQsNSw3XTwvY29kZT4sIDxjb2RlPlsxLDldPC9jb2RlPiwgYW5kIDxjb2RlPlszLDMsM108L2NvZGU+LiBUaGUgdGhyZWUgWE9SIHZhbHVlcyBhcmUgPGNvZGU+NCBeIDUgXiA3ID0gPHU+PHN0cm9uZz42PC9zdHJvbmc+PC91PjwvY29kZT4sIDxjb2RlPjEgXiA5ID0gPHU+PHN0cm9uZz44PC9zdHJvbmc+PC91PjwvY29kZT4sIGFuZCA8Y29kZT4zIF4gMyBeIDMgPSA8dT48c3Ryb25nPjM8L3N0cm9uZz48L3U+PC9jb2RlPi4gVGhlIGxhcmdlc3QgWE9SIHZhbHVlIGlzIDxjb2RlPjg8L2NvZGU+IGFuZCB0aGUgc21hbGxlc3QgWE9SIHZhbHVlIGlzIDxjb2RlPjM8L2NvZGU+LiBUaGUgc2NvcmUgaXMgdGhlbiA8Y29kZT44IC0gMyA9IDU8L2NvZGU+LjwvbGk+CjwvdWw+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiBzY29yZSBvZiBhbnkgcG9zc2libGUgcGFpciBvZiBlZGdlIHJlbW92YWxzIG9uIHRoZSBnaXZlbiB0cmVlPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzA1LzAzL2V4MWRyYXdpby5wbmciIHN0eWxlPSJ3aWR0aDogMTkzcHg7IGhlaWdodDogMTkwcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDUsNSw0LDExXSwgZWRnZXMgPSBbWzAsMV0sWzEsMl0sWzEsM10sWzMsNF1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA5CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBkaWFncmFtIGFib3ZlIHNob3dzIGEgd2F5IHRvIG1ha2UgYSBwYWlyIG9mIHJlbW92YWxzLgotIFRoZSAxPHN1cD5zdDwvc3VwPiBjb21wb25lbnQgaGFzIG5vZGVzIFsxLDMsNF0gd2l0aCB2YWx1ZXMgWzUsNCwxMV0uIEl0cyBYT1IgdmFsdWUgaXMgNSBeIDQgXiAxMSA9IDEwLgotIFRoZSAyPHN1cD5uZDwvc3VwPiBjb21wb25lbnQgaGFzIG5vZGUgWzBdIHdpdGggdmFsdWUgWzFdLiBJdHMgWE9SIHZhbHVlIGlzIDEgPSAxLgotIFRoZSAzPHN1cD5yZDwvc3VwPiBjb21wb25lbnQgaGFzIG5vZGUgWzJdIHdpdGggdmFsdWUgWzVdLiBJdHMgWE9SIHZhbHVlIGlzIDUgPSA1LgpUaGUgc2NvcmUgaXMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgbGFyZ2VzdCBhbmQgc21hbGxlc3QgWE9SIHZhbHVlIHdoaWNoIGlzIDEwIC0gMSA9IDkuCkl0IGNhbiBiZSBzaG93biB0aGF0IG5vIG90aGVyIHBhaXIgb2YgcmVtb3ZhbHMgd2lsbCBvYnRhaW4gYSBzbWFsbGVyIHNjb3JlIHRoYW4gOS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wNS8wMy9leDJkcmF3aW8ucG5nIiBzdHlsZT0id2lkdGg6IDI4N3B4OyBoZWlnaHQ6IDE1MHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNSw1LDIsNCw0LDJdLCBlZGdlcyA9IFtbMCwxXSxbMSwyXSxbNSwyXSxbNCwzXSxbMSwzXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGRpYWdyYW0gYWJvdmUgc2hvd3MgYSB3YXkgdG8gbWFrZSBhIHBhaXIgb2YgcmVtb3ZhbHMuCi0gVGhlIDE8c3VwPnN0PC9zdXA+IGNvbXBvbmVudCBoYXMgbm9kZXMgWzMsNF0gd2l0aCB2YWx1ZXMgWzQsNF0uIEl0cyBYT1IgdmFsdWUgaXMgNCBeIDQgPSAwLgotIFRoZSAyPHN1cD5uZDwvc3VwPiBjb21wb25lbnQgaGFzIG5vZGVzIFsxLDBdIHdpdGggdmFsdWVzIFs1LDVdLiBJdHMgWE9SIHZhbHVlIGlzIDUgXiA1ID0gMC4KLSBUaGUgMzxzdXA+cmQ8L3N1cD4gY29tcG9uZW50IGhhcyBub2RlcyBbMiw1XSB3aXRoIHZhbHVlcyBbMiwyXS4gSXRzIFhPUiB2YWx1ZSBpcyAyIF4gMiA9IDAuClRoZSBzY29yZSBpcyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBsYXJnZXN0IGFuZCBzbWFsbGVzdCBYT1IgdmFsdWUgd2hpY2ggaXMgMCAtIDAgPSAwLgpXZSBjYW5ub3Qgb2J0YWluIGEgc21hbGxlciBzY29yZSB0aGFuIDAuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gbnVtcy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjMgJmx0Oz0gbiAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0gJmx0Oz0gMTA8c3VwPjg8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPmVkZ2VzLmxlbmd0aCA9PSBuIC0gMTwvY29kZT48L2xpPgo8bGk+PGNvZGU+ZWRnZXNbaV0ubGVuZ3RoID09IDI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gYTxzdWI+aTwvc3ViPiwgYjxzdWI+aTwvc3ViPiAmbHQ7IG48L2NvZGU+PC9saT4KPGxpPjxjb2RlPmE8c3ViPmk8L3N1Yj4gIT0gYjxzdWI+aTwvc3ViPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+ZWRnZXM8L2NvZGU+IHJlcHJlc2VudHMgYSB2YWxpZCB0cmVlLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Bit Manipulation",
+ "Tree",
+ "Depth-First Search"
+ ]
+ },
+ {
+ "title": "2302. Count Subarrays With Score Less Than K",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZSA8c3Ryb25nPnNjb3JlPC9zdHJvbmc+IG9mIGFuIGFycmF5IGlzIGRlZmluZWQgYXMgdGhlIDxzdHJvbmc+cHJvZHVjdDwvc3Ryb25nPiBvZiBpdHMgc3VtIGFuZCBpdHMgbGVuZ3RoLjwvcD4KPHVsPgo8bGk+Rm9yIGV4YW1wbGUsIHRoZSBzY29yZSBvZiA8Y29kZT5bMSwgMiwgMywgNCwgNV08L2NvZGU+IGlzIDxjb2RlPigxICsgMiArIDMgKyA0ICsgNSkgKiA1ID0gNzU8L2NvZGU+LjwvbGk+CjwvdWw+CjxwPkdpdmVuIGEgcG9zaXRpdmUgaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBhbmQgYW4gaW50ZWdlciA8Y29kZT5rPC9jb2RlPiwgcmV0dXJuIDxlbT50aGUgPHN0cm9uZz5udW1iZXIgb2Ygbm9uLWVtcHR5IHN1YmFycmF5czwvc3Ryb25nPiBvZjwvZW0+IDxjb2RlPm51bXM8L2NvZGU+IDxlbT53aG9zZSBzY29yZSBpcyA8c3Ryb25nPnN0cmljdGx5IGxlc3M8L3N0cm9uZz4gdGhhbjwvZW0+IDxjb2RlPms8L2NvZGU+LjwvcD4KPHA+QSA8c3Ryb25nPnN1YmFycmF5PC9zdHJvbmc+IGlzIGEgY29udGlndW91cyBzZXF1ZW5jZSBvZiBlbGVtZW50cyB3aXRoaW4gYW4gYXJyYXkuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzIsMSw0LDMsNV0sIGsgPSAxMAo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgNiBzdWJhcnJheXMgaGF2aW5nIHNjb3JlcyBsZXNzIHRoYW4gMTAgYXJlOgotIFsyXSB3aXRoIHNjb3JlIDIgKiAxID0gMi4KLSBbMV0gd2l0aCBzY29yZSAxICogMSA9IDEuCi0gWzRdIHdpdGggc2NvcmUgNCAqIDEgPSA0LgotIFszXSB3aXRoIHNjb3JlIDMgKiAxID0gMy4gCi0gWzVdIHdpdGggc2NvcmUgNSAqIDEgPSA1LgotIFsyLDFdIHdpdGggc2NvcmUgKDIgKyAxKSAqIDIgPSA2LgpOb3RlIHRoYXQgc3ViYXJyYXlzIHN1Y2ggYXMgWzEsNF0gYW5kIFs0LDMsNV0gYXJlIG5vdCBjb25zaWRlcmVkIGJlY2F1c2UgdGhlaXIgc2NvcmVzIGFyZSAxMCBhbmQgMzYgcmVzcGVjdGl2ZWx5LCB3aGlsZSB3ZSBuZWVkIHNjb3JlcyBzdHJpY3RseSBsZXNzIHRoYW4gMTAuPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDEsMV0sIGsgPSA1CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA1CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+CkV2ZXJ5IHN1YmFycmF5IGV4Y2VwdCBbMSwxLDFdIGhhcyBhIHNjb3JlIGxlc3MgdGhhbiA1LgpbMSwxLDFdIGhhcyBhIHNjb3JlICgxICsgMSArIDEpICogMyA9IDksIHdoaWNoIGlzIGdyZWF0ZXIgdGhhbiA1LgpUaHVzLCB0aGVyZSBhcmUgNSBzdWJhcnJheXMgaGF2aW5nIHNjb3JlcyBsZXNzIHRoYW4gNS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zW2ldICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGsgJmx0Oz0gMTA8c3VwPjE1PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Sliding Window",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2301. Match Substring After Replacement",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIHN0cmluZ3MgPGNvZGU+czwvY29kZT4gYW5kIDxjb2RlPnN1YjwvY29kZT4uIFlvdSBhcmUgYWxzbyBnaXZlbiBhIDJEIGNoYXJhY3RlciBhcnJheSA8Y29kZT5tYXBwaW5nczwvY29kZT4gd2hlcmUgPGNvZGU+bWFwcGluZ3NbaV0gPSBbb2xkPHN1Yj5pPC9zdWI+LCBuZXc8c3ViPmk8L3N1Yj5dPC9jb2RlPiBpbmRpY2F0ZXMgdGhhdCB5b3UgbWF5IHBlcmZvcm0gdGhlIGZvbGxvd2luZyBvcGVyYXRpb24gPHN0cm9uZz5hbnk8L3N0cm9uZz4gbnVtYmVyIG9mIHRpbWVzOjwvcD4KPHVsPgo8bGk+PHN0cm9uZz5SZXBsYWNlPC9zdHJvbmc+IGEgY2hhcmFjdGVyIDxjb2RlPm9sZDxzdWI+aTwvc3ViPjwvY29kZT4gb2YgPGNvZGU+c3ViPC9jb2RlPiB3aXRoIDxjb2RlPm5ldzxzdWI+aTwvc3ViPjwvY29kZT4uPC9saT4KPC91bD4KPHA+RWFjaCBjaGFyYWN0ZXIgaW4gPGNvZGU+c3ViPC9jb2RlPiA8c3Ryb25nPmNhbm5vdDwvc3Ryb25nPiBiZSByZXBsYWNlZCBtb3JlIHRoYW4gb25jZS48L3A+CjxwPlJldHVybiA8Y29kZT50cnVlPC9jb2RlPjxlbT4gaWYgaXQgaXMgcG9zc2libGUgdG8gbWFrZSA8L2VtPjxjb2RlPnN1YjwvY29kZT48ZW0+IGEgc3Vic3RyaW5nIG9mIDwvZW0+PGNvZGU+czwvY29kZT48ZW0+IGJ5IHJlcGxhY2luZyB6ZXJvIG9yIG1vcmUgY2hhcmFjdGVycyBhY2NvcmRpbmcgdG8gPC9lbT48Y29kZT5tYXBwaW5nczwvY29kZT4uIE90aGVyd2lzZSwgcmV0dXJuIDxjb2RlPmZhbHNlPC9jb2RlPi48L3A+CjxwPkEgPHN0cm9uZz5zdWJzdHJpbmc8L3N0cm9uZz4gaXMgYSBjb250aWd1b3VzIG5vbi1lbXB0eSBzZXF1ZW5jZSBvZiBjaGFyYWN0ZXJzIHdpdGhpbiBhIHN0cmluZy48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiZm9vbDNlN2JhciIsIHN1YiA9ICJsZWV0IiwgbWFwcGluZ3MgPSBbWyJlIiwiMyJdLFsidCIsIjciXSxbInQiLCI4Il1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiB0cnVlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFJlcGxhY2UgdGhlIGZpcnN0ICdlJyBpbiBzdWIgd2l0aCAnMycgYW5kICd0JyBpbiBzdWIgd2l0aCAnNycuCk5vdyBzdWIgPSAibDNlNyIgaXMgYSBzdWJzdHJpbmcgb2Ygcywgc28gd2UgcmV0dXJuIHRydWUuPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJmb29sZWV0YmFyIiwgc3ViID0gImYwMGwiLCBtYXBwaW5ncyA9IFtbIm8iLCIwIl1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBmYWxzZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgc3RyaW5nICJmMDBsIiBpcyBub3QgYSBzdWJzdHJpbmcgb2YgcyBhbmQgbm8gcmVwbGFjZW1lbnRzIGNhbiBiZSBtYWRlLgpOb3RlIHRoYXQgd2UgY2Fubm90IHJlcGxhY2UgJzAnIHdpdGggJ28nLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gIkZvb2wzM3RiYVIiLCBzdWIgPSAibGVldGQiLCBtYXBwaW5ncyA9IFtbImUiLCIzIl0sWyJ0IiwiNyJdLFsidCIsIjgiXSxbImQiLCJiIl0sWyJwIiwiYiJdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gdHJ1ZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBSZXBsYWNlIHRoZSBmaXJzdCBhbmQgc2Vjb25kICdlJyBpbiBzdWIgd2l0aCAnMycgYW5kICdkJyBpbiBzdWIgd2l0aCAnYicuCk5vdyBzdWIgPSAibDMzdGIiIGlzIGEgc3Vic3RyaW5nIG9mIHMsIHNvIHdlIHJldHVybiB0cnVlLgoKPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBzdWIubGVuZ3RoICZsdDs9IHMubGVuZ3RoICZsdDs9IDUwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gbWFwcGluZ3MubGVuZ3RoICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPm1hcHBpbmdzW2ldLmxlbmd0aCA9PSAyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5vbGQ8c3ViPmk8L3N1Yj4gIT0gbmV3PHN1Yj5pPC9zdWI+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zPC9jb2RlPiBhbmQgPGNvZGU+c3ViPC9jb2RlPiBjb25zaXN0IG9mIHVwcGVyY2FzZSBhbmQgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycyBhbmQgZGlnaXRzLjwvbGk+CjxsaT48Y29kZT5vbGQ8c3ViPmk8L3N1Yj48L2NvZGU+IGFuZCA8Y29kZT5uZXc8c3ViPmk8L3N1Yj48L2NvZGU+IGFyZSBlaXRoZXIgdXBwZXJjYXNlIG9yIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMgb3IgZGlnaXRzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "String",
+ "String Matching"
+ ]
+ },
+ {
+ "title": "2306. Naming a Company",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gYXJyYXkgb2Ygc3RyaW5ncyA8Y29kZT5pZGVhczwvY29kZT4gdGhhdCByZXByZXNlbnRzIGEgbGlzdCBvZiBuYW1lcyB0byBiZSB1c2VkIGluIHRoZSBwcm9jZXNzIG9mIG5hbWluZyBhIGNvbXBhbnkuIFRoZSBwcm9jZXNzIG9mIG5hbWluZyBhIGNvbXBhbnkgaXMgYXMgZm9sbG93czo8L3A+CjxvbD4KPGxpPkNob29zZSAyIDxzdHJvbmc+ZGlzdGluY3Q8L3N0cm9uZz4gbmFtZXMgZnJvbSA8Y29kZT5pZGVhczwvY29kZT4sIGNhbGwgdGhlbSA8Y29kZT5pZGVhPHN1Yj5BPC9zdWI+PC9jb2RlPiBhbmQgPGNvZGU+aWRlYTxzdWI+Qjwvc3ViPjwvY29kZT4uPC9saT4KPGxpPlN3YXAgdGhlIGZpcnN0IGxldHRlcnMgb2YgPGNvZGU+aWRlYTxzdWI+QTwvc3ViPjwvY29kZT4gYW5kIDxjb2RlPmlkZWE8c3ViPkI8L3N1Yj48L2NvZGU+IHdpdGggZWFjaCBvdGhlci48L2xpPgo8bGk+SWYgPHN0cm9uZz5ib3RoPC9zdHJvbmc+IG9mIHRoZSBuZXcgbmFtZXMgYXJlIG5vdCBmb3VuZCBpbiB0aGUgb3JpZ2luYWwgPGNvZGU+aWRlYXM8L2NvZGU+LCB0aGVuIHRoZSBuYW1lIDxjb2RlPmlkZWE8c3ViPkE8L3N1Yj4gaWRlYTxzdWI+Qjwvc3ViPjwvY29kZT4gKHRoZSA8c3Ryb25nPmNvbmNhdGVuYXRpb248L3N0cm9uZz4gb2YgPGNvZGU+aWRlYTxzdWI+QTwvc3ViPjwvY29kZT4gYW5kIDxjb2RlPmlkZWE8c3ViPkI8L3N1Yj48L2NvZGU+LCBzZXBhcmF0ZWQgYnkgYSBzcGFjZSkgaXMgYSB2YWxpZCBjb21wYW55IG5hbWUuPC9saT4KPGxpPk90aGVyd2lzZSwgaXQgaXMgbm90IGEgdmFsaWQgbmFtZS48L2xpPgo8L29sPgo8cD5SZXR1cm4gPGVtPnRoZSBudW1iZXIgb2YgPHN0cm9uZz5kaXN0aW5jdDwvc3Ryb25nPiB2YWxpZCBuYW1lcyBmb3IgdGhlIGNvbXBhbnk8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGlkZWFzID0gWyJjb2ZmZWUiLCJkb251dHMiLCJ0aW1lIiwidG9mZmVlIl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDYKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGZvbGxvd2luZyBzZWxlY3Rpb25zIGFyZSB2YWxpZDoKLSAoImNvZmZlZSIsICJkb251dHMiKTogVGhlIGNvbXBhbnkgbmFtZSBjcmVhdGVkIGlzICJkb2ZmZWUgY29udXRzIi4KLSAoImRvbnV0cyIsICJjb2ZmZWUiKTogVGhlIGNvbXBhbnkgbmFtZSBjcmVhdGVkIGlzICJjb251dHMgZG9mZmVlIi4KLSAoImRvbnV0cyIsICJ0aW1lIik6IFRoZSBjb21wYW55IG5hbWUgY3JlYXRlZCBpcyAidG9udXRzIGRpbWUiLgotICgiZG9udXRzIiwgInRvZmZlZSIpOiBUaGUgY29tcGFueSBuYW1lIGNyZWF0ZWQgaXMgInRvbnV0cyBkb2ZmZWUiLgotICgidGltZSIsICJkb251dHMiKTogVGhlIGNvbXBhbnkgbmFtZSBjcmVhdGVkIGlzICJkaW1lIHRvbnV0cyIuCi0gKCJ0b2ZmZWUiLCAiZG9udXRzIik6IFRoZSBjb21wYW55IG5hbWUgY3JlYXRlZCBpcyAiZG9mZmVlIHRvbnV0cyIuClRoZXJlZm9yZSwgdGhlcmUgYXJlIGEgdG90YWwgb2YgNiBkaXN0aW5jdCBjb21wYW55IG5hbWVzLgoKVGhlIGZvbGxvd2luZyBhcmUgc29tZSBleGFtcGxlcyBvZiBpbnZhbGlkIHNlbGVjdGlvbnM6Ci0gKCJjb2ZmZWUiLCAidGltZSIpOiBUaGUgbmFtZSAidG9mZmVlIiBmb3JtZWQgYWZ0ZXIgc3dhcHBpbmcgYWxyZWFkeSBleGlzdHMgaW4gdGhlIG9yaWdpbmFsIGFycmF5LgotICgidGltZSIsICJ0b2ZmZWUiKTogQm90aCBuYW1lcyBhcmUgc3RpbGwgdGhlIHNhbWUgYWZ0ZXIgc3dhcHBpbmcgYW5kIGV4aXN0IGluIHRoZSBvcmlnaW5hbCBhcnJheS4KLSAoImNvZmZlZSIsICJ0b2ZmZWUiKTogQm90aCBuYW1lcyBmb3JtZWQgYWZ0ZXIgc3dhcHBpbmcgYWxyZWFkeSBleGlzdCBpbiB0aGUgb3JpZ2luYWwgYXJyYXkuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGlkZWFzID0gWyJsYWNrIiwiYmFjayJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSBubyB2YWxpZCBzZWxlY3Rpb25zLiBUaGVyZWZvcmUsIDAgaXMgcmV0dXJuZWQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjIgJmx0Oz0gaWRlYXMubGVuZ3RoICZsdDs9IDUgKiAxMDxzdXA+NDwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBpZGVhc1tpXS5sZW5ndGggJmx0Oz0gMTA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPmlkZWFzW2ldPC9jb2RlPiBjb25zaXN0cyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLjwvbGk+CjxsaT5BbGwgdGhlIHN0cmluZ3MgaW4gPGNvZGU+aWRlYXM8L2NvZGU+IGFyZSA8c3Ryb25nPnVuaXF1ZTwvc3Ryb25nPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "String",
+ "Bit Manipulation",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2296. Design a Text Editor",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkRlc2lnbiBhIHRleHQgZWRpdG9yIHdpdGggYSBjdXJzb3IgdGhhdCBjYW4gZG8gdGhlIGZvbGxvd2luZzo8L3A+Cjx1bD4KPGxpPjxzdHJvbmc+QWRkPC9zdHJvbmc+IHRleHQgdG8gd2hlcmUgdGhlIGN1cnNvciBpcy48L2xpPgo8bGk+PHN0cm9uZz5EZWxldGU8L3N0cm9uZz4gdGV4dCBmcm9tIHdoZXJlIHRoZSBjdXJzb3IgaXMgKHNpbXVsYXRpbmcgdGhlIGJhY2tzcGFjZSBrZXkpLjwvbGk+CjxsaT48c3Ryb25nPk1vdmU8L3N0cm9uZz4gdGhlIGN1cnNvciBlaXRoZXIgbGVmdCBvciByaWdodC48L2xpPgo8L3VsPgo8cD5XaGVuIGRlbGV0aW5nIHRleHQsIG9ubHkgY2hhcmFjdGVycyB0byB0aGUgbGVmdCBvZiB0aGUgY3Vyc29yIHdpbGwgYmUgZGVsZXRlZC4gVGhlIGN1cnNvciB3aWxsIGFsc28gcmVtYWluIHdpdGhpbiB0aGUgYWN0dWFsIHRleHQgYW5kIGNhbm5vdCBiZSBtb3ZlZCBiZXlvbmQgaXQuIE1vcmUgZm9ybWFsbHksIHdlIGhhdmUgdGhhdCA8Y29kZT4wICZsdDs9IGN1cnNvci5wb3NpdGlvbiAmbHQ7PSBjdXJyZW50VGV4dC5sZW5ndGg8L2NvZGU+IGFsd2F5cyBob2xkcy48L3A+CjxwPkltcGxlbWVudCB0aGUgPGNvZGU+VGV4dEVkaXRvcjwvY29kZT4gY2xhc3M6PC9wPgo8dWw+CjxsaT48Y29kZT5UZXh0RWRpdG9yKCk8L2NvZGU+IEluaXRpYWxpemVzIHRoZSBvYmplY3Qgd2l0aCBlbXB0eSB0ZXh0LjwvbGk+CjxsaT48Y29kZT52b2lkIGFkZFRleHQoc3RyaW5nIHRleHQpPC9jb2RlPiBBcHBlbmRzIDxjb2RlPnRleHQ8L2NvZGU+IHRvIHdoZXJlIHRoZSBjdXJzb3IgaXMuIFRoZSBjdXJzb3IgZW5kcyB0byB0aGUgcmlnaHQgb2YgPGNvZGU+dGV4dDwvY29kZT4uPC9saT4KPGxpPjxjb2RlPmludCBkZWxldGVUZXh0KGludCBrKTwvY29kZT4gRGVsZXRlcyA8Y29kZT5rPC9jb2RlPiBjaGFyYWN0ZXJzIHRvIHRoZSBsZWZ0IG9mIHRoZSBjdXJzb3IuIFJldHVybnMgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIGFjdHVhbGx5IGRlbGV0ZWQuPC9saT4KPGxpPjxjb2RlPnN0cmluZyBjdXJzb3JMZWZ0KGludCBrKTwvY29kZT4gTW92ZXMgdGhlIGN1cnNvciB0byB0aGUgbGVmdCA8Y29kZT5rPC9jb2RlPiB0aW1lcy4gUmV0dXJucyB0aGUgbGFzdCA8Y29kZT5taW4oMTAsIGxlbik8L2NvZGU+IGNoYXJhY3RlcnMgdG8gdGhlIGxlZnQgb2YgdGhlIGN1cnNvciwgd2hlcmUgPGNvZGU+bGVuPC9jb2RlPiBpcyB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgdG8gdGhlIGxlZnQgb2YgdGhlIGN1cnNvci48L2xpPgo8bGk+PGNvZGU+c3RyaW5nIGN1cnNvclJpZ2h0KGludCBrKTwvY29kZT4gTW92ZXMgdGhlIGN1cnNvciB0byB0aGUgcmlnaHQgPGNvZGU+azwvY29kZT4gdGltZXMuIFJldHVybnMgdGhlIGxhc3QgPGNvZGU+bWluKDEwLCBsZW4pPC9jb2RlPiBjaGFyYWN0ZXJzIHRvIHRoZSBsZWZ0IG9mIHRoZSBjdXJzb3IsIHdoZXJlIDxjb2RlPmxlbjwvY29kZT4gaXMgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIHRvIHRoZSBsZWZ0IG9mIHRoZSBjdXJzb3IuPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDwvc3Ryb25nPgpbIlRleHRFZGl0b3IiLCAiYWRkVGV4dCIsICJkZWxldGVUZXh0IiwgImFkZFRleHQiLCAiY3Vyc29yUmlnaHQiLCAiY3Vyc29yTGVmdCIsICJkZWxldGVUZXh0IiwgImN1cnNvckxlZnQiLCAiY3Vyc29yUmlnaHQiXQpbW10sIFsibGVldGNvZGUiXSwgWzRdLCBbInByYWN0aWNlIl0sIFszXSwgWzhdLCBbMTBdLCBbMl0sIFs2XV0KPHN0cm9uZz5PdXRwdXQ8L3N0cm9uZz4KW251bGwsIG51bGwsIDQsIG51bGwsICJldHByYWN0aWNlIiwgImxlZXQiLCA0LCAiIiwgInByYWN0aSJdCgo8c3Ryb25nPkV4cGxhbmF0aW9uPC9zdHJvbmc+ClRleHRFZGl0b3IgdGV4dEVkaXRvciA9IG5ldyBUZXh0RWRpdG9yKCk7IC8vIFRoZSBjdXJyZW50IHRleHQgaXMgInwiLiAoVGhlICd8JyBjaGFyYWN0ZXIgcmVwcmVzZW50cyB0aGUgY3Vyc29yKQp0ZXh0RWRpdG9yLmFkZFRleHQoImxlZXRjb2RlIik7IC8vIFRoZSBjdXJyZW50IHRleHQgaXMgImxlZXRjb2RlfCIuCnRleHRFZGl0b3IuZGVsZXRlVGV4dCg0KTsgLy8gcmV0dXJuIDQKICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgY3VycmVudCB0ZXh0IGlzICJsZWV0fCIuIAogICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDQgY2hhcmFjdGVycyB3ZXJlIGRlbGV0ZWQuCnRleHRFZGl0b3IuYWRkVGV4dCgicHJhY3RpY2UiKTsgLy8gVGhlIGN1cnJlbnQgdGV4dCBpcyAibGVldHByYWN0aWNlfCIuIAp0ZXh0RWRpdG9yLmN1cnNvclJpZ2h0KDMpOyAvLyByZXR1cm4gImV0cHJhY3RpY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBjdXJyZW50IHRleHQgaXMgImxlZXRwcmFjdGljZXwiLiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIGN1cnNvciBjYW5ub3QgYmUgbW92ZWQgYmV5b25kIHRoZSBhY3R1YWwgdGV4dCBhbmQgdGh1cyBkaWQgbm90IG1vdmUuCiAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICJldHByYWN0aWNlIiBpcyB0aGUgbGFzdCAxMCBjaGFyYWN0ZXJzIHRvIHRoZSBsZWZ0IG9mIHRoZSBjdXJzb3IuCnRleHRFZGl0b3IuY3Vyc29yTGVmdCg4KTsgLy8gcmV0dXJuICJsZWV0IgogICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBjdXJyZW50IHRleHQgaXMgImxlZXR8cHJhY3RpY2UiLgogICAgICAgICAgICAgICAgICAgICAgICAgIC8vICJsZWV0IiBpcyB0aGUgbGFzdCBtaW4oMTAsIDQpID0gNCBjaGFyYWN0ZXJzIHRvIHRoZSBsZWZ0IG9mIHRoZSBjdXJzb3IuCnRleHRFZGl0b3IuZGVsZXRlVGV4dCgxMCk7IC8vIHJldHVybiA0CiAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBjdXJyZW50IHRleHQgaXMgInxwcmFjdGljZSIuCiAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE9ubHkgNCBjaGFyYWN0ZXJzIHdlcmUgZGVsZXRlZC4KdGV4dEVkaXRvci5jdXJzb3JMZWZ0KDIpOyAvLyByZXR1cm4gIiIKICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgY3VycmVudCB0ZXh0IGlzICJ8cHJhY3RpY2UiLgogICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBjdXJzb3IgY2Fubm90IGJlIG1vdmVkIGJleW9uZCB0aGUgYWN0dWFsIHRleHQgYW5kIHRodXMgZGlkIG5vdCBtb3ZlLiAKICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAiIiBpcyB0aGUgbGFzdCBtaW4oMTAsIDApID0gMCBjaGFyYWN0ZXJzIHRvIHRoZSBsZWZ0IG9mIHRoZSBjdXJzb3IuCnRleHRFZGl0b3IuY3Vyc29yUmlnaHQoNik7IC8vIHJldHVybiAicHJhY3RpIgogICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgY3VycmVudCB0ZXh0IGlzICJwcmFjdGl8Y2UiLgogICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAicHJhY3RpIiBpcyB0aGUgbGFzdCBtaW4oMTAsIDYpID0gNiBjaGFyYWN0ZXJzIHRvIHRoZSBsZWZ0IG9mIHRoZSBjdXJzb3IuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gdGV4dC5sZW5ndGgsIGsgJmx0Oz0gNDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnRleHQ8L2NvZGU+IGNvbnNpc3RzIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPGxpPkF0IG1vc3QgPGNvZGU+MiAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPiBjYWxscyA8c3Ryb25nPmluIHRvdGFsPC9zdHJvbmc+IHdpbGwgYmUgbWFkZSB0byA8Y29kZT5hZGRUZXh0PC9jb2RlPiwgPGNvZGU+ZGVsZXRlVGV4dDwvY29kZT4sIDxjb2RlPmN1cnNvckxlZnQ8L2NvZGU+IGFuZCA8Y29kZT5jdXJzb3JSaWdodDwvY29kZT4uPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Rm9sbG93LXVwOjwvc3Ryb25nPiBDb3VsZCB5b3UgZmluZCBhIHNvbHV0aW9uIHdpdGggdGltZSBjb21wbGV4aXR5IG9mIDxjb2RlPk8oayk8L2NvZGU+IHBlciBjYWxsPzwvcD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Linked List",
+ "String",
+ "Stack",
+ "Design",
+ "Simulation",
+ "Doubly-Linked List"
+ ]
+ },
+ {
+ "title": "2286. Booking Concert Tickets in Groups",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgY29uY2VydCBoYWxsIGhhcyA8Y29kZT5uPC9jb2RlPiByb3dzIG51bWJlcmVkIGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+biAtIDE8L2NvZGU+LCBlYWNoIHdpdGggPGNvZGU+bTwvY29kZT4gc2VhdHMsIG51bWJlcmVkIGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+bSAtIDE8L2NvZGU+LiBZb3UgbmVlZCB0byBkZXNpZ24gYSB0aWNrZXRpbmcgc3lzdGVtIHRoYXQgY2FuIGFsbG9jYXRlIHNlYXRzIGluIHRoZSBmb2xsb3dpbmcgY2FzZXM6PC9wPgo8dWw+CjxsaT5JZiBhIGdyb3VwIG9mIDxjb2RlPms8L2NvZGU+IHNwZWN0YXRvcnMgY2FuIHNpdCA8c3Ryb25nPnRvZ2V0aGVyPC9zdHJvbmc+IGluIGEgcm93LjwvbGk+CjxsaT5JZiA8c3Ryb25nPmV2ZXJ5PC9zdHJvbmc+IG1lbWJlciBvZiBhIGdyb3VwIG9mIDxjb2RlPms8L2NvZGU+IHNwZWN0YXRvcnMgY2FuIGdldCBhIHNlYXQuIFRoZXkgbWF5IG9yIDxzdHJvbmc+bWF5IG5vdDwvc3Ryb25nPiBzaXQgdG9nZXRoZXIuPC9saT4KPC91bD4KPHA+Tm90ZSB0aGF0IHRoZSBzcGVjdGF0b3JzIGFyZSB2ZXJ5IHBpY2t5LiBIZW5jZTo8L3A+Cjx1bD4KPGxpPlRoZXkgd2lsbCBib29rIHNlYXRzIG9ubHkgaWYgZWFjaCBtZW1iZXIgb2YgdGhlaXIgZ3JvdXAgY2FuIGdldCBhIHNlYXQgd2l0aCByb3cgbnVtYmVyIDxzdHJvbmc+bGVzcyB0aGFuIG9yIGVxdWFsPC9zdHJvbmc+IHRvIDxjb2RlPm1heFJvdzwvY29kZT4uIDxjb2RlPm1heFJvdzwvY29kZT4gY2FuIDxzdHJvbmc+dmFyeTwvc3Ryb25nPiBmcm9tIGdyb3VwIHRvIGdyb3VwLjwvbGk+CjxsaT5JbiBjYXNlIHRoZXJlIGFyZSBtdWx0aXBsZSByb3dzIHRvIGNob29zZSBmcm9tLCB0aGUgcm93IHdpdGggdGhlIDxzdHJvbmc+c21hbGxlc3Q8L3N0cm9uZz4gbnVtYmVyIGlzIGNob3Nlbi4gSWYgdGhlcmUgYXJlIG11bHRpcGxlIHNlYXRzIHRvIGNob29zZSBpbiB0aGUgc2FtZSByb3csIHRoZSBzZWF0IHdpdGggdGhlIDxzdHJvbmc+c21hbGxlc3Q8L3N0cm9uZz4gbnVtYmVyIGlzIGNob3Nlbi48L2xpPgo8L3VsPgo8cD5JbXBsZW1lbnQgdGhlIDxjb2RlPkJvb2tNeVNob3c8L2NvZGU+IGNsYXNzOjwvcD4KPHVsPgo8bGk+PGNvZGU+Qm9va015U2hvdyhpbnQgbiwgaW50IG0pPC9jb2RlPiBJbml0aWFsaXplcyB0aGUgb2JqZWN0IHdpdGggPGNvZGU+bjwvY29kZT4gYXMgbnVtYmVyIG9mIHJvd3MgYW5kIDxjb2RlPm08L2NvZGU+IGFzIG51bWJlciBvZiBzZWF0cyBwZXIgcm93LjwvbGk+CjxsaT48Y29kZT5pbnRbXSBnYXRoZXIoaW50IGssIGludCBtYXhSb3cpPC9jb2RlPiBSZXR1cm5zIGFuIGFycmF5IG9mIGxlbmd0aCA8Y29kZT4yPC9jb2RlPiBkZW5vdGluZyB0aGUgcm93IGFuZCBzZWF0IG51bWJlciAocmVzcGVjdGl2ZWx5KSBvZiB0aGUgPHN0cm9uZz5maXJzdCBzZWF0PC9zdHJvbmc+IGJlaW5nIGFsbG9jYXRlZCB0byB0aGUgPGNvZGU+azwvY29kZT4gbWVtYmVycyBvZiB0aGUgZ3JvdXAsIHdobyBtdXN0IHNpdCA8c3Ryb25nPnRvZ2V0aGVyPC9zdHJvbmc+LiBJbiBvdGhlciB3b3JkcywgaXQgcmV0dXJucyB0aGUgc21hbGxlc3QgcG9zc2libGUgPGNvZGU+cjwvY29kZT4gYW5kIDxjb2RlPmM8L2NvZGU+IHN1Y2ggdGhhdCBhbGwgPGNvZGU+W2MsIGMgKyBrIC0gMV08L2NvZGU+IHNlYXRzIGFyZSB2YWxpZCBhbmQgZW1wdHkgaW4gcm93IDxjb2RlPnI8L2NvZGU+LCBhbmQgPGNvZGU+ciAmbHQ7PSBtYXhSb3c8L2NvZGU+LiBSZXR1cm5zIDxjb2RlPltdPC9jb2RlPiBpbiBjYXNlIGl0IGlzIDxzdHJvbmc+bm90IHBvc3NpYmxlPC9zdHJvbmc+IHRvIGFsbG9jYXRlIHNlYXRzIHRvIHRoZSBncm91cC48L2xpPgo8bGk+PGNvZGU+Ym9vbGVhbiBzY2F0dGVyKGludCBrLCBpbnQgbWF4Um93KTwvY29kZT4gUmV0dXJucyA8Y29kZT50cnVlPC9jb2RlPiBpZiBhbGwgPGNvZGU+azwvY29kZT4gbWVtYmVycyBvZiB0aGUgZ3JvdXAgY2FuIGJlIGFsbG9jYXRlZCBzZWF0cyBpbiByb3dzIDxjb2RlPjA8L2NvZGU+IHRvIDxjb2RlPm1heFJvdzwvY29kZT4sIHdobyBtYXkgb3IgPHN0cm9uZz5tYXkgbm90PC9zdHJvbmc+IHNpdCB0b2dldGhlci4gSWYgdGhlIHNlYXRzIGNhbiBiZSBhbGxvY2F0ZWQsIGl0IGFsbG9jYXRlcyA8Y29kZT5rPC9jb2RlPiBzZWF0cyB0byB0aGUgZ3JvdXAgd2l0aCB0aGUgPHN0cm9uZz5zbWFsbGVzdDwvc3Ryb25nPiByb3cgbnVtYmVycywgYW5kIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSBzZWF0IG51bWJlcnMgaW4gZWFjaCByb3cuIE90aGVyd2lzZSwgcmV0dXJucyA8Y29kZT5mYWxzZTwvY29kZT4uPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDwvc3Ryb25nPgpbIkJvb2tNeVNob3ciLCAiZ2F0aGVyIiwgImdhdGhlciIsICJzY2F0dGVyIiwgInNjYXR0ZXIiXQpbWzIsIDVdLCBbNCwgMF0sIFsyLCAwXSwgWzUsIDFdLCBbNSwgMV1dCjxzdHJvbmc+T3V0cHV0PC9zdHJvbmc+CltudWxsLCBbMCwgMF0sIFtdLCB0cnVlLCBmYWxzZV0KCjxzdHJvbmc+RXhwbGFuYXRpb248L3N0cm9uZz4KQm9va015U2hvdyBibXMgPSBuZXcgQm9va015U2hvdygyLCA1KTsgLy8gVGhlcmUgYXJlIDIgcm93cyB3aXRoIDUgc2VhdHMgZWFjaCAKYm1zLmdhdGhlcig0LCAwKTsgLy8gcmV0dXJuIFswLCAwXQogICAgICAgICAgICAgICAgICAvLyBUaGUgZ3JvdXAgYm9va3Mgc2VhdHMgWzAsIDNdIG9mIHJvdyAwLiAKYm1zLmdhdGhlcigyLCAwKTsgLy8gcmV0dXJuIFtdCiAgICAgICAgICAgICAgICAgIC8vIFRoZXJlIGlzIG9ubHkgMSBzZWF0IGxlZnQgaW4gcm93IDAsCiAgICAgICAgICAgICAgICAgIC8vIHNvIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBib29rIDIgY29uc2VjdXRpdmUgc2VhdHMuIApibXMuc2NhdHRlcig1LCAxKTsgLy8gcmV0dXJuIFRydWUKICAgICAgICAgICAgICAgICAgIC8vIFRoZSBncm91cCBib29rcyBzZWF0IDQgb2Ygcm93IDAgYW5kIHNlYXRzIFswLCAzXSBvZiByb3cgMS4gCmJtcy5zY2F0dGVyKDUsIDEpOyAvLyByZXR1cm4gRmFsc2UKICAgICAgICAgICAgICAgICAgIC8vIFRoZXJlIGlzIG9ubHkgb25lIHNlYXQgbGVmdCBpbiB0aGUgaGFsbC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDUgKiAxMDxzdXA+NDwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBtLCBrICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IG1heFJvdyAmbHQ7PSBuIC0gMTwvY29kZT48L2xpPgo8bGk+QXQgbW9zdCA8Y29kZT41ICogMTA8c3VwPjQ8L3N1cD48L2NvZGU+IGNhbGxzIDxzdHJvbmc+aW4gdG90YWw8L3N0cm9uZz4gd2lsbCBiZSBtYWRlIHRvIDxjb2RlPmdhdGhlcjwvY29kZT4gYW5kIDxjb2RlPnNjYXR0ZXI8L2NvZGU+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Binary Search",
+ "Design",
+ "Binary Indexed Tree",
+ "Segment Tree"
+ ]
+ },
+ {
+ "title": "2290. Minimum Obstacle Removal to Reach Corner",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPmdyaWQ8L2NvZGU+IG9mIHNpemUgPGNvZGU+bSB4IG48L2NvZGU+LiBFYWNoIGNlbGwgaGFzIG9uZSBvZiB0d28gdmFsdWVzOjwvcD4KPHVsPgo8bGk+PGNvZGU+MDwvY29kZT4gcmVwcmVzZW50cyBhbiA8c3Ryb25nPmVtcHR5PC9zdHJvbmc+IGNlbGwsPC9saT4KPGxpPjxjb2RlPjE8L2NvZGU+IHJlcHJlc2VudHMgYW4gPHN0cm9uZz5vYnN0YWNsZTwvc3Ryb25nPiB0aGF0IG1heSBiZSByZW1vdmVkLjwvbGk+CjwvdWw+CjxwPllvdSBjYW4gbW92ZSB1cCwgZG93biwgbGVmdCwgb3IgcmlnaHQgZnJvbSBhbmQgdG8gYW4gZW1wdHkgY2VsbC48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiBudW1iZXIgb2YgPHN0cm9uZz5vYnN0YWNsZXM8L3N0cm9uZz4gdG8gPHN0cm9uZz5yZW1vdmU8L3N0cm9uZz4gc28geW91IGNhbiBtb3ZlIGZyb20gdGhlIHVwcGVyIGxlZnQgY29ybmVyIDwvZW0+PGNvZGU+KDAsIDApPC9jb2RlPjxlbT4gdG8gdGhlIGxvd2VyIHJpZ2h0IGNvcm5lciA8L2VtPjxjb2RlPihtIC0gMSwgbiAtIDEpPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDQvMDYvZXhhbXBsZTFkcmF3aW8tMS5wbmciIHN0eWxlPSJ3aWR0aDogNjA1cHg7IGhlaWdodDogMjQ2cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbMCwxLDFdLFsxLDEsMF0sWzEsMSwwXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gV2UgY2FuIHJlbW92ZSB0aGUgb2JzdGFjbGVzIGF0ICgwLCAxKSBhbmQgKDAsIDIpIHRvIGNyZWF0ZSBhIHBhdGggZnJvbSAoMCwgMCkgdG8gKDIsIDIpLgpJdCBjYW4gYmUgc2hvd24gdGhhdCB3ZSBuZWVkIHRvIHJlbW92ZSBhdCBsZWFzdCAyIG9ic3RhY2xlcywgc28gd2UgcmV0dXJuIDIuCk5vdGUgdGhhdCB0aGVyZSBtYXkgYmUgb3RoZXIgd2F5cyB0byByZW1vdmUgMiBvYnN0YWNsZXMgdG8gY3JlYXRlIGEgcGF0aC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wNC8wNi9leGFtcGxlMWRyYXdpby5wbmciIHN0eWxlPSJ3aWR0aDogNDA1cHg7IGhlaWdodDogMjQ2cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbMCwxLDAsMCwwXSxbMCwxLDAsMSwwXSxbMCwwLDAsMSwwXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gV2UgY2FuIG1vdmUgZnJvbSAoMCwgMCkgdG8gKDIsIDQpIHdpdGhvdXQgcmVtb3ZpbmcgYW55IG9ic3RhY2xlcywgc28gd2UgcmV0dXJuIDAuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm0gPT0gZ3JpZC5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPm4gPT0gZ3JpZFtpXS5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbSwgbiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MiAmbHQ7PSBtICogbiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+Z3JpZFtpXVtqXTwvY29kZT4gaXMgZWl0aGVyIDxjb2RlPjA8L2NvZGU+IDxzdHJvbmc+b3I8L3N0cm9uZz4gPGNvZGU+MTwvY29kZT4uPC9saT4KPGxpPjxjb2RlPmdyaWRbMF1bMF0gPT0gZ3JpZFttIC0gMV1bbiAtIDFdID09IDA8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Breadth-First Search",
+ "Graph",
+ "Heap (Priority Queue)",
+ "Matrix",
+ "Shortest Path"
+ ]
+ },
+ {
+ "title": "2281. Sum of Total Strength of Wizards",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkFzIHRoZSBydWxlciBvZiBhIGtpbmdkb20sIHlvdSBoYXZlIGFuIGFybXkgb2Ygd2l6YXJkcyBhdCB5b3VyIGNvbW1hbmQuPC9wPgo8cD5Zb3UgYXJlIGdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT5zdHJlbmd0aDwvY29kZT4sIHdoZXJlIDxjb2RlPnN0cmVuZ3RoW2ldPC9jb2RlPiBkZW5vdGVzIHRoZSBzdHJlbmd0aCBvZiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHdpemFyZC4gRm9yIGEgPHN0cm9uZz5jb250aWd1b3VzPC9zdHJvbmc+IGdyb3VwIG9mIHdpemFyZHMgKGkuZS4gdGhlIHdpemFyZHMnIHN0cmVuZ3RocyBmb3JtIGEgPHN0cm9uZz5zdWJhcnJheTwvc3Ryb25nPiBvZiA8Y29kZT5zdHJlbmd0aDwvY29kZT4pLCB0aGUgPHN0cm9uZz50b3RhbCBzdHJlbmd0aDwvc3Ryb25nPiBpcyBkZWZpbmVkIGFzIHRoZSA8c3Ryb25nPnByb2R1Y3Q8L3N0cm9uZz4gb2YgdGhlIGZvbGxvd2luZyB0d28gdmFsdWVzOjwvcD4KPHVsPgo8bGk+VGhlIHN0cmVuZ3RoIG9mIHRoZSA8c3Ryb25nPndlYWtlc3Q8L3N0cm9uZz4gd2l6YXJkIGluIHRoZSBncm91cC48L2xpPgo8bGk+VGhlIDxzdHJvbmc+dG90YWw8L3N0cm9uZz4gb2YgYWxsIHRoZSBpbmRpdmlkdWFsIHN0cmVuZ3RocyBvZiB0aGUgd2l6YXJkcyBpbiB0aGUgZ3JvdXAuPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5zdW08L3N0cm9uZz4gb2YgdGhlIHRvdGFsIHN0cmVuZ3RocyBvZiA8c3Ryb25nPmFsbDwvc3Ryb25nPiBjb250aWd1b3VzIGdyb3VwcyBvZiB3aXphcmRzPC9lbT4uIFNpbmNlIHRoZSBhbnN3ZXIgbWF5IGJlIHZlcnkgbGFyZ2UsIHJldHVybiBpdCA8c3Ryb25nPm1vZHVsbzwvc3Ryb25nPiA8Y29kZT4xMDxzdXA+OTwvc3VwPiArIDc8L2NvZGU+LjwvcD4KPHA+QSA8c3Ryb25nPnN1YmFycmF5PC9zdHJvbmc+IGlzIGEgY29udGlndW91cyA8c3Ryb25nPm5vbi1lbXB0eTwvc3Ryb25nPiBzZXF1ZW5jZSBvZiBlbGVtZW50cyB3aXRoaW4gYW4gYXJyYXkuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzdHJlbmd0aCA9IFsxLDMsMSwyXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGZvbGxvd2luZyBhcmUgYWxsIHRoZSBjb250aWd1b3VzIGdyb3VwcyBvZiB3aXphcmRzOgotIFsxXSBmcm9tIFs8dT48c3Ryb25nPjE8L3N0cm9uZz48L3U+LDMsMSwyXSBoYXMgYSB0b3RhbCBzdHJlbmd0aCBvZiBtaW4oWzFdKSAqIHN1bShbMV0pID0gMSAqIDEgPSAxCi0gWzNdIGZyb20gWzEsPHU+PHN0cm9uZz4zPC9zdHJvbmc+PC91PiwxLDJdIGhhcyBhIHRvdGFsIHN0cmVuZ3RoIG9mIG1pbihbM10pICogc3VtKFszXSkgPSAzICogMyA9IDkKLSBbMV0gZnJvbSBbMSwzLDx1PjxzdHJvbmc+MTwvc3Ryb25nPjwvdT4sMl0gaGFzIGEgdG90YWwgc3RyZW5ndGggb2YgbWluKFsxXSkgKiBzdW0oWzFdKSA9IDEgKiAxID0gMQotIFsyXSBmcm9tIFsxLDMsMSw8dT48c3Ryb25nPjI8L3N0cm9uZz48L3U+XSBoYXMgYSB0b3RhbCBzdHJlbmd0aCBvZiBtaW4oWzJdKSAqIHN1bShbMl0pID0gMiAqIDIgPSA0Ci0gWzEsM10gZnJvbSBbPHU+PHN0cm9uZz4xLDM8L3N0cm9uZz48L3U+LDEsMl0gaGFzIGEgdG90YWwgc3RyZW5ndGggb2YgbWluKFsxLDNdKSAqIHN1bShbMSwzXSkgPSAxICogNCA9IDQKLSBbMywxXSBmcm9tIFsxLDx1PjxzdHJvbmc+MywxPC9zdHJvbmc+PC91PiwyXSBoYXMgYSB0b3RhbCBzdHJlbmd0aCBvZiBtaW4oWzMsMV0pICogc3VtKFszLDFdKSA9IDEgKiA0ID0gNAotIFsxLDJdIGZyb20gWzEsMyw8dT48c3Ryb25nPjEsMjwvc3Ryb25nPjwvdT5dIGhhcyBhIHRvdGFsIHN0cmVuZ3RoIG9mIG1pbihbMSwyXSkgKiBzdW0oWzEsMl0pID0gMSAqIDMgPSAzCi0gWzEsMywxXSBmcm9tIFs8dT48c3Ryb25nPjEsMywxPC9zdHJvbmc+PC91PiwyXSBoYXMgYSB0b3RhbCBzdHJlbmd0aCBvZiBtaW4oWzEsMywxXSkgKiBzdW0oWzEsMywxXSkgPSAxICogNSA9IDUKLSBbMywxLDJdIGZyb20gWzEsPHU+PHN0cm9uZz4zLDEsMjwvc3Ryb25nPjwvdT5dIGhhcyBhIHRvdGFsIHN0cmVuZ3RoIG9mIG1pbihbMywxLDJdKSAqIHN1bShbMywxLDJdKSA9IDEgKiA2ID0gNgotIFsxLDMsMSwyXSBmcm9tIFs8dT48c3Ryb25nPjEsMywxLDI8L3N0cm9uZz48L3U+XSBoYXMgYSB0b3RhbCBzdHJlbmd0aCBvZiBtaW4oWzEsMywxLDJdKSAqIHN1bShbMSwzLDEsMl0pID0gMSAqIDcgPSA3ClRoZSBzdW0gb2YgYWxsIHRoZSB0b3RhbCBzdHJlbmd0aHMgaXMgMSArIDkgKyAxICsgNCArIDQgKyA0ICsgMyArIDUgKyA2ICsgNyA9IDQ0Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzdHJlbmd0aCA9IFs1LDQsNl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIxMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgZm9sbG93aW5nIGFyZSBhbGwgdGhlIGNvbnRpZ3VvdXMgZ3JvdXBzIG9mIHdpemFyZHM6IAotIFs1XSBmcm9tIFs8dT48c3Ryb25nPjU8L3N0cm9uZz48L3U+LDQsNl0gaGFzIGEgdG90YWwgc3RyZW5ndGggb2YgbWluKFs1XSkgKiBzdW0oWzVdKSA9IDUgKiA1ID0gMjUKLSBbNF0gZnJvbSBbNSw8dT48c3Ryb25nPjQ8L3N0cm9uZz48L3U+LDZdIGhhcyBhIHRvdGFsIHN0cmVuZ3RoIG9mIG1pbihbNF0pICogc3VtKFs0XSkgPSA0ICogNCA9IDE2Ci0gWzZdIGZyb20gWzUsNCw8dT48c3Ryb25nPjY8L3N0cm9uZz48L3U+XSBoYXMgYSB0b3RhbCBzdHJlbmd0aCBvZiBtaW4oWzZdKSAqIHN1bShbNl0pID0gNiAqIDYgPSAzNgotIFs1LDRdIGZyb20gWzx1PjxzdHJvbmc+NSw0PC9zdHJvbmc+PC91Piw2XSBoYXMgYSB0b3RhbCBzdHJlbmd0aCBvZiBtaW4oWzUsNF0pICogc3VtKFs1LDRdKSA9IDQgKiA5ID0gMzYKLSBbNCw2XSBmcm9tIFs1LDx1PjxzdHJvbmc+NCw2PC9zdHJvbmc+PC91Pl0gaGFzIGEgdG90YWwgc3RyZW5ndGggb2YgbWluKFs0LDZdKSAqIHN1bShbNCw2XSkgPSA0ICogMTAgPSA0MAotIFs1LDQsNl0gZnJvbSBbPHU+PHN0cm9uZz41LDQsNjwvc3Ryb25nPjwvdT5dIGhhcyBhIHRvdGFsIHN0cmVuZ3RoIG9mIG1pbihbNSw0LDZdKSAqIHN1bShbNSw0LDZdKSA9IDQgKiAxNSA9IDYwClRoZSBzdW0gb2YgYWxsIHRoZSB0b3RhbCBzdHJlbmd0aHMgaXMgMjUgKyAxNiArIDM2ICsgMzYgKyA0MCArIDYwID0gMjEzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHN0cmVuZ3RoLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBzdHJlbmd0aFtpXSAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Stack",
+ "Monotonic Stack",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2246. Longest Path With Different Adjacent Characters",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPnRyZWU8L3N0cm9uZz4gKGkuZS4gYSBjb25uZWN0ZWQsIHVuZGlyZWN0ZWQgZ3JhcGggdGhhdCBoYXMgbm8gY3ljbGVzKSA8c3Ryb25nPnJvb3RlZDwvc3Ryb25nPiBhdCBub2RlIDxjb2RlPjA8L2NvZGU+IGNvbnNpc3Rpbmcgb2YgPGNvZGU+bjwvY29kZT4gbm9kZXMgbnVtYmVyZWQgZnJvbSA8Y29kZT4wPC9jb2RlPiB0byA8Y29kZT5uIC0gMTwvY29kZT4uIFRoZSB0cmVlIGlzIHJlcHJlc2VudGVkIGJ5IGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gYXJyYXkgPGNvZGU+cGFyZW50PC9jb2RlPiBvZiBzaXplIDxjb2RlPm48L2NvZGU+LCB3aGVyZSA8Y29kZT5wYXJlbnRbaV08L2NvZGU+IGlzIHRoZSBwYXJlbnQgb2Ygbm9kZSA8Y29kZT5pPC9jb2RlPi4gU2luY2Ugbm9kZSA8Y29kZT4wPC9jb2RlPiBpcyB0aGUgcm9vdCwgPGNvZGU+cGFyZW50WzBdID09IC0xPC9jb2RlPi48L3A+CjxwPllvdSBhcmUgYWxzbyBnaXZlbiBhIHN0cmluZyA8Y29kZT5zPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4sIHdoZXJlIDxjb2RlPnNbaV08L2NvZGU+IGlzIHRoZSBjaGFyYWN0ZXIgYXNzaWduZWQgdG8gbm9kZSA8Y29kZT5pPC9jb2RlPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIGxlbmd0aCBvZiB0aGUgPHN0cm9uZz5sb25nZXN0IHBhdGg8L3N0cm9uZz4gaW4gdGhlIHRyZWUgc3VjaCB0aGF0IG5vIHBhaXIgb2YgPHN0cm9uZz5hZGphY2VudDwvc3Ryb25nPiBub2RlcyBvbiB0aGUgcGF0aCBoYXZlIHRoZSBzYW1lIGNoYXJhY3RlciBhc3NpZ25lZCB0byB0aGVtLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAzLzI1L3Rlc3RpbmdkcmF3aW8ucG5nIiBzdHlsZT0id2lkdGg6IDIwMXB4OyBoZWlnaHQ6IDI0MXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHBhcmVudCA9IFstMSwwLDAsMSwxLDJdLCBzID0gImFiYWNiZSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGxvbmdlc3QgcGF0aCB3aGVyZSBlYWNoIHR3byBhZGphY2VudCBub2RlcyBoYXZlIGRpZmZlcmVudCBjaGFyYWN0ZXJzIGluIHRoZSB0cmVlIGlzIHRoZSBwYXRoOiAwIC0mZ3Q7IDEgLSZndDsgMy4gVGhlIGxlbmd0aCBvZiB0aGlzIHBhdGggaXMgMywgc28gMyBpcyByZXR1cm5lZC4KSXQgY2FuIGJlIHByb3ZlbiB0aGF0IHRoZXJlIGlzIG5vIGxvbmdlciBwYXRoIHRoYXQgc2F0aXNmaWVzIHRoZSBjb25kaXRpb25zLiAKPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMy8yNS9ncmFwaDJkcmF3aW8ucG5nIiBzdHlsZT0id2lkdGg6IDIwMXB4OyBoZWlnaHQ6IDIyMXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHBhcmVudCA9IFstMSwwLDAsMF0sIHMgPSAiYWFiYyIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGxvbmdlc3QgcGF0aCB3aGVyZSBlYWNoIHR3byBhZGphY2VudCBub2RlcyBoYXZlIGRpZmZlcmVudCBjaGFyYWN0ZXJzIGlzIHRoZSBwYXRoOiAyIC0mZ3Q7IDAgLSZndDsgMy4gVGhlIGxlbmd0aCBvZiB0aGlzIHBhdGggaXMgMywgc28gMyBpcyByZXR1cm5lZC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBwYXJlbnQubGVuZ3RoID09IHMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gcGFyZW50W2ldICZsdDs9IG4gLSAxPC9jb2RlPiBmb3IgYWxsIDxjb2RlPmkgJmd0Oz0gMTwvY29kZT48L2xpPgo8bGk+PGNvZGU+cGFyZW50WzBdID09IC0xPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5wYXJlbnQ8L2NvZGU+IHJlcHJlc2VudHMgYSB2YWxpZCB0cmVlLjwvbGk+CjxsaT48Y29kZT5zPC9jb2RlPiBjb25zaXN0cyBvZiBvbmx5IGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "String",
+ "Tree",
+ "Depth-First Search",
+ "Graph",
+ "Topological Sort"
+ ]
+ },
+ {
+ "title": "2272. Substring With Largest Variance",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZSA8c3Ryb25nPnZhcmlhbmNlPC9zdHJvbmc+IG9mIGEgc3RyaW5nIGlzIGRlZmluZWQgYXMgdGhlIGxhcmdlc3QgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgb2YgPHN0cm9uZz5hbnk8L3N0cm9uZz4gPGNvZGU+MjwvY29kZT4gY2hhcmFjdGVycyBwcmVzZW50IGluIHRoZSBzdHJpbmcuIE5vdGUgdGhlIHR3byBjaGFyYWN0ZXJzIG1heSBvciBtYXkgbm90IGJlIHRoZSBzYW1lLjwvcD4KPHA+R2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4gY29uc2lzdGluZyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzIG9ubHksIHJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bGFyZ2VzdCB2YXJpYW5jZTwvc3Ryb25nPiBwb3NzaWJsZSBhbW9uZyBhbGwgPHN0cm9uZz5zdWJzdHJpbmdzPC9zdHJvbmc+IG9mPC9lbT4gPGNvZGU+czwvY29kZT4uPC9wPgo8cD5BIDxzdHJvbmc+c3Vic3RyaW5nPC9zdHJvbmc+IGlzIGEgY29udGlndW91cyBzZXF1ZW5jZSBvZiBjaGFyYWN0ZXJzIHdpdGhpbiBhIHN0cmluZy48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiYWFiYWJiYiIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KQWxsIHBvc3NpYmxlIHZhcmlhbmNlcyBhbG9uZyB3aXRoIHRoZWlyIHJlc3BlY3RpdmUgc3Vic3RyaW5ncyBhcmUgbGlzdGVkIGJlbG93OgotIFZhcmlhbmNlIDAgZm9yIHN1YnN0cmluZ3MgImEiLCAiYWEiLCAiYWIiLCAiYWJhYiIsICJhYWJhYmIiLCAiYmEiLCAiYiIsICJiYiIsIGFuZCAiYmJiIi4KLSBWYXJpYW5jZSAxIGZvciBzdWJzdHJpbmdzICJhYWIiLCAiYWJhIiwgImFiYiIsICJhYWJhYiIsICJhYmFiYiIsICJhYWJhYmJiIiwgYW5kICJiYWIiLgotIFZhcmlhbmNlIDIgZm9yIHN1YnN0cmluZ3MgImFhYmEiLCAiYWJhYmJiIiwgImFiYmIiLCBhbmQgImJhYmIiLgotIFZhcmlhbmNlIDMgZm9yIHN1YnN0cmluZyAiYmFiYmIiLgpTaW5jZSB0aGUgbGFyZ2VzdCBwb3NzaWJsZSB2YXJpYW5jZSBpcyAzLCB3ZSByZXR1cm4gaXQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiYWJjZGUiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ck5vIGxldHRlciBvY2N1cnMgbW9yZSB0aGFuIG9uY2UgaW4gcywgc28gdGhlIHZhcmlhbmNlIG9mIGV2ZXJ5IHN1YnN0cmluZyBpcyAwLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHMubGVuZ3RoICZsdDs9IDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zPC9jb2RlPiBjb25zaXN0cyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Dynamic Programming"
+ ]
+ },
+ {
+ "title": "2276. Count Integers in Intervals",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGFuIDxzdHJvbmc+ZW1wdHk8L3N0cm9uZz4gc2V0IG9mIGludGVydmFscywgaW1wbGVtZW50IGEgZGF0YSBzdHJ1Y3R1cmUgdGhhdCBjYW46PC9wPgo8dWw+CjxsaT48c3Ryb25nPkFkZDwvc3Ryb25nPiBhbiBpbnRlcnZhbCB0byB0aGUgc2V0IG9mIGludGVydmFscy48L2xpPgo8bGk+PHN0cm9uZz5Db3VudDwvc3Ryb25nPiB0aGUgbnVtYmVyIG9mIGludGVnZXJzIHRoYXQgYXJlIHByZXNlbnQgaW4gPHN0cm9uZz5hdCBsZWFzdCBvbmU8L3N0cm9uZz4gaW50ZXJ2YWwuPC9saT4KPC91bD4KPHA+SW1wbGVtZW50IHRoZSA8Y29kZT5Db3VudEludGVydmFsczwvY29kZT4gY2xhc3M6PC9wPgo8dWw+CjxsaT48Y29kZT5Db3VudEludGVydmFscygpPC9jb2RlPiBJbml0aWFsaXplcyB0aGUgb2JqZWN0IHdpdGggYW4gZW1wdHkgc2V0IG9mIGludGVydmFscy48L2xpPgo8bGk+PGNvZGU+dm9pZCBhZGQoaW50IGxlZnQsIGludCByaWdodCk8L2NvZGU+IEFkZHMgdGhlIGludGVydmFsIDxjb2RlPltsZWZ0LCByaWdodF08L2NvZGU+IHRvIHRoZSBzZXQgb2YgaW50ZXJ2YWxzLjwvbGk+CjxsaT48Y29kZT5pbnQgY291bnQoKTwvY29kZT4gUmV0dXJucyB0aGUgbnVtYmVyIG9mIGludGVnZXJzIHRoYXQgYXJlIHByZXNlbnQgaW4gPHN0cm9uZz5hdCBsZWFzdCBvbmU8L3N0cm9uZz4gaW50ZXJ2YWwuPC9saT4KPC91bD4KPHA+PHN0cm9uZz5Ob3RlPC9zdHJvbmc+IHRoYXQgYW4gaW50ZXJ2YWwgPGNvZGU+W2xlZnQsIHJpZ2h0XTwvY29kZT4gZGVub3RlcyBhbGwgdGhlIGludGVnZXJzIDxjb2RlPng8L2NvZGU+IHdoZXJlIDxjb2RlPmxlZnQgJmx0Oz0geCAmbHQ7PSByaWdodDwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0PC9zdHJvbmc+ClsiQ291bnRJbnRlcnZhbHMiLCAiYWRkIiwgImFkZCIsICJjb3VudCIsICJhZGQiLCAiY291bnQiXQpbW10sIFsyLCAzXSwgWzcsIDEwXSwgW10sIFs1LCA4XSwgW11dCjxzdHJvbmc+T3V0cHV0PC9zdHJvbmc+CltudWxsLCBudWxsLCBudWxsLCA2LCBudWxsLCA4XQoKPHN0cm9uZz5FeHBsYW5hdGlvbjwvc3Ryb25nPgpDb3VudEludGVydmFscyBjb3VudEludGVydmFscyA9IG5ldyBDb3VudEludGVydmFscygpOyAvLyBpbml0aWFsaXplIHRoZSBvYmplY3Qgd2l0aCBhbiBlbXB0eSBzZXQgb2YgaW50ZXJ2YWxzLiAKY291bnRJbnRlcnZhbHMuYWRkKDIsIDMpOyAgLy8gYWRkIFsyLCAzXSB0byB0aGUgc2V0IG9mIGludGVydmFscy4KY291bnRJbnRlcnZhbHMuYWRkKDcsIDEwKTsgLy8gYWRkIFs3LCAxMF0gdG8gdGhlIHNldCBvZiBpbnRlcnZhbHMuCmNvdW50SW50ZXJ2YWxzLmNvdW50KCk7ICAgIC8vIHJldHVybiA2CiAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBpbnRlZ2VycyAyIGFuZCAzIGFyZSBwcmVzZW50IGluIHRoZSBpbnRlcnZhbCBbMiwgM10uCiAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBpbnRlZ2VycyA3LCA4LCA5LCBhbmQgMTAgYXJlIHByZXNlbnQgaW4gdGhlIGludGVydmFsIFs3LCAxMF0uCmNvdW50SW50ZXJ2YWxzLmFkZCg1LCA4KTsgIC8vIGFkZCBbNSwgOF0gdG8gdGhlIHNldCBvZiBpbnRlcnZhbHMuCmNvdW50SW50ZXJ2YWxzLmNvdW50KCk7ICAgIC8vIHJldHVybiA4CiAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBpbnRlZ2VycyAyIGFuZCAzIGFyZSBwcmVzZW50IGluIHRoZSBpbnRlcnZhbCBbMiwgM10uCiAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBpbnRlZ2VycyA1IGFuZCA2IGFyZSBwcmVzZW50IGluIHRoZSBpbnRlcnZhbCBbNSwgOF0uCiAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBpbnRlZ2VycyA3IGFuZCA4IGFyZSBwcmVzZW50IGluIHRoZSBpbnRlcnZhbHMgWzUsIDhdIGFuZCBbNywgMTBdLgogICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGUgaW50ZWdlcnMgOSBhbmQgMTAgYXJlIHByZXNlbnQgaW4gdGhlIGludGVydmFsIFs3LCAxMF0uCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbGVmdCAmbHQ7PSByaWdodCAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8bGk+QXQgbW9zdCA8Y29kZT4xMDxzdXA+NTwvc3VwPjwvY29kZT4gY2FsbHMgPHN0cm9uZz5pbiB0b3RhbDwvc3Ryb25nPiB3aWxsIGJlIG1hZGUgdG8gPGNvZGU+YWRkPC9jb2RlPiBhbmQgPGNvZGU+Y291bnQ8L2NvZGU+LjwvbGk+CjxsaT5BdCBsZWFzdCA8c3Ryb25nPm9uZTwvc3Ryb25nPiBjYWxsIHdpbGwgYmUgbWFkZSB0byA8Y29kZT5jb3VudDwvY29kZT4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Design",
+ "Segment Tree",
+ "Ordered Set"
+ ]
+ },
+ {
+ "title": "2242. Maximum Score of a Node Sequence",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGFuIDxzdHJvbmc+dW5kaXJlY3RlZDwvc3Ryb25nPiBncmFwaCB3aXRoIDxjb2RlPm48L2NvZGU+IG5vZGVzLCBudW1iZXJlZCBmcm9tIDxjb2RlPjA8L2NvZGU+IHRvIDxjb2RlPm4gLSAxPC9jb2RlPi48L3A+CjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPnNjb3JlczwvY29kZT4gb2YgbGVuZ3RoIDxjb2RlPm48L2NvZGU+IHdoZXJlIDxjb2RlPnNjb3Jlc1tpXTwvY29kZT4gZGVub3RlcyB0aGUgc2NvcmUgb2Ygbm9kZSA8Y29kZT5pPC9jb2RlPi4gWW91IGFyZSBhbHNvIGdpdmVuIGEgMkQgaW50ZWdlciBhcnJheSA8Y29kZT5lZGdlczwvY29kZT4gd2hlcmUgPGNvZGU+ZWRnZXNbaV0gPSBbYTxzdWI+aTwvc3ViPiwgYjxzdWI+aTwvc3ViPl08L2NvZGU+IGRlbm90ZXMgdGhhdCB0aGVyZSBleGlzdHMgYW4gPHN0cm9uZz51bmRpcmVjdGVkPC9zdHJvbmc+IGVkZ2UgY29ubmVjdGluZyBub2RlcyA8Y29kZT5hPHN1Yj5pPC9zdWI+PC9jb2RlPiBhbmQgPGNvZGU+YjxzdWI+aTwvc3ViPjwvY29kZT4uPC9wPgo8cD5BIG5vZGUgc2VxdWVuY2UgaXMgPGI+dmFsaWQ8L2I+IGlmIGl0IG1lZXRzIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczo8L3A+Cjx1bD4KPGxpPlRoZXJlIGlzIGFuIGVkZ2UgY29ubmVjdGluZyBldmVyeSBwYWlyIG9mIDxzdHJvbmc+YWRqYWNlbnQ8L3N0cm9uZz4gbm9kZXMgaW4gdGhlIHNlcXVlbmNlLjwvbGk+CjxsaT5ObyBub2RlIGFwcGVhcnMgbW9yZSB0aGFuIG9uY2UgaW4gdGhlIHNlcXVlbmNlLjwvbGk+CjwvdWw+CjxwPlRoZSBzY29yZSBvZiBhIG5vZGUgc2VxdWVuY2UgaXMgZGVmaW5lZCBhcyB0aGUgPHN0cm9uZz5zdW08L3N0cm9uZz4gb2YgdGhlIHNjb3JlcyBvZiB0aGUgbm9kZXMgaW4gdGhlIHNlcXVlbmNlLjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5tYXhpbXVtIHNjb3JlPC9zdHJvbmc+IG9mIGEgdmFsaWQgbm9kZSBzZXF1ZW5jZSB3aXRoIGEgbGVuZ3RoIG9mIDwvZW0+PGNvZGU+NDwvY29kZT48ZW0+LiA8L2VtPklmIG5vIHN1Y2ggc2VxdWVuY2UgZXhpc3RzLCByZXR1cm48ZW0+IDwvZW0+PGNvZGU+LTE8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wNC8xNS9leDFuZXczLnBuZyIgc3R5bGU9IndpZHRoOiAyOTBweDsgaGVpZ2h0OiAyMTVweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzY29yZXMgPSBbNSwyLDksOCw0XSwgZWRnZXMgPSBbWzAsMV0sWzEsMl0sWzIsM10sWzAsMl0sWzEsM10sWzIsNF1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyNAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgZmlndXJlIGFib3ZlIHNob3dzIHRoZSBncmFwaCBhbmQgdGhlIGNob3NlbiBub2RlIHNlcXVlbmNlIFswLDEsMiwzXS4KVGhlIHNjb3JlIG9mIHRoZSBub2RlIHNlcXVlbmNlIGlzIDUgKyAyICsgOSArIDggPSAyNC4KSXQgY2FuIGJlIHNob3duIHRoYXQgbm8gb3RoZXIgbm9kZSBzZXF1ZW5jZSBoYXMgYSBzY29yZSBvZiBtb3JlIHRoYW4gMjQuCk5vdGUgdGhhdCB0aGUgc2VxdWVuY2VzIFszLDEsMiwwXSBhbmQgWzEsMCwyLDNdIGFyZSBhbHNvIHZhbGlkIGFuZCBoYXZlIGEgc2NvcmUgb2YgMjQuClRoZSBzZXF1ZW5jZSBbMCwzLDIsNF0gaXMgbm90IHZhbGlkIHNpbmNlIG5vIGVkZ2UgY29ubmVjdHMgbm9kZXMgMCBhbmQgMy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMy8xNy9leDIucG5nIiBzdHlsZT0id2lkdGg6IDMzM3B4OyBoZWlnaHQ6IDE1MXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHNjb3JlcyA9IFs5LDIwLDYsNCwxMSwxMl0sIGVkZ2VzID0gW1swLDNdLFs1LDNdLFsyLDRdLFsxLDNdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gLTEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGZpZ3VyZSBhYm92ZSBzaG93cyB0aGUgZ3JhcGguClRoZXJlIGFyZSBubyB2YWxpZCBub2RlIHNlcXVlbmNlcyBvZiBsZW5ndGggNCwgc28gd2UgcmV0dXJuIC0xLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IHNjb3Jlcy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjQgJmx0Oz0gbiAmbHQ7PSA1ICogMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gc2NvcmVzW2ldICZsdDs9IDEwPHN1cD44PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IGVkZ2VzLmxlbmd0aCAmbHQ7PSA1ICogMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPmVkZ2VzW2ldLmxlbmd0aCA9PSAyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IGE8c3ViPmk8L3N1Yj4sIGI8c3ViPmk8L3N1Yj4gJmx0Oz0gbiAtIDE8L2NvZGU+PC9saT4KPGxpPjxjb2RlPmE8c3ViPmk8L3N1Yj4gIT0gYjxzdWI+aTwvc3ViPjwvY29kZT48L2xpPgo8bGk+VGhlcmUgYXJlIG5vIGR1cGxpY2F0ZSBlZGdlcy48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Graph",
+ "Sorting",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2267. Check if There Is a Valid Parentheses String Path",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgcGFyZW50aGVzZXMgc3RyaW5nIGlzIGEgPHN0cm9uZz5ub24tZW1wdHk8L3N0cm9uZz4gc3RyaW5nIGNvbnNpc3Rpbmcgb25seSBvZiA8Y29kZT4nKCc8L2NvZGU+IGFuZCA8Y29kZT4nKSc8L2NvZGU+LiBJdCBpcyA8c3Ryb25nPnZhbGlkPC9zdHJvbmc+IGlmIDxzdHJvbmc+YW55PC9zdHJvbmc+IG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBpcyA8c3Ryb25nPnRydWU8L3N0cm9uZz46PC9wPgo8dWw+CjxsaT5JdCBpcyA8Y29kZT4oKTwvY29kZT4uPC9saT4KPGxpPkl0IGNhbiBiZSB3cml0dGVuIGFzIDxjb2RlPkFCPC9jb2RlPiAoPGNvZGU+QTwvY29kZT4gY29uY2F0ZW5hdGVkIHdpdGggPGNvZGU+QjwvY29kZT4pLCB3aGVyZSA8Y29kZT5BPC9jb2RlPiBhbmQgPGNvZGU+QjwvY29kZT4gYXJlIHZhbGlkIHBhcmVudGhlc2VzIHN0cmluZ3MuPC9saT4KPGxpPkl0IGNhbiBiZSB3cml0dGVuIGFzIDxjb2RlPihBKTwvY29kZT4sIHdoZXJlIDxjb2RlPkE8L2NvZGU+IGlzIGEgdmFsaWQgcGFyZW50aGVzZXMgc3RyaW5nLjwvbGk+CjwvdWw+CjxwPllvdSBhcmUgZ2l2ZW4gYW4gPGNvZGU+bSB4IG48L2NvZGU+IG1hdHJpeCBvZiBwYXJlbnRoZXNlcyA8Y29kZT5ncmlkPC9jb2RlPi4gQSA8c3Ryb25nPnZhbGlkIHBhcmVudGhlc2VzIHN0cmluZyBwYXRoPC9zdHJvbmc+IGluIHRoZSBncmlkIGlzIGEgcGF0aCBzYXRpc2Z5aW5nIDxzdHJvbmc+YWxsPC9zdHJvbmc+IG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczo8L3A+Cjx1bD4KPGxpPlRoZSBwYXRoIHN0YXJ0cyBmcm9tIHRoZSB1cHBlciBsZWZ0IGNlbGwgPGNvZGU+KDAsIDApPC9jb2RlPi48L2xpPgo8bGk+VGhlIHBhdGggZW5kcyBhdCB0aGUgYm90dG9tLXJpZ2h0IGNlbGwgPGNvZGU+KG0gLSAxLCBuIC0gMSk8L2NvZGU+LjwvbGk+CjxsaT5UaGUgcGF0aCBvbmx5IGV2ZXIgbW92ZXMgPHN0cm9uZz5kb3duPC9zdHJvbmc+IG9yIDxzdHJvbmc+cmlnaHQ8L3N0cm9uZz4uPC9saT4KPGxpPlRoZSByZXN1bHRpbmcgcGFyZW50aGVzZXMgc3RyaW5nIGZvcm1lZCBieSB0aGUgcGF0aCBpcyA8c3Ryb25nPnZhbGlkPC9zdHJvbmc+LjwvbGk+CjwvdWw+CjxwPlJldHVybiA8Y29kZT50cnVlPC9jb2RlPiA8ZW0+aWYgdGhlcmUgZXhpc3RzIGEgPHN0cm9uZz52YWxpZCBwYXJlbnRoZXNlcyBzdHJpbmcgcGF0aDwvc3Ryb25nPiBpbiB0aGUgZ3JpZC48L2VtPiBPdGhlcndpc2UsIHJldHVybiA8Y29kZT5mYWxzZTwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAzLzE1L2V4YW1wbGUxZHJhd2lvLnBuZyIgc3R5bGU9IndpZHRoOiA1MjFweDsgaGVpZ2h0OiAzMDBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBncmlkID0gW1siKCIsIigiLCIoIl0sWyIpIiwiKCIsIikiXSxbIigiLCIoIiwiKSJdLFsiKCIsIigiLCIpIl1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiB0cnVlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBhYm92ZSBkaWFncmFtIHNob3dzIHR3byBwb3NzaWJsZSBwYXRocyB0aGF0IGZvcm0gdmFsaWQgcGFyZW50aGVzZXMgc3RyaW5ncy4KVGhlIGZpcnN0IHBhdGggc2hvd24gcmVzdWx0cyBpbiB0aGUgdmFsaWQgcGFyZW50aGVzZXMgc3RyaW5nICIoKSgoKSkiLgpUaGUgc2Vjb25kIHBhdGggc2hvd24gcmVzdWx0cyBpbiB0aGUgdmFsaWQgcGFyZW50aGVzZXMgc3RyaW5nICIoKCgpKSkiLgpOb3RlIHRoYXQgdGhlcmUgbWF5IGJlIG90aGVyIHZhbGlkIHBhcmVudGhlc2VzIHN0cmluZyBwYXRocy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMy8xNS9leGFtcGxlMmRyYXdpby5wbmciIHN0eWxlPSJ3aWR0aDogMTY1cHg7IGhlaWdodDogMTY1cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbIikiLCIpIl0sWyIoIiwiKCJdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gZmFsc2UKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHR3byBwb3NzaWJsZSBwYXRocyBmb3JtIHRoZSBwYXJlbnRoZXNlcyBzdHJpbmdzICIpKSgiIGFuZCAiKSgoIi4gU2luY2UgbmVpdGhlciBvZiB0aGVtIGFyZSB2YWxpZCBwYXJlbnRoZXNlcyBzdHJpbmdzLCB3ZSByZXR1cm4gZmFsc2UuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm0gPT0gZ3JpZC5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPm4gPT0gZ3JpZFtpXS5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbSwgbiAmbHQ7PSAxMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPmdyaWRbaV1bal08L2NvZGU+IGlzIGVpdGhlciA8Y29kZT4nKCc8L2NvZGU+IG9yIDxjb2RlPicpJzwvY29kZT4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Dynamic Programming",
+ "Matrix"
+ ]
+ },
+ {
+ "title": "2258. Escape the Spreading Fire",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPmdyaWQ8L2NvZGU+IG9mIHNpemUgPGNvZGU+bSB4IG48L2NvZGU+IHdoaWNoIHJlcHJlc2VudHMgYSBmaWVsZC4gRWFjaCBjZWxsIGhhcyBvbmUgb2YgdGhyZWUgdmFsdWVzOjwvcD4KPHVsPgo8bGk+PGNvZGU+MDwvY29kZT4gcmVwcmVzZW50cyBncmFzcyw8L2xpPgo8bGk+PGNvZGU+MTwvY29kZT4gcmVwcmVzZW50cyBmaXJlLDwvbGk+CjxsaT48Y29kZT4yPC9jb2RlPiByZXByZXNlbnRzIGEgd2FsbCB0aGF0IHlvdSBhbmQgZmlyZSBjYW5ub3QgcGFzcyB0aHJvdWdoLjwvbGk+CjwvdWw+CjxwPllvdSBhcmUgc2l0dWF0ZWQgaW4gdGhlIHRvcC1sZWZ0IGNlbGwsIDxjb2RlPigwLCAwKTwvY29kZT4sIGFuZCB5b3Ugd2FudCB0byB0cmF2ZWwgdG8gdGhlIHNhZmVob3VzZSBhdCB0aGUgYm90dG9tLXJpZ2h0IGNlbGwsIDxjb2RlPihtIC0gMSwgbiAtIDEpPC9jb2RlPi4gRXZlcnkgbWludXRlLCB5b3UgbWF5IG1vdmUgdG8gYW4gPHN0cm9uZz5hZGphY2VudDwvc3Ryb25nPiBncmFzcyBjZWxsLiA8c3Ryb25nPkFmdGVyPC9zdHJvbmc+IHlvdXIgbW92ZSwgZXZlcnkgZmlyZSBjZWxsIHdpbGwgc3ByZWFkIHRvIGFsbCA8c3Ryb25nPmFkamFjZW50PC9zdHJvbmc+IGNlbGxzIHRoYXQgYXJlIG5vdCB3YWxscy48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBudW1iZXIgb2YgbWludXRlcyB0aGF0IHlvdSBjYW4gc3RheSBpbiB5b3VyIGluaXRpYWwgcG9zaXRpb24gYmVmb3JlIG1vdmluZyB3aGlsZSBzdGlsbCBzYWZlbHkgcmVhY2hpbmcgdGhlIHNhZmVob3VzZTwvZW0+LiBJZiB0aGlzIGlzIGltcG9zc2libGUsIHJldHVybiA8Y29kZT4tMTwvY29kZT4uIElmIHlvdSBjYW4gPHN0cm9uZz5hbHdheXM8L3N0cm9uZz4gcmVhY2ggdGhlIHNhZmVob3VzZSByZWdhcmRsZXNzIG9mIHRoZSBtaW51dGVzIHN0YXllZCwgcmV0dXJuIDxjb2RlPjEwPHN1cD45PC9zdXA+PC9jb2RlPi48L3A+CjxwPk5vdGUgdGhhdCBldmVuIGlmIHRoZSBmaXJlIHNwcmVhZHMgdG8gdGhlIHNhZmVob3VzZSBpbW1lZGlhdGVseSBhZnRlciB5b3UgaGF2ZSByZWFjaGVkIGl0LCBpdCB3aWxsIGJlIGNvdW50ZWQgYXMgc2FmZWx5IHJlYWNoaW5nIHRoZSBzYWZlaG91c2UuPC9wPgo8cD5BIGNlbGwgaXMgPHN0cm9uZz5hZGphY2VudDwvc3Ryb25nPiB0byBhbm90aGVyIGNlbGwgaWYgdGhlIGZvcm1lciBpcyBkaXJlY3RseSBub3J0aCwgZWFzdCwgc291dGgsIG9yIHdlc3Qgb2YgdGhlIGxhdHRlciAoaS5lLiwgdGhlaXIgc2lkZXMgYXJlIHRvdWNoaW5nKS48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDMvMTAvZXgxbmV3LmpwZyIgc3R5bGU9IndpZHRoOiA2NTBweDsgaGVpZ2h0OiA0MDRweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBncmlkID0gW1swLDIsMCwwLDAsMCwwXSxbMCwwLDAsMiwyLDEsMF0sWzAsMiwwLDAsMSwyLDBdLFswLDAsMiwyLDIsMCwyXSxbMCwwLDAsMCwwLDAsMF1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBmaWd1cmUgYWJvdmUgc2hvd3MgdGhlIHNjZW5hcmlvIHdoZXJlIHlvdSBzdGF5IGluIHRoZSBpbml0aWFsIHBvc2l0aW9uIGZvciAzIG1pbnV0ZXMuCllvdSB3aWxsIHN0aWxsIGJlIGFibGUgdG8gc2FmZWx5IHJlYWNoIHRoZSBzYWZlaG91c2UuClN0YXlpbmcgZm9yIG1vcmUgdGhhbiAzIG1pbnV0ZXMgd2lsbCBub3QgYWxsb3cgeW91IHRvIHNhZmVseSByZWFjaCB0aGUgc2FmZWhvdXNlLjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDMvMTAvZXgybmV3Mi5qcGciIHN0eWxlPSJ3aWR0aDogNTE1cHg7IGhlaWdodDogMTUwcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbMCwwLDAsMF0sWzAsMSwyLDBdLFswLDIsMCwwXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IC0xCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBmaWd1cmUgYWJvdmUgc2hvd3MgdGhlIHNjZW5hcmlvIHdoZXJlIHlvdSBpbW1lZGlhdGVseSBtb3ZlIHRvd2FyZHMgdGhlIHNhZmVob3VzZS4KRmlyZSB3aWxsIHNwcmVhZCB0byBhbnkgY2VsbCB5b3UgbW92ZSB0b3dhcmRzIGFuZCBpdCBpcyBpbXBvc3NpYmxlIHRvIHNhZmVseSByZWFjaCB0aGUgc2FmZWhvdXNlLgpUaHVzLCAtMSBpcyByZXR1cm5lZC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMy8xMC9leDNuZXcuanBnIiBzdHlsZT0id2lkdGg6IDE3NHB4OyBoZWlnaHQ6IDE1MHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGdyaWQgPSBbWzAsMCwwXSxbMiwyLDBdLFsxLDIsMF1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxMDAwMDAwMDAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBmaWd1cmUgYWJvdmUgc2hvd3MgdGhlIGluaXRpYWwgZ3JpZC4KTm90aWNlIHRoYXQgdGhlIGZpcmUgaXMgY29udGFpbmVkIGJ5IHdhbGxzIGFuZCB5b3Ugd2lsbCBhbHdheXMgYmUgYWJsZSB0byBzYWZlbHkgcmVhY2ggdGhlIHNhZmVob3VzZS4KVGh1cywgMTA8c3VwPjk8L3N1cD4gaXMgcmV0dXJuZWQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm0gPT0gZ3JpZC5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPm4gPT0gZ3JpZFtpXS5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjIgJmx0Oz0gbSwgbiAmbHQ7PSAzMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjQgJmx0Oz0gbSAqIG4gJmx0Oz0gMiAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5ncmlkW2ldW2pdPC9jb2RlPiBpcyBlaXRoZXIgPGNvZGU+MDwvY29kZT4sIDxjb2RlPjE8L2NvZGU+LCBvciA8Y29kZT4yPC9jb2RlPi48L2xpPgo8bGk+PGNvZGU+Z3JpZFswXVswXSA9PSBncmlkW20gLSAxXVtuIC0gMV0gPT0gMDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Breadth-First Search",
+ "Matrix"
+ ]
+ },
+ {
+ "title": "2262. Total Appeal of A String",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZSA8Yj5hcHBlYWw8L2I+IG9mIGEgc3RyaW5nIGlzIHRoZSBudW1iZXIgb2YgPHN0cm9uZz5kaXN0aW5jdDwvc3Ryb25nPiBjaGFyYWN0ZXJzIGZvdW5kIGluIHRoZSBzdHJpbmcuPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgdGhlIGFwcGVhbCBvZiA8Y29kZT4iYWJiY2EiPC9jb2RlPiBpcyA8Y29kZT4zPC9jb2RlPiBiZWNhdXNlIGl0IGhhcyA8Y29kZT4zPC9jb2RlPiBkaXN0aW5jdCBjaGFyYWN0ZXJzOiA8Y29kZT4nYSc8L2NvZGU+LCA8Y29kZT4nYic8L2NvZGU+LCBhbmQgPGNvZGU+J2MnPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5HaXZlbiBhIHN0cmluZyA8Y29kZT5zPC9jb2RlPiwgcmV0dXJuIDxlbT50aGUgPHN0cm9uZz50b3RhbCBhcHBlYWwgb2YgYWxsIG9mIGl0cyA8c3Ryb25nPnN1YnN0cmluZ3M8L3N0cm9uZz4uPC9zdHJvbmc+PC9lbT48L3A+CjxwPkEgPHN0cm9uZz5zdWJzdHJpbmc8L3N0cm9uZz4gaXMgYSBjb250aWd1b3VzIHNlcXVlbmNlIG9mIGNoYXJhY3RlcnMgd2l0aGluIGEgc3RyaW5nLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJhYmJjYSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDI4CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBmb2xsb3dpbmcgYXJlIHRoZSBzdWJzdHJpbmdzIG9mICJhYmJjYSI6Ci0gU3Vic3RyaW5ncyBvZiBsZW5ndGggMTogImEiLCAiYiIsICJiIiwgImMiLCAiYSIgaGF2ZSBhbiBhcHBlYWwgb2YgMSwgMSwgMSwgMSwgYW5kIDEgcmVzcGVjdGl2ZWx5LiBUaGUgc3VtIGlzIDUuCi0gU3Vic3RyaW5ncyBvZiBsZW5ndGggMjogImFiIiwgImJiIiwgImJjIiwgImNhIiBoYXZlIGFuIGFwcGVhbCBvZiAyLCAxLCAyLCBhbmQgMiByZXNwZWN0aXZlbHkuIFRoZSBzdW0gaXMgNy4KLSBTdWJzdHJpbmdzIG9mIGxlbmd0aCAzOiAiYWJiIiwgImJiYyIsICJiY2EiIGhhdmUgYW4gYXBwZWFsIG9mIDIsIDIsIGFuZCAzIHJlc3BlY3RpdmVseS4gVGhlIHN1bSBpcyA3LgotIFN1YnN0cmluZ3Mgb2YgbGVuZ3RoIDQ6ICJhYmJjIiwgImJiY2EiIGhhdmUgYW4gYXBwZWFsIG9mIDMgYW5kIDMgcmVzcGVjdGl2ZWx5LiBUaGUgc3VtIGlzIDYuCi0gU3Vic3RyaW5ncyBvZiBsZW5ndGggNTogImFiYmNhIiBoYXMgYW4gYXBwZWFsIG9mIDMuIFRoZSBzdW0gaXMgMy4KVGhlIHRvdGFsIHN1bSBpcyA1ICsgNyArIDcgKyA2ICsgMyA9IDI4Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImNvZGUiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgZm9sbG93aW5nIGFyZSB0aGUgc3Vic3RyaW5ncyBvZiAiY29kZSI6Ci0gU3Vic3RyaW5ncyBvZiBsZW5ndGggMTogImMiLCAibyIsICJkIiwgImUiIGhhdmUgYW4gYXBwZWFsIG9mIDEsIDEsIDEsIGFuZCAxIHJlc3BlY3RpdmVseS4gVGhlIHN1bSBpcyA0LgotIFN1YnN0cmluZ3Mgb2YgbGVuZ3RoIDI6ICJjbyIsICJvZCIsICJkZSIgaGF2ZSBhbiBhcHBlYWwgb2YgMiwgMiwgYW5kIDIgcmVzcGVjdGl2ZWx5LiBUaGUgc3VtIGlzIDYuCi0gU3Vic3RyaW5ncyBvZiBsZW5ndGggMzogImNvZCIsICJvZGUiIGhhdmUgYW4gYXBwZWFsIG9mIDMgYW5kIDMgcmVzcGVjdGl2ZWx5LiBUaGUgc3VtIGlzIDYuCi0gU3Vic3RyaW5ncyBvZiBsZW5ndGggNDogImNvZGUiIGhhcyBhbiBhcHBlYWwgb2YgNC4gVGhlIHN1bSBpcyA0LgpUaGUgdG90YWwgc3VtIGlzIDQgKyA2ICsgNiArIDQgPSAyMC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBzLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+czwvY29kZT4gY29uc2lzdHMgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycy48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Hash Table",
+ "String",
+ "Dynamic Programming"
+ ]
+ },
+ {
+ "title": "2251. Number of Flowers in Full Bloom",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPmZsb3dlcnM8L2NvZGU+LCB3aGVyZSA8Y29kZT5mbG93ZXJzW2ldID0gW3N0YXJ0PHN1Yj5pPC9zdWI+LCBlbmQ8c3ViPmk8L3N1Yj5dPC9jb2RlPiBtZWFucyB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGZsb3dlciB3aWxsIGJlIGluIDxzdHJvbmc+ZnVsbCBibG9vbTwvc3Ryb25nPiBmcm9tIDxjb2RlPnN0YXJ0PHN1Yj5pPC9zdWI+PC9jb2RlPiB0byA8Y29kZT5lbmQ8c3ViPmk8L3N1Yj48L2NvZGU+ICg8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPikuIFlvdSBhcmUgYWxzbyBnaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXkgPGNvZGU+cGVyc29uczwvY29kZT4gb2Ygc2l6ZSA8Y29kZT5uPC9jb2RlPiwgd2hlcmUgPGNvZGU+cGVyc29uc1tpXTwvY29kZT4gaXMgdGhlIHRpbWUgdGhhdCB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHBlcnNvbiB3aWxsIGFycml2ZSB0byBzZWUgdGhlIGZsb3dlcnMuPC9wPgo8cD5SZXR1cm4gPGVtPmFuIGludGVnZXIgYXJyYXkgPC9lbT48Y29kZT5hbnN3ZXI8L2NvZGU+PGVtPiBvZiBzaXplIDwvZW0+PGNvZGU+bjwvY29kZT48ZW0+LCB3aGVyZSA8L2VtPjxjb2RlPmFuc3dlcltpXTwvY29kZT48ZW0+IGlzIHRoZSA8c3Ryb25nPm51bWJlcjwvc3Ryb25nPiBvZiBmbG93ZXJzIHRoYXQgYXJlIGluIGZ1bGwgYmxvb20gd2hlbiB0aGUgPC9lbT48Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT48ZW0+IHBlcnNvbiBhcnJpdmVzLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAzLzAyL2V4MW5ldy5qcGciIHN0eWxlPSJ3aWR0aDogNTUwcHg7IGhlaWdodDogMjE2cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZmxvd2VycyA9IFtbMSw2XSxbMyw3XSxbOSwxMl0sWzQsMTNdXSwgcGVyc29ucyA9IFsyLDMsNywxMV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsxLDIsMiwyXQo8c3Ryb25nPkV4cGxhbmF0aW9uOiA8L3N0cm9uZz5UaGUgZmlndXJlIGFib3ZlIHNob3dzIHRoZSB0aW1lcyB3aGVuIHRoZSBmbG93ZXJzIGFyZSBpbiBmdWxsIGJsb29tIGFuZCB3aGVuIHRoZSBwZW9wbGUgYXJyaXZlLgpGb3IgZWFjaCBwZXJzb24sIHdlIHJldHVybiB0aGUgbnVtYmVyIG9mIGZsb3dlcnMgaW4gZnVsbCBibG9vbSBkdXJpbmcgdGhlaXIgYXJyaXZhbC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMy8wMi9leDJuZXcuanBnIiBzdHlsZT0id2lkdGg6IDQ1MHB4OyBoZWlnaHQ6IDE5NXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGZsb3dlcnMgPSBbWzEsMTBdLFszLDNdXSwgcGVyc29ucyA9IFszLDMsMl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsyLDIsMV0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGZpZ3VyZSBhYm92ZSBzaG93cyB0aGUgdGltZXMgd2hlbiB0aGUgZmxvd2VycyBhcmUgaW4gZnVsbCBibG9vbSBhbmQgd2hlbiB0aGUgcGVvcGxlIGFycml2ZS4KRm9yIGVhY2ggcGVyc29uLCB3ZSByZXR1cm4gdGhlIG51bWJlciBvZiBmbG93ZXJzIGluIGZ1bGwgYmxvb20gZHVyaW5nIHRoZWlyIGFycml2YWwuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gZmxvd2Vycy5sZW5ndGggJmx0Oz0gNSAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5mbG93ZXJzW2ldLmxlbmd0aCA9PSAyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHN0YXJ0PHN1Yj5pPC9zdWI+ICZsdDs9IGVuZDxzdWI+aTwvc3ViPiAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBwZXJzb25zLmxlbmd0aCAmbHQ7PSA1ICogMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gcGVyc29uc1tpXSAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Binary Search",
+ "Sorting",
+ "Prefix Sum",
+ "Ordered Set"
+ ]
+ },
+ {
+ "title": "2234. Maximum Total Beauty of the Gardens",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkFsaWNlIGlzIGEgY2FyZXRha2VyIG9mIDxjb2RlPm48L2NvZGU+IGdhcmRlbnMgYW5kIHNoZSB3YW50cyB0byBwbGFudCBmbG93ZXJzIHRvIG1heGltaXplIHRoZSB0b3RhbCBiZWF1dHkgb2YgYWxsIGhlciBnYXJkZW5zLjwvcD4KPHA+WW91IGFyZSBnaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXkgPGNvZGU+Zmxvd2VyczwvY29kZT4gb2Ygc2l6ZSA8Y29kZT5uPC9jb2RlPiwgd2hlcmUgPGNvZGU+Zmxvd2Vyc1tpXTwvY29kZT4gaXMgdGhlIG51bWJlciBvZiBmbG93ZXJzIGFscmVhZHkgcGxhbnRlZCBpbiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGdhcmRlbi4gRmxvd2VycyB0aGF0IGFyZSBhbHJlYWR5IHBsYW50ZWQgPHN0cm9uZz5jYW5ub3Q8L3N0cm9uZz4gYmUgcmVtb3ZlZC4gWW91IGFyZSB0aGVuIGdpdmVuIGFub3RoZXIgaW50ZWdlciA8Y29kZT5uZXdGbG93ZXJzPC9jb2RlPiwgd2hpY2ggaXMgdGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBudW1iZXIgb2YgZmxvd2VycyB0aGF0IEFsaWNlIGNhbiBhZGRpdGlvbmFsbHkgcGxhbnQuIFlvdSBhcmUgYWxzbyBnaXZlbiB0aGUgaW50ZWdlcnMgPGNvZGU+dGFyZ2V0PC9jb2RlPiwgPGNvZGU+ZnVsbDwvY29kZT4sIGFuZCA8Y29kZT5wYXJ0aWFsPC9jb2RlPi48L3A+CjxwPkEgZ2FyZGVuIGlzIGNvbnNpZGVyZWQgPHN0cm9uZz5jb21wbGV0ZTwvc3Ryb25nPiBpZiBpdCBoYXMgPHN0cm9uZz5hdCBsZWFzdDwvc3Ryb25nPiA8Y29kZT50YXJnZXQ8L2NvZGU+IGZsb3dlcnMuIFRoZSA8c3Ryb25nPnRvdGFsIGJlYXV0eTwvc3Ryb25nPiBvZiB0aGUgZ2FyZGVucyBpcyB0aGVuIGRldGVybWluZWQgYXMgdGhlIDxzdHJvbmc+c3VtPC9zdHJvbmc+IG9mIHRoZSBmb2xsb3dpbmc6PC9wPgo8dWw+CjxsaT5UaGUgbnVtYmVyIG9mIDxzdHJvbmc+Y29tcGxldGU8L3N0cm9uZz4gZ2FyZGVucyBtdWx0aXBsaWVkIGJ5IDxjb2RlPmZ1bGw8L2NvZGU+LjwvbGk+CjxsaT5UaGUgPHN0cm9uZz5taW5pbXVtPC9zdHJvbmc+IG51bWJlciBvZiBmbG93ZXJzIGluIGFueSBvZiB0aGUgPHN0cm9uZz5pbmNvbXBsZXRlPC9zdHJvbmc+IGdhcmRlbnMgbXVsdGlwbGllZCBieSA8Y29kZT5wYXJ0aWFsPC9jb2RlPi4gSWYgdGhlcmUgYXJlIG5vIGluY29tcGxldGUgZ2FyZGVucywgdGhlbiB0aGlzIHZhbHVlIHdpbGwgYmUgPGNvZGU+MDwvY29kZT4uPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5tYXhpbXVtPC9zdHJvbmc+IHRvdGFsIGJlYXV0eSB0aGF0IEFsaWNlIGNhbiBvYnRhaW4gYWZ0ZXIgcGxhbnRpbmcgYXQgbW9zdCA8L2VtPjxjb2RlPm5ld0Zsb3dlcnM8L2NvZGU+PGVtPiBmbG93ZXJzLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBmbG93ZXJzID0gWzEsMywxLDFdLCBuZXdGbG93ZXJzID0gNywgdGFyZ2V0ID0gNiwgZnVsbCA9IDEyLCBwYXJ0aWFsID0gMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gQWxpY2UgY2FuIHBsYW50Ci0gMiBmbG93ZXJzIGluIHRoZSAwPHN1cD50aDwvc3VwPiBnYXJkZW4KLSAzIGZsb3dlcnMgaW4gdGhlIDE8c3VwPnN0PC9zdXA+IGdhcmRlbgotIDEgZmxvd2VyIGluIHRoZSAyPHN1cD5uZDwvc3VwPiBnYXJkZW4KLSAxIGZsb3dlciBpbiB0aGUgMzxzdXA+cmQ8L3N1cD4gZ2FyZGVuClRoZSBnYXJkZW5zIHdpbGwgdGhlbiBiZSBbMyw2LDIsMl0uIFNoZSBwbGFudGVkIGEgdG90YWwgb2YgMiArIDMgKyAxICsgMSA9IDcgZmxvd2Vycy4KVGhlcmUgaXMgMSBnYXJkZW4gdGhhdCBpcyBjb21wbGV0ZS4KVGhlIG1pbmltdW0gbnVtYmVyIG9mIGZsb3dlcnMgaW4gdGhlIGluY29tcGxldGUgZ2FyZGVucyBpcyAyLgpUaHVzLCB0aGUgdG90YWwgYmVhdXR5IGlzIDEgKiAxMiArIDIgKiAxID0gMTIgKyAyID0gMTQuCk5vIG90aGVyIHdheSBvZiBwbGFudGluZyBmbG93ZXJzIGNhbiBvYnRhaW4gYSB0b3RhbCBiZWF1dHkgaGlnaGVyIHRoYW4gMTQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGZsb3dlcnMgPSBbMiw0LDUsM10sIG5ld0Zsb3dlcnMgPSAxMCwgdGFyZ2V0ID0gNSwgZnVsbCA9IDIsIHBhcnRpYWwgPSA2CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBBbGljZSBjYW4gcGxhbnQKLSAzIGZsb3dlcnMgaW4gdGhlIDA8c3VwPnRoPC9zdXA+IGdhcmRlbgotIDAgZmxvd2VycyBpbiB0aGUgMTxzdXA+c3Q8L3N1cD4gZ2FyZGVuCi0gMCBmbG93ZXJzIGluIHRoZSAyPHN1cD5uZDwvc3VwPiBnYXJkZW4KLSAyIGZsb3dlcnMgaW4gdGhlIDM8c3VwPnJkPC9zdXA+IGdhcmRlbgpUaGUgZ2FyZGVucyB3aWxsIHRoZW4gYmUgWzUsNCw1LDVdLiBTaGUgcGxhbnRlZCBhIHRvdGFsIG9mIDMgKyAwICsgMCArIDIgPSA1IGZsb3dlcnMuClRoZXJlIGFyZSAzIGdhcmRlbnMgdGhhdCBhcmUgY29tcGxldGUuClRoZSBtaW5pbXVtIG51bWJlciBvZiBmbG93ZXJzIGluIHRoZSBpbmNvbXBsZXRlIGdhcmRlbnMgaXMgNC4KVGh1cywgdGhlIHRvdGFsIGJlYXV0eSBpcyAzICogMiArIDQgKiA2ID0gNiArIDI0ID0gMzAuCk5vIG90aGVyIHdheSBvZiBwbGFudGluZyBmbG93ZXJzIGNhbiBvYnRhaW4gYSB0b3RhbCBiZWF1dHkgaGlnaGVyIHRoYW4gMzAuCk5vdGUgdGhhdCBBbGljZSBjb3VsZCBtYWtlIGFsbCB0aGUgZ2FyZGVucyBjb21wbGV0ZSBidXQgaW4gdGhpcyBjYXNlLCBzaGUgd291bGQgb2J0YWluIGEgbG93ZXIgdG90YWwgYmVhdXR5Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IGZsb3dlcnMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGZsb3dlcnNbaV0sIHRhcmdldCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBuZXdGbG93ZXJzICZsdDs9IDEwPHN1cD4xMDwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBmdWxsLCBwYXJ0aWFsICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Two Pointers",
+ "Binary Search",
+ "Greedy",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2223. Sum of Scores of Built Strings",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgPHN0cm9uZz5idWlsZGluZzwvc3Ryb25nPiBhIHN0cmluZyA8Y29kZT5zPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4gPHN0cm9uZz5vbmU8L3N0cm9uZz4gY2hhcmFjdGVyIGF0IGEgdGltZSwgPHN0cm9uZz5wcmVwZW5kaW5nPC9zdHJvbmc+IGVhY2ggbmV3IGNoYXJhY3RlciB0byB0aGUgPHN0cm9uZz5mcm9udDwvc3Ryb25nPiBvZiB0aGUgc3RyaW5nLiBUaGUgc3RyaW5ncyBhcmUgbGFiZWxlZCBmcm9tIDxjb2RlPjE8L2NvZGU+IHRvIDxjb2RlPm48L2NvZGU+LCB3aGVyZSB0aGUgc3RyaW5nIHdpdGggbGVuZ3RoIDxjb2RlPmk8L2NvZGU+IGlzIGxhYmVsZWQgPGNvZGU+czxzdWI+aTwvc3ViPjwvY29kZT4uPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgZm9yIDxjb2RlPnMgPSAiYWJhY2EiPC9jb2RlPiwgPGNvZGU+czxzdWI+MTwvc3ViPiA9PSAiYSI8L2NvZGU+LCA8Y29kZT5zPHN1Yj4yPC9zdWI+ID09ICJjYSI8L2NvZGU+LCA8Y29kZT5zPHN1Yj4zPC9zdWI+ID09ICJhY2EiPC9jb2RlPiwgZXRjLjwvbGk+CjwvdWw+CjxwPlRoZSA8c3Ryb25nPnNjb3JlPC9zdHJvbmc+IG9mIDxjb2RlPnM8c3ViPmk8L3N1Yj48L2NvZGU+IGlzIHRoZSBsZW5ndGggb2YgdGhlIDxzdHJvbmc+bG9uZ2VzdCBjb21tb24gcHJlZml4PC9zdHJvbmc+IGJldHdlZW4gPGNvZGU+czxzdWI+aTwvc3ViPjwvY29kZT4gYW5kIDxjb2RlPnM8c3ViPm48L3N1Yj48L2NvZGU+IChOb3RlIHRoYXQgPGNvZGU+cyA9PSBzPHN1Yj5uPC9zdWI+PC9jb2RlPikuPC9wPgo8cD5HaXZlbiB0aGUgZmluYWwgc3RyaW5nIDxjb2RlPnM8L2NvZGU+LCByZXR1cm48ZW0+IHRoZSA8c3Ryb25nPnN1bTwvc3Ryb25nPiBvZiB0aGUgPHN0cm9uZz5zY29yZTwvc3Ryb25nPiBvZiBldmVyeSA8L2VtPjxjb2RlPnM8c3ViPmk8L3N1Yj48L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJiYWJhYiIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDkKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KRm9yIHM8c3ViPjE8L3N1Yj4gPT0gImIiLCB0aGUgbG9uZ2VzdCBjb21tb24gcHJlZml4IGlzICJiIiB3aGljaCBoYXMgYSBzY29yZSBvZiAxLgpGb3IgczxzdWI+Mjwvc3ViPiA9PSAiYWIiLCB0aGVyZSBpcyBubyBjb21tb24gcHJlZml4IHNvIHRoZSBzY29yZSBpcyAwLgpGb3IgczxzdWI+Mzwvc3ViPiA9PSAiYmFiIiwgdGhlIGxvbmdlc3QgY29tbW9uIHByZWZpeCBpcyAiYmFiIiB3aGljaCBoYXMgYSBzY29yZSBvZiAzLgpGb3IgczxzdWI+NDwvc3ViPiA9PSAiYWJhYiIsIHRoZXJlIGlzIG5vIGNvbW1vbiBwcmVmaXggc28gdGhlIHNjb3JlIGlzIDAuCkZvciBzPHN1Yj41PC9zdWI+ID09ICJiYWJhYiIsIHRoZSBsb25nZXN0IGNvbW1vbiBwcmVmaXggaXMgImJhYmFiIiB3aGljaCBoYXMgYSBzY29yZSBvZiA1LgpUaGUgc3VtIG9mIHRoZSBzY29yZXMgaXMgMSArIDAgKyAzICsgMCArIDUgPSA5LCBzbyB3ZSByZXR1cm4gOS48L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImF6YmF6YnpheiIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDE0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApGb3IgczxzdWI+Mjwvc3ViPiA9PSAiYXoiLCB0aGUgbG9uZ2VzdCBjb21tb24gcHJlZml4IGlzICJheiIgd2hpY2ggaGFzIGEgc2NvcmUgb2YgMi4KRm9yIHM8c3ViPjY8L3N1Yj4gPT0gImF6YnpheiIsIHRoZSBsb25nZXN0IGNvbW1vbiBwcmVmaXggaXMgImF6YiIgd2hpY2ggaGFzIGEgc2NvcmUgb2YgMy4KRm9yIHM8c3ViPjk8L3N1Yj4gPT0gImF6YmF6YnpheiIsIHRoZSBsb25nZXN0IGNvbW1vbiBwcmVmaXggaXMgImF6YmF6YnpheiIgd2hpY2ggaGFzIGEgc2NvcmUgb2YgOS4KRm9yIGFsbCBvdGhlciBzPHN1Yj5pPC9zdWI+LCB0aGUgc2NvcmUgaXMgMC4KVGhlIHN1bSBvZiB0aGUgc2NvcmVzIGlzIDIgKyAzICsgOSA9IDE0LCBzbyB3ZSByZXR1cm4gMTQuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnM8L2NvZGU+IGNvbnNpc3RzIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "String",
+ "Binary Search",
+ "Rolling Hash",
+ "Suffix Array",
+ "String Matching",
+ "Hash Function"
+ ]
+ },
+ {
+ "title": "2203. Minimum Weighted Subgraph With the Required Paths",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5uPC9jb2RlPiBkZW5vdGluZyB0aGUgbnVtYmVyIG9mIG5vZGVzIG9mIGEgPHN0cm9uZz53ZWlnaHRlZCBkaXJlY3RlZDwvc3Ryb25nPiBncmFwaC4gVGhlIG5vZGVzIGFyZSBudW1iZXJlZCBmcm9tIDxjb2RlPjA8L2NvZGU+IHRvIDxjb2RlPm4gLSAxPC9jb2RlPi48L3A+CjxwPllvdSBhcmUgYWxzbyBnaXZlbiBhIDJEIGludGVnZXIgYXJyYXkgPGNvZGU+ZWRnZXM8L2NvZGU+IHdoZXJlIDxjb2RlPmVkZ2VzW2ldID0gW2Zyb208c3ViPmk8L3N1Yj4sIHRvPHN1Yj5pPC9zdWI+LCB3ZWlnaHQ8c3ViPmk8L3N1Yj5dPC9jb2RlPiBkZW5vdGVzIHRoYXQgdGhlcmUgZXhpc3RzIGEgPHN0cm9uZz5kaXJlY3RlZDwvc3Ryb25nPiBlZGdlIGZyb20gPGNvZGU+ZnJvbTxzdWI+aTwvc3ViPjwvY29kZT4gdG8gPGNvZGU+dG88c3ViPmk8L3N1Yj48L2NvZGU+IHdpdGggd2VpZ2h0IDxjb2RlPndlaWdodDxzdWI+aTwvc3ViPjwvY29kZT4uPC9wPgo8cD5MYXN0bHksIHlvdSBhcmUgZ2l2ZW4gdGhyZWUgPHN0cm9uZz5kaXN0aW5jdDwvc3Ryb25nPiBpbnRlZ2VycyA8Y29kZT5zcmMxPC9jb2RlPiwgPGNvZGU+c3JjMjwvY29kZT4sIGFuZCA8Y29kZT5kZXN0PC9jb2RlPiBkZW5vdGluZyB0aHJlZSBkaXN0aW5jdCBub2RlcyBvZiB0aGUgZ3JhcGguPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1pbmltdW0gd2VpZ2h0PC9zdHJvbmc+IG9mIGEgc3ViZ3JhcGggb2YgdGhlIGdyYXBoIHN1Y2ggdGhhdCBpdCBpcyA8c3Ryb25nPnBvc3NpYmxlPC9zdHJvbmc+IHRvIHJlYWNoPC9lbT4gPGNvZGU+ZGVzdDwvY29kZT4gPGVtPmZyb20gYm90aDwvZW0+IDxjb2RlPnNyYzE8L2NvZGU+IDxlbT5hbmQ8L2VtPiA8Y29kZT5zcmMyPC9jb2RlPiA8ZW0+dmlhIGEgc2V0IG9mIGVkZ2VzIG9mIHRoaXMgc3ViZ3JhcGg8L2VtPi4gSW4gY2FzZSBzdWNoIGEgc3ViZ3JhcGggZG9lcyBub3QgZXhpc3QsIHJldHVybiA8Y29kZT4tMTwvY29kZT4uPC9wPgo8cD5BIDxzdHJvbmc+c3ViZ3JhcGg8L3N0cm9uZz4gaXMgYSBncmFwaCB3aG9zZSB2ZXJ0aWNlcyBhbmQgZWRnZXMgYXJlIHN1YnNldHMgb2YgdGhlIG9yaWdpbmFsIGdyYXBoLiBUaGUgPHN0cm9uZz53ZWlnaHQ8L3N0cm9uZz4gb2YgYSBzdWJncmFwaCBpcyB0aGUgc3VtIG9mIHdlaWdodHMgb2YgaXRzIGNvbnN0aXR1ZW50IGVkZ2VzLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMi8xNy9leGFtcGxlMWRyYXdpby5wbmciIHN0eWxlPSJ3aWR0aDogMjYzcHg7IGhlaWdodDogMjUwcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDYsIGVkZ2VzID0gW1swLDIsMl0sWzAsNSw2XSxbMSwwLDNdLFsxLDQsNV0sWzIsMSwxXSxbMiwzLDNdLFsyLDMsNF0sWzMsNCwyXSxbNCw1LDFdXSwgc3JjMSA9IDAsIHNyYzIgPSAxLCBkZXN0ID0gNQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gOQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgYWJvdmUgZmlndXJlIHJlcHJlc2VudHMgdGhlIGlucHV0IGdyYXBoLgpUaGUgYmx1ZSBlZGdlcyByZXByZXNlbnQgb25lIG9mIHRoZSBzdWJncmFwaHMgdGhhdCB5aWVsZCB0aGUgb3B0aW1hbCBhbnN3ZXIuCk5vdGUgdGhhdCB0aGUgc3ViZ3JhcGggW1sxLDAsM10sWzAsNSw2XV0gYWxzbyB5aWVsZHMgdGhlIG9wdGltYWwgYW5zd2VyLiBJdCBpcyBub3QgcG9zc2libGUgdG8gZ2V0IGEgc3ViZ3JhcGggd2l0aCBsZXNzIHdlaWdodCBzYXRpc2Z5aW5nIGFsbCB0aGUgY29uc3RyYWludHMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDIvMTcvZXhhbXBsZTItMWRyYXdpby5wbmciIHN0eWxlPSJ3aWR0aDogMzUwcHg7IGhlaWdodDogNTFweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gMywgZWRnZXMgPSBbWzAsMSwxXSxbMiwxLDFdXSwgc3JjMSA9IDAsIHNyYzIgPSAxLCBkZXN0ID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gLTEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIGFib3ZlIGZpZ3VyZSByZXByZXNlbnRzIHRoZSBpbnB1dCBncmFwaC4KSXQgY2FuIGJlIHNlZW4gdGhhdCB0aGVyZSBkb2VzIG5vdCBleGlzdCBhbnkgcGF0aCBmcm9tIG5vZGUgMSB0byBub2RlIDIsIGhlbmNlIHRoZXJlIGFyZSBubyBzdWJncmFwaHMgc2F0aXNmeWluZyBhbGwgdGhlIGNvbnN0cmFpbnRzLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4zICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gZWRnZXMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5lZGdlc1tpXS5sZW5ndGggPT0gMzwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBmcm9tPHN1Yj5pPC9zdWI+LCB0bzxzdWI+aTwvc3ViPiwgc3JjMSwgc3JjMiwgZGVzdCAmbHQ7PSBuIC0gMTwvY29kZT48L2xpPgo8bGk+PGNvZGU+ZnJvbTxzdWI+aTwvc3ViPiAhPSB0bzxzdWI+aTwvc3ViPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+c3JjMTwvY29kZT4sIDxjb2RlPnNyYzI8L2NvZGU+LCBhbmQgPGNvZGU+ZGVzdDwvY29kZT4gYXJlIHBhaXJ3aXNlIGRpc3RpbmN0LjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHdlaWdodFtpXSAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Graph",
+ "Shortest Path"
+ ]
+ },
+ {
+ "title": "2213. Longest Substring of One Repeating Character",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBzdHJpbmcgPGNvZGU+czwvY29kZT4uIFlvdSBhcmUgYWxzbyBnaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IHN0cmluZyA8Y29kZT5xdWVyeUNoYXJhY3RlcnM8L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT5rPC9jb2RlPiBhbmQgYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBhcnJheSBvZiBpbnRlZ2VyIDxzdHJvbmc+aW5kaWNlczwvc3Ryb25nPiA8Y29kZT5xdWVyeUluZGljZXM8L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT5rPC9jb2RlPiwgYm90aCBvZiB3aGljaCBhcmUgdXNlZCB0byBkZXNjcmliZSA8Y29kZT5rPC9jb2RlPiBxdWVyaWVzLjwvcD4KPHA+VGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBxdWVyeSB1cGRhdGVzIHRoZSBjaGFyYWN0ZXIgaW4gPGNvZGU+czwvY29kZT4gYXQgaW5kZXggPGNvZGU+cXVlcnlJbmRpY2VzW2ldPC9jb2RlPiB0byB0aGUgY2hhcmFjdGVyIDxjb2RlPnF1ZXJ5Q2hhcmFjdGVyc1tpXTwvY29kZT4uPC9wPgo8cD5SZXR1cm4gPGVtPmFuIGFycmF5PC9lbT4gPGNvZGU+bGVuZ3RoczwvY29kZT4gPGVtPm9mIGxlbmd0aCA8L2VtPjxjb2RlPms8L2NvZGU+PGVtPiB3aGVyZTwvZW0+IDxjb2RlPmxlbmd0aHNbaV08L2NvZGU+IDxlbT5pcyB0aGUgPHN0cm9uZz5sZW5ndGg8L3N0cm9uZz4gb2YgdGhlIDxzdHJvbmc+bG9uZ2VzdCBzdWJzdHJpbmc8L3N0cm9uZz4gb2YgPC9lbT48Y29kZT5zPC9jb2RlPjxlbT4gY29uc2lzdGluZyBvZiA8c3Ryb25nPm9ubHkgb25lIHJlcGVhdGluZzwvc3Ryb25nPiBjaGFyYWN0ZXIgPHN0cm9uZz5hZnRlcjwvc3Ryb25nPiB0aGU8L2VtPiA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gPGVtPnF1ZXJ5PC9lbT48ZW0+IGlzIHBlcmZvcm1lZC48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJiYWJhY2MiLCBxdWVyeUNoYXJhY3RlcnMgPSAiYmNiIiwgcXVlcnlJbmRpY2VzID0gWzEsMywzXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzMsMyw0XQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKLSAxPHN1cD5zdDwvc3VwPiBxdWVyeSB1cGRhdGVzIHMgPSAiPHU+YjxzdHJvbmc+Yjwvc3Ryb25nPmI8L3U+YWNjIi4gVGhlIGxvbmdlc3Qgc3Vic3RyaW5nIGNvbnNpc3Rpbmcgb2Ygb25lIHJlcGVhdGluZyBjaGFyYWN0ZXIgaXMgImJiYiIgd2l0aCBsZW5ndGggMy4KLSAyPHN1cD5uZDwvc3VwPiBxdWVyeSB1cGRhdGVzIHMgPSAiYmJiPHU+PHN0cm9uZz5jPC9zdHJvbmc+Y2M8L3U+Ii4gCiAgVGhlIGxvbmdlc3Qgc3Vic3RyaW5nIGNvbnNpc3Rpbmcgb2Ygb25lIHJlcGVhdGluZyBjaGFyYWN0ZXIgY2FuIGJlICJiYmIiIG9yICJjY2MiIHdpdGggbGVuZ3RoIDMuCi0gMzxzdXA+cmQ8L3N1cD4gcXVlcnkgdXBkYXRlcyBzID0gIjx1PmJiYjxzdHJvbmc+Yjwvc3Ryb25nPjwvdT5jYyIuIFRoZSBsb25nZXN0IHN1YnN0cmluZyBjb25zaXN0aW5nIG9mIG9uZSByZXBlYXRpbmcgY2hhcmFjdGVyIGlzICJiYmJiIiB3aXRoIGxlbmd0aCA0LgpUaHVzLCB3ZSByZXR1cm4gWzMsMyw0XS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJhYnl6eiIsIHF1ZXJ5Q2hhcmFjdGVycyA9ICJhYSIsIHF1ZXJ5SW5kaWNlcyA9IFsyLDFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMiwzXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgotIDE8c3VwPnN0PC9zdXA+IHF1ZXJ5IHVwZGF0ZXMgcyA9ICJhYjxzdHJvbmc+YTwvc3Ryb25nPjx1Pnp6PC91PiIuIFRoZSBsb25nZXN0IHN1YnN0cmluZyBjb25zaXN0aW5nIG9mIG9uZSByZXBlYXRpbmcgY2hhcmFjdGVyIGlzICJ6eiIgd2l0aCBsZW5ndGggMi4KLSAyPHN1cD5uZDwvc3VwPiBxdWVyeSB1cGRhdGVzIHMgPSAiPHU+YTxzdHJvbmc+YTwvc3Ryb25nPmE8L3U+enoiLiBUaGUgbG9uZ2VzdCBzdWJzdHJpbmcgY29uc2lzdGluZyBvZiBvbmUgcmVwZWF0aW5nIGNoYXJhY3RlciBpcyAiYWFhIiB3aXRoIGxlbmd0aCAzLgpUaHVzLCB3ZSByZXR1cm4gWzIsM10uCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnM8L2NvZGU+IGNvbnNpc3RzIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMuPC9saT4KPGxpPjxjb2RlPmsgPT0gcXVlcnlDaGFyYWN0ZXJzLmxlbmd0aCA9PSBxdWVyeUluZGljZXMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGsgJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnF1ZXJ5Q2hhcmFjdGVyczwvY29kZT4gY29uc2lzdHMgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycy48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBxdWVyeUluZGljZXNbaV0gJmx0OyBzLmxlbmd0aDwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "String",
+ "Segment Tree",
+ "Ordered Set"
+ ]
+ },
+ {
+ "title": "2209. Minimum White Tiles After Covering With Carpets",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZCBiaW5hcnk8L3N0cm9uZz4gc3RyaW5nIDxjb2RlPmZsb29yPC9jb2RlPiwgd2hpY2ggcmVwcmVzZW50cyB0aGUgY29sb3JzIG9mIHRpbGVzIG9uIGEgZmxvb3I6PC9wPgo8dWw+CjxsaT48Y29kZT5mbG9vcltpXSA9ICcwJzwvY29kZT4gZGVub3RlcyB0aGF0IHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gdGlsZSBvZiB0aGUgZmxvb3IgaXMgY29sb3JlZCA8c3Ryb25nPmJsYWNrPC9zdHJvbmc+LjwvbGk+CjxsaT5PbiB0aGUgb3RoZXIgaGFuZCwgPGNvZGU+Zmxvb3JbaV0gPSAnMSc8L2NvZGU+IGRlbm90ZXMgdGhhdCB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHRpbGUgb2YgdGhlIGZsb29yIGlzIGNvbG9yZWQgPHN0cm9uZz53aGl0ZTwvc3Ryb25nPi48L2xpPgo8L3VsPgo8cD5Zb3UgYXJlIGFsc28gZ2l2ZW4gPGNvZGU+bnVtQ2FycGV0czwvY29kZT4gYW5kIDxjb2RlPmNhcnBldExlbjwvY29kZT4uIFlvdSBoYXZlIDxjb2RlPm51bUNhcnBldHM8L2NvZGU+IDxzdHJvbmc+YmxhY2s8L3N0cm9uZz4gY2FycGV0cywgZWFjaCBvZiBsZW5ndGggPGNvZGU+Y2FycGV0TGVuPC9jb2RlPiB0aWxlcy4gQ292ZXIgdGhlIHRpbGVzIHdpdGggdGhlIGdpdmVuIGNhcnBldHMgc3VjaCB0aGF0IHRoZSBudW1iZXIgb2YgPHN0cm9uZz53aGl0ZTwvc3Ryb25nPiB0aWxlcyBzdGlsbCB2aXNpYmxlIGlzIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPi4gQ2FycGV0cyBtYXkgb3ZlcmxhcCBvbmUgYW5vdGhlci48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiBudW1iZXIgb2Ygd2hpdGUgdGlsZXMgc3RpbGwgdmlzaWJsZS48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMi8wMi8xMC9leDEtMS5wbmciIHN0eWxlPSJ3aWR0aDogNDAwcHg7IGhlaWdodDogNzNweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBmbG9vciA9ICIxMDExMDEwMSIsIG51bUNhcnBldHMgPSAyLCBjYXJwZXRMZW4gPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApUaGUgZmlndXJlIGFib3ZlIHNob3dzIG9uZSB3YXkgb2YgY292ZXJpbmcgdGhlIHRpbGVzIHdpdGggdGhlIGNhcnBldHMgc3VjaCB0aGF0IG9ubHkgMiB3aGl0ZSB0aWxlcyBhcmUgdmlzaWJsZS4KTm8gb3RoZXIgd2F5IG9mIGNvdmVyaW5nIHRoZSB0aWxlcyB3aXRoIHRoZSBjYXJwZXRzIGNhbiBsZWF2ZSBsZXNzIHRoYW4gMiB3aGl0ZSB0aWxlcyB2aXNpYmxlLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAyLzEwL2V4Mi5wbmciIHN0eWxlPSJ3aWR0aDogMzUzcHg7IGhlaWdodDogMTIzcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZmxvb3IgPSAiMTExMTEiLCBudW1DYXJwZXRzID0gMiwgY2FycGV0TGVuID0gMwo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKVGhlIGZpZ3VyZSBhYm92ZSBzaG93cyBvbmUgd2F5IG9mIGNvdmVyaW5nIHRoZSB0aWxlcyB3aXRoIHRoZSBjYXJwZXRzIHN1Y2ggdGhhdCBubyB3aGl0ZSB0aWxlcyBhcmUgdmlzaWJsZS4KTm90ZSB0aGF0IHRoZSBjYXJwZXRzIGFyZSBhYmxlIHRvIG92ZXJsYXAgb25lIGFub3RoZXIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gY2FycGV0TGVuICZsdDs9IGZsb29yLmxlbmd0aCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5mbG9vcltpXTwvY29kZT4gaXMgZWl0aGVyIDxjb2RlPicwJzwvY29kZT4gb3IgPGNvZGU+JzEnPC9jb2RlPi48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1DYXJwZXRzICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "String",
+ "Dynamic Programming",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2197. Replace Non-Coprime Numbers in Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gYXJyYXkgb2YgaW50ZWdlcnMgPGNvZGU+bnVtczwvY29kZT4uIFBlcmZvcm0gdGhlIGZvbGxvd2luZyBzdGVwczo8L3A+CjxvbD4KPGxpPkZpbmQgPHN0cm9uZz5hbnk8L3N0cm9uZz4gdHdvIDxzdHJvbmc+YWRqYWNlbnQ8L3N0cm9uZz4gbnVtYmVycyBpbiA8Y29kZT5udW1zPC9jb2RlPiB0aGF0IGFyZSA8c3Ryb25nPm5vbi1jb3ByaW1lPC9zdHJvbmc+LjwvbGk+CjxsaT5JZiBubyBzdWNoIG51bWJlcnMgYXJlIGZvdW5kLCA8c3Ryb25nPnN0b3A8L3N0cm9uZz4gdGhlIHByb2Nlc3MuPC9saT4KPGxpPk90aGVyd2lzZSwgZGVsZXRlIHRoZSB0d28gbnVtYmVycyBhbmQgPHN0cm9uZz5yZXBsYWNlPC9zdHJvbmc+IHRoZW0gd2l0aCB0aGVpciA8c3Ryb25nPkxDTSAoTGVhc3QgQ29tbW9uIE11bHRpcGxlKTwvc3Ryb25nPi48L2xpPgo8bGk+PHN0cm9uZz5SZXBlYXQ8L3N0cm9uZz4gdGhpcyBwcm9jZXNzIGFzIGxvbmcgYXMgeW91IGtlZXAgZmluZGluZyB0d28gYWRqYWNlbnQgbm9uLWNvcHJpbWUgbnVtYmVycy48L2xpPgo8L29sPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPmZpbmFsPC9zdHJvbmc+IG1vZGlmaWVkIGFycmF5LjwvZW0+IEl0IGNhbiBiZSBzaG93biB0aGF0IHJlcGxhY2luZyBhZGphY2VudCBub24tY29wcmltZSBudW1iZXJzIGluIDxzdHJvbmc+YW55PC9zdHJvbmc+IGFyYml0cmFyeSBvcmRlciB3aWxsIGxlYWQgdG8gdGhlIHNhbWUgcmVzdWx0LjwvcD4KPHA+VGhlIHRlc3QgY2FzZXMgYXJlIGdlbmVyYXRlZCBzdWNoIHRoYXQgdGhlIHZhbHVlcyBpbiB0aGUgZmluYWwgYXJyYXkgYXJlIDxzdHJvbmc+bGVzcyB0aGFuIG9yIGVxdWFsPC9zdHJvbmc+IHRvIDxjb2RlPjEwPHN1cD44PC9zdXA+PC9jb2RlPi48L3A+CjxwPlR3byB2YWx1ZXMgPGNvZGU+eDwvY29kZT4gYW5kIDxjb2RlPnk8L2NvZGU+IGFyZSA8c3Ryb25nPm5vbi1jb3ByaW1lPC9zdHJvbmc+IGlmIDxjb2RlPkdDRCh4LCB5KSAmZ3Q7IDE8L2NvZGU+IHdoZXJlIDxjb2RlPkdDRCh4LCB5KTwvY29kZT4gaXMgdGhlIDxzdHJvbmc+R3JlYXRlc3QgQ29tbW9uIERpdmlzb3I8L3N0cm9uZz4gb2YgPGNvZGU+eDwvY29kZT4gYW5kIDxjb2RlPnk8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs2LDQsMywyLDcsNiwyXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzEyLDcsNl0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCi0gKDYsIDQpIGFyZSBub24tY29wcmltZSB3aXRoIExDTSg2LCA0KSA9IDEyLiBOb3csIG51bXMgPSBbPHN0cm9uZz48dT4xMjwvdT48L3N0cm9uZz4sMywyLDcsNiwyXS4KLSAoMTIsIDMpIGFyZSBub24tY29wcmltZSB3aXRoIExDTSgxMiwgMykgPSAxMi4gTm93LCBudW1zID0gWzxzdHJvbmc+PHU+MTI8L3U+PC9zdHJvbmc+LDIsNyw2LDJdLgotICgxMiwgMikgYXJlIG5vbi1jb3ByaW1lIHdpdGggTENNKDEyLCAyKSA9IDEyLiBOb3csIG51bXMgPSBbPHN0cm9uZz48dT4xMjwvdT48L3N0cm9uZz4sNyw2LDJdLgotICg2LCAyKSBhcmUgbm9uLWNvcHJpbWUgd2l0aCBMQ00oNiwgMikgPSA2LiBOb3csIG51bXMgPSBbMTIsNyw8dT48c3Ryb25nPjY8L3N0cm9uZz48L3U+XS4KVGhlcmUgYXJlIG5vIG1vcmUgYWRqYWNlbnQgbm9uLWNvcHJpbWUgbnVtYmVycyBpbiBudW1zLgpUaHVzLCB0aGUgZmluYWwgbW9kaWZpZWQgYXJyYXkgaXMgWzEyLDcsNl0uCk5vdGUgdGhhdCB0aGVyZSBhcmUgb3RoZXIgd2F5cyB0byBvYnRhaW4gdGhlIHNhbWUgcmVzdWx0YW50IGFycmF5Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzIsMiwxLDEsMywzLDNdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMiwxLDEsM10KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCi0gKDMsIDMpIGFyZSBub24tY29wcmltZSB3aXRoIExDTSgzLCAzKSA9IDMuIE5vdywgbnVtcyA9IFsyLDIsMSwxLDx1PjxzdHJvbmc+Mzwvc3Ryb25nPjwvdT4sM10uCi0gKDMsIDMpIGFyZSBub24tY29wcmltZSB3aXRoIExDTSgzLCAzKSA9IDMuIE5vdywgbnVtcyA9IFsyLDIsMSwxLDx1PjxzdHJvbmc+Mzwvc3Ryb25nPjwvdT5dLgotICgyLCAyKSBhcmUgbm9uLWNvcHJpbWUgd2l0aCBMQ00oMiwgMikgPSAyLiBOb3csIG51bXMgPSBbPHU+PHN0cm9uZz4yPC9zdHJvbmc+PC91PiwxLDEsM10uClRoZXJlIGFyZSBubyBtb3JlIGFkamFjZW50IG5vbi1jb3ByaW1lIG51bWJlcnMgaW4gbnVtcy4KVGh1cywgdGhlIGZpbmFsIG1vZGlmaWVkIGFycmF5IGlzIFsyLDEsMSwzXS4KTm90ZSB0aGF0IHRoZXJlIGFyZSBvdGhlciB3YXlzIHRvIG9idGFpbiB0aGUgc2FtZSByZXN1bHRhbnQgYXJyYXkuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+VGhlIHRlc3QgY2FzZXMgYXJlIGdlbmVyYXRlZCBzdWNoIHRoYXQgdGhlIHZhbHVlcyBpbiB0aGUgZmluYWwgYXJyYXkgYXJlIDxzdHJvbmc+bGVzcyB0aGFuIG9yIGVxdWFsPC9zdHJvbmc+IHRvIDxjb2RlPjEwPHN1cD44PC9zdXA+PC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Math",
+ "Stack",
+ "Number Theory"
+ ]
+ },
+ {
+ "title": "2183. Count Array Pairs Divisible by K",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4gYW5kIGFuIGludGVnZXIgPGNvZGU+azwvY29kZT4sIHJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bnVtYmVyIG9mIHBhaXJzPC9zdHJvbmc+PC9lbT4gPGNvZGU+KGksIGopPC9jb2RlPiA8ZW0+c3VjaCB0aGF0OjwvZW0+PC9wPgo8dWw+CjxsaT48Y29kZT4wICZsdDs9IGkgJmx0OyBqICZsdDs9IG4gLSAxPC9jb2RlPiA8ZW0+YW5kPC9lbT48L2xpPgo8bGk+PGNvZGU+bnVtc1tpXSAqIG51bXNbal08L2NvZGU+IDxlbT5pcyBkaXZpc2libGUgYnk8L2VtPiA8Y29kZT5rPC9jb2RlPi48L2xpPgo8L3VsPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMiwzLDQsNV0sIGsgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA3CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApUaGUgNyBwYWlycyBvZiBpbmRpY2VzIHdob3NlIGNvcnJlc3BvbmRpbmcgcHJvZHVjdHMgYXJlIGRpdmlzaWJsZSBieSAyIGFyZQooMCwgMSksICgwLCAzKSwgKDEsIDIpLCAoMSwgMyksICgxLCA0KSwgKDIsIDMpLCBhbmQgKDMsIDQpLgpUaGVpciBwcm9kdWN0cyBhcmUgMiwgNCwgNiwgOCwgMTAsIDEyLCBhbmQgMjAgcmVzcGVjdGl2ZWx5LgpPdGhlciBwYWlycyBzdWNoIGFzICgwLCAyKSBhbmQgKDIsIDQpIGhhdmUgcHJvZHVjdHMgMyBhbmQgMTUgcmVzcGVjdGl2ZWx5LCB3aGljaCBhcmUgbm90IGRpdmlzaWJsZSBieSAyLiAgICAKPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDIsMyw0XSwgayA9IDUKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgZG9lcyBub3QgZXhpc3QgYW55IHBhaXIgb2YgaW5kaWNlcyB3aG9zZSBjb3JyZXNwb25kaW5nIHByb2R1Y3QgaXMgZGl2aXNpYmxlIGJ5IDUuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSwgayAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Math",
+ "Number Theory"
+ ]
+ },
+ {
+ "title": "2188. Minimum Time to Finish the Race",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPnRpcmVzPC9jb2RlPiB3aGVyZSA8Y29kZT50aXJlc1tpXSA9IFtmPHN1Yj5pPC9zdWI+LCByPHN1Yj5pPC9zdWI+XTwvY29kZT4gaW5kaWNhdGVzIHRoYXQgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiB0aXJlIGNhbiBmaW5pc2ggaXRzIDxjb2RlPng8c3VwPnRoPC9zdXA+PC9jb2RlPiBzdWNjZXNzaXZlIGxhcCBpbiA8Y29kZT5mPHN1Yj5pPC9zdWI+ICogcjxzdWI+aTwvc3ViPjxzdXA+KHgtMSk8L3N1cD48L2NvZGU+IHNlY29uZHMuPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgaWYgPGNvZGU+ZjxzdWI+aTwvc3ViPiA9IDM8L2NvZGU+IGFuZCA8Y29kZT5yPHN1Yj5pPC9zdWI+ID0gMjwvY29kZT4sIHRoZW4gdGhlIHRpcmUgd291bGQgZmluaXNoIGl0cyA8Y29kZT4xPHN1cD5zdDwvc3VwPjwvY29kZT4gbGFwIGluIDxjb2RlPjM8L2NvZGU+IHNlY29uZHMsIGl0cyA8Y29kZT4yPHN1cD5uZDwvc3VwPjwvY29kZT4gbGFwIGluIDxjb2RlPjMgKiAyID0gNjwvY29kZT4gc2Vjb25kcywgaXRzIDxjb2RlPjM8c3VwPnJkPC9zdXA+PC9jb2RlPiBsYXAgaW4gPGNvZGU+MyAqIDI8c3VwPjI8L3N1cD4gPSAxMjwvY29kZT4gc2Vjb25kcywgZXRjLjwvbGk+CjwvdWw+CjxwPllvdSBhcmUgYWxzbyBnaXZlbiBhbiBpbnRlZ2VyIDxjb2RlPmNoYW5nZVRpbWU8L2NvZGU+IGFuZCBhbiBpbnRlZ2VyIDxjb2RlPm51bUxhcHM8L2NvZGU+LjwvcD4KPHA+VGhlIHJhY2UgY29uc2lzdHMgb2YgPGNvZGU+bnVtTGFwczwvY29kZT4gbGFwcyBhbmQgeW91IG1heSBzdGFydCB0aGUgcmFjZSB3aXRoIDxzdHJvbmc+YW55PC9zdHJvbmc+IHRpcmUuIFlvdSBoYXZlIGFuIDxzdHJvbmc+dW5saW1pdGVkPC9zdHJvbmc+IHN1cHBseSBvZiBlYWNoIHRpcmUgYW5kIGFmdGVyIGV2ZXJ5IGxhcCwgeW91IG1heSA8c3Ryb25nPmNoYW5nZTwvc3Ryb25nPiB0byBhbnkgZ2l2ZW4gdGlyZSAoaW5jbHVkaW5nIHRoZSBjdXJyZW50IHRpcmUgdHlwZSkgaWYgeW91IHdhaXQgPGNvZGU+Y2hhbmdlVGltZTwvY29kZT4gc2Vjb25kcy48L3A+CjxwPlJldHVybjxlbT4gdGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiB0aW1lIHRvIGZpbmlzaCB0aGUgcmFjZS48L2VtPjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gdGlyZXMgPSBbWzIsM10sWzMsNF1dLCBjaGFuZ2VUaW1lID0gNSwgbnVtTGFwcyA9IDQKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIxCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApMYXAgMTogU3RhcnQgd2l0aCB0aXJlIDAgYW5kIGZpbmlzaCB0aGUgbGFwIGluIDIgc2Vjb25kcy4KTGFwIDI6IENvbnRpbnVlIHdpdGggdGlyZSAwIGFuZCBmaW5pc2ggdGhlIGxhcCBpbiAyICogMyA9IDYgc2Vjb25kcy4KTGFwIDM6IENoYW5nZSB0aXJlcyB0byBhIG5ldyB0aXJlIDAgZm9yIDUgc2Vjb25kcyBhbmQgdGhlbiBmaW5pc2ggdGhlIGxhcCBpbiBhbm90aGVyIDIgc2Vjb25kcy4KTGFwIDQ6IENvbnRpbnVlIHdpdGggdGlyZSAwIGFuZCBmaW5pc2ggdGhlIGxhcCBpbiAyICogMyA9IDYgc2Vjb25kcy4KVG90YWwgdGltZSA9IDIgKyA2ICsgNSArIDIgKyA2ID0gMjEgc2Vjb25kcy4KVGhlIG1pbmltdW0gdGltZSB0byBjb21wbGV0ZSB0aGUgcmFjZSBpcyAyMSBzZWNvbmRzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB0aXJlcyA9IFtbMSwxMF0sWzIsMl0sWzMsNF1dLCBjaGFuZ2VUaW1lID0gNiwgbnVtTGFwcyA9IDUKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDI1CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApMYXAgMTogU3RhcnQgd2l0aCB0aXJlIDEgYW5kIGZpbmlzaCB0aGUgbGFwIGluIDIgc2Vjb25kcy4KTGFwIDI6IENvbnRpbnVlIHdpdGggdGlyZSAxIGFuZCBmaW5pc2ggdGhlIGxhcCBpbiAyICogMiA9IDQgc2Vjb25kcy4KTGFwIDM6IENoYW5nZSB0aXJlcyB0byBhIG5ldyB0aXJlIDEgZm9yIDYgc2Vjb25kcyBhbmQgdGhlbiBmaW5pc2ggdGhlIGxhcCBpbiBhbm90aGVyIDIgc2Vjb25kcy4KTGFwIDQ6IENvbnRpbnVlIHdpdGggdGlyZSAxIGFuZCBmaW5pc2ggdGhlIGxhcCBpbiAyICogMiA9IDQgc2Vjb25kcy4KTGFwIDU6IENoYW5nZSB0aXJlcyB0byB0aXJlIDAgZm9yIDYgc2Vjb25kcyB0aGVuIGZpbmlzaCB0aGUgbGFwIGluIGFub3RoZXIgMSBzZWNvbmQuClRvdGFsIHRpbWUgPSAyICsgNCArIDYgKyAyICsgNCArIDYgKyAxID0gMjUgc2Vjb25kcy4KVGhlIG1pbmltdW0gdGltZSB0byBjb21wbGV0ZSB0aGUgcmFjZSBpcyAyNSBzZWNvbmRzLiAKPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSB0aXJlcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnRpcmVzW2ldLmxlbmd0aCA9PSAyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGY8c3ViPmk8L3N1Yj4sIGNoYW5nZVRpbWUgJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjIgJmx0Oz0gcjxzdWI+aTwvc3ViPiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1MYXBzICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Dynamic Programming"
+ ]
+ },
+ {
+ "title": "2172. Maximum AND Sum of Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4gYW5kIGFuIGludGVnZXIgPGNvZGU+bnVtU2xvdHM8L2NvZGU+IHN1Y2ggdGhhdCA8Y29kZT4yICogbnVtU2xvdHMgJmd0Oz0gbjwvY29kZT4uIFRoZXJlIGFyZSA8Y29kZT5udW1TbG90czwvY29kZT4gc2xvdHMgbnVtYmVyZWQgZnJvbSA8Y29kZT4xPC9jb2RlPiB0byA8Y29kZT5udW1TbG90czwvY29kZT4uPC9wPgo8cD5Zb3UgaGF2ZSB0byBwbGFjZSBhbGwgPGNvZGU+bjwvY29kZT4gaW50ZWdlcnMgaW50byB0aGUgc2xvdHMgc3VjaCB0aGF0IGVhY2ggc2xvdCBjb250YWlucyBhdCA8c3Ryb25nPm1vc3Q8L3N0cm9uZz4gdHdvIG51bWJlcnMuIFRoZSA8c3Ryb25nPkFORCBzdW08L3N0cm9uZz4gb2YgYSBnaXZlbiBwbGFjZW1lbnQgaXMgdGhlIHN1bSBvZiB0aGUgPHN0cm9uZz5iaXR3aXNlPC9zdHJvbmc+IDxjb2RlPkFORDwvY29kZT4gb2YgZXZlcnkgbnVtYmVyIHdpdGggaXRzIHJlc3BlY3RpdmUgc2xvdCBudW1iZXIuPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgdGhlIDxzdHJvbmc+QU5EIHN1bTwvc3Ryb25nPiBvZiBwbGFjaW5nIHRoZSBudW1iZXJzIDxjb2RlPlsxLCAzXTwvY29kZT4gaW50byBzbG90IDx1Pjxjb2RlPjE8L2NvZGU+PC91PiBhbmQgPGNvZGU+WzQsIDZdPC9jb2RlPiBpbnRvIHNsb3QgPHU+PGNvZGU+MjwvY29kZT48L3U+IGlzIGVxdWFsIHRvIDxjb2RlPigxIEFORCA8dT4xPC91PikgKyAoMyBBTkQgPHU+MTwvdT4pICsgKDQgQU5EIDx1PjI8L3U+KSArICg2IEFORCA8dT4yPC91PikgPSAxICsgMSArIDAgKyAyID0gNDwvY29kZT4uPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgbWF4aW11bSBwb3NzaWJsZSA8c3Ryb25nPkFORCBzdW08L3N0cm9uZz4gb2YgPC9lbT48Y29kZT5udW1zPC9jb2RlPjxlbT4gZ2l2ZW4gPC9lbT48Y29kZT5udW1TbG90czwvY29kZT48ZW0+IHNsb3RzLjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMiwzLDQsNSw2XSwgbnVtU2xvdHMgPSAzCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA5CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IE9uZSBwb3NzaWJsZSBwbGFjZW1lbnQgaXMgWzEsIDRdIGludG8gc2xvdCA8dT4xPC91PiwgWzIsIDZdIGludG8gc2xvdCA8dT4yPC91PiwgYW5kIFszLCA1XSBpbnRvIHNsb3QgPHU+MzwvdT4uIApUaGlzIGdpdmVzIHRoZSBtYXhpbXVtIEFORCBzdW0gb2YgKDEgQU5EIDx1PjE8L3U+KSArICg0IEFORCA8dT4xPC91PikgKyAoMiBBTkQgPHU+MjwvdT4pICsgKDYgQU5EIDx1PjI8L3U+KSArICgzIEFORCA8dT4zPC91PikgKyAoNSBBTkQgPHU+MzwvdT4pID0gMSArIDAgKyAyICsgMiArIDMgKyAxID0gOS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsxLDMsMTAsNCw3LDFdLCBudW1TbG90cyA9IDkKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDI0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IE9uZSBwb3NzaWJsZSBwbGFjZW1lbnQgaXMgWzEsIDFdIGludG8gc2xvdCA8dT4xPC91PiwgWzNdIGludG8gc2xvdCA8dT4zPC91PiwgWzRdIGludG8gc2xvdCA8dT40PC91PiwgWzddIGludG8gc2xvdCA8dT43PC91PiwgYW5kIFsxMF0gaW50byBzbG90IDx1Pjk8L3U+LgpUaGlzIGdpdmVzIHRoZSBtYXhpbXVtIEFORCBzdW0gb2YgKDEgQU5EIDx1PjE8L3U+KSArICgxIEFORCA8dT4xPC91PikgKyAoMyBBTkQgPHU+MzwvdT4pICsgKDQgQU5EIDx1PjQ8L3U+KSArICg3IEFORCA8dT43PC91PikgKyAoMTAgQU5EIDx1Pjk8L3U+KSA9IDEgKyAxICsgMyArIDQgKyA3ICsgOCA9IDI0LgpOb3RlIHRoYXQgc2xvdHMgMiwgNSwgNiwgYW5kIDggYXJlIGVtcHR5IHdoaWNoIGlzIHBlcm1pdHRlZC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBudW1zLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1TbG90cyAmbHQ7PSA5PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMiAqIG51bVNsb3RzPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0gJmx0Oz0gMTU8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Dynamic Programming",
+ "Bit Manipulation",
+ "Bitmask"
+ ]
+ },
+ {
+ "title": "2167. Minimum Time to Remove All Cars Containing Illegal Goods",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBiaW5hcnkgc3RyaW5nIDxjb2RlPnM8L2NvZGU+IHdoaWNoIHJlcHJlc2VudHMgYSBzZXF1ZW5jZSBvZiB0cmFpbiBjYXJzLiA8Y29kZT5zW2ldID0gJzAnPC9jb2RlPiBkZW5vdGVzIHRoYXQgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBjYXIgZG9lcyA8c3Ryb25nPm5vdDwvc3Ryb25nPiBjb250YWluIGlsbGVnYWwgZ29vZHMgYW5kIDxjb2RlPnNbaV0gPSAnMSc8L2NvZGU+IGRlbm90ZXMgdGhhdCB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGNhciBkb2VzIGNvbnRhaW4gaWxsZWdhbCBnb29kcy48L3A+CjxwPkFzIHRoZSB0cmFpbiBjb25kdWN0b3IsIHlvdSB3b3VsZCBsaWtlIHRvIGdldCByaWQgb2YgYWxsIHRoZSBjYXJzIGNvbnRhaW5pbmcgaWxsZWdhbCBnb29kcy4gWW91IGNhbiBkbyBhbnkgb2YgdGhlIGZvbGxvd2luZyB0aHJlZSBvcGVyYXRpb25zIDxzdHJvbmc+YW55PC9zdHJvbmc+IG51bWJlciBvZiB0aW1lczo8L3A+CjxvbD4KPGxpPlJlbW92ZSBhIHRyYWluIGNhciBmcm9tIHRoZSA8c3Ryb25nPmxlZnQ8L3N0cm9uZz4gZW5kIChpLmUuLCByZW1vdmUgPGNvZGU+c1swXTwvY29kZT4pIHdoaWNoIHRha2VzIDEgdW5pdCBvZiB0aW1lLjwvbGk+CjxsaT5SZW1vdmUgYSB0cmFpbiBjYXIgZnJvbSB0aGUgPHN0cm9uZz5yaWdodDwvc3Ryb25nPiBlbmQgKGkuZS4sIHJlbW92ZSA8Y29kZT5zW3MubGVuZ3RoIC0gMV08L2NvZGU+KSB3aGljaCB0YWtlcyAxIHVuaXQgb2YgdGltZS48L2xpPgo8bGk+UmVtb3ZlIGEgdHJhaW4gY2FyIGZyb20gPHN0cm9uZz5hbnl3aGVyZTwvc3Ryb25nPiBpbiB0aGUgc2VxdWVuY2Ugd2hpY2ggdGFrZXMgMiB1bml0cyBvZiB0aW1lLjwvbGk+Cjwvb2w+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWluaW11bTwvc3Ryb25nPiB0aW1lIHRvIHJlbW92ZSBhbGwgdGhlIGNhcnMgY29udGFpbmluZyBpbGxlZ2FsIGdvb2RzPC9lbT4uPC9wPgo8cD5Ob3RlIHRoYXQgYW4gZW1wdHkgc2VxdWVuY2Ugb2YgY2FycyBpcyBjb25zaWRlcmVkIHRvIGhhdmUgbm8gY2FycyBjb250YWluaW5nIGlsbGVnYWwgZ29vZHMuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gIjxzdHJvbmc+PHU+MTE8L3U+PC9zdHJvbmc+MDA8c3Ryb25nPjx1PjE8L3U+PC9zdHJvbmc+MDxzdHJvbmc+PHU+MTwvdT48L3N0cm9uZz4iCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA1CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApPbmUgd2F5IHRvIHJlbW92ZSBhbGwgdGhlIGNhcnMgY29udGFpbmluZyBpbGxlZ2FsIGdvb2RzIGZyb20gdGhlIHNlcXVlbmNlIGlzIHRvCi0gcmVtb3ZlIGEgY2FyIGZyb20gdGhlIGxlZnQgZW5kIDIgdGltZXMuIFRpbWUgdGFrZW4gaXMgMiAqIDEgPSAyLgotIHJlbW92ZSBhIGNhciBmcm9tIHRoZSByaWdodCBlbmQuIFRpbWUgdGFrZW4gaXMgMS4KLSByZW1vdmUgdGhlIGNhciBjb250YWluaW5nIGlsbGVnYWwgZ29vZHMgZm91bmQgaW4gdGhlIG1pZGRsZS4gVGltZSB0YWtlbiBpcyAyLgpUaGlzIG9idGFpbnMgYSB0b3RhbCB0aW1lIG9mIDIgKyAxICsgMiA9IDUuIAoKQW4gYWx0ZXJuYXRpdmUgd2F5IGlzIHRvCi0gcmVtb3ZlIGEgY2FyIGZyb20gdGhlIGxlZnQgZW5kIDIgdGltZXMuIFRpbWUgdGFrZW4gaXMgMiAqIDEgPSAyLgotIHJlbW92ZSBhIGNhciBmcm9tIHRoZSByaWdodCBlbmQgMyB0aW1lcy4gVGltZSB0YWtlbiBpcyAzICogMSA9IDMuClRoaXMgYWxzbyBvYnRhaW5zIGEgdG90YWwgdGltZSBvZiAyICsgMyA9IDUuCgo1IGlzIHRoZSBtaW5pbXVtIHRpbWUgdGFrZW4gdG8gcmVtb3ZlIGFsbCB0aGUgY2FycyBjb250YWluaW5nIGlsbGVnYWwgZ29vZHMuIApUaGVyZSBhcmUgbm8gb3RoZXIgd2F5cyB0byByZW1vdmUgdGhlbSB3aXRoIGxlc3MgdGltZS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICIwMDxzdHJvbmc+PHU+MTwvdT48L3N0cm9uZz4wIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpPbmUgd2F5IHRvIHJlbW92ZSBhbGwgdGhlIGNhcnMgY29udGFpbmluZyBpbGxlZ2FsIGdvb2RzIGZyb20gdGhlIHNlcXVlbmNlIGlzIHRvCi0gcmVtb3ZlIGEgY2FyIGZyb20gdGhlIGxlZnQgZW5kIDMgdGltZXMuIFRpbWUgdGFrZW4gaXMgMyAqIDEgPSAzLgpUaGlzIG9idGFpbnMgYSB0b3RhbCB0aW1lIG9mIDMuCgpBbm90aGVyIHdheSB0byByZW1vdmUgYWxsIHRoZSBjYXJzIGNvbnRhaW5pbmcgaWxsZWdhbCBnb29kcyBmcm9tIHRoZSBzZXF1ZW5jZSBpcyB0bwotIHJlbW92ZSB0aGUgY2FyIGNvbnRhaW5pbmcgaWxsZWdhbCBnb29kcyBmb3VuZCBpbiB0aGUgbWlkZGxlLiBUaW1lIHRha2VuIGlzIDIuClRoaXMgb2J0YWlucyBhIHRvdGFsIHRpbWUgb2YgMi4KCkFub3RoZXIgd2F5IHRvIHJlbW92ZSBhbGwgdGhlIGNhcnMgY29udGFpbmluZyBpbGxlZ2FsIGdvb2RzIGZyb20gdGhlIHNlcXVlbmNlIGlzIHRvIAotIHJlbW92ZSBhIGNhciBmcm9tIHRoZSByaWdodCBlbmQgMiB0aW1lcy4gVGltZSB0YWtlbiBpcyAyICogMSA9IDIuIApUaGlzIG9idGFpbnMgYSB0b3RhbCB0aW1lIG9mIDIuCgoyIGlzIHRoZSBtaW5pbXVtIHRpbWUgdGFrZW4gdG8gcmVtb3ZlIGFsbCB0aGUgY2FycyBjb250YWluaW5nIGlsbGVnYWwgZ29vZHMuIApUaGVyZSBhcmUgbm8gb3RoZXIgd2F5cyB0byByZW1vdmUgdGhlbSB3aXRoIGxlc3MgdGltZS48L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHMubGVuZ3RoICZsdDs9IDIgKiAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+c1tpXTwvY29kZT4gaXMgZWl0aGVyIDxjb2RlPicwJzwvY29kZT4gb3IgPGNvZGU+JzEnPC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "String",
+ "Dynamic Programming"
+ ]
+ },
+ {
+ "title": "2179. Count Good Triplets in an Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGFycmF5cyA8Y29kZT5udW1zMTwvY29kZT4gYW5kIDxjb2RlPm51bXMyPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4sIGJvdGggb2Ygd2hpY2ggYXJlIDxzdHJvbmc+cGVybXV0YXRpb25zPC9zdHJvbmc+IG9mIDxjb2RlPlswLCAxLCAuLi4sIG4gLSAxXTwvY29kZT4uPC9wPgo8cD5BIDxzdHJvbmc+Z29vZCB0cmlwbGV0PC9zdHJvbmc+IGlzIGEgc2V0IG9mIDxjb2RlPjM8L2NvZGU+IDxzdHJvbmc+ZGlzdGluY3Q8L3N0cm9uZz4gdmFsdWVzIHdoaWNoIGFyZSBwcmVzZW50IGluIDxzdHJvbmc+aW5jcmVhc2luZyBvcmRlcjwvc3Ryb25nPiBieSBwb3NpdGlvbiBib3RoIGluIDxjb2RlPm51bXMxPC9jb2RlPiBhbmQgPGNvZGU+bnVtczI8L2NvZGU+LiBJbiBvdGhlciB3b3JkcywgaWYgd2UgY29uc2lkZXIgPGNvZGU+cG9zMTxzdWI+djwvc3ViPjwvY29kZT4gYXMgdGhlIGluZGV4IG9mIHRoZSB2YWx1ZSA8Y29kZT52PC9jb2RlPiBpbiA8Y29kZT5udW1zMTwvY29kZT4gYW5kIDxjb2RlPnBvczI8c3ViPnY8L3N1Yj48L2NvZGU+IGFzIHRoZSBpbmRleCBvZiB0aGUgdmFsdWUgPGNvZGU+djwvY29kZT4gaW4gPGNvZGU+bnVtczI8L2NvZGU+LCB0aGVuIGEgZ29vZCB0cmlwbGV0IHdpbGwgYmUgYSBzZXQgPGNvZGU+KHgsIHksIHopPC9jb2RlPiB3aGVyZSA8Y29kZT4wICZsdDs9IHgsIHksIHogJmx0Oz0gbiAtIDE8L2NvZGU+LCBzdWNoIHRoYXQgPGNvZGU+cG9zMTxzdWI+eDwvc3ViPiAmbHQ7IHBvczE8c3ViPnk8L3N1Yj4gJmx0OyBwb3MxPHN1Yj56PC9zdWI+PC9jb2RlPiBhbmQgPGNvZGU+cG9zMjxzdWI+eDwvc3ViPiAmbHQ7IHBvczI8c3ViPnk8L3N1Yj4gJmx0OyBwb3MyPHN1Yj56PC9zdWI+PC9jb2RlPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+dG90YWwgbnVtYmVyPC9zdHJvbmc+IG9mIGdvb2QgdHJpcGxldHM8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMxID0gWzIsMCwxLDNdLCBudW1zMiA9IFswLDEsMiwzXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiAKVGhlcmUgYXJlIDQgdHJpcGxldHMgKHgseSx6KSBzdWNoIHRoYXQgcG9zMTxzdWI+eDwvc3ViPiAmbHQ7IHBvczE8c3ViPnk8L3N1Yj4gJmx0OyBwb3MxPHN1Yj56PC9zdWI+LiBUaGV5IGFyZSAoMiwwLDEpLCAoMiwwLDMpLCAoMiwxLDMpLCBhbmQgKDAsMSwzKS4gCk91dCBvZiB0aG9zZSB0cmlwbGV0cywgb25seSB0aGUgdHJpcGxldCAoMCwxLDMpIHNhdGlzZmllcyBwb3MyPHN1Yj54PC9zdWI+ICZsdDsgcG9zMjxzdWI+eTwvc3ViPiAmbHQ7IHBvczI8c3ViPno8L3N1Yj4uIEhlbmNlLCB0aGVyZSBpcyBvbmx5IDEgZ29vZCB0cmlwbGV0Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zMSA9IFs0LDAsMSwzLDJdLCBudW1zMiA9IFs0LDEsMCwyLDNdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA0CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSA0IGdvb2QgdHJpcGxldHMgYXJlICg0LDAsMyksICg0LDAsMiksICg0LDEsMyksIGFuZCAoNCwxLDIpLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IG51bXMxLmxlbmd0aCA9PSBudW1zMi5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjMgJmx0Oz0gbiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBudW1zMVtpXSwgbnVtczJbaV0gJmx0Oz0gbiAtIDE8L2NvZGU+PC9saT4KPGxpPjxjb2RlPm51bXMxPC9jb2RlPiBhbmQgPGNvZGU+bnVtczI8L2NvZGU+IGFyZSBwZXJtdXRhdGlvbnMgb2YgPGNvZGU+WzAsIDEsIC4uLiwgbiAtIDFdPC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Divide and Conquer",
+ "Binary Indexed Tree",
+ "Segment Tree",
+ "Merge Sort",
+ "Ordered Set"
+ ]
+ },
+ {
+ "title": "2157. Groups of Strings",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBhcnJheSBvZiBzdHJpbmdzIDxjb2RlPndvcmRzPC9jb2RlPi4gRWFjaCBzdHJpbmcgY29uc2lzdHMgb2YgPHN0cm9uZz5sb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzPC9zdHJvbmc+IG9ubHkuIE5vIGxldHRlciBvY2N1cnMgbW9yZSB0aGFuIG9uY2UgaW4gYW55IHN0cmluZyBvZiA8Y29kZT53b3JkczwvY29kZT4uPC9wPgo8cD5Ud28gc3RyaW5ncyA8Y29kZT5zMTwvY29kZT4gYW5kIDxjb2RlPnMyPC9jb2RlPiBhcmUgc2FpZCB0byBiZSA8c3Ryb25nPmNvbm5lY3RlZDwvc3Ryb25nPiBpZiB0aGUgc2V0IG9mIGxldHRlcnMgb2YgPGNvZGU+czI8L2NvZGU+IGNhbiBiZSBvYnRhaW5lZCBmcm9tIHRoZSBzZXQgb2YgbGV0dGVycyBvZiA8Y29kZT5zMTwvY29kZT4gYnkgYW55IDxzdHJvbmc+b25lPC9zdHJvbmc+IG9mIHRoZSBmb2xsb3dpbmcgb3BlcmF0aW9uczo8L3A+Cjx1bD4KPGxpPkFkZGluZyBleGFjdGx5IG9uZSBsZXR0ZXIgdG8gdGhlIHNldCBvZiB0aGUgbGV0dGVycyBvZiA8Y29kZT5zMTwvY29kZT4uPC9saT4KPGxpPkRlbGV0aW5nIGV4YWN0bHkgb25lIGxldHRlciBmcm9tIHRoZSBzZXQgb2YgdGhlIGxldHRlcnMgb2YgPGNvZGU+czE8L2NvZGU+LjwvbGk+CjxsaT5SZXBsYWNpbmcgZXhhY3RseSBvbmUgbGV0dGVyIGZyb20gdGhlIHNldCBvZiB0aGUgbGV0dGVycyBvZiA8Y29kZT5zMTwvY29kZT4gd2l0aCBhbnkgbGV0dGVyLCA8c3Ryb25nPmluY2x1ZGluZzwvc3Ryb25nPiBpdHNlbGYuPC9saT4KPC91bD4KPHA+VGhlIGFycmF5IDxjb2RlPndvcmRzPC9jb2RlPiBjYW4gYmUgZGl2aWRlZCBpbnRvIG9uZSBvciBtb3JlIG5vbi1pbnRlcnNlY3RpbmcgPHN0cm9uZz5ncm91cHM8L3N0cm9uZz4uIEEgc3RyaW5nIGJlbG9uZ3MgdG8gYSBncm91cCBpZiBhbnkgPHN0cm9uZz5vbmU8L3N0cm9uZz4gb2YgdGhlIGZvbGxvd2luZyBpcyB0cnVlOjwvcD4KPHVsPgo8bGk+SXQgaXMgY29ubmVjdGVkIHRvIDxzdHJvbmc+YXQgbGVhc3Qgb25lPC9zdHJvbmc+IG90aGVyIHN0cmluZyBvZiB0aGUgZ3JvdXAuPC9saT4KPGxpPkl0IGlzIHRoZSA8c3Ryb25nPm9ubHk8L3N0cm9uZz4gc3RyaW5nIHByZXNlbnQgaW4gdGhlIGdyb3VwLjwvbGk+CjwvdWw+CjxwPk5vdGUgdGhhdCB0aGUgc3RyaW5ncyBpbiA8Y29kZT53b3JkczwvY29kZT4gc2hvdWxkIGJlIGdyb3VwZWQgaW4gc3VjaCBhIG1hbm5lciB0aGF0IGEgc3RyaW5nIGJlbG9uZ2luZyB0byBhIGdyb3VwIGNhbm5vdCBiZSBjb25uZWN0ZWQgdG8gYSBzdHJpbmcgcHJlc2VudCBpbiBhbnkgb3RoZXIgZ3JvdXAuIEl0IGNhbiBiZSBwcm92ZWQgdGhhdCBzdWNoIGFuIGFycmFuZ2VtZW50IGlzIGFsd2F5cyB1bmlxdWUuPC9wPgo8cD5SZXR1cm4gPGVtPmFuIGFycmF5PC9lbT4gPGNvZGU+YW5zPC9jb2RlPiA8ZW0+b2Ygc2l6ZTwvZW0+IDxjb2RlPjI8L2NvZGU+IDxlbT53aGVyZTo8L2VtPjwvcD4KPHVsPgo8bGk+PGNvZGU+YW5zWzBdPC9jb2RlPiA8ZW0+aXMgdGhlIDxzdHJvbmc+bWF4aW11bSBudW1iZXI8L3N0cm9uZz4gb2YgZ3JvdXBzPC9lbT4gPGNvZGU+d29yZHM8L2NvZGU+IDxlbT5jYW4gYmUgZGl2aWRlZCBpbnRvLCBhbmQ8L2VtPjwvbGk+CjxsaT48Y29kZT5hbnNbMV08L2NvZGU+IDxlbT5pcyB0aGUgPHN0cm9uZz5zaXplIG9mIHRoZSBsYXJnZXN0PC9zdHJvbmc+IGdyb3VwPC9lbT4uPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gd29yZHMgPSBbImEiLCJiIiwiYWIiLCJjZGUiXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzIsM10KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KLSB3b3Jkc1swXSBjYW4gYmUgdXNlZCB0byBvYnRhaW4gd29yZHNbMV0gKGJ5IHJlcGxhY2luZyAnYScgd2l0aCAnYicpLCBhbmQgd29yZHNbMl0gKGJ5IGFkZGluZyAnYicpLiBTbyB3b3Jkc1swXSBpcyBjb25uZWN0ZWQgdG8gd29yZHNbMV0gYW5kIHdvcmRzWzJdLgotIHdvcmRzWzFdIGNhbiBiZSB1c2VkIHRvIG9idGFpbiB3b3Jkc1swXSAoYnkgcmVwbGFjaW5nICdiJyB3aXRoICdhJyksIGFuZCB3b3Jkc1syXSAoYnkgYWRkaW5nICdhJykuIFNvIHdvcmRzWzFdIGlzIGNvbm5lY3RlZCB0byB3b3Jkc1swXSBhbmQgd29yZHNbMl0uCi0gd29yZHNbMl0gY2FuIGJlIHVzZWQgdG8gb2J0YWluIHdvcmRzWzBdIChieSBkZWxldGluZyAnYicpLCBhbmQgd29yZHNbMV0gKGJ5IGRlbGV0aW5nICdhJykuIFNvIHdvcmRzWzJdIGlzIGNvbm5lY3RlZCB0byB3b3Jkc1swXSBhbmQgd29yZHNbMV0uCi0gd29yZHNbM10gaXMgbm90IGNvbm5lY3RlZCB0byBhbnkgc3RyaW5nIGluIHdvcmRzLgpUaHVzLCB3b3JkcyBjYW4gYmUgZGl2aWRlZCBpbnRvIDIgZ3JvdXBzIFsiYSIsImIiLCJhYiJdIGFuZCBbImNkZSJdLiBUaGUgc2l6ZSBvZiB0aGUgbGFyZ2VzdCBncm91cCBpcyAzLiAgCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHdvcmRzID0gWyJhIiwiYWIiLCJhYmMiXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzEsM10KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KLSB3b3Jkc1swXSBpcyBjb25uZWN0ZWQgdG8gd29yZHNbMV0uCi0gd29yZHNbMV0gaXMgY29ubmVjdGVkIHRvIHdvcmRzWzBdIGFuZCB3b3Jkc1syXS4KLSB3b3Jkc1syXSBpcyBjb25uZWN0ZWQgdG8gd29yZHNbMV0uClNpbmNlIGFsbCBzdHJpbmdzIGFyZSBjb25uZWN0ZWQgdG8gZWFjaCBvdGhlciwgdGhleSBzaG91bGQgYmUgZ3JvdXBlZCB0b2dldGhlci4KVGh1cywgdGhlIHNpemUgb2YgdGhlIGxhcmdlc3QgZ3JvdXAgaXMgMy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSB3b3Jkcy5sZW5ndGggJmx0Oz0gMiAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHdvcmRzW2ldLmxlbmd0aCAmbHQ7PSAyNjwvY29kZT48L2xpPgo8bGk+PGNvZGU+d29yZHNbaV08L2NvZGU+IGNvbnNpc3RzIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMgb25seS48L2xpPgo8bGk+Tm8gbGV0dGVyIG9jY3VycyBtb3JlIHRoYW4gb25jZSBpbiA8Y29kZT53b3Jkc1tpXTwvY29kZT4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "String",
+ "Bit Manipulation",
+ "Union Find"
+ ]
+ },
+ {
+ "title": "2156. Find Substring With Given Hash Value",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZSBoYXNoIG9mIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gc3RyaW5nIDxjb2RlPnM8L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT5rPC9jb2RlPiwgZ2l2ZW4gaW50ZWdlcnMgPGNvZGU+cDwvY29kZT4gYW5kIDxjb2RlPm08L2NvZGU+LCBpcyBjb21wdXRlZCB1c2luZyB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uOjwvcD4KPHVsPgo8bGk+PGNvZGU+aGFzaChzLCBwLCBtKSA9ICh2YWwoc1swXSkgKiBwPHN1cD4wPC9zdXA+ICsgdmFsKHNbMV0pICogcDxzdXA+MTwvc3VwPiArIC4uLiArIHZhbChzW2stMV0pICogcDxzdXA+ay0xPC9zdXA+KSBtb2QgbTwvY29kZT4uPC9saT4KPC91bD4KPHA+V2hlcmUgPGNvZGU+dmFsKHNbaV0pPC9jb2RlPiByZXByZXNlbnRzIHRoZSBpbmRleCBvZiA8Y29kZT5zW2ldPC9jb2RlPiBpbiB0aGUgYWxwaGFiZXQgZnJvbSA8Y29kZT52YWwoJ2EnKSA9IDE8L2NvZGU+IHRvIDxjb2RlPnZhbCgneicpID0gMjY8L2NvZGU+LjwvcD4KPHA+WW91IGFyZSBnaXZlbiBhIHN0cmluZyA8Y29kZT5zPC9jb2RlPiBhbmQgdGhlIGludGVnZXJzIDxjb2RlPnBvd2VyPC9jb2RlPiwgPGNvZGU+bW9kdWxvPC9jb2RlPiwgPGNvZGU+azwvY29kZT4sIGFuZCA8Y29kZT5oYXNoVmFsdWUuPC9jb2RlPiBSZXR1cm4gPGNvZGU+c3ViPC9jb2RlPiw8ZW0+IHRoZSA8c3Ryb25nPmZpcnN0PC9zdHJvbmc+IDxzdHJvbmc+c3Vic3RyaW5nPC9zdHJvbmc+IG9mIDwvZW0+PGNvZGU+czwvY29kZT48ZW0+IG9mIGxlbmd0aCA8L2VtPjxjb2RlPms8L2NvZGU+PGVtPiBzdWNoIHRoYXQgPC9lbT48Y29kZT5oYXNoKHN1YiwgcG93ZXIsIG1vZHVsbykgPT0gaGFzaFZhbHVlPC9jb2RlPi48L3A+CjxwPlRoZSB0ZXN0IGNhc2VzIHdpbGwgYmUgZ2VuZXJhdGVkIHN1Y2ggdGhhdCBhbiBhbnN3ZXIgYWx3YXlzIDxzdHJvbmc+ZXhpc3RzPC9zdHJvbmc+LjwvcD4KPHA+QSA8Yj5zdWJzdHJpbmc8L2I+IGlzIGEgY29udGlndW91cyBub24tZW1wdHkgc2VxdWVuY2Ugb2YgY2hhcmFjdGVycyB3aXRoaW4gYSBzdHJpbmcuPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImxlZXRjb2RlIiwgcG93ZXIgPSA3LCBtb2R1bG8gPSAyMCwgayA9IDIsIGhhc2hWYWx1ZSA9IDAKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICJlZSIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGhhc2ggb2YgImVlIiBjYW4gYmUgY29tcHV0ZWQgdG8gYmUgaGFzaCgiZWUiLCA3LCAyMCkgPSAoNSAqIDEgKyA1ICogNykgbW9kIDIwID0gNDAgbW9kIDIwID0gMC4gCiJlZSIgaXMgdGhlIGZpcnN0IHN1YnN0cmluZyBvZiBsZW5ndGggMiB3aXRoIGhhc2hWYWx1ZSAwLiBIZW5jZSwgd2UgcmV0dXJuICJlZSIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiZmJ4emFhZCIsIHBvd2VyID0gMzEsIG1vZHVsbyA9IDEwMCwgayA9IDMsIGhhc2hWYWx1ZSA9IDMyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiZmJ4Igo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgaGFzaCBvZiAiZmJ4IiBjYW4gYmUgY29tcHV0ZWQgdG8gYmUgaGFzaCgiZmJ4IiwgMzEsIDEwMCkgPSAoNiAqIDEgKyAyICogMzEgKyAyNCAqIDMxPHN1cD4yPC9zdXA+KSBtb2QgMTAwID0gMjMxMzIgbW9kIDEwMCA9IDMyLiAKVGhlIGhhc2ggb2YgImJ4eiIgY2FuIGJlIGNvbXB1dGVkIHRvIGJlIGhhc2goImJ4eiIsIDMxLCAxMDApID0gKDIgKiAxICsgMjQgKiAzMSArIDI2ICogMzE8c3VwPjI8L3N1cD4pIG1vZCAxMDAgPSAyNTczMiBtb2QgMTAwID0gMzIuIAoiZmJ4IiBpcyB0aGUgZmlyc3Qgc3Vic3RyaW5nIG9mIGxlbmd0aCAzIHdpdGggaGFzaFZhbHVlIDMyLiBIZW5jZSwgd2UgcmV0dXJuICJmYngiLgpOb3RlIHRoYXQgImJ4eiIgYWxzbyBoYXMgYSBoYXNoIG9mIDMyIGJ1dCBpdCBhcHBlYXJzIGxhdGVyIHRoYW4gImZieCIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gayAmbHQ7PSBzLmxlbmd0aCAmbHQ7PSAyICogMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gcG93ZXIsIG1vZHVsbyAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBoYXNoVmFsdWUgJmx0OyBtb2R1bG88L2NvZGU+PC9saT4KPGxpPjxjb2RlPnM8L2NvZGU+IGNvbnNpc3RzIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMgb25seS48L2xpPgo8bGk+VGhlIHRlc3QgY2FzZXMgYXJlIGdlbmVyYXRlZCBzdWNoIHRoYXQgYW4gYW5zd2VyIGFsd2F5cyA8c3Ryb25nPmV4aXN0czwvc3Ryb25nPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "String",
+ "Sliding Window",
+ "Rolling Hash",
+ "Hash Function"
+ ]
+ },
+ {
+ "title": "2151. Maximum Good People Based on Statements",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGFyZSB0d28gdHlwZXMgb2YgcGVyc29uczo8L3A+Cjx1bD4KPGxpPlRoZSA8c3Ryb25nPmdvb2QgcGVyc29uPC9zdHJvbmc+OiBUaGUgcGVyc29uIHdobyBhbHdheXMgdGVsbHMgdGhlIHRydXRoLjwvbGk+CjxsaT5UaGUgPHN0cm9uZz5iYWQgcGVyc29uPC9zdHJvbmc+OiBUaGUgcGVyc29uIHdobyBtaWdodCB0ZWxsIHRoZSB0cnV0aCBhbmQgbWlnaHQgbGllLjwvbGk+CjwvdWw+CjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPnN0YXRlbWVudHM8L2NvZGU+IG9mIHNpemUgPGNvZGU+biB4IG48L2NvZGU+IHRoYXQgcmVwcmVzZW50cyB0aGUgc3RhdGVtZW50cyBtYWRlIGJ5IDxjb2RlPm48L2NvZGU+IHBlb3BsZSBhYm91dCBlYWNoIG90aGVyLiBNb3JlIHNwZWNpZmljYWxseSwgPGNvZGU+c3RhdGVtZW50c1tpXVtqXTwvY29kZT4gY291bGQgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmc6PC9wPgo8dWw+CjxsaT48Y29kZT4wPC9jb2RlPiB3aGljaCByZXByZXNlbnRzIGEgc3RhdGVtZW50IG1hZGUgYnkgcGVyc29uIDxjb2RlPmk8L2NvZGU+IHRoYXQgcGVyc29uIDxjb2RlPmo8L2NvZGU+IGlzIGEgPHN0cm9uZz5iYWQ8L3N0cm9uZz4gcGVyc29uLjwvbGk+CjxsaT48Y29kZT4xPC9jb2RlPiB3aGljaCByZXByZXNlbnRzIGEgc3RhdGVtZW50IG1hZGUgYnkgcGVyc29uIDxjb2RlPmk8L2NvZGU+IHRoYXQgcGVyc29uIDxjb2RlPmo8L2NvZGU+IGlzIGEgPHN0cm9uZz5nb29kPC9zdHJvbmc+IHBlcnNvbi48L2xpPgo8bGk+PGNvZGU+MjwvY29kZT4gcmVwcmVzZW50cyB0aGF0IDxzdHJvbmc+bm8gc3RhdGVtZW50PC9zdHJvbmc+IGlzIG1hZGUgYnkgcGVyc29uIDxjb2RlPmk8L2NvZGU+IGFib3V0IHBlcnNvbiA8Y29kZT5qPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5BZGRpdGlvbmFsbHksIG5vIHBlcnNvbiBldmVyIG1ha2VzIGEgc3RhdGVtZW50IGFib3V0IHRoZW1zZWx2ZXMuIEZvcm1hbGx5LCB3ZSBoYXZlIHRoYXQgPGNvZGU+c3RhdGVtZW50c1tpXVtpXSA9IDI8L2NvZGU+IGZvciBhbGwgPGNvZGU+MCAmbHQ7PSBpICZsdDsgbjwvY29kZT4uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1heGltdW08L3N0cm9uZz4gbnVtYmVyIG9mIHBlb3BsZSB3aG8gY2FuIGJlIDxzdHJvbmc+Z29vZDwvc3Ryb25nPiBiYXNlZCBvbiB0aGUgc3RhdGVtZW50cyBtYWRlIGJ5IHRoZSA8L2VtPjxjb2RlPm48L2NvZGU+PGVtPiBwZW9wbGU8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDEvMTUvbG9naWMxLmpwZyIgc3R5bGU9IndpZHRoOiA2MDBweDsgaGVpZ2h0OiAyNjJweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzdGF0ZW1lbnRzID0gW1syLDEsMl0sWzEsMiwyXSxbMiwwLDJdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBFYWNoIHBlcnNvbiBtYWtlcyBhIHNpbmdsZSBzdGF0ZW1lbnQuCi0gUGVyc29uIDAgc3RhdGVzIHRoYXQgcGVyc29uIDEgaXMgZ29vZC4KLSBQZXJzb24gMSBzdGF0ZXMgdGhhdCBwZXJzb24gMCBpcyBnb29kLgotIFBlcnNvbiAyIHN0YXRlcyB0aGF0IHBlcnNvbiAxIGlzIGJhZC4KTGV0J3MgdGFrZSBwZXJzb24gMiBhcyB0aGUga2V5LgotIEFzc3VtaW5nIHRoYXQgcGVyc29uIDIgaXMgYSBnb29kIHBlcnNvbjoKICAgIC0gQmFzZWQgb24gdGhlIHN0YXRlbWVudCBtYWRlIGJ5IHBlcnNvbiAyLCBwZXJzb24gMSBpcyBhIGJhZCBwZXJzb24uCiAgICAtIE5vdyB3ZSBrbm93IGZvciBzdXJlIHRoYXQgcGVyc29uIDEgaXMgYmFkIGFuZCBwZXJzb24gMiBpcyBnb29kLgogICAgLSBCYXNlZCBvbiB0aGUgc3RhdGVtZW50IG1hZGUgYnkgcGVyc29uIDEsIGFuZCBzaW5jZSBwZXJzb24gMSBpcyBiYWQsIHRoZXkgY291bGQgYmU6CiAgICAgICAgLSB0ZWxsaW5nIHRoZSB0cnV0aC4gVGhlcmUgd2lsbCBiZSBhIGNvbnRyYWRpY3Rpb24gaW4gdGhpcyBjYXNlIGFuZCB0aGlzIGFzc3VtcHRpb24gaXMgaW52YWxpZC4KICAgICAgICAtIGx5aW5nLiBJbiB0aGlzIGNhc2UsIHBlcnNvbiAwIGlzIGFsc28gYSBiYWQgcGVyc29uIGFuZCBsaWVkIGluIHRoZWlyIHN0YXRlbWVudC4KICAgIC0gPHN0cm9uZz5Gb2xsb3dpbmcgdGhhdCBwZXJzb24gMiBpcyBhIGdvb2QgcGVyc29uLCB0aGVyZSB3aWxsIGJlIG9ubHkgb25lIGdvb2QgcGVyc29uIGluIHRoZSBncm91cDwvc3Ryb25nPi4KLSBBc3N1bWluZyB0aGF0IHBlcnNvbiAyIGlzIGEgYmFkIHBlcnNvbjoKICAgIC0gQmFzZWQgb24gdGhlIHN0YXRlbWVudCBtYWRlIGJ5IHBlcnNvbiAyLCBhbmQgc2luY2UgcGVyc29uIDIgaXMgYmFkLCB0aGV5IGNvdWxkIGJlOgogICAgICAgIC0gdGVsbGluZyB0aGUgdHJ1dGguIEZvbGxvd2luZyB0aGlzIHNjZW5hcmlvLCBwZXJzb24gMCBhbmQgMSBhcmUgYm90aCBiYWQgYXMgZXhwbGFpbmVkIGJlZm9yZS4KICAgICAgICAgICAgLSA8c3Ryb25nPkZvbGxvd2luZyB0aGF0IHBlcnNvbiAyIGlzIGJhZCBidXQgdG9sZCB0aGUgdHJ1dGgsIHRoZXJlIHdpbGwgYmUgbm8gZ29vZCBwZXJzb25zIGluIHRoZSBncm91cDwvc3Ryb25nPi4KICAgICAgICAtIGx5aW5nLiBJbiB0aGlzIGNhc2UgcGVyc29uIDEgaXMgYSBnb29kIHBlcnNvbi4KICAgICAgICAgICAgLSBTaW5jZSBwZXJzb24gMSBpcyBhIGdvb2QgcGVyc29uLCBwZXJzb24gMCBpcyBhbHNvIGEgZ29vZCBwZXJzb24uCiAgICAgICAgICAgIC0gPHN0cm9uZz5Gb2xsb3dpbmcgdGhhdCBwZXJzb24gMiBpcyBiYWQgYW5kIGxpZWQsIHRoZXJlIHdpbGwgYmUgdHdvIGdvb2QgcGVyc29ucyBpbiB0aGUgZ3JvdXA8L3N0cm9uZz4uCldlIGNhbiBzZWUgdGhhdCBhdCBtb3N0IDIgcGVyc29ucyBhcmUgZ29vZCBpbiB0aGUgYmVzdCBjYXNlLCBzbyB3ZSByZXR1cm4gMi4KTm90ZSB0aGF0IHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgd2F5IHRvIGFycml2ZSBhdCB0aGlzIGNvbmNsdXNpb24uCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjIvMDEvMTUvbG9naWMyLmpwZyIgc3R5bGU9IndpZHRoOiA2MDBweDsgaGVpZ2h0OiAyNjJweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzdGF0ZW1lbnRzID0gW1syLDBdLFswLDJdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBFYWNoIHBlcnNvbiBtYWtlcyBhIHNpbmdsZSBzdGF0ZW1lbnQuCi0gUGVyc29uIDAgc3RhdGVzIHRoYXQgcGVyc29uIDEgaXMgYmFkLgotIFBlcnNvbiAxIHN0YXRlcyB0aGF0IHBlcnNvbiAwIGlzIGJhZC4KTGV0J3MgdGFrZSBwZXJzb24gMCBhcyB0aGUga2V5LgotIEFzc3VtaW5nIHRoYXQgcGVyc29uIDAgaXMgYSBnb29kIHBlcnNvbjoKICAgIC0gQmFzZWQgb24gdGhlIHN0YXRlbWVudCBtYWRlIGJ5IHBlcnNvbiAwLCBwZXJzb24gMSBpcyBhIGJhZCBwZXJzb24gYW5kIHdhcyBseWluZy4KICAgIC0gPHN0cm9uZz5Gb2xsb3dpbmcgdGhhdCBwZXJzb24gMCBpcyBhIGdvb2QgcGVyc29uLCB0aGVyZSB3aWxsIGJlIG9ubHkgb25lIGdvb2QgcGVyc29uIGluIHRoZSBncm91cDwvc3Ryb25nPi4KLSBBc3N1bWluZyB0aGF0IHBlcnNvbiAwIGlzIGEgYmFkIHBlcnNvbjoKICAgIC0gQmFzZWQgb24gdGhlIHN0YXRlbWVudCBtYWRlIGJ5IHBlcnNvbiAwLCBhbmQgc2luY2UgcGVyc29uIDAgaXMgYmFkLCB0aGV5IGNvdWxkIGJlOgogICAgICAgIC0gdGVsbGluZyB0aGUgdHJ1dGguIEZvbGxvd2luZyB0aGlzIHNjZW5hcmlvLCBwZXJzb24gMCBhbmQgMSBhcmUgYm90aCBiYWQuCiAgICAgICAgICAgIC0gPHN0cm9uZz5Gb2xsb3dpbmcgdGhhdCBwZXJzb24gMCBpcyBiYWQgYnV0IHRvbGQgdGhlIHRydXRoLCB0aGVyZSB3aWxsIGJlIG5vIGdvb2QgcGVyc29ucyBpbiB0aGUgZ3JvdXA8L3N0cm9uZz4uCiAgICAgICAgLSBseWluZy4gSW4gdGhpcyBjYXNlIHBlcnNvbiAxIGlzIGEgZ29vZCBwZXJzb24uCiAgICAgICAgICAgIC0gPHN0cm9uZz5Gb2xsb3dpbmcgdGhhdCBwZXJzb24gMCBpcyBiYWQgYW5kIGxpZWQsIHRoZXJlIHdpbGwgYmUgb25seSBvbmUgZ29vZCBwZXJzb24gaW4gdGhlIGdyb3VwPC9zdHJvbmc+LgpXZSBjYW4gc2VlIHRoYXQgYXQgbW9zdCwgb25lIHBlcnNvbiBpcyBnb29kIGluIHRoZSBiZXN0IGNhc2UsIHNvIHdlIHJldHVybiAxLgpOb3RlIHRoYXQgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSB3YXkgdG8gYXJyaXZlIGF0IHRoaXMgY29uY2x1c2lvbi4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBzdGF0ZW1lbnRzLmxlbmd0aCA9PSBzdGF0ZW1lbnRzW2ldLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MiAmbHQ7PSBuICZsdDs9IDE1PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zdGF0ZW1lbnRzW2ldW2pdPC9jb2RlPiBpcyBlaXRoZXIgPGNvZGU+MDwvY29kZT4sIDxjb2RlPjE8L2NvZGU+LCBvciA8Y29kZT4yPC9jb2RlPi48L2xpPgo8bGk+PGNvZGU+c3RhdGVtZW50c1tpXVtpXSA9PSAyPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Backtracking",
+ "Bit Manipulation",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2163. Minimum Difference in Sums After Removal of Elements",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IGNvbnNpc3Rpbmcgb2YgPGNvZGU+MyAqIG48L2NvZGU+IGVsZW1lbnRzLjwvcD4KPHA+WW91IGFyZSBhbGxvd2VkIHRvIHJlbW92ZSBhbnkgPHN0cm9uZz5zdWJzZXF1ZW5jZTwvc3Ryb25nPiBvZiBlbGVtZW50cyBvZiBzaXplIDxzdHJvbmc+ZXhhY3RseTwvc3Ryb25nPiA8Y29kZT5uPC9jb2RlPiBmcm9tIDxjb2RlPm51bXM8L2NvZGU+LiBUaGUgcmVtYWluaW5nIDxjb2RlPjIgKiBuPC9jb2RlPiBlbGVtZW50cyB3aWxsIGJlIGRpdmlkZWQgaW50byB0d28gPHN0cm9uZz5lcXVhbDwvc3Ryb25nPiBwYXJ0czo8L3A+Cjx1bD4KPGxpPlRoZSBmaXJzdCA8Y29kZT5uPC9jb2RlPiBlbGVtZW50cyBiZWxvbmdpbmcgdG8gdGhlIGZpcnN0IHBhcnQgYW5kIHRoZWlyIHN1bSBpcyA8Y29kZT5zdW08c3ViPmZpcnN0PC9zdWI+PC9jb2RlPi48L2xpPgo8bGk+VGhlIG5leHQgPGNvZGU+bjwvY29kZT4gZWxlbWVudHMgYmVsb25naW5nIHRvIHRoZSBzZWNvbmQgcGFydCBhbmQgdGhlaXIgc3VtIGlzIDxjb2RlPnN1bTxzdWI+c2Vjb25kPC9zdWI+PC9jb2RlPi48L2xpPgo8L3VsPgo8cD5UaGUgPHN0cm9uZz5kaWZmZXJlbmNlIGluIHN1bXM8L3N0cm9uZz4gb2YgdGhlIHR3byBwYXJ0cyBpcyBkZW5vdGVkIGFzIDxjb2RlPnN1bTxzdWI+Zmlyc3Q8L3N1Yj4gLSBzdW08c3ViPnNlY29uZDwvc3ViPjwvY29kZT4uPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgaWYgPGNvZGU+c3VtPHN1Yj5maXJzdDwvc3ViPiA9IDM8L2NvZGU+IGFuZCA8Y29kZT5zdW08c3ViPnNlY29uZDwvc3ViPiA9IDI8L2NvZGU+LCB0aGVpciBkaWZmZXJlbmNlIGlzIDxjb2RlPjE8L2NvZGU+LjwvbGk+CjxsaT5TaW1pbGFybHksIGlmIDxjb2RlPnN1bTxzdWI+Zmlyc3Q8L3N1Yj4gPSAyPC9jb2RlPiBhbmQgPGNvZGU+c3VtPHN1Yj5zZWNvbmQ8L3N1Yj4gPSAzPC9jb2RlPiwgdGhlaXIgZGlmZmVyZW5jZSBpcyA8Y29kZT4tMTwvY29kZT4uPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5taW5pbXVtIGRpZmZlcmVuY2U8L3N0cm9uZz4gcG9zc2libGUgYmV0d2VlbiB0aGUgc3VtcyBvZiB0aGUgdHdvIHBhcnRzIGFmdGVyIHRoZSByZW1vdmFsIG9mIDwvZW0+PGNvZGU+bjwvY29kZT48ZW0+IGVsZW1lbnRzPC9lbT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzMsMSwyXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gLTEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gSGVyZSwgbnVtcyBoYXMgMyBlbGVtZW50cywgc28gbiA9IDEuIApUaHVzIHdlIGhhdmUgdG8gcmVtb3ZlIDEgZWxlbWVudCBmcm9tIG51bXMgYW5kIGRpdmlkZSB0aGUgYXJyYXkgaW50byB0d28gZXF1YWwgcGFydHMuCi0gSWYgd2UgcmVtb3ZlIG51bXNbMF0gPSAzLCB0aGUgYXJyYXkgd2lsbCBiZSBbMSwyXS4gVGhlIGRpZmZlcmVuY2UgaW4gc3VtcyBvZiB0aGUgdHdvIHBhcnRzIHdpbGwgYmUgMSAtIDIgPSAtMS4KLSBJZiB3ZSByZW1vdmUgbnVtc1sxXSA9IDEsIHRoZSBhcnJheSB3aWxsIGJlIFszLDJdLiBUaGUgZGlmZmVyZW5jZSBpbiBzdW1zIG9mIHRoZSB0d28gcGFydHMgd2lsbCBiZSAzIC0gMiA9IDEuCi0gSWYgd2UgcmVtb3ZlIG51bXNbMl0gPSAyLCB0aGUgYXJyYXkgd2lsbCBiZSBbMywxXS4gVGhlIGRpZmZlcmVuY2UgaW4gc3VtcyBvZiB0aGUgdHdvIHBhcnRzIHdpbGwgYmUgMyAtIDEgPSAyLgpUaGUgbWluaW11bSBkaWZmZXJlbmNlIGJldHdlZW4gc3VtcyBvZiB0aGUgdHdvIHBhcnRzIGlzIG1pbigtMSwxLDIpID0gLTEuIAo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzcsOSw1LDgsMSwzXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBIZXJlIG4gPSAyLiBTbyB3ZSBtdXN0IHJlbW92ZSAyIGVsZW1lbnRzIGFuZCBkaXZpZGUgdGhlIHJlbWFpbmluZyBhcnJheSBpbnRvIHR3byBwYXJ0cyBjb250YWluaW5nIHR3byBlbGVtZW50cyBlYWNoLgpJZiB3ZSByZW1vdmUgbnVtc1syXSA9IDUgYW5kIG51bXNbM10gPSA4LCB0aGUgcmVzdWx0YW50IGFycmF5IHdpbGwgYmUgWzcsOSwxLDNdLiBUaGUgZGlmZmVyZW5jZSBpbiBzdW1zIHdpbGwgYmUgKDcrOSkgLSAoMSszKSA9IDEyLgpUbyBvYnRhaW4gdGhlIG1pbmltdW0gZGlmZmVyZW5jZSwgd2Ugc2hvdWxkIHJlbW92ZSBudW1zWzFdID0gOSBhbmQgbnVtc1s0XSA9IDEuIFRoZSByZXN1bHRhbnQgYXJyYXkgYmVjb21lcyBbNyw1LDgsM10uIFRoZSBkaWZmZXJlbmNlIGluIHN1bXMgb2YgdGhlIHR3byBwYXJ0cyBpcyAoNys1KSAtICg4KzMpID0gMS4KSXQgY2FuIGJlIHNob3duIHRoYXQgaXQgaXMgbm90IHBvc3NpYmxlIHRvIG9idGFpbiBhIGRpZmZlcmVuY2Ugc21hbGxlciB0aGFuIDEuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm51bXMubGVuZ3RoID09IDMgKiBuPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Dynamic Programming",
+ "Heap (Priority Queue)"
+ ]
+ },
+ {
+ "title": "2141. Maximum Running Time of N Computers",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBoYXZlIDxjb2RlPm48L2NvZGU+IGNvbXB1dGVycy4gWW91IGFyZSBnaXZlbiB0aGUgaW50ZWdlciA8Y29kZT5uPC9jb2RlPiBhbmQgYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPmJhdHRlcmllczwvY29kZT4gd2hlcmUgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBiYXR0ZXJ5IGNhbiA8c3Ryb25nPnJ1bjwvc3Ryb25nPiBhIGNvbXB1dGVyIGZvciA8Y29kZT5iYXR0ZXJpZXNbaV08L2NvZGU+IG1pbnV0ZXMuIFlvdSBhcmUgaW50ZXJlc3RlZCBpbiBydW5uaW5nIDxzdHJvbmc+YWxsPC9zdHJvbmc+IDxjb2RlPm48L2NvZGU+IGNvbXB1dGVycyA8c3Ryb25nPnNpbXVsdGFuZW91c2x5PC9zdHJvbmc+IHVzaW5nIHRoZSBnaXZlbiBiYXR0ZXJpZXMuPC9wPgo8cD5Jbml0aWFsbHksIHlvdSBjYW4gaW5zZXJ0IDxzdHJvbmc+YXQgbW9zdCBvbmUgYmF0dGVyeTwvc3Ryb25nPiBpbnRvIGVhY2ggY29tcHV0ZXIuIEFmdGVyIHRoYXQgYW5kIGF0IGFueSBpbnRlZ2VyIHRpbWUgbW9tZW50LCB5b3UgY2FuIHJlbW92ZSBhIGJhdHRlcnkgZnJvbSBhIGNvbXB1dGVyIGFuZCBpbnNlcnQgYW5vdGhlciBiYXR0ZXJ5IDxzdHJvbmc+YW55IG51bWJlciBvZiB0aW1lczwvc3Ryb25nPi4gVGhlIGluc2VydGVkIGJhdHRlcnkgY2FuIGJlIGEgdG90YWxseSBuZXcgYmF0dGVyeSBvciBhIGJhdHRlcnkgZnJvbSBhbm90aGVyIGNvbXB1dGVyLiBZb3UgbWF5IGFzc3VtZSB0aGF0IHRoZSByZW1vdmluZyBhbmQgaW5zZXJ0aW5nIHByb2Nlc3NlcyB0YWtlIG5vIHRpbWUuPC9wPgo8cD5Ob3RlIHRoYXQgdGhlIGJhdHRlcmllcyBjYW5ub3QgYmUgcmVjaGFyZ2VkLjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5tYXhpbXVtPC9zdHJvbmc+IG51bWJlciBvZiBtaW51dGVzIHlvdSBjYW4gcnVuIGFsbCB0aGUgPC9lbT48Y29kZT5uPC9jb2RlPjxlbT4gY29tcHV0ZXJzIHNpbXVsdGFuZW91c2x5LjwvZW0+PC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAxLzA2L2V4YW1wbGUxLWZpdC5wbmciIHN0eWxlPSJ3aWR0aDogNzYycHg7IGhlaWdodDogMTUwcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDIsIGJhdHRlcmllcyA9IFszLDMsM10KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCkluaXRpYWxseSwgaW5zZXJ0IGJhdHRlcnkgMCBpbnRvIHRoZSBmaXJzdCBjb21wdXRlciBhbmQgYmF0dGVyeSAxIGludG8gdGhlIHNlY29uZCBjb21wdXRlci4KQWZ0ZXIgdHdvIG1pbnV0ZXMsIHJlbW92ZSBiYXR0ZXJ5IDEgZnJvbSB0aGUgc2Vjb25kIGNvbXB1dGVyIGFuZCBpbnNlcnQgYmF0dGVyeSAyIGluc3RlYWQuIE5vdGUgdGhhdCBiYXR0ZXJ5IDEgY2FuIHN0aWxsIHJ1biBmb3Igb25lIG1pbnV0ZS4KQXQgdGhlIGVuZCBvZiB0aGUgdGhpcmQgbWludXRlLCBiYXR0ZXJ5IDAgaXMgZHJhaW5lZCwgYW5kIHlvdSBuZWVkIHRvIHJlbW92ZSBpdCBmcm9tIHRoZSBmaXJzdCBjb21wdXRlciBhbmQgaW5zZXJ0IGJhdHRlcnkgMSBpbnN0ZWFkLgpCeSB0aGUgZW5kIG9mIHRoZSBmb3VydGggbWludXRlLCBiYXR0ZXJ5IDEgaXMgYWxzbyBkcmFpbmVkLCBhbmQgdGhlIGZpcnN0IGNvbXB1dGVyIGlzIG5vIGxvbmdlciBydW5uaW5nLgpXZSBjYW4gcnVuIHRoZSB0d28gY29tcHV0ZXJzIHNpbXVsdGFuZW91c2x5IGZvciBhdCBtb3N0IDQgbWludXRlcywgc28gd2UgcmV0dXJuIDQuCgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIyLzAxLzA2L2V4YW1wbGUyLnBuZyIgc3R5bGU9IndpZHRoOiA2MjlweDsgaGVpZ2h0OiAxNTBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gMiwgYmF0dGVyaWVzID0gWzEsMSwxLDFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApJbml0aWFsbHksIGluc2VydCBiYXR0ZXJ5IDAgaW50byB0aGUgZmlyc3QgY29tcHV0ZXIgYW5kIGJhdHRlcnkgMiBpbnRvIHRoZSBzZWNvbmQgY29tcHV0ZXIuIApBZnRlciBvbmUgbWludXRlLCBiYXR0ZXJ5IDAgYW5kIGJhdHRlcnkgMiBhcmUgZHJhaW5lZCBzbyB5b3UgbmVlZCB0byByZW1vdmUgdGhlbSBhbmQgaW5zZXJ0IGJhdHRlcnkgMSBpbnRvIHRoZSBmaXJzdCBjb21wdXRlciBhbmQgYmF0dGVyeSAzIGludG8gdGhlIHNlY29uZCBjb21wdXRlci4gCkFmdGVyIGFub3RoZXIgbWludXRlLCBiYXR0ZXJ5IDEgYW5kIGJhdHRlcnkgMyBhcmUgYWxzbyBkcmFpbmVkIHNvIHRoZSBmaXJzdCBhbmQgc2Vjb25kIGNvbXB1dGVycyBhcmUgbm8gbG9uZ2VyIHJ1bm5pbmcuCldlIGNhbiBydW4gdGhlIHR3byBjb21wdXRlcnMgc2ltdWx0YW5lb3VzbHkgZm9yIGF0IG1vc3QgMiBtaW51dGVzLCBzbyB3ZSByZXR1cm4gMi4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IGJhdHRlcmllcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gYmF0dGVyaWVzW2ldICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Greedy",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2136. Earliest Possible Day of Full Bloom",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBoYXZlIDxjb2RlPm48L2NvZGU+IGZsb3dlciBzZWVkcy4gRXZlcnkgc2VlZCBtdXN0IGJlIHBsYW50ZWQgZmlyc3QgYmVmb3JlIGl0IGNhbiBiZWdpbiB0byBncm93LCB0aGVuIGJsb29tLiBQbGFudGluZyBhIHNlZWQgdGFrZXMgdGltZSBhbmQgc28gZG9lcyB0aGUgZ3Jvd3RoIG9mIGEgc2VlZC4gWW91IGFyZSBnaXZlbiB0d28gPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheXMgPGNvZGU+cGxhbnRUaW1lPC9jb2RlPiBhbmQgPGNvZGU+Z3Jvd1RpbWU8L2NvZGU+LCBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4gZWFjaDo8L3A+Cjx1bD4KPGxpPjxjb2RlPnBsYW50VGltZVtpXTwvY29kZT4gaXMgdGhlIG51bWJlciBvZiA8c3Ryb25nPmZ1bGwgZGF5czwvc3Ryb25nPiBpdCB0YWtlcyB5b3UgdG8gPHN0cm9uZz5wbGFudDwvc3Ryb25nPiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHNlZWQuIEV2ZXJ5IGRheSwgeW91IGNhbiB3b3JrIG9uIHBsYW50aW5nIGV4YWN0bHkgb25lIHNlZWQuIFlvdSA8c3Ryb25nPmRvIG5vdDwvc3Ryb25nPiBoYXZlIHRvIHdvcmsgb24gcGxhbnRpbmcgdGhlIHNhbWUgc2VlZCBvbiBjb25zZWN1dGl2ZSBkYXlzLCBidXQgdGhlIHBsYW50aW5nIG9mIGEgc2VlZCBpcyBub3QgY29tcGxldGUgPHN0cm9uZz51bnRpbDwvc3Ryb25nPiB5b3UgaGF2ZSB3b3JrZWQgPGNvZGU+cGxhbnRUaW1lW2ldPC9jb2RlPiBkYXlzIG9uIHBsYW50aW5nIGl0IGluIHRvdGFsLjwvbGk+CjxsaT48Y29kZT5ncm93VGltZVtpXTwvY29kZT4gaXMgdGhlIG51bWJlciBvZiA8c3Ryb25nPmZ1bGwgZGF5czwvc3Ryb25nPiBpdCB0YWtlcyB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IHNlZWQgdG8gZ3JvdyBhZnRlciBiZWluZyBjb21wbGV0ZWx5IHBsYW50ZWQuIDxzdHJvbmc+QWZ0ZXI8L3N0cm9uZz4gdGhlIGxhc3QgZGF5IG9mIGl0cyBncm93dGgsIHRoZSBmbG93ZXIgPHN0cm9uZz5ibG9vbXM8L3N0cm9uZz4gYW5kIHN0YXlzIGJsb29tZWQgZm9yZXZlci48L2xpPgo8L3VsPgo8cD5Gcm9tIHRoZSBiZWdpbm5pbmcgb2YgZGF5IDxjb2RlPjA8L2NvZGU+LCB5b3UgY2FuIHBsYW50IHRoZSBzZWVkcyBpbiA8c3Ryb25nPmFueTwvc3Ryb25nPiBvcmRlci48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+ZWFybGllc3Q8L3N0cm9uZz4gcG9zc2libGUgZGF5IHdoZXJlIDxzdHJvbmc+YWxsPC9zdHJvbmc+IHNlZWRzIGFyZSBibG9vbWluZzwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8xMi8yMS8xLnBuZyIgc3R5bGU9IndpZHRoOiA0NTNweDsgaGVpZ2h0OiAxNDlweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBwbGFudFRpbWUgPSBbMSw0LDNdLCBncm93VGltZSA9IFsyLDMsMV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDkKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGdyYXllZCBvdXQgcG90cyByZXByZXNlbnQgcGxhbnRpbmcgZGF5cywgY29sb3JlZCBwb3RzIHJlcHJlc2VudCBncm93aW5nIGRheXMsIGFuZCB0aGUgZmxvd2VyIHJlcHJlc2VudHMgdGhlIGRheSBpdCBibG9vbXMuCk9uZSBvcHRpbWFsIHdheSBpczoKT24gZGF5IDAsIHBsYW50IHRoZSAwPHN1cD50aDwvc3VwPiBzZWVkLiBUaGUgc2VlZCBncm93cyBmb3IgMiBmdWxsIGRheXMgYW5kIGJsb29tcyBvbiBkYXkgMy4KT24gZGF5cyAxLCAyLCAzLCBhbmQgNCwgcGxhbnQgdGhlIDE8c3VwPnN0PC9zdXA+IHNlZWQuIFRoZSBzZWVkIGdyb3dzIGZvciAzIGZ1bGwgZGF5cyBhbmQgYmxvb21zIG9uIGRheSA4LgpPbiBkYXlzIDUsIDYsIGFuZCA3LCBwbGFudCB0aGUgMjxzdXA+bmQ8L3N1cD4gc2VlZC4gVGhlIHNlZWQgZ3Jvd3MgZm9yIDEgZnVsbCBkYXkgYW5kIGJsb29tcyBvbiBkYXkgOS4KVGh1cywgb24gZGF5IDksIGFsbCB0aGUgc2VlZHMgYXJlIGJsb29taW5nLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzEyLzIxLzIucG5nIiBzdHlsZT0id2lkdGg6IDQ1NHB4OyBoZWlnaHQ6IDE4NHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHBsYW50VGltZSA9IFsxLDIsMywyXSwgZ3Jvd1RpbWUgPSBbMiwxLDIsMV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDkKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGdyYXllZCBvdXQgcG90cyByZXByZXNlbnQgcGxhbnRpbmcgZGF5cywgY29sb3JlZCBwb3RzIHJlcHJlc2VudCBncm93aW5nIGRheXMsIGFuZCB0aGUgZmxvd2VyIHJlcHJlc2VudHMgdGhlIGRheSBpdCBibG9vbXMuCk9uZSBvcHRpbWFsIHdheSBpczoKT24gZGF5IDEsIHBsYW50IHRoZSAwPHN1cD50aDwvc3VwPiBzZWVkLiBUaGUgc2VlZCBncm93cyBmb3IgMiBmdWxsIGRheXMgYW5kIGJsb29tcyBvbiBkYXkgNC4KT24gZGF5cyAwIGFuZCAzLCBwbGFudCB0aGUgMTxzdXA+c3Q8L3N1cD4gc2VlZC4gVGhlIHNlZWQgZ3Jvd3MgZm9yIDEgZnVsbCBkYXkgYW5kIGJsb29tcyBvbiBkYXkgNS4KT24gZGF5cyAyLCA0LCBhbmQgNSwgcGxhbnQgdGhlIDI8c3VwPm5kPC9zdXA+IHNlZWQuIFRoZSBzZWVkIGdyb3dzIGZvciAyIGZ1bGwgZGF5cyBhbmQgYmxvb21zIG9uIGRheSA4LgpPbiBkYXlzIDYgYW5kIDcsIHBsYW50IHRoZSAzPHN1cD5yZDwvc3VwPiBzZWVkLiBUaGUgc2VlZCBncm93cyBmb3IgMSBmdWxsIGRheSBhbmQgYmxvb21zIG9uIGRheSA5LgpUaHVzLCBvbiBkYXkgOSwgYWxsIHRoZSBzZWVkcyBhcmUgYmxvb21pbmcuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHBsYW50VGltZSA9IFsxXSwgZ3Jvd1RpbWUgPSBbMV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gT24gZGF5IDAsIHBsYW50IHRoZSAwPHN1cD50aDwvc3VwPiBzZWVkLiBUaGUgc2VlZCBncm93cyBmb3IgMSBmdWxsIGRheSBhbmQgYmxvb21zIG9uIGRheSAyLgpUaHVzLCBvbiBkYXkgMiwgYWxsIHRoZSBzZWVkcyBhcmUgYmxvb21pbmcuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gcGxhbnRUaW1lLmxlbmd0aCA9PSBncm93VGltZS5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBwbGFudFRpbWVbaV0sIGdyb3dUaW1lW2ldICZsdDs9IDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Greedy",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2147. Number of Ways to Divide a Long Corridor",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkFsb25nIGEgbG9uZyBsaWJyYXJ5IGNvcnJpZG9yLCB0aGVyZSBpcyBhIGxpbmUgb2Ygc2VhdHMgYW5kIGRlY29yYXRpdmUgcGxhbnRzLiBZb3UgYXJlIGdpdmVuIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gc3RyaW5nIDxjb2RlPmNvcnJpZG9yPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4gY29uc2lzdGluZyBvZiBsZXR0ZXJzIDxjb2RlPidTJzwvY29kZT4gYW5kIDxjb2RlPidQJzwvY29kZT4gd2hlcmUgZWFjaCA8Y29kZT4nUyc8L2NvZGU+IHJlcHJlc2VudHMgYSBzZWF0IGFuZCBlYWNoIDxjb2RlPidQJzwvY29kZT4gcmVwcmVzZW50cyBhIHBsYW50LjwvcD4KPHA+T25lIHJvb20gZGl2aWRlciBoYXMgPHN0cm9uZz5hbHJlYWR5PC9zdHJvbmc+IGJlZW4gaW5zdGFsbGVkIHRvIHRoZSBsZWZ0IG9mIGluZGV4IDxjb2RlPjA8L2NvZGU+LCBhbmQgPHN0cm9uZz5hbm90aGVyPC9zdHJvbmc+IHRvIHRoZSByaWdodCBvZiBpbmRleCA8Y29kZT5uIC0gMTwvY29kZT4uIEFkZGl0aW9uYWwgcm9vbSBkaXZpZGVycyBjYW4gYmUgaW5zdGFsbGVkLiBGb3IgZWFjaCBwb3NpdGlvbiBiZXR3ZWVuIGluZGljZXMgPGNvZGU+aSAtIDE8L2NvZGU+IGFuZCA8Y29kZT5pPC9jb2RlPiAoPGNvZGU+MSAmbHQ7PSBpICZsdDs9IG4gLSAxPC9jb2RlPiksIGF0IG1vc3Qgb25lIGRpdmlkZXIgY2FuIGJlIGluc3RhbGxlZC48L3A+CjxwPkRpdmlkZSB0aGUgY29ycmlkb3IgaW50byBub24tb3ZlcmxhcHBpbmcgc2VjdGlvbnMsIHdoZXJlIGVhY2ggc2VjdGlvbiBoYXMgPHN0cm9uZz5leGFjdGx5IHR3byBzZWF0czwvc3Ryb25nPiB3aXRoIGFueSBudW1iZXIgb2YgcGxhbnRzLiBUaGVyZSBtYXkgYmUgbXVsdGlwbGUgd2F5cyB0byBwZXJmb3JtIHRoZSBkaXZpc2lvbi4gVHdvIHdheXMgYXJlIDxzdHJvbmc+ZGlmZmVyZW50PC9zdHJvbmc+IGlmIHRoZXJlIGlzIGEgcG9zaXRpb24gd2l0aCBhIHJvb20gZGl2aWRlciBpbnN0YWxsZWQgaW4gdGhlIGZpcnN0IHdheSBidXQgbm90IGluIHRoZSBzZWNvbmQgd2F5LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgbnVtYmVyIG9mIHdheXMgdG8gZGl2aWRlIHRoZSBjb3JyaWRvcjwvZW0+LiBTaW5jZSB0aGUgYW5zd2VyIG1heSBiZSB2ZXJ5IGxhcmdlLCByZXR1cm4gaXQgPHN0cm9uZz5tb2R1bG88L3N0cm9uZz4gPGNvZGU+MTA8c3VwPjk8L3N1cD4gKyA3PC9jb2RlPi4gSWYgdGhlcmUgaXMgbm8gd2F5LCByZXR1cm4gPGNvZGU+MDwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzEyLzA0LzEucG5nIiBzdHlsZT0id2lkdGg6IDQxMHB4OyBoZWlnaHQ6IDE5OXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGNvcnJpZG9yID0gIlNTUFBTUFMiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSAzIGRpZmZlcmVudCB3YXlzIHRvIGRpdmlkZSB0aGUgY29ycmlkb3IuClRoZSBibGFjayBiYXJzIGluIHRoZSBhYm92ZSBpbWFnZSBpbmRpY2F0ZSB0aGUgdHdvIHJvb20gZGl2aWRlcnMgYWxyZWFkeSBpbnN0YWxsZWQuCk5vdGUgdGhhdCBpbiBlYWNoIG9mIHRoZSB3YXlzLCA8c3Ryb25nPmVhY2g8L3N0cm9uZz4gc2VjdGlvbiBoYXMgZXhhY3RseSA8c3Ryb25nPnR3bzwvc3Ryb25nPiBzZWF0cy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8xMi8wNC8yLnBuZyIgc3R5bGU9IndpZHRoOiAzNTdweDsgaGVpZ2h0OiA2OHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGNvcnJpZG9yID0gIlBQU1BTUCIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgaXMgb25seSAxIHdheSB0byBkaXZpZGUgdGhlIGNvcnJpZG9yLCBieSBub3QgaW5zdGFsbGluZyBhbnkgYWRkaXRpb25hbCBkaXZpZGVycy4KSW5zdGFsbGluZyBhbnkgd291bGQgY3JlYXRlIHNvbWUgc2VjdGlvbiB0aGF0IGRvZXMgbm90IGhhdmUgZXhhY3RseSB0d28gc2VhdHMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMTIvMTIvMy5wbmciIHN0eWxlPSJ3aWR0aDogMTE1cHg7IGhlaWdodDogNjhweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBjb3JyaWRvciA9ICJTIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGVyZSBpcyBubyB3YXkgdG8gZGl2aWRlIHRoZSBjb3JyaWRvciBiZWNhdXNlIHRoZXJlIHdpbGwgYWx3YXlzIGJlIGEgc2VjdGlvbiB0aGF0IGRvZXMgbm90IGhhdmUgZXhhY3RseSB0d28gc2VhdHMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gY29ycmlkb3IubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPmNvcnJpZG9yW2ldPC9jb2RlPiBpcyBlaXRoZXIgPGNvZGU+J1MnPC9jb2RlPiBvciA8Y29kZT4nUCc8L2NvZGU+LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Math",
+ "String",
+ "Dynamic Programming"
+ ]
+ },
+ {
+ "title": "2127. Maximum Employees to Be Invited to a Meeting",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgY29tcGFueSBpcyBvcmdhbml6aW5nIGEgbWVldGluZyBhbmQgaGFzIGEgbGlzdCBvZiA8Y29kZT5uPC9jb2RlPiBlbXBsb3llZXMsIHdhaXRpbmcgdG8gYmUgaW52aXRlZC4gVGhleSBoYXZlIGFycmFuZ2VkIGZvciBhIGxhcmdlIDxzdHJvbmc+Y2lyY3VsYXI8L3N0cm9uZz4gdGFibGUsIGNhcGFibGUgb2Ygc2VhdGluZyA8c3Ryb25nPmFueSBudW1iZXI8L3N0cm9uZz4gb2YgZW1wbG95ZWVzLjwvcD4KPHA+VGhlIGVtcGxveWVlcyBhcmUgbnVtYmVyZWQgZnJvbSA8Y29kZT4wPC9jb2RlPiB0byA8Y29kZT5uIC0gMTwvY29kZT4uIEVhY2ggZW1wbG95ZWUgaGFzIGEgPHN0cm9uZz5mYXZvcml0ZTwvc3Ryb25nPiBwZXJzb24gYW5kIHRoZXkgd2lsbCBhdHRlbmQgdGhlIG1lZXRpbmcgPHN0cm9uZz5vbmx5IGlmPC9zdHJvbmc+IHRoZXkgY2FuIHNpdCBuZXh0IHRvIHRoZWlyIGZhdm9yaXRlIHBlcnNvbiBhdCB0aGUgdGFibGUuIFRoZSBmYXZvcml0ZSBwZXJzb24gb2YgYW4gZW1wbG95ZWUgaXMgPHN0cm9uZz5ub3Q8L3N0cm9uZz4gdGhlbXNlbGYuPC9wPgo8cD5HaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXkgPGNvZGU+ZmF2b3JpdGU8L2NvZGU+LCB3aGVyZSA8Y29kZT5mYXZvcml0ZVtpXTwvY29kZT4gZGVub3RlcyB0aGUgZmF2b3JpdGUgcGVyc29uIG9mIHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gZW1wbG95ZWUsIHJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWF4aW11bSBudW1iZXIgb2YgZW1wbG95ZWVzPC9zdHJvbmc+IHRoYXQgY2FuIGJlIGludml0ZWQgdG8gdGhlIG1lZXRpbmc8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMTIvMTQvZXgxLnBuZyIgc3R5bGU9IndpZHRoOiAyMzZweDsgaGVpZ2h0OiAxOTVweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBmYXZvcml0ZSA9IFsyLDIsMSwyXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgYWJvdmUgZmlndXJlIHNob3dzIGhvdyB0aGUgY29tcGFueSBjYW4gaW52aXRlIGVtcGxveWVlcyAwLCAxLCBhbmQgMiwgYW5kIHNlYXQgdGhlbSBhdCB0aGUgcm91bmQgdGFibGUuCkFsbCBlbXBsb3llZXMgY2Fubm90IGJlIGludml0ZWQgYmVjYXVzZSBlbXBsb3llZSAyIGNhbm5vdCBzaXQgYmVzaWRlIGVtcGxveWVlcyAwLCAxLCBhbmQgMywgc2ltdWx0YW5lb3VzbHkuCk5vdGUgdGhhdCB0aGUgY29tcGFueSBjYW4gYWxzbyBpbnZpdGUgZW1wbG95ZWVzIDEsIDIsIGFuZCAzLCBhbmQgZ2l2ZSB0aGVtIHRoZWlyIGRlc2lyZWQgc2VhdHMuClRoZSBtYXhpbXVtIG51bWJlciBvZiBlbXBsb3llZXMgdGhhdCBjYW4gYmUgaW52aXRlZCB0byB0aGUgbWVldGluZyBpcyAzLiAKPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZmF2b3JpdGUgPSBbMSwyLDBdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApFYWNoIGVtcGxveWVlIGlzIHRoZSBmYXZvcml0ZSBwZXJzb24gb2YgYXQgbGVhc3Qgb25lIG90aGVyIGVtcGxveWVlLCBhbmQgdGhlIG9ubHkgd2F5IHRoZSBjb21wYW55IGNhbiBpbnZpdGUgdGhlbSBpcyBpZiB0aGV5IGludml0ZSBldmVyeSBlbXBsb3llZS4KVGhlIHNlYXRpbmcgYXJyYW5nZW1lbnQgd2lsbCBiZSB0aGUgc2FtZSBhcyB0aGF0IGluIHRoZSBmaWd1cmUgZ2l2ZW4gaW4gZXhhbXBsZSAxOgotIEVtcGxveWVlIDAgd2lsbCBzaXQgYmV0d2VlbiBlbXBsb3llZXMgMiBhbmQgMS4KLSBFbXBsb3llZSAxIHdpbGwgc2l0IGJldHdlZW4gZW1wbG95ZWVzIDAgYW5kIDIuCi0gRW1wbG95ZWUgMiB3aWxsIHNpdCBiZXR3ZWVuIGVtcGxveWVlcyAxIGFuZCAwLgpUaGUgbWF4aW11bSBudW1iZXIgb2YgZW1wbG95ZWVzIHRoYXQgY2FuIGJlIGludml0ZWQgdG8gdGhlIG1lZXRpbmcgaXMgMy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8xMi8xNC9leDIucG5nIiBzdHlsZT0id2lkdGg6IDIxOXB4OyBoZWlnaHQ6IDIyMHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGZhdm9yaXRlID0gWzMsMCwxLDQsMV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIGFib3ZlIGZpZ3VyZSBzaG93cyBob3cgdGhlIGNvbXBhbnkgd2lsbCBpbnZpdGUgZW1wbG95ZWVzIDAsIDEsIDMsIGFuZCA0LCBhbmQgc2VhdCB0aGVtIGF0IHRoZSByb3VuZCB0YWJsZS4KRW1wbG95ZWUgMiBjYW5ub3QgYmUgaW52aXRlZCBiZWNhdXNlIHRoZSB0d28gc3BvdHMgbmV4dCB0byB0aGVpciBmYXZvcml0ZSBlbXBsb3llZSAxIGFyZSB0YWtlbi4KU28gdGhlIGNvbXBhbnkgbGVhdmVzIHRoZW0gb3V0IG9mIHRoZSBtZWV0aW5nLgpUaGUgbWF4aW11bSBudW1iZXIgb2YgZW1wbG95ZWVzIHRoYXQgY2FuIGJlIGludml0ZWQgdG8gdGhlIG1lZXRpbmcgaXMgNC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBmYXZvcml0ZS5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjIgJmx0Oz0gbiAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBmYXZvcml0ZVtpXSAmbHQ7PcKgbiAtIDE8L2NvZGU+PC9saT4KPGxpPjxjb2RlPmZhdm9yaXRlW2ldICE9IGk8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Depth-First Search",
+ "Graph",
+ "Topological Sort"
+ ]
+ },
+ {
+ "title": "2122. Recover the Original Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkFsaWNlIGhhZCBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGFycmF5IDxjb2RlPmFycjwvY29kZT4gY29uc2lzdGluZyBvZiA8Y29kZT5uPC9jb2RlPiA8c3Ryb25nPnBvc2l0aXZlPC9zdHJvbmc+IGludGVnZXJzLiBTaGUgY2hvc2UgYW4gYXJiaXRyYXJ5IDxzdHJvbmc+cG9zaXRpdmUgaW50ZWdlcjwvc3Ryb25nPiA8Y29kZT5rPC9jb2RlPiBhbmQgY3JlYXRlZCB0d28gbmV3IDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXlzIDxjb2RlPmxvd2VyPC9jb2RlPiBhbmQgPGNvZGU+aGlnaGVyPC9jb2RlPiBpbiB0aGUgZm9sbG93aW5nIG1hbm5lcjo8L3A+CjxvbD4KPGxpPjxjb2RlPmxvd2VyW2ldID0gYXJyW2ldIC0gazwvY29kZT4sIGZvciBldmVyeSBpbmRleCA8Y29kZT5pPC9jb2RlPiB3aGVyZSA8Y29kZT4wICZsdDs9IGkgJmx0OyBuPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5oaWdoZXJbaV0gPSBhcnJbaV0gKyBrPC9jb2RlPiwgZm9yIGV2ZXJ5IGluZGV4IDxjb2RlPmk8L2NvZGU+IHdoZXJlIDxjb2RlPjAgJmx0Oz0gaSAmbHQ7IG48L2NvZGU+PC9saT4KPC9vbD4KPHA+VW5mb3J0dW5hdGVseSwgQWxpY2UgbG9zdCBhbGwgdGhyZWUgYXJyYXlzLiBIb3dldmVyLCBzaGUgcmVtZW1iZXJzIHRoZSBpbnRlZ2VycyB0aGF0IHdlcmUgcHJlc2VudCBpbiB0aGUgYXJyYXlzIDxjb2RlPmxvd2VyPC9jb2RlPiBhbmQgPGNvZGU+aGlnaGVyPC9jb2RlPiwgYnV0IG5vdCB0aGUgYXJyYXkgZWFjaCBpbnRlZ2VyIGJlbG9uZ2VkIHRvLiBIZWxwIEFsaWNlIGFuZCByZWNvdmVyIHRoZSBvcmlnaW5hbCBhcnJheS48L3A+CjxwPkdpdmVuIGFuIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IGNvbnNpc3Rpbmcgb2YgPGNvZGU+Mm48L2NvZGU+IGludGVnZXJzLCB3aGVyZSA8c3Ryb25nPmV4YWN0bHk8L3N0cm9uZz4gPGNvZGU+bjwvY29kZT4gb2YgdGhlIGludGVnZXJzIHdlcmUgcHJlc2VudCBpbiA8Y29kZT5sb3dlcjwvY29kZT4gYW5kIHRoZSByZW1haW5pbmcgaW4gPGNvZGU+aGlnaGVyPC9jb2RlPiwgcmV0dXJuIDxlbT50aGUgPHN0cm9uZz5vcmlnaW5hbDwvc3Ryb25nPiBhcnJheTwvZW0+IDxjb2RlPmFycjwvY29kZT4uIEluIGNhc2UgdGhlIGFuc3dlciBpcyBub3QgdW5pcXVlLCByZXR1cm4gPGVtPjxzdHJvbmc+YW55PC9zdHJvbmc+IHZhbGlkIGFycmF5PC9lbT4uPC9wPgo8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoZSB0ZXN0IGNhc2VzIGFyZSBnZW5lcmF0ZWQgc3VjaCB0aGF0IHRoZXJlIGV4aXN0cyA8c3Ryb25nPmF0IGxlYXN0IG9uZTwvc3Ryb25nPiB2YWxpZCBhcnJheSA8Y29kZT5hcnI8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFsyLDEwLDYsNCw4LDEyXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzMsNywxMV0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KSWYgYXJyID0gWzMsNywxMV0gYW5kIGsgPSAxLCB3ZSBnZXQgbG93ZXIgPSBbMiw2LDEwXSBhbmQgaGlnaGVyID0gWzQsOCwxMl0uCkNvbWJpbmluZyBsb3dlciBhbmQgaGlnaGVyIGdpdmVzIHVzIFsyLDYsMTAsNCw4LDEyXSwgd2hpY2ggaXMgYSBwZXJtdXRhdGlvbiBvZiBudW1zLgpBbm90aGVyIHZhbGlkIHBvc3NpYmlsaXR5IGlzIHRoYXQgYXJyID0gWzUsNyw5XSBhbmQgayA9IDMuIEluIHRoYXQgY2FzZSwgbG93ZXIgPSBbMiw0LDZdIGFuZCBoaWdoZXIgPSBbOCwxMCwxMl0uIAo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMSwzLDNdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMiwyXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpJZiBhcnIgPSBbMiwyXSBhbmQgayA9IDEsIHdlIGdldCBsb3dlciA9IFsxLDFdIGFuZCBoaWdoZXIgPSBbMywzXS4KQ29tYmluaW5nIGxvd2VyIGFuZCBoaWdoZXIgZ2l2ZXMgdXMgWzEsMSwzLDNdLCB3aGljaCBpcyBlcXVhbCB0byBudW1zLgpOb3RlIHRoYXQgYXJyIGNhbm5vdCBiZSBbMSwzXSBiZWNhdXNlIGluIHRoYXQgY2FzZSwgdGhlIG9ubHkgcG9zc2libGUgd2F5IHRvIG9idGFpbiBbMSwxLDMsM10gaXMgd2l0aCBrID0gMC4KVGhpcyBpcyBpbnZhbGlkIHNpbmNlIGsgbXVzdCBiZSBwb3NpdGl2ZS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFs1LDQzNV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsyMjBdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoZSBvbmx5IHBvc3NpYmxlIGNvbWJpbmF0aW9uIGlzIGFyciA9IFsyMjBdIGFuZCBrID0gMjE1LiBVc2luZyB0aGVtLCB3ZSBnZXQgbG93ZXIgPSBbNV0gYW5kIGhpZ2hlciA9IFs0MzVdLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4yICogbiA9PSBudW1zLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8bGk+VGhlIHRlc3QgY2FzZXMgYXJlIGdlbmVyYXRlZCBzdWNoIHRoYXQgdGhlcmUgZXhpc3RzIDxzdHJvbmc+YXQgbGVhc3Qgb25lPC9zdHJvbmc+IHZhbGlkIGFycmF5IDxjb2RlPmFycjwvY29kZT4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Sorting",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2111. Minimum Operations to Make the Array K-Increasing",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBhcnJheSA8Y29kZT5hcnI8L2NvZGU+IGNvbnNpc3Rpbmcgb2YgPGNvZGU+bjwvY29kZT4gcG9zaXRpdmUgaW50ZWdlcnMsIGFuZCBhIHBvc2l0aXZlIGludGVnZXIgPGNvZGU+azwvY29kZT4uPC9wPgo8cD5UaGUgYXJyYXkgPGNvZGU+YXJyPC9jb2RlPiBpcyBjYWxsZWQgPHN0cm9uZz5LLWluY3JlYXNpbmc8L3N0cm9uZz4gaWYgPGNvZGU+YXJyW2kta10gJmx0Oz0gYXJyW2ldPC9jb2RlPiBob2xkcyBmb3IgZXZlcnkgaW5kZXggPGNvZGU+aTwvY29kZT4sIHdoZXJlIDxjb2RlPmsgJmx0Oz0gaSAmbHQ7PSBuLTE8L2NvZGU+LjwvcD4KPHVsPgo8bGk+Rm9yIGV4YW1wbGUsIDxjb2RlPmFyciA9IFs0LCAxLCA1LCAyLCA2LCAyXTwvY29kZT4gaXMgSy1pbmNyZWFzaW5nIGZvciA8Y29kZT5rID0gMjwvY29kZT4gYmVjYXVzZToKCgk8dWw+CjxsaT48Y29kZT5hcnJbMF0gJmx0Oz0gYXJyWzJdICg0ICZsdDs9IDUpPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5hcnJbMV0gJmx0Oz0gYXJyWzNdICgxICZsdDs9IDIpPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5hcnJbMl0gJmx0Oz0gYXJyWzRdICg1ICZsdDs9IDYpPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5hcnJbM10gJmx0Oz0gYXJyWzVdICgyICZsdDs9IDIpPC9jb2RlPjwvbGk+CjwvdWw+CjwvbGk+CjxsaT5Ib3dldmVyLCB0aGUgc2FtZSA8Y29kZT5hcnI8L2NvZGU+IGlzIG5vdCBLLWluY3JlYXNpbmcgZm9yIDxjb2RlPmsgPSAxPC9jb2RlPiAoYmVjYXVzZSA8Y29kZT5hcnJbMF0gJmd0OyBhcnJbMV08L2NvZGU+KSBvciA8Y29kZT5rID0gMzwvY29kZT4gKGJlY2F1c2UgPGNvZGU+YXJyWzBdICZndDsgYXJyWzNdPC9jb2RlPikuPC9saT4KPC91bD4KPHA+SW4gb25lIDxzdHJvbmc+b3BlcmF0aW9uPC9zdHJvbmc+LCB5b3UgY2FuIGNob29zZSBhbiBpbmRleCA8Y29kZT5pPC9jb2RlPiBhbmQgPHN0cm9uZz5jaGFuZ2U8L3N0cm9uZz4gPGNvZGU+YXJyW2ldPC9jb2RlPiBpbnRvIDxzdHJvbmc+YW55PC9zdHJvbmc+IHBvc2l0aXZlIGludGVnZXIuPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1pbmltdW0gbnVtYmVyIG9mIG9wZXJhdGlvbnM8L3N0cm9uZz4gcmVxdWlyZWQgdG8gbWFrZSB0aGUgYXJyYXkgSy1pbmNyZWFzaW5nIGZvciB0aGUgZ2l2ZW4gPC9lbT48Y29kZT5rPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGFyciA9IFs1LDQsMywyLDFdLCBrID0gMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNAo8c3Ryb25nPkV4cGxhbmF0aW9uOgo8L3N0cm9uZz5Gb3IgayA9IDEsIHRoZSByZXN1bHRhbnQgYXJyYXkgaGFzIHRvIGJlIG5vbi1kZWNyZWFzaW5nLgpTb21lIG9mIHRoZSBLLWluY3JlYXNpbmcgYXJyYXlzIHRoYXQgY2FuIGJlIGZvcm1lZCBhcmUgWzUsPHU+PHN0cm9uZz42PC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjc8L3N0cm9uZz48L3U+LDx1PjxzdHJvbmc+ODwvc3Ryb25nPjwvdT4sPHU+PHN0cm9uZz45PC9zdHJvbmc+PC91Pl0sIFs8dT48c3Ryb25nPjE8L3N0cm9uZz48L3U+LDx1PjxzdHJvbmc+MTwvc3Ryb25nPjwvdT4sPHU+PHN0cm9uZz4xPC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjE8L3N0cm9uZz48L3U+LDFdLCBbPHU+PHN0cm9uZz4yPC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjI8L3N0cm9uZz48L3U+LDMsPHU+PHN0cm9uZz40PC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjQ8L3N0cm9uZz48L3U+XS4gQWxsIG9mIHRoZW0gcmVxdWlyZSA0IG9wZXJhdGlvbnMuCkl0IGlzIHN1Ym9wdGltYWwgdG8gY2hhbmdlIHRoZSBhcnJheSB0bywgZm9yIGV4YW1wbGUsIFs8dT48c3Ryb25nPjY8L3N0cm9uZz48L3U+LDx1PjxzdHJvbmc+Nzwvc3Ryb25nPjwvdT4sPHU+PHN0cm9uZz44PC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjk8L3N0cm9uZz48L3U+LDx1PjxzdHJvbmc+MTA8L3N0cm9uZz48L3U+XSBiZWNhdXNlIGl0IHdvdWxkIHRha2UgNSBvcGVyYXRpb25zLgpJdCBjYW4gYmUgc2hvd24gdGhhdCB3ZSBjYW5ub3QgbWFrZSB0aGUgYXJyYXkgSy1pbmNyZWFzaW5nIGluIGxlc3MgdGhhbiA0IG9wZXJhdGlvbnMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGFyciA9IFs0LDEsNSwyLDYsMl0sIGsgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoaXMgaXMgdGhlIHNhbWUgZXhhbXBsZSBhcyB0aGUgb25lIGluIHRoZSBwcm9ibGVtIGRlc2NyaXB0aW9uLgpIZXJlLCBmb3IgZXZlcnkgaW5kZXggaSB3aGVyZSAyICZsdDs9IGkgJmx0Oz0gNSwgYXJyW2ktMl0gJmx0Oz08Yj4gPC9iPmFycltpXS4KU2luY2UgdGhlIGdpdmVuIGFycmF5IGlzIGFscmVhZHkgSy1pbmNyZWFzaW5nLCB3ZSBkbyBub3QgbmVlZCB0byBwZXJmb3JtIGFueSBvcGVyYXRpb25zLjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGFyciA9IFs0LDEsNSwyLDYsMl0sIGsgPSAzCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+CkluZGljZXMgMyBhbmQgNSBhcmUgdGhlIG9ubHkgb25lcyBub3Qgc2F0aXNmeWluZyBhcnJbaS0zXSAmbHQ7PSBhcnJbaV0gZm9yIDMgJmx0Oz0gaSAmbHQ7PSA1LgpPbmUgb2YgdGhlIHdheXMgd2UgY2FuIG1ha2UgdGhlIGFycmF5IEstaW5jcmVhc2luZyBpcyBieSBjaGFuZ2luZyBhcnJbM10gdG8gNCBhbmQgYXJyWzVdIHRvIDUuClRoZSBhcnJheSB3aWxsIG5vdyBiZSBbNCwxLDUsPHU+PHN0cm9uZz40PC9zdHJvbmc+PC91Piw2LDx1PjxzdHJvbmc+NTwvc3Ryb25nPjwvdT5dLgpOb3RlIHRoYXQgdGhlcmUgY2FuIGJlIG90aGVyIHdheXMgdG8gbWFrZSB0aGUgYXJyYXkgSy1pbmNyZWFzaW5nLCBidXQgbm9uZSBvZiB0aGVtIHJlcXVpcmUgbGVzcyB0aGFuIDIgb3BlcmF0aW9ucy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBhcnIubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IGFycltpXSwgayAmbHQ7PSBhcnIubGVuZ3RoPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search"
+ ]
+ },
+ {
+ "title": "2106. Maximum Fruits Harvested After at Most K Steps",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkZydWl0cyBhcmUgYXZhaWxhYmxlIGF0IHNvbWUgcG9zaXRpb25zIG9uIGFuIGluZmluaXRlIHgtYXhpcy4gWW91IGFyZSBnaXZlbiBhIDJEIGludGVnZXIgYXJyYXkgPGNvZGU+ZnJ1aXRzPC9jb2RlPiB3aGVyZSA8Y29kZT5mcnVpdHNbaV0gPSBbcG9zaXRpb248c3ViPmk8L3N1Yj4sIGFtb3VudDxzdWI+aTwvc3ViPl08L2NvZGU+IGRlcGljdHMgPGNvZGU+YW1vdW50PHN1Yj5pPC9zdWI+PC9jb2RlPiBmcnVpdHMgYXQgdGhlIHBvc2l0aW9uIDxjb2RlPnBvc2l0aW9uPHN1Yj5pPC9zdWI+PC9jb2RlPi4gPGNvZGU+ZnJ1aXRzPC9jb2RlPiBpcyBhbHJlYWR5IDxzdHJvbmc+c29ydGVkPC9zdHJvbmc+IGJ5IDxjb2RlPnBvc2l0aW9uPHN1Yj5pPC9zdWI+PC9jb2RlPiBpbiA8c3Ryb25nPmFzY2VuZGluZyBvcmRlcjwvc3Ryb25nPiwgYW5kIGVhY2ggPGNvZGU+cG9zaXRpb248c3ViPmk8L3N1Yj48L2NvZGU+IGlzIDxzdHJvbmc+dW5pcXVlPC9zdHJvbmc+LjwvcD4KPHA+WW91IGFyZSBhbHNvIGdpdmVuIGFuIGludGVnZXIgPGNvZGU+c3RhcnRQb3M8L2NvZGU+IGFuZCBhbiBpbnRlZ2VyIDxjb2RlPms8L2NvZGU+LiBJbml0aWFsbHksIHlvdSBhcmUgYXQgdGhlIHBvc2l0aW9uIDxjb2RlPnN0YXJ0UG9zPC9jb2RlPi4gRnJvbSBhbnkgcG9zaXRpb24sIHlvdSBjYW4gZWl0aGVyIHdhbGsgdG8gdGhlIDxzdHJvbmc+bGVmdCBvciByaWdodDwvc3Ryb25nPi4gSXQgdGFrZXMgPHN0cm9uZz5vbmUgc3RlcDwvc3Ryb25nPiB0byBtb3ZlIDxzdHJvbmc+b25lIHVuaXQ8L3N0cm9uZz4gb24gdGhlIHgtYXhpcywgYW5kIHlvdSBjYW4gd2FsayA8c3Ryb25nPmF0IG1vc3Q8L3N0cm9uZz4gPGNvZGU+azwvY29kZT4gc3RlcHMgaW4gdG90YWwuIEZvciBldmVyeSBwb3NpdGlvbiB5b3UgcmVhY2gsIHlvdSBoYXJ2ZXN0IGFsbCB0aGUgZnJ1aXRzIGF0IHRoYXQgcG9zaXRpb24sIGFuZCB0aGUgZnJ1aXRzIHdpbGwgZGlzYXBwZWFyIGZyb20gdGhhdCBwb3NpdGlvbi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWF4aW11bSB0b3RhbCBudW1iZXI8L3N0cm9uZz4gb2YgZnJ1aXRzIHlvdSBjYW4gaGFydmVzdDwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8xMS8yMS8xLnBuZyIgc3R5bGU9IndpZHRoOiA0NzJweDsgaGVpZ2h0OiAxMTVweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBmcnVpdHMgPSBbWzIsOF0sWzYsM10sWzgsNl1dLCBzdGFydFBvcyA9IDUsIGsgPSA0CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA5CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IApUaGUgb3B0aW1hbCB3YXkgaXMgdG86Ci0gTW92ZSByaWdodCB0byBwb3NpdGlvbiA2IGFuZCBoYXJ2ZXN0IDMgZnJ1aXRzCi0gTW92ZSByaWdodCB0byBwb3NpdGlvbiA4IGFuZCBoYXJ2ZXN0IDYgZnJ1aXRzCllvdSBtb3ZlZCAzIHN0ZXBzIGFuZCBoYXJ2ZXN0ZWQgMyArIDYgPSA5IGZydWl0cyBpbiB0b3RhbC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8xMS8yMS8yLnBuZyIgc3R5bGU9IndpZHRoOiA1MTJweDsgaGVpZ2h0OiAxMjlweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBmcnVpdHMgPSBbWzAsOV0sWzQsMV0sWzUsN10sWzYsMl0sWzcsNF0sWzEwLDldXSwgc3RhcnRQb3MgPSA1LCBrID0gNAo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTQKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gCllvdSBjYW4gbW92ZSBhdCBtb3N0IGsgPSA0IHN0ZXBzLCBzbyB5b3UgY2Fubm90IHJlYWNoIHBvc2l0aW9uIDAgbm9yIDEwLgpUaGUgb3B0aW1hbCB3YXkgaXMgdG86Ci0gSGFydmVzdCB0aGUgNyBmcnVpdHMgYXQgdGhlIHN0YXJ0aW5nIHBvc2l0aW9uIDUKLSBNb3ZlIGxlZnQgdG8gcG9zaXRpb24gNCBhbmQgaGFydmVzdCAxIGZydWl0Ci0gTW92ZSByaWdodCB0byBwb3NpdGlvbiA2IGFuZCBoYXJ2ZXN0IDIgZnJ1aXRzCi0gTW92ZSByaWdodCB0byBwb3NpdGlvbiA3IGFuZCBoYXJ2ZXN0IDQgZnJ1aXRzCllvdSBtb3ZlZCAxICsgMyA9IDQgc3RlcHMgYW5kIGhhcnZlc3RlZCA3ICsgMSArIDIgKyA0ID0gMTQgZnJ1aXRzIGluIHRvdGFsLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzExLzIxLzMucG5nIiBzdHlsZT0id2lkdGg6IDQ3NnB4OyBoZWlnaHQ6IDEwMHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGZydWl0cyA9IFtbMCwzXSxbNiw0XSxbOCw1XV0sIHN0YXJ0UG9zID0gMywgayA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KWW91IGNhbiBtb3ZlIGF0IG1vc3QgayA9IDIgc3RlcHMgYW5kIGNhbm5vdCByZWFjaCBhbnkgcG9zaXRpb24gd2l0aCBmcnVpdHMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gZnJ1aXRzLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+ZnJ1aXRzW2ldLmxlbmd0aCA9PSAyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IHN0YXJ0UG9zLCBwb3NpdGlvbjxzdWI+aTwvc3ViPiAmbHQ7PSAyICogMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnBvc2l0aW9uPHN1Yj5pLTE8L3N1Yj4gJmx0OyBwb3NpdGlvbjxzdWI+aTwvc3ViPjwvY29kZT4gZm9yIGFueSA8Y29kZT5pICZndDsgMDwvY29kZT7CoCg8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPik8L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBhbW91bnQ8c3ViPmk8L3N1Yj4gJmx0Oz0gMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gayAmbHQ7PSAyICogMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Sliding Window",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2117. Abbreviating the Product of a Range",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIHBvc2l0aXZlIGludGVnZXJzIDxjb2RlPmxlZnQ8L2NvZGU+IGFuZCA8Y29kZT5yaWdodDwvY29kZT4gd2l0aCA8Y29kZT5sZWZ0ICZsdDs9IHJpZ2h0PC9jb2RlPi4gQ2FsY3VsYXRlIHRoZSA8c3Ryb25nPnByb2R1Y3Q8L3N0cm9uZz4gb2YgYWxsIGludGVnZXJzIGluIHRoZSA8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPiByYW5nZSA8Y29kZT5bbGVmdCwgcmlnaHRdPC9jb2RlPi48L3A+CjxwPlNpbmNlIHRoZSBwcm9kdWN0IG1heSBiZSB2ZXJ5IGxhcmdlLCB5b3Ugd2lsbCA8c3Ryb25nPmFiYnJldmlhdGU8L3N0cm9uZz4gaXQgZm9sbG93aW5nIHRoZXNlIHN0ZXBzOjwvcD4KPG9sPgo8bGk+Q291bnQgYWxsIDxzdHJvbmc+dHJhaWxpbmc8L3N0cm9uZz4gemVyb3MgaW4gdGhlIHByb2R1Y3QgYW5kIDxzdHJvbmc+cmVtb3ZlPC9zdHJvbmc+IHRoZW0uIExldCB1cyBkZW5vdGUgdGhpcyBjb3VudCBhcyA8Y29kZT5DPC9jb2RlPi4KCgk8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgdGhlcmUgYXJlIDxjb2RlPjM8L2NvZGU+IHRyYWlsaW5nIHplcm9zIGluIDxjb2RlPjEwMDA8L2NvZGU+LCBhbmQgdGhlcmUgYXJlIDxjb2RlPjA8L2NvZGU+IHRyYWlsaW5nIHplcm9zIGluIDxjb2RlPjU0NjwvY29kZT4uPC9saT4KPC91bD4KPC9saT4KPGxpPkRlbm90ZSB0aGUgcmVtYWluaW5nIG51bWJlciBvZiBkaWdpdHMgaW4gdGhlIHByb2R1Y3QgYXMgPGNvZGU+ZDwvY29kZT4uIElmIDxjb2RlPmQgJmd0OyAxMDwvY29kZT4sIHRoZW4gZXhwcmVzcyB0aGUgcHJvZHVjdCBhcyA8Y29kZT4mbHQ7cHJlJmd0Oy4uLiZsdDtzdWYmZ3Q7PC9jb2RlPiB3aGVyZSA8Y29kZT4mbHQ7cHJlJmd0OzwvY29kZT4gZGVub3RlcyB0aGUgPHN0cm9uZz5maXJzdDwvc3Ryb25nPiA8Y29kZT41PC9jb2RlPiBkaWdpdHMgb2YgdGhlIHByb2R1Y3QsIGFuZCA8Y29kZT4mbHQ7c3VmJmd0OzwvY29kZT4gZGVub3RlcyB0aGUgPHN0cm9uZz5sYXN0PC9zdHJvbmc+IDxjb2RlPjU8L2NvZGU+IGRpZ2l0cyBvZiB0aGUgcHJvZHVjdCA8c3Ryb25nPmFmdGVyPC9zdHJvbmc+IHJlbW92aW5nIGFsbCB0cmFpbGluZyB6ZXJvcy4gSWYgPGNvZGU+ZCAmbHQ7PSAxMDwvY29kZT4sIHdlIGtlZXAgaXQgdW5jaGFuZ2VkLgoJPHVsPgo8bGk+Rm9yIGV4YW1wbGUsIHdlIGV4cHJlc3MgPGNvZGU+MTIzNDU2NzY1NDMyMTwvY29kZT4gYXMgPGNvZGU+MTIzNDUuLi41NDMyMTwvY29kZT4sIGJ1dCA8Y29kZT4xMjM0NTY3PC9jb2RlPiBpcyByZXByZXNlbnRlZCBhcyA8Y29kZT4xMjM0NTY3PC9jb2RlPi48L2xpPgo8L3VsPgo8L2xpPgo8bGk+RmluYWxseSwgcmVwcmVzZW50IHRoZSBwcm9kdWN0IGFzIGEgPHN0cm9uZz5zdHJpbmc8L3N0cm9uZz4gPGNvZGU+IiZsdDtwcmUmZ3Q7Li4uJmx0O3N1ZiZndDtlQyI8L2NvZGU+LgoJPHVsPgo8bGk+Rm9yIGV4YW1wbGUsIDxjb2RlPjEyMzQ1Njc4OTg3NjAwMDAwPC9jb2RlPiB3aWxsIGJlIHJlcHJlc2VudGVkIGFzIDxjb2RlPiIxMjM0NS4uLjg5ODc2ZTUiPC9jb2RlPi48L2xpPgo8L3VsPgo8L2xpPgo8L29sPgo8cD5SZXR1cm4gPGVtPmEgc3RyaW5nIGRlbm90aW5nIHRoZSA8c3Ryb25nPmFiYnJldmlhdGVkIHByb2R1Y3Q8L3N0cm9uZz4gb2YgYWxsIGludGVnZXJzIGluIHRoZSA8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPiByYW5nZTwvZW0+IDxjb2RlPltsZWZ0LCByaWdodF08L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbGVmdCA9IDEsIHJpZ2h0ID0gNAo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gIjI0ZTAiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBwcm9kdWN0IGlzIDEgw5cgMiDDlyAzIMOXIDQgPSAyNC4KVGhlcmUgYXJlIG5vIHRyYWlsaW5nIHplcm9zLCBzbyAyNCByZW1haW5zIHRoZSBzYW1lLiBUaGUgYWJicmV2aWF0aW9uIHdpbGwgZW5kIHdpdGggImUwIi4KU2luY2UgdGhlIG51bWJlciBvZiBkaWdpdHMgaXMgMiwgd2hpY2ggaXMgbGVzcyB0aGFuIDEwLCB3ZSBkbyBub3QgaGF2ZSB0byBhYmJyZXZpYXRlIGl0IGZ1cnRoZXIuClRodXMsIHRoZSBmaW5hbCByZXByZXNlbnRhdGlvbiBpcyAiMjRlMCIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGxlZnQgPSAyLCByaWdodCA9IDExCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiMzk5MTY4ZTIiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBwcm9kdWN0IGlzIDM5OTE2ODAwLgpUaGVyZSBhcmUgMiB0cmFpbGluZyB6ZXJvcywgd2hpY2ggd2UgcmVtb3ZlIHRvIGdldCAzOTkxNjguIFRoZSBhYmJyZXZpYXRpb24gd2lsbCBlbmQgd2l0aCAiZTIiLgpUaGUgbnVtYmVyIG9mIGRpZ2l0cyBhZnRlciByZW1vdmluZyB0aGUgdHJhaWxpbmcgemVyb3MgaXMgNiwgc28gd2UgZG8gbm90IGFiYnJldmlhdGUgaXQgZnVydGhlci4KSGVuY2UsIHRoZSBhYmJyZXZpYXRlZCBwcm9kdWN0IGlzICIzOTkxNjhlMiIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGxlZnQgPSAzNzEsIHJpZ2h0ID0gMzc1CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiNzIxOTg1NjI1OWUzIgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgcHJvZHVjdCBpcyA3MjE5ODU2MjU5MDAwLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IGxlZnQgJmx0Oz0gcmlnaHQgJmx0Oz0gMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Math"
+ ]
+ },
+ {
+ "title": "2092. Find All People With Secret",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5uPC9jb2RlPiBpbmRpY2F0aW5nIHRoZXJlIGFyZSA8Y29kZT5uPC9jb2RlPiBwZW9wbGUgbnVtYmVyZWQgZnJvbSA8Y29kZT4wPC9jb2RlPiB0byA8Y29kZT5uIC0gMTwvY29kZT4uIFlvdSBhcmUgYWxzbyBnaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IDJEIGludGVnZXIgYXJyYXkgPGNvZGU+bWVldGluZ3M8L2NvZGU+IHdoZXJlIDxjb2RlPm1lZXRpbmdzW2ldID0gW3g8c3ViPmk8L3N1Yj4sIHk8c3ViPmk8L3N1Yj4sIHRpbWU8c3ViPmk8L3N1Yj5dPC9jb2RlPiBpbmRpY2F0ZXMgdGhhdCBwZXJzb24gPGNvZGU+eDxzdWI+aTwvc3ViPjwvY29kZT4gYW5kIHBlcnNvbiA8Y29kZT55PHN1Yj5pPC9zdWI+PC9jb2RlPiBoYXZlIGEgbWVldGluZyBhdCA8Y29kZT50aW1lPHN1Yj5pPC9zdWI+PC9jb2RlPi4gQSBwZXJzb24gbWF5IGF0dGVuZCA8c3Ryb25nPm11bHRpcGxlIG1lZXRpbmdzPC9zdHJvbmc+IGF0IHRoZSBzYW1lIHRpbWUuIEZpbmFsbHksIHlvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5maXJzdFBlcnNvbjwvY29kZT4uPC9wPgo8cD5QZXJzb24gPGNvZGU+MDwvY29kZT4gaGFzIGEgPHN0cm9uZz5zZWNyZXQ8L3N0cm9uZz4gYW5kIGluaXRpYWxseSBzaGFyZXMgdGhlIHNlY3JldCB3aXRoIGEgcGVyc29uIDxjb2RlPmZpcnN0UGVyc29uPC9jb2RlPiBhdCB0aW1lIDxjb2RlPjA8L2NvZGU+LiBUaGlzIHNlY3JldCBpcyB0aGVuIHNoYXJlZCBldmVyeSB0aW1lIGEgbWVldGluZyB0YWtlcyBwbGFjZSB3aXRoIGEgcGVyc29uIHRoYXQgaGFzIHRoZSBzZWNyZXQuIE1vcmUgZm9ybWFsbHksIGZvciBldmVyeSBtZWV0aW5nLCBpZiBhIHBlcnNvbiA8Y29kZT54PHN1Yj5pPC9zdWI+PC9jb2RlPiBoYXMgdGhlIHNlY3JldCBhdCA8Y29kZT50aW1lPHN1Yj5pPC9zdWI+PC9jb2RlPiwgdGhlbiB0aGV5IHdpbGwgc2hhcmUgdGhlIHNlY3JldCB3aXRoIHBlcnNvbiA8Y29kZT55PHN1Yj5pPC9zdWI+PC9jb2RlPiwgYW5kIHZpY2UgdmVyc2EuPC9wPgo8cD5UaGUgc2VjcmV0cyBhcmUgc2hhcmVkIDxzdHJvbmc+aW5zdGFudGFuZW91c2x5PC9zdHJvbmc+LiBUaGF0IGlzLCBhIHBlcnNvbiBtYXkgcmVjZWl2ZSB0aGUgc2VjcmV0IGFuZCBzaGFyZSBpdCB3aXRoIHBlb3BsZSBpbiBvdGhlciBtZWV0aW5ncyB3aXRoaW4gdGhlIHNhbWUgdGltZSBmcmFtZS48L3A+CjxwPlJldHVybiA8ZW0+YSBsaXN0IG9mIGFsbCB0aGUgcGVvcGxlIHRoYXQgaGF2ZSB0aGUgc2VjcmV0IGFmdGVyIGFsbCB0aGUgbWVldGluZ3MgaGF2ZSB0YWtlbiBwbGFjZS4gPC9lbT5Zb3UgbWF5IHJldHVybiB0aGUgYW5zd2VyIGluIDxzdHJvbmc+YW55IG9yZGVyPC9zdHJvbmc+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDYsIG1lZXRpbmdzID0gW1sxLDIsNV0sWzIsMyw4XSxbMSw1LDEwXV0sIGZpcnN0UGVyc29uID0gMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzAsMSwyLDMsNV0KPHN0cm9uZz5FeHBsYW5hdGlvbjoKPC9zdHJvbmc+QXQgdGltZSAwLCBwZXJzb24gMCBzaGFyZXMgdGhlIHNlY3JldCB3aXRoIHBlcnNvbiAxLgpBdCB0aW1lIDUsIHBlcnNvbiAxIHNoYXJlcyB0aGUgc2VjcmV0IHdpdGggcGVyc29uIDIuCkF0IHRpbWUgOCwgcGVyc29uIDIgc2hhcmVzIHRoZSBzZWNyZXQgd2l0aCBwZXJzb24gMy4KQXQgdGltZSAxMCwgcGVyc29uIDEgc2hhcmVzIHRoZSBzZWNyZXQgd2l0aCBwZXJzb24gNS7igIvigIvigIvigIsKVGh1cywgcGVvcGxlIDAsIDEsIDIsIDMsIGFuZCA1IGtub3cgdGhlIHNlY3JldCBhZnRlciBhbGwgdGhlIG1lZXRpbmdzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gNCwgbWVldGluZ3MgPSBbWzMsMSwzXSxbMSwyLDJdLFswLDMsM11dLCBmaXJzdFBlcnNvbiA9IDMKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFswLDEsM10KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KQXQgdGltZSAwLCBwZXJzb24gMCBzaGFyZXMgdGhlIHNlY3JldCB3aXRoIHBlcnNvbiAzLgpBdCB0aW1lIDIsIG5laXRoZXIgcGVyc29uIDEgbm9yIHBlcnNvbiAyIGtub3cgdGhlIHNlY3JldC4KQXQgdGltZSAzLCBwZXJzb24gMyBzaGFyZXMgdGhlIHNlY3JldCB3aXRoIHBlcnNvbiAwIGFuZCBwZXJzb24gMS4KVGh1cywgcGVvcGxlIDAsIDEsIGFuZCAzIGtub3cgdGhlIHNlY3JldCBhZnRlciBhbGwgdGhlIG1lZXRpbmdzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gNSwgbWVldGluZ3MgPSBbWzMsNCwyXSxbMSwyLDFdLFsyLDMsMV1dLCBmaXJzdFBlcnNvbiA9IDEKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFswLDEsMiwzLDRdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+CkF0IHRpbWUgMCwgcGVyc29uIDAgc2hhcmVzIHRoZSBzZWNyZXQgd2l0aCBwZXJzb24gMS4KQXQgdGltZSAxLCBwZXJzb24gMSBzaGFyZXMgdGhlIHNlY3JldCB3aXRoIHBlcnNvbiAyLCBhbmQgcGVyc29uIDIgc2hhcmVzIHRoZSBzZWNyZXQgd2l0aCBwZXJzb24gMy4KTm90ZSB0aGF0IHBlcnNvbiAyIGNhbiBzaGFyZSB0aGUgc2VjcmV0IGF0IHRoZSBzYW1lIHRpbWUgYXMgcmVjZWl2aW5nIGl0LgpBdCB0aW1lIDIsIHBlcnNvbiAzIHNoYXJlcyB0aGUgc2VjcmV0IHdpdGggcGVyc29uIDQuClRodXMsIHBlb3BsZSAwLCAxLCAyLCAzLCBhbmQgNCBrbm93IHRoZSBzZWNyZXQgYWZ0ZXIgYWxsIHRoZSBtZWV0aW5ncy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MiAmbHQ7PSBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG1lZXRpbmdzLmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+bWVldGluZ3NbaV0ubGVuZ3RoID09IDM8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0geDxzdWI+aTwvc3ViPiwgeTxzdWI+aSA8L3N1Yj4mbHQ7PSBuIC0gMTwvY29kZT48L2xpPgo8bGk+PGNvZGU+eDxzdWI+aTwvc3ViPiAhPSB5PHN1Yj5pPC9zdWI+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHRpbWU8c3ViPmk8L3N1Yj4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gZmlyc3RQZXJzb24gJmx0Oz0gbiAtIDE8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Depth-First Search",
+ "Breadth-First Search",
+ "Union Find",
+ "Graph",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2102. Sequentially Ordinal Rank Tracker",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgc2NlbmljIGxvY2F0aW9uIGlzIHJlcHJlc2VudGVkIGJ5IGl0cyA8Y29kZT5uYW1lPC9jb2RlPiBhbmQgYXR0cmFjdGl2ZW5lc3MgPGNvZGU+c2NvcmU8L2NvZGU+LCB3aGVyZSA8Y29kZT5uYW1lPC9jb2RlPiBpcyBhIDxzdHJvbmc+dW5pcXVlPC9zdHJvbmc+IHN0cmluZyBhbW9uZyBhbGwgbG9jYXRpb25zIGFuZCA8Y29kZT5zY29yZTwvY29kZT4gaXMgYW4gaW50ZWdlci4gTG9jYXRpb25zIGNhbiBiZSByYW5rZWQgZnJvbSB0aGUgYmVzdCB0byB0aGUgd29yc3QuIFRoZSA8c3Ryb25nPmhpZ2hlcjwvc3Ryb25nPiB0aGUgc2NvcmUsIHRoZSBiZXR0ZXIgdGhlIGxvY2F0aW9uLiBJZiB0aGUgc2NvcmVzIG9mIHR3byBsb2NhdGlvbnMgYXJlIGVxdWFsLCB0aGVuIHRoZSBsb2NhdGlvbiB3aXRoIHRoZSA8c3Ryb25nPmxleGljb2dyYXBoaWNhbGx5IHNtYWxsZXI8L3N0cm9uZz4gbmFtZSBpcyBiZXR0ZXIuPC9wPgo8cD5Zb3UgYXJlIGJ1aWxkaW5nIGEgc3lzdGVtIHRoYXQgdHJhY2tzIHRoZSByYW5raW5nIG9mIGxvY2F0aW9ucyB3aXRoIHRoZSBzeXN0ZW0gaW5pdGlhbGx5IHN0YXJ0aW5nIHdpdGggbm8gbG9jYXRpb25zLiBJdCBzdXBwb3J0czo8L3A+Cjx1bD4KPGxpPjxzdHJvbmc+QWRkaW5nPC9zdHJvbmc+IHNjZW5pYyBsb2NhdGlvbnMsIDxzdHJvbmc+b25lIGF0IGEgdGltZTwvc3Ryb25nPi48L2xpPgo8bGk+PHN0cm9uZz5RdWVyeWluZzwvc3Ryb25nPiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IDxzdHJvbmc+YmVzdDwvc3Ryb25nPiBsb2NhdGlvbiBvZiA8c3Ryb25nPmFsbCBsb2NhdGlvbnMgYWxyZWFkeSBhZGRlZDwvc3Ryb25nPiwgd2hlcmUgPGNvZGU+aTwvY29kZT4gaXMgdGhlIG51bWJlciBvZiB0aW1lcyB0aGUgc3lzdGVtIGhhcyBiZWVuIHF1ZXJpZWQgKGluY2x1ZGluZyB0aGUgY3VycmVudCBxdWVyeSkuCgk8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgd2hlbiB0aGUgc3lzdGVtIGlzIHF1ZXJpZWQgZm9yIHRoZSA8Y29kZT40PHN1cD50aDwvc3VwPjwvY29kZT4gdGltZSwgaXQgcmV0dXJucyB0aGUgPGNvZGU+NDxzdXA+dGg8L3N1cD48L2NvZGU+IGJlc3QgbG9jYXRpb24gb2YgYWxsIGxvY2F0aW9ucyBhbHJlYWR5IGFkZGVkLjwvbGk+CjwvdWw+CjwvbGk+CjwvdWw+CjxwPk5vdGUgdGhhdCB0aGUgdGVzdCBkYXRhIGFyZSBnZW5lcmF0ZWQgc28gdGhhdCA8c3Ryb25nPmF0IGFueSB0aW1lPC9zdHJvbmc+LCB0aGUgbnVtYmVyIG9mIHF1ZXJpZXMgPHN0cm9uZz5kb2VzIG5vdCBleGNlZWQ8L3N0cm9uZz4gdGhlIG51bWJlciBvZiBsb2NhdGlvbnMgYWRkZWQgdG8gdGhlIHN5c3RlbS48L3A+CjxwPkltcGxlbWVudCB0aGUgPGNvZGU+U09SVHJhY2tlcjwvY29kZT4gY2xhc3M6PC9wPgo8dWw+CjxsaT48Y29kZT5TT1JUcmFja2VyKCk8L2NvZGU+IEluaXRpYWxpemVzIHRoZSB0cmFja2VyIHN5c3RlbS48L2xpPgo8bGk+PGNvZGU+dm9pZCBhZGQoc3RyaW5nIG5hbWUsIGludCBzY29yZSk8L2NvZGU+IEFkZHMgYSBzY2VuaWMgbG9jYXRpb24gd2l0aCA8Y29kZT5uYW1lPC9jb2RlPiBhbmQgPGNvZGU+c2NvcmU8L2NvZGU+IHRvIHRoZSBzeXN0ZW0uPC9saT4KPGxpPjxjb2RlPnN0cmluZyBnZXQoKTwvY29kZT4gUXVlcmllcyBhbmQgcmV0dXJucyB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGJlc3QgbG9jYXRpb24sIHdoZXJlIDxjb2RlPmk8L2NvZGU+IGlzIHRoZSBudW1iZXIgb2YgdGltZXMgdGhpcyBtZXRob2QgaGFzIGJlZW4gaW52b2tlZCAoaW5jbHVkaW5nIHRoaXMgaW52b2NhdGlvbikuPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDwvc3Ryb25nPgpbIlNPUlRyYWNrZXIiLCAiYWRkIiwgImFkZCIsICJnZXQiLCAiYWRkIiwgImdldCIsICJhZGQiLCAiZ2V0IiwgImFkZCIsICJnZXQiLCAiYWRkIiwgImdldCIsICJnZXQiXQpbW10sIFsiYnJhZGZvcmQiLCAyXSwgWyJicmFuZm9yZCIsIDNdLCBbXSwgWyJhbHBzIiwgMl0sIFtdLCBbIm9ybGFuZCIsIDJdLCBbXSwgWyJvcmxhbmRvIiwgM10sIFtdLCBbImFscGluZSIsIDJdLCBbXSwgW11dCjxzdHJvbmc+T3V0cHV0PC9zdHJvbmc+CltudWxsLCBudWxsLCBudWxsLCAiYnJhbmZvcmQiLCBudWxsLCAiYWxwcyIsIG51bGwsICJicmFkZm9yZCIsIG51bGwsICJicmFkZm9yZCIsIG51bGwsICJicmFkZm9yZCIsICJvcmxhbmQiXQoKPHN0cm9uZz5FeHBsYW5hdGlvbjwvc3Ryb25nPgpTT1JUcmFja2VyIHRyYWNrZXIgPSBuZXcgU09SVHJhY2tlcigpOyAvLyBJbml0aWFsaXplIHRoZSB0cmFja2VyIHN5c3RlbS4KdHJhY2tlci5hZGQoImJyYWRmb3JkIiwgMik7IC8vIEFkZCBsb2NhdGlvbiB3aXRoIG5hbWU9ImJyYWRmb3JkIiBhbmQgc2NvcmU9MiB0byB0aGUgc3lzdGVtLgp0cmFja2VyLmFkZCgiYnJhbmZvcmQiLCAzKTsgLy8gQWRkIGxvY2F0aW9uIHdpdGggbmFtZT0iYnJhbmZvcmQiIGFuZCBzY29yZT0zIHRvIHRoZSBzeXN0ZW0uCnRyYWNrZXIuZ2V0KCk7ICAgICAgICAgICAgICAvLyBUaGUgc29ydGVkIGxvY2F0aW9ucywgZnJvbSBiZXN0IHRvIHdvcnN0LCBhcmU6IGJyYW5mb3JkLCBicmFkZm9yZC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5vdGUgdGhhdCBicmFuZm9yZCBwcmVjZWRlcyBicmFkZm9yZCBkdWUgdG8gaXRzIDxzdHJvbmc+aGlnaGVyIHNjb3JlPC9zdHJvbmc+ICgzICZndDsgMikuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSAxPHN1cD5zdDwvc3VwPiB0aW1lIGdldCgpIGlzIGNhbGxlZCwgc28gcmV0dXJuIHRoZSBiZXN0IGxvY2F0aW9uOiAiYnJhbmZvcmQiLgp0cmFja2VyLmFkZCgiYWxwcyIsIDIpOyAgICAgLy8gQWRkIGxvY2F0aW9uIHdpdGggbmFtZT0iYWxwcyIgYW5kIHNjb3JlPTIgdG8gdGhlIHN5c3RlbS4KdHJhY2tlci5nZXQoKTsgICAgICAgICAgICAgIC8vIFNvcnRlZCBsb2NhdGlvbnM6IGJyYW5mb3JkLCBhbHBzLCBicmFkZm9yZC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5vdGUgdGhhdCBhbHBzIHByZWNlZGVzIGJyYWRmb3JkIGV2ZW4gdGhvdWdoIHRoZXkgaGF2ZSB0aGUgc2FtZSBzY29yZSAoMikuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIGJlY2F1c2UgImFscHMiIGlzIDxzdHJvbmc+bGV4aWNvZ3JhcGhpY2FsbHkgc21hbGxlcjwvc3Ryb25nPiB0aGFuICJicmFkZm9yZCIuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXR1cm4gdGhlIDI8c3VwPm5kPC9zdXA+IGJlc3QgbG9jYXRpb24gImFscHMiLCBhcyBpdCBpcyB0aGUgMjxzdXA+bmQ8L3N1cD4gdGltZSBnZXQoKSBpcyBjYWxsZWQuCnRyYWNrZXIuYWRkKCJvcmxhbmQiLCAyKTsgICAvLyBBZGQgbG9jYXRpb24gd2l0aCBuYW1lPSJvcmxhbmQiIGFuZCBzY29yZT0yIHRvIHRoZSBzeXN0ZW0uCnRyYWNrZXIuZ2V0KCk7ICAgICAgICAgICAgICAvLyBTb3J0ZWQgbG9jYXRpb25zOiBicmFuZm9yZCwgYWxwcywgYnJhZGZvcmQsIG9ybGFuZC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJldHVybiAiYnJhZGZvcmQiLCBhcyBpdCBpcyB0aGUgMzxzdXA+cmQ8L3N1cD4gdGltZSBnZXQoKSBpcyBjYWxsZWQuCnRyYWNrZXIuYWRkKCJvcmxhbmRvIiwgMyk7ICAvLyBBZGQgbG9jYXRpb24gd2l0aCBuYW1lPSJvcmxhbmRvIiBhbmQgc2NvcmU9MyB0byB0aGUgc3lzdGVtLgp0cmFja2VyLmdldCgpOyAgICAgICAgICAgICAgLy8gU29ydGVkIGxvY2F0aW9uczogYnJhbmZvcmQsIG9ybGFuZG8sIGFscHMsIGJyYWRmb3JkLCBvcmxhbmQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXR1cm4gImJyYWRmb3JkIi4KdHJhY2tlci5hZGQoImFscGluZSIsIDIpOyAgIC8vIEFkZCBsb2NhdGlvbiB3aXRoIG5hbWU9ImFscGluZSIgYW5kIHNjb3JlPTIgdG8gdGhlIHN5c3RlbS4KdHJhY2tlci5nZXQoKTsgICAgICAgICAgICAgIC8vIFNvcnRlZCBsb2NhdGlvbnM6IGJyYW5mb3JkLCBvcmxhbmRvLCBhbHBpbmUsIGFscHMsIGJyYWRmb3JkLCBvcmxhbmQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXR1cm4gImJyYWRmb3JkIi4KdHJhY2tlci5nZXQoKTsgICAgICAgICAgICAgIC8vIFNvcnRlZCBsb2NhdGlvbnM6IGJyYW5mb3JkLCBvcmxhbmRvLCBhbHBpbmUsIGFscHMsIGJyYWRmb3JkLCBvcmxhbmQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXR1cm4gIm9ybGFuZCIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm5hbWU8L2NvZGU+IGNvbnNpc3RzIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMsIGFuZCBpcyB1bmlxdWUgYW1vbmcgYWxsIGxvY2F0aW9ucy48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBuYW1lLmxlbmd0aCAmbHQ7PSAxMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBzY29yZSAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+QXQgYW55IHRpbWUsIHRoZSBudW1iZXIgb2YgY2FsbHMgdG8gPGNvZGU+Z2V0PC9jb2RlPiBkb2VzIG5vdCBleGNlZWQgdGhlIG51bWJlciBvZiBjYWxscyB0byA8Y29kZT5hZGQ8L2NvZGU+LjwvbGk+CjxsaT5BdCBtb3N0IDxjb2RlPjQgKiAxMDxzdXA+NDwvc3VwPjwvY29kZT4gY2FsbHMgPHN0cm9uZz5pbiB0b3RhbDwvc3Ryb25nPiB3aWxsIGJlIG1hZGUgdG8gPGNvZGU+YWRkPC9jb2RlPiBhbmQgPGNvZGU+Z2V0PC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Design",
+ "Heap (Priority Queue)",
+ "Data Stream",
+ "Ordered Set"
+ ]
+ },
+ {
+ "title": "2081. Sum of k-Mirror Numbers",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgPHN0cm9uZz5rLW1pcnJvciBudW1iZXI8L3N0cm9uZz4gaXMgYSA8c3Ryb25nPnBvc2l0aXZlPC9zdHJvbmc+IGludGVnZXIgPHN0cm9uZz53aXRob3V0IGxlYWRpbmcgemVyb3M8L3N0cm9uZz4gdGhhdCByZWFkcyB0aGUgc2FtZSBib3RoIGZvcndhcmQgYW5kIGJhY2t3YXJkIGluIGJhc2UtMTAgPHN0cm9uZz5hcyB3ZWxsIGFzPC9zdHJvbmc+IGluIGJhc2Utay48L3A+Cjx1bD4KPGxpPkZvciBleGFtcGxlLCA8Y29kZT45PC9jb2RlPiBpcyBhIDItbWlycm9yIG51bWJlci4gVGhlIHJlcHJlc2VudGF0aW9uIG9mIDxjb2RlPjk8L2NvZGU+IGluIGJhc2UtMTAgYW5kIGJhc2UtMiBhcmUgPGNvZGU+OTwvY29kZT4gYW5kIDxjb2RlPjEwMDE8L2NvZGU+IHJlc3BlY3RpdmVseSwgd2hpY2ggcmVhZCB0aGUgc2FtZSBib3RoIGZvcndhcmQgYW5kIGJhY2t3YXJkLjwvbGk+CjxsaT5PbiB0aGUgY29udHJhcnksIDxjb2RlPjQ8L2NvZGU+IGlzIG5vdCBhIDItbWlycm9yIG51bWJlci4gVGhlIHJlcHJlc2VudGF0aW9uIG9mIDxjb2RlPjQ8L2NvZGU+IGluIGJhc2UtMiBpcyA8Y29kZT4xMDA8L2NvZGU+LCB3aGljaCBkb2VzIG5vdCByZWFkIHRoZSBzYW1lIGJvdGggZm9yd2FyZCBhbmQgYmFja3dhcmQuPC9saT4KPC91bD4KPHA+R2l2ZW4gdGhlIGJhc2UgPGNvZGU+azwvY29kZT4gYW5kIHRoZSBudW1iZXIgPGNvZGU+bjwvY29kZT4sIHJldHVybiA8ZW0+dGhlIDxzdHJvbmc+c3VtPC9zdHJvbmc+IG9mIHRoZTwvZW0+IDxjb2RlPm48L2NvZGU+IDxlbT48c3Ryb25nPnNtYWxsZXN0PC9zdHJvbmc+IGstbWlycm9yIG51bWJlcnM8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGsgPSAyLCBuID0gNQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMjUKPHN0cm9uZz5FeHBsYW5hdGlvbjoKPC9zdHJvbmc+VGhlIDUgc21hbGxlc3QgMi1taXJyb3IgbnVtYmVycyBhbmQgdGhlaXIgcmVwcmVzZW50YXRpb25zIGluIGJhc2UtMiBhcmUgbGlzdGVkIGFzIGZvbGxvd3M6CiAgYmFzZS0xMCAgICBiYXNlLTIKICAgIDEgICAgICAgICAgMQogICAgMyAgICAgICAgICAxMQogICAgNSAgICAgICAgICAxMDEKICAgIDcgICAgICAgICAgMTExCiAgICA5ICAgICAgICAgIDEwMDEKVGhlaXIgc3VtID0gMSArIDMgKyA1ICsgNyArIDkgPSAyNS4gCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGsgPSAzLCBuID0gNwo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNDk5CjxzdHJvbmc+RXhwbGFuYXRpb246Cjwvc3Ryb25nPlRoZSA3IHNtYWxsZXN0IDMtbWlycm9yIG51bWJlcnMgYXJlIGFuZCB0aGVpciByZXByZXNlbnRhdGlvbnMgaW4gYmFzZS0zIGFyZSBsaXN0ZWQgYXMgZm9sbG93czoKICBiYXNlLTEwICAgIGJhc2UtMwogICAgMSAgICAgICAgICAxCiAgICAyICAgICAgICAgIDIKICAgIDQgICAgICAgICAgMTEKICAgIDggICAgICAgICAgMjIKICAgIDEyMSAgICAgICAgMTExMTEKICAgIDE1MSAgICAgICAgMTIxMjEKICAgIDIxMiAgICAgICAgMjEyMTIKVGhlaXIgc3VtID0gMSArIDIgKyA0ICsgOCArIDEyMSArIDE1MSArIDIxMiA9IDQ5OS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gayA9IDcsIG4gPSAxNwo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMjAzNzkwMDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIDE3IHNtYWxsZXN0IDctbWlycm9yIG51bWJlcnMgYXJlOgoxLCAyLCAzLCA0LCA1LCA2LCA4LCAxMjEsIDE3MSwgMjQyLCAyOTIsIDE2NTYxLCA2NTY1NiwgMjEzNzMxMiwgNDYwMjA2NCwgNjU5Nzk1NiwgNjk1ODU5Ngo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4yICZsdDs9IGsgJmx0Oz0gOTwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDMwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Math",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2097. Valid Arrangement of Pairs",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPnBhaXJzPC9jb2RlPiB3aGVyZSA8Y29kZT5wYWlyc1tpXSA9IFtzdGFydDxzdWI+aTwvc3ViPiwgZW5kPHN1Yj5pPC9zdWI+XTwvY29kZT4uIEFuIGFycmFuZ2VtZW50IG9mIDxjb2RlPnBhaXJzPC9jb2RlPiBpcyA8c3Ryb25nPnZhbGlkPC9zdHJvbmc+IGlmIGZvciBldmVyeSBpbmRleCA8Y29kZT5pPC9jb2RlPiB3aGVyZSA8Y29kZT4xICZsdDs9IGkgJmx0OyBwYWlycy5sZW5ndGg8L2NvZGU+LCB3ZSBoYXZlIDxjb2RlPmVuZDxzdWI+aS0xPC9zdWI+ID09IHN0YXJ0PHN1Yj5pPC9zdWI+PC9jb2RlPi48L3A+CjxwPlJldHVybiA8ZW0+PHN0cm9uZz5hbnk8L3N0cm9uZz4gdmFsaWQgYXJyYW5nZW1lbnQgb2YgPC9lbT48Y29kZT5wYWlyczwvY29kZT4uPC9wPgo8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoZSBpbnB1dHMgd2lsbCBiZSBnZW5lcmF0ZWQgc3VjaCB0aGF0IHRoZXJlIGV4aXN0cyBhIHZhbGlkIGFycmFuZ2VtZW50IG9mIDxjb2RlPnBhaXJzPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHBhaXJzID0gW1s1LDFdLFs0LDVdLFsxMSw5XSxbOSw0XV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFtbMTEsOV0sWzksNF0sWzQsNV0sWzUsMV1dCjxzdHJvbmc+RXhwbGFuYXRpb246Cjwvc3Ryb25nPlRoaXMgaXMgYSB2YWxpZCBhcnJhbmdlbWVudCBzaW5jZSBlbmQ8c3ViPmktMTwvc3ViPiBhbHdheXMgZXF1YWxzIHN0YXJ0PHN1Yj5pPC9zdWI+LgplbmQ8c3ViPjA8L3N1Yj4gPSA5ID09IDkgPSBzdGFydDxzdWI+MTwvc3ViPiAKZW5kPHN1Yj4xPC9zdWI+ID0gNCA9PSA0ID0gc3RhcnQ8c3ViPjI8L3N1Yj4KZW5kPHN1Yj4yPC9zdWI+ID0gNSA9PSA1ID0gc3RhcnQ8c3ViPjM8L3N1Yj4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcGFpcnMgPSBbWzEsM10sWzMsMl0sWzIsMV1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbWzEsM10sWzMsMl0sWzIsMV1dCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ClRoaXMgaXMgYSB2YWxpZCBhcnJhbmdlbWVudCBzaW5jZSBlbmQ8c3ViPmktMTwvc3ViPiBhbHdheXMgZXF1YWxzIHN0YXJ0PHN1Yj5pPC9zdWI+LgplbmQ8c3ViPjA8L3N1Yj4gPSAzID09IDMgPSBzdGFydDxzdWI+MTwvc3ViPgplbmQ8c3ViPjE8L3N1Yj4gPSAyID09IDIgPSBzdGFydDxzdWI+Mjwvc3ViPgpUaGUgYXJyYW5nZW1lbnRzIFtbMiwxXSxbMSwzXSxbMywyXV0gYW5kIFtbMywyXSxbMiwxXSxbMSwzXV0gYXJlIGFsc28gdmFsaWQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHBhaXJzID0gW1sxLDJdLFsxLDNdLFsyLDFdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gW1sxLDJdLFsyLDFdLFsxLDNdXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGlzIGlzIGEgdmFsaWQgYXJyYW5nZW1lbnQgc2luY2UgZW5kPHN1Yj5pLTE8L3N1Yj4gYWx3YXlzIGVxdWFscyBzdGFydDxzdWI+aTwvc3ViPi4KZW5kPHN1Yj4wPC9zdWI+ID0gMiA9PSAyID0gc3RhcnQ8c3ViPjE8L3N1Yj4KZW5kPHN1Yj4xPC9zdWI+ID0gMSA9PSAxID0gc3RhcnQ8c3ViPjI8L3N1Yj4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBwYWlycy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnBhaXJzW2ldLmxlbmd0aCA9PSAyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IHN0YXJ0PHN1Yj5pPC9zdWI+LCBlbmQ8c3ViPmk8L3N1Yj4gJmx0Oz0gMTA8c3VwPjk8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnN0YXJ0PHN1Yj5pPC9zdWI+ICE9IGVuZDxzdWI+aTwvc3ViPjwvY29kZT48L2xpPgo8bGk+Tm8gdHdvIHBhaXJzIGFyZSBleGFjdGx5IHRoZSBzYW1lLjwvbGk+CjxsaT5UaGVyZSA8c3Ryb25nPmV4aXN0czwvc3Ryb25nPiBhIHZhbGlkIGFycmFuZ2VtZW50IG9mIDxjb2RlPnBhaXJzPC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Depth-First Search",
+ "Graph",
+ "Eulerian Circuit"
+ ]
+ },
+ {
+ "title": "2132. Stamping the Grid",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gPGNvZGU+bSB4IG48L2NvZGU+IGJpbmFyeSBtYXRyaXggPGNvZGU+Z3JpZDwvY29kZT4gd2hlcmUgZWFjaCBjZWxsIGlzIGVpdGhlciA8Y29kZT4wPC9jb2RlPiAoZW1wdHkpIG9yIDxjb2RlPjE8L2NvZGU+IChvY2N1cGllZCkuPC9wPgo8cD5Zb3UgYXJlIHRoZW4gZ2l2ZW4gc3RhbXBzIG9mIHNpemUgPGNvZGU+c3RhbXBIZWlnaHQgeCBzdGFtcFdpZHRoPC9jb2RlPi4gV2Ugd2FudCB0byBmaXQgdGhlIHN0YW1wcyBzdWNoIHRoYXQgdGhleSBmb2xsb3cgdGhlIGdpdmVuIDxzdHJvbmc+cmVzdHJpY3Rpb25zPC9zdHJvbmc+IGFuZCA8c3Ryb25nPnJlcXVpcmVtZW50czwvc3Ryb25nPjo8L3A+CjxvbD4KPGxpPkNvdmVyIGFsbCB0aGUgPHN0cm9uZz5lbXB0eTwvc3Ryb25nPiBjZWxscy48L2xpPgo8bGk+RG8gbm90IGNvdmVyIGFueSBvZiB0aGUgPHN0cm9uZz5vY2N1cGllZDwvc3Ryb25nPiBjZWxscy48L2xpPgo8bGk+V2UgY2FuIHB1dCBhcyA8c3Ryb25nPm1hbnk8L3N0cm9uZz4gc3RhbXBzIGFzIHdlIHdhbnQuPC9saT4KPGxpPlN0YW1wcyBjYW4gPHN0cm9uZz5vdmVybGFwPC9zdHJvbmc+IHdpdGggZWFjaCBvdGhlci48L2xpPgo8bGk+U3RhbXBzIGFyZSBub3QgYWxsb3dlZCB0byBiZSA8c3Ryb25nPnJvdGF0ZWQ8L3N0cm9uZz4uPC9saT4KPGxpPlN0YW1wcyBtdXN0IHN0YXkgY29tcGxldGVseSA8c3Ryb25nPmluc2lkZTwvc3Ryb25nPiB0aGUgZ3JpZC48L2xpPgo8L29sPgo8cD5SZXR1cm4gPGNvZGU+dHJ1ZTwvY29kZT4gPGVtPmlmIGl0IGlzIHBvc3NpYmxlIHRvIGZpdCB0aGUgc3RhbXBzIHdoaWxlIGZvbGxvd2luZyB0aGUgZ2l2ZW4gcmVzdHJpY3Rpb25zIGFuZCByZXF1aXJlbWVudHMuIE90aGVyd2lzZSwgcmV0dXJuPC9lbT4gPGNvZGU+ZmFsc2U8L2NvZGU+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8xMS8wMy9leDEucG5nIiBzdHlsZT0id2lkdGg6IDE4MHB4OyBoZWlnaHQ6IDIzN3B4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IGdyaWQgPSBbWzEsMCwwLDBdLFsxLDAsMCwwXSxbMSwwLDAsMF0sWzEsMCwwLDBdLFsxLDAsMCwwXV0sIHN0YW1wSGVpZ2h0ID0gNCwgc3RhbXBXaWR0aCA9IDMKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IHRydWUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gV2UgaGF2ZSB0d28gb3ZlcmxhcHBpbmcgc3RhbXBzIChsYWJlbGVkIDEgYW5kIDIgaW4gdGhlIGltYWdlKSB0aGF0IGFyZSBhYmxlIHRvIGNvdmVyIGFsbCB0aGUgZW1wdHkgY2VsbHMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMTEvMDMvZXgyLnBuZyIgc3R5bGU9IndpZHRoOiAxNzBweDsgaGVpZ2h0OiAxNzlweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBncmlkID0gW1sxLDAsMCwwXSxbMCwxLDAsMF0sWzAsMCwxLDBdLFswLDAsMCwxXV0sIHN0YW1wSGVpZ2h0ID0gMiwgc3RhbXBXaWR0aCA9IDIgCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBmYWxzZSAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgaXMgbm8gd2F5IHRvIGZpdCB0aGUgc3RhbXBzIG9udG8gYWxsIHRoZSBlbXB0eSBjZWxscyB3aXRob3V0IHRoZSBzdGFtcHMgZ29pbmcgb3V0c2lkZSB0aGUgZ3JpZC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+bSA9PSBncmlkLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+biA9PSBncmlkW3JdLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBtLCBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG0gKiBuICZsdDs9IDIgKiAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+Z3JpZFtyXVtjXTwvY29kZT4gaXMgZWl0aGVyIDxjb2RlPjA8L2NvZGU+IG9yIDxjb2RlPjE8L2NvZGU+LjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHN0YW1wSGVpZ2h0LCBzdGFtcFdpZHRoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Greedy",
+ "Matrix",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2076. Process Restricted Friend Requests",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5uPC9jb2RlPiBpbmRpY2F0aW5nIHRoZSBudW1iZXIgb2YgcGVvcGxlIGluIGEgbmV0d29yay4gRWFjaCBwZXJzb24gaXMgbGFiZWxlZCBmcm9tIDxjb2RlPjA8L2NvZGU+IHRvIDxjb2RlPm4gLSAxPC9jb2RlPi48L3A+CjxwPllvdSBhcmUgYWxzbyBnaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IDJEIGludGVnZXIgYXJyYXkgPGNvZGU+cmVzdHJpY3Rpb25zPC9jb2RlPiwgd2hlcmUgPGNvZGU+cmVzdHJpY3Rpb25zW2ldID0gW3g8c3ViPmk8L3N1Yj4sIHk8c3ViPmk8L3N1Yj5dPC9jb2RlPiBtZWFucyB0aGF0IHBlcnNvbiA8Y29kZT54PHN1Yj5pPC9zdWI+PC9jb2RlPiBhbmQgcGVyc29uIDxjb2RlPnk8c3ViPmk8L3N1Yj48L2NvZGU+IDxzdHJvbmc+Y2Fubm90IDwvc3Ryb25nPmJlY29tZSA8c3Ryb25nPmZyaWVuZHM8L3N0cm9uZz4sPHN0cm9uZz4gPC9zdHJvbmc+ZWl0aGVyIDxzdHJvbmc+ZGlyZWN0bHk8L3N0cm9uZz4gb3IgPHN0cm9uZz5pbmRpcmVjdGx5PC9zdHJvbmc+IHRocm91Z2ggb3RoZXIgcGVvcGxlLjwvcD4KPHA+SW5pdGlhbGx5LCBubyBvbmUgaXMgZnJpZW5kcyB3aXRoIGVhY2ggb3RoZXIuIFlvdSBhcmUgZ2l2ZW4gYSBsaXN0IG9mIGZyaWVuZCByZXF1ZXN0cyBhcyBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IDJEIGludGVnZXIgYXJyYXkgPGNvZGU+cmVxdWVzdHM8L2NvZGU+LCB3aGVyZSA8Y29kZT5yZXF1ZXN0c1tqXSA9IFt1PHN1Yj5qPC9zdWI+LCB2PHN1Yj5qPC9zdWI+XTwvY29kZT4gaXMgYSBmcmllbmQgcmVxdWVzdCBiZXR3ZWVuIHBlcnNvbiA8Y29kZT51PHN1Yj5qPC9zdWI+PC9jb2RlPiBhbmQgcGVyc29uIDxjb2RlPnY8c3ViPmo8L3N1Yj48L2NvZGU+LjwvcD4KPHA+QSBmcmllbmQgcmVxdWVzdCBpcyA8c3Ryb25nPnN1Y2Nlc3NmdWwgPC9zdHJvbmc+aWYgPGNvZGU+dTxzdWI+ajwvc3ViPjwvY29kZT4gYW5kIDxjb2RlPnY8c3ViPmo8L3N1Yj48L2NvZGU+IGNhbiBiZSA8c3Ryb25nPmZyaWVuZHM8L3N0cm9uZz4uIEVhY2ggZnJpZW5kIHJlcXVlc3QgaXMgcHJvY2Vzc2VkIGluIHRoZSBnaXZlbiBvcmRlciAoaS5lLiwgPGNvZGU+cmVxdWVzdHNbal08L2NvZGU+IG9jY3VycyBiZWZvcmUgPGNvZGU+cmVxdWVzdHNbaiArIDFdPC9jb2RlPiksIGFuZCB1cG9uIGEgc3VjY2Vzc2Z1bCByZXF1ZXN0LCA8Y29kZT51PHN1Yj5qPC9zdWI+PC9jb2RlPiBhbmQgPGNvZGU+djxzdWI+ajwvc3ViPjwvY29kZT4gPHN0cm9uZz5iZWNvbWUgZGlyZWN0IGZyaWVuZHM8L3N0cm9uZz4gZm9yIGFsbCBmdXR1cmUgZnJpZW5kIHJlcXVlc3RzLjwvcD4KPHA+UmV0dXJuIDxlbT5hIDxzdHJvbmc+Ym9vbGVhbiBhcnJheTwvc3Ryb25nPiA8L2VtPjxjb2RlPnJlc3VsdDwvY29kZT4sPGVtPiB3aGVyZSBlYWNoIDwvZW0+PGNvZGU+cmVzdWx0W2pdPC9jb2RlPjxlbT4gaXMgPC9lbT48Y29kZT50cnVlPC9jb2RlPjxlbT4gaWYgdGhlIDwvZW0+PGNvZGU+ajxzdXA+dGg8L3N1cD48L2NvZGU+PGVtPiBmcmllbmQgcmVxdWVzdCBpcyA8c3Ryb25nPnN1Y2Nlc3NmdWw8L3N0cm9uZz4gb3IgPC9lbT48Y29kZT5mYWxzZTwvY29kZT48ZW0+IGlmIGl0IGlzIG5vdDwvZW0+LjwvcD4KPHA+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBJZiA8Y29kZT51PHN1Yj5qPC9zdWI+PC9jb2RlPiBhbmQgPGNvZGU+djxzdWI+ajwvc3ViPjwvY29kZT4gYXJlIGFscmVhZHkgZGlyZWN0IGZyaWVuZHMsIHRoZSByZXF1ZXN0IGlzIHN0aWxsIDxzdHJvbmc+c3VjY2Vzc2Z1bDwvc3Ryb25nPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSAzLCByZXN0cmljdGlvbnMgPSBbWzAsMV1dLCByZXF1ZXN0cyA9IFtbMCwyXSxbMiwxXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFt0cnVlLGZhbHNlXQo8c3Ryb25nPkV4cGxhbmF0aW9uOgo8L3N0cm9uZz5SZXF1ZXN0IDA6IFBlcnNvbiAwIGFuZCBwZXJzb24gMiBjYW4gYmUgZnJpZW5kcywgc28gdGhleSBiZWNvbWUgZGlyZWN0IGZyaWVuZHMuIApSZXF1ZXN0IDE6IFBlcnNvbiAyIGFuZCBwZXJzb24gMSBjYW5ub3QgYmUgZnJpZW5kcyBzaW5jZSBwZXJzb24gMCBhbmQgcGVyc29uIDEgd291bGQgYmUgaW5kaXJlY3QgZnJpZW5kcyAoMS0tMi0tMCkuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSAzLCByZXN0cmljdGlvbnMgPSBbWzAsMV1dLCByZXF1ZXN0cyA9IFtbMSwyXSxbMCwyXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFt0cnVlLGZhbHNlXQo8c3Ryb25nPkV4cGxhbmF0aW9uOgo8L3N0cm9uZz5SZXF1ZXN0IDA6IFBlcnNvbiAxIGFuZCBwZXJzb24gMiBjYW4gYmUgZnJpZW5kcywgc28gdGhleSBiZWNvbWUgZGlyZWN0IGZyaWVuZHMuClJlcXVlc3QgMTogUGVyc29uIDAgYW5kIHBlcnNvbiAyIGNhbm5vdCBiZSBmcmllbmRzIHNpbmNlIHBlcnNvbiAwIGFuZCBwZXJzb24gMSB3b3VsZCBiZSBpbmRpcmVjdCBmcmllbmRzICgwLS0yLS0xKS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDUsIHJlc3RyaWN0aW9ucyA9IFtbMCwxXSxbMSwyXSxbMiwzXV0sIHJlcXVlc3RzID0gW1swLDRdLFsxLDJdLFszLDFdLFszLDRdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gW3RydWUsZmFsc2UsdHJ1ZSxmYWxzZV0KPHN0cm9uZz5FeHBsYW5hdGlvbjoKPC9zdHJvbmc+UmVxdWVzdCAwOiBQZXJzb24gMCBhbmQgcGVyc29uIDQgY2FuIGJlIGZyaWVuZHMsIHNvIHRoZXkgYmVjb21lIGRpcmVjdCBmcmllbmRzLgpSZXF1ZXN0IDE6IFBlcnNvbiAxIGFuZCBwZXJzb24gMiBjYW5ub3QgYmUgZnJpZW5kcyBzaW5jZSB0aGV5IGFyZSBkaXJlY3RseSByZXN0cmljdGVkLgpSZXF1ZXN0IDI6IFBlcnNvbiAzIGFuZCBwZXJzb24gMSBjYW4gYmUgZnJpZW5kcywgc28gdGhleSBiZWNvbWUgZGlyZWN0IGZyaWVuZHMuClJlcXVlc3QgMzogUGVyc29uIDMgYW5kIHBlcnNvbiA0IGNhbm5vdCBiZSBmcmllbmRzIHNpbmNlIHBlcnNvbiAwIGFuZCBwZXJzb24gMSB3b3VsZCBiZSBpbmRpcmVjdCBmcmllbmRzICgwLS00LS0zLS0xKS4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MiAmbHQ7PSBuICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gcmVzdHJpY3Rpb25zLmxlbmd0aCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5yZXN0cmljdGlvbnNbaV0ubGVuZ3RoID09IDI8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0geDxzdWI+aTwvc3ViPiwgeTxzdWI+aTwvc3ViPiAmbHQ7PSBuIC0gMTwvY29kZT48L2xpPgo8bGk+PGNvZGU+eDxzdWI+aTwvc3ViPiAhPSB5PHN1Yj5pPC9zdWI+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHJlcXVlc3RzLmxlbmd0aCAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5yZXF1ZXN0c1tqXS5sZW5ndGggPT0gMjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSB1PHN1Yj5qPC9zdWI+LCB2PHN1Yj5qPC9zdWI+ICZsdDs9IG4gLSAxPC9jb2RlPjwvbGk+CjxsaT48Y29kZT51PHN1Yj5qPC9zdWI+ICE9IHY8c3ViPmo8L3N1Yj48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Union Find",
+ "Graph"
+ ]
+ },
+ {
+ "title": "2088. Count Fertile Pyramids in a Land",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgZmFybWVyIGhhcyBhIDxzdHJvbmc+cmVjdGFuZ3VsYXIgZ3JpZDwvc3Ryb25nPiBvZiBsYW5kIHdpdGggPGNvZGU+bTwvY29kZT4gcm93cyBhbmQgPGNvZGU+bjwvY29kZT4gY29sdW1ucyB0aGF0IGNhbiBiZSBkaXZpZGVkIGludG8gdW5pdCBjZWxscy4gRWFjaCBjZWxsIGlzIGVpdGhlciA8c3Ryb25nPmZlcnRpbGU8L3N0cm9uZz4gKHJlcHJlc2VudGVkIGJ5IGEgPGNvZGU+MTwvY29kZT4pIG9yIDxzdHJvbmc+YmFycmVuPC9zdHJvbmc+IChyZXByZXNlbnRlZCBieSBhIDxjb2RlPjA8L2NvZGU+KS4gQWxsIGNlbGxzIG91dHNpZGUgdGhlIGdyaWQgYXJlIGNvbnNpZGVyZWQgYmFycmVuLjwvcD4KPHA+QSA8c3Ryb25nPnB5cmFtaWRhbCBwbG90PC9zdHJvbmc+IG9mIGxhbmQgY2FuIGJlIGRlZmluZWQgYXMgYSBzZXQgb2YgY2VsbHMgd2l0aCB0aGUgZm9sbG93aW5nIGNyaXRlcmlhOjwvcD4KPG9sPgo8bGk+VGhlIG51bWJlciBvZiBjZWxscyBpbiB0aGUgc2V0IGhhcyB0byBiZSA8c3Ryb25nPmdyZWF0ZXIgdGhhbiA8L3N0cm9uZz48Y29kZT4xPC9jb2RlPiBhbmQgYWxsIGNlbGxzIG11c3QgYmUgPHN0cm9uZz5mZXJ0aWxlPC9zdHJvbmc+LjwvbGk+CjxsaT5UaGUgPHN0cm9uZz5hcGV4PC9zdHJvbmc+IG9mIGEgcHlyYW1pZCBpcyB0aGUgPHN0cm9uZz50b3Btb3N0PC9zdHJvbmc+IGNlbGwgb2YgdGhlIHB5cmFtaWQuIFRoZSA8c3Ryb25nPmhlaWdodDwvc3Ryb25nPiBvZiBhIHB5cmFtaWQgaXMgdGhlIG51bWJlciBvZiByb3dzIGl0IGNvdmVycy4gTGV0IDxjb2RlPihyLCBjKTwvY29kZT4gYmUgdGhlIGFwZXggb2YgdGhlIHB5cmFtaWQsIGFuZCBpdHMgaGVpZ2h0IGJlIDxjb2RlPmg8L2NvZGU+LiBUaGVuLCB0aGUgcGxvdCBjb21wcmlzZXMgb2YgY2VsbHMgPGNvZGU+KGksIGopPC9jb2RlPiB3aGVyZSA8Y29kZT5yICZsdDs9IGkgJmx0Oz0gciArIGggLSAxPC9jb2RlPiA8c3Ryb25nPmFuZDwvc3Ryb25nPiA8Y29kZT5jIC0gKGkgLSByKSAmbHQ7PSBqICZsdDs9IGMgKyAoaSAtIHIpPC9jb2RlPi48L2xpPgo8L29sPgo8cD5BbiA8c3Ryb25nPmludmVyc2UgcHlyYW1pZGFsIHBsb3Q8L3N0cm9uZz4gb2YgbGFuZCBjYW4gYmUgZGVmaW5lZCBhcyBhIHNldCBvZiBjZWxscyB3aXRoIHNpbWlsYXIgY3JpdGVyaWE6PC9wPgo8b2w+CjxsaT5UaGUgbnVtYmVyIG9mIGNlbGxzIGluIHRoZSBzZXQgaGFzIHRvIGJlIDxzdHJvbmc+Z3JlYXRlciB0aGFuIDwvc3Ryb25nPjxjb2RlPjE8L2NvZGU+IGFuZCBhbGwgY2VsbHMgbXVzdCBiZSA8c3Ryb25nPmZlcnRpbGU8L3N0cm9uZz4uPC9saT4KPGxpPlRoZSA8c3Ryb25nPmFwZXg8L3N0cm9uZz4gb2YgYW4gaW52ZXJzZSBweXJhbWlkIGlzIHRoZSA8c3Ryb25nPmJvdHRvbW1vc3Q8L3N0cm9uZz4gY2VsbCBvZiB0aGUgaW52ZXJzZSBweXJhbWlkLiBUaGUgPHN0cm9uZz5oZWlnaHQ8L3N0cm9uZz4gb2YgYW4gaW52ZXJzZSBweXJhbWlkIGlzIHRoZSBudW1iZXIgb2Ygcm93cyBpdCBjb3ZlcnMuIExldCA8Y29kZT4ociwgYyk8L2NvZGU+IGJlIHRoZSBhcGV4IG9mIHRoZSBweXJhbWlkLCBhbmQgaXRzIGhlaWdodCBiZSA8Y29kZT5oPC9jb2RlPi4gVGhlbiwgdGhlIHBsb3QgY29tcHJpc2VzIG9mIGNlbGxzIDxjb2RlPihpLCBqKTwvY29kZT4gd2hlcmUgPGNvZGU+ciAtIGggKyAxICZsdDs9IGkgJmx0Oz0gcjwvY29kZT4gPHN0cm9uZz5hbmQ8L3N0cm9uZz4gPGNvZGU+YyAtIChyIC0gaSkgJmx0Oz0gaiAmbHQ7PSBjICsgKHIgLSBpKTwvY29kZT4uPC9saT4KPC9vbD4KPHA+U29tZSBleGFtcGxlcyBvZiB2YWxpZCBhbmQgaW52YWxpZCBweXJhbWlkYWwgKGFuZCBpbnZlcnNlIHB5cmFtaWRhbCkgcGxvdHMgYXJlIHNob3duIGJlbG93LiBCbGFjayBjZWxscyBpbmRpY2F0ZSBmZXJ0aWxlIGNlbGxzLjwvcD4KPGltZyBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMTEvMDgvaW1hZ2UucG5nIiBzdHlsZT0id2lkdGg6IDcwMHB4OyBoZWlnaHQ6IDE1NnB4OyIvPgo8cD5HaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IDxjb2RlPm0geCBuPC9jb2RlPiBiaW5hcnkgbWF0cml4IDxjb2RlPmdyaWQ8L2NvZGU+IHJlcHJlc2VudGluZyB0aGUgZmFybWxhbmQsIHJldHVybiA8ZW0+dGhlIDxzdHJvbmc+dG90YWwgbnVtYmVyPC9zdHJvbmc+IG9mIHB5cmFtaWRhbCBhbmQgaW52ZXJzZSBweXJhbWlkYWwgcGxvdHMgdGhhdCBjYW4gYmUgZm91bmQgaW48L2VtPiA8Y29kZT5ncmlkPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMTIvMjIvMS5KUEciIHN0eWxlPSJ3aWR0aDogNTc1cHg7IGhlaWdodDogMTA5cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbMCwxLDEsMF0sWzEsMSwxLDFdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgMiBwb3NzaWJsZSBweXJhbWlkYWwgcGxvdHMgYXJlIHNob3duIGluIGJsdWUgYW5kIHJlZCByZXNwZWN0aXZlbHkuClRoZXJlIGFyZSBubyBpbnZlcnNlIHB5cmFtaWRhbCBwbG90cyBpbiB0aGlzIGdyaWQuIApIZW5jZSB0b3RhbCBudW1iZXIgb2YgcHlyYW1pZGFsIGFuZCBpbnZlcnNlIHB5cmFtaWRhbCBwbG90cyBpcyAyICsgMCA9IDIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMTIvMjIvMi5KUEciIHN0eWxlPSJ3aWR0aDogNTAycHg7IGhlaWdodDogMTIwcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbMSwxLDFdLFsxLDEsMV1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBweXJhbWlkYWwgcGxvdCBpcyBzaG93biBpbiBibHVlLCBhbmQgdGhlIGludmVyc2UgcHlyYW1pZGFsIHBsb3QgaXMgc2hvd24gaW4gcmVkLiAKSGVuY2UgdGhlIHRvdGFsIG51bWJlciBvZiBwbG90cyBpcyAxICsgMSA9IDIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMTIvMjIvMy5KUEciIHN0eWxlPSJ3aWR0aDogNjc2cHg7IGhlaWdodDogMTQ4cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gZ3JpZCA9IFtbMSwxLDEsMSwwXSxbMSwxLDEsMSwxXSxbMSwxLDEsMSwxXSxbMCwxLDAsMCwxXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSA3IHB5cmFtaWRhbCBwbG90cywgMyBvZiB3aGljaCBhcmUgc2hvd24gaW4gdGhlIDJuZCBhbmQgM3JkIGZpZ3VyZXMuClRoZXJlIGFyZSA2IGludmVyc2UgcHlyYW1pZGFsIHBsb3RzLCAyIG9mIHdoaWNoIGFyZSBzaG93biBpbiB0aGUgbGFzdCBmaWd1cmUuClRoZSB0b3RhbCBudW1iZXIgb2YgcGxvdHMgaXMgNyArIDYgPSAxMy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+bSA9PSBncmlkLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+biA9PSBncmlkW2ldLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBtLCBuICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbSAqIG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPmdyaWRbaV1bal08L2NvZGU+IGlzIGVpdGhlciA8Y29kZT4wPC9jb2RlPiBvciA8Y29kZT4xPC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Dynamic Programming",
+ "Matrix"
+ ]
+ },
+ {
+ "title": "2065. Maximum Path Quality of a Graph",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGFuIDxzdHJvbmc+dW5kaXJlY3RlZDwvc3Ryb25nPiBncmFwaCB3aXRoIDxjb2RlPm48L2NvZGU+IG5vZGVzIG51bWJlcmVkIGZyb20gPGNvZGU+MDwvY29kZT4gdG8gPGNvZGU+biAtIDE8L2NvZGU+ICg8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPikuIFlvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPnZhbHVlczwvY29kZT4gd2hlcmUgPGNvZGU+dmFsdWVzW2ldPC9jb2RlPiBpcyB0aGUgPHN0cm9uZz52YWx1ZSA8L3N0cm9uZz5vZiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IG5vZGUuIFlvdSBhcmUgYWxzbyBnaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IDJEIGludGVnZXIgYXJyYXkgPGNvZGU+ZWRnZXM8L2NvZGU+LCB3aGVyZSBlYWNoIDxjb2RlPmVkZ2VzW2pdID0gW3U8c3ViPmo8L3N1Yj4sIHY8c3ViPmo8L3N1Yj4sIHRpbWU8c3ViPmo8L3N1Yj5dPC9jb2RlPiBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBpcyBhbiB1bmRpcmVjdGVkIGVkZ2UgYmV0d2VlbiB0aGUgbm9kZXMgPGNvZGU+dTxzdWI+ajwvc3ViPjwvY29kZT4gYW5kIDxjb2RlPnY8c3ViPmo8L3N1Yj48L2NvZGU+LDxzdWI+IDwvc3ViPmFuZCBpdCB0YWtlcyA8Y29kZT50aW1lPHN1Yj5qPC9zdWI+PC9jb2RlPiBzZWNvbmRzIHRvIHRyYXZlbCBiZXR3ZWVuIHRoZSB0d28gbm9kZXMuIEZpbmFsbHksIHlvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5tYXhUaW1lPC9jb2RlPi48L3A+CjxwPkEgPHN0cm9uZz52YWxpZDwvc3Ryb25nPiA8c3Ryb25nPnBhdGg8L3N0cm9uZz4gaW4gdGhlIGdyYXBoIGlzIGFueSBwYXRoIHRoYXQgc3RhcnRzIGF0IG5vZGUgPGNvZGU+MDwvY29kZT4sIGVuZHMgYXQgbm9kZSA8Y29kZT4wPC9jb2RlPiwgYW5kIHRha2VzIDxzdHJvbmc+YXQgbW9zdDwvc3Ryb25nPiA8Y29kZT5tYXhUaW1lPC9jb2RlPiBzZWNvbmRzIHRvIGNvbXBsZXRlLiBZb3UgbWF5IHZpc2l0IHRoZSBzYW1lIG5vZGUgbXVsdGlwbGUgdGltZXMuIFRoZSA8c3Ryb25nPnF1YWxpdHk8L3N0cm9uZz4gb2YgYSB2YWxpZCBwYXRoIGlzIHRoZSA8c3Ryb25nPnN1bTwvc3Ryb25nPiBvZiB0aGUgdmFsdWVzIG9mIHRoZSA8c3Ryb25nPnVuaXF1ZSBub2Rlczwvc3Ryb25nPiB2aXNpdGVkIGluIHRoZSBwYXRoIChlYWNoIG5vZGUncyB2YWx1ZSBpcyBhZGRlZCA8c3Ryb25nPmF0IG1vc3Qgb25jZTwvc3Ryb25nPiB0byB0aGUgc3VtKS48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBxdWFsaXR5IG9mIGEgdmFsaWQgcGF0aDwvZW0+LjwvcD4KPHA+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGVyZSBhcmUgPHN0cm9uZz5hdCBtb3N0IGZvdXI8L3N0cm9uZz4gZWRnZXMgY29ubmVjdGVkIHRvIGVhY2ggbm9kZS48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMTAvMTkvZXgxZHJhd2lvLnBuZyIgc3R5bGU9IndpZHRoOiAyNjlweDsgaGVpZ2h0OiAxNzBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB2YWx1ZXMgPSBbMCwzMiwxMCw0M10sIGVkZ2VzID0gW1swLDEsMTBdLFsxLDIsMTVdLFswLDMsMTBdXSwgbWF4VGltZSA9IDQ5CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA3NQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpPbmUgcG9zc2libGUgcGF0aCBpcyAwIC0mZ3Q7IDEgLSZndDsgMCAtJmd0OyAzIC0mZ3Q7IDAuIFRoZSB0b3RhbCB0aW1lIHRha2VuIGlzIDEwICsgMTAgKyAxMCArIDEwID0gNDAgJmx0Oz0gNDkuClRoZSBub2RlcyB2aXNpdGVkIGFyZSAwLCAxLCBhbmQgMywgZ2l2aW5nIGEgbWF4aW1hbCBwYXRoIHF1YWxpdHkgb2YgMCArIDMyICsgNDMgPSA3NS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8xMC8xOS9leDJkcmF3aW8ucG5nIiBzdHlsZT0id2lkdGg6IDI2OXB4OyBoZWlnaHQ6IDE3MHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHZhbHVlcyA9IFs1LDEwLDE1LDIwXSwgZWRnZXMgPSBbWzAsMSwxMF0sWzEsMiwxMF0sWzAsMywxMF1dLCBtYXhUaW1lID0gMzAKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDI1CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ck9uZSBwb3NzaWJsZSBwYXRoIGlzIDAgLSZndDsgMyAtJmd0OyAwLiBUaGUgdG90YWwgdGltZSB0YWtlbiBpcyAxMCArIDEwID0gMjAgJmx0Oz0gMzAuClRoZSBub2RlcyB2aXNpdGVkIGFyZSAwIGFuZCAzLCBnaXZpbmcgYSBtYXhpbWFsIHBhdGggcXVhbGl0eSBvZiA1ICsgMjAgPSAyNS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8xMC8xOS9leDMxZHJhd2lvLnBuZyIgc3R5bGU9IndpZHRoOiAyMzZweDsgaGVpZ2h0OiAxNzBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB2YWx1ZXMgPSBbMSwyLDMsNF0sIGVkZ2VzID0gW1swLDEsMTBdLFsxLDIsMTFdLFsyLDMsMTJdLFsxLDMsMTNdXSwgbWF4VGltZSA9IDUwCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA3CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+Ck9uZSBwb3NzaWJsZSBwYXRoIGlzIDAgLSZndDsgMSAtJmd0OyAzIC0mZ3Q7IDEgLSZndDsgMC4gVGhlIHRvdGFsIHRpbWUgdGFrZW4gaXMgMTAgKyAxMyArIDEzICsgMTAgPSA0NiAmbHQ7PSA1MC4KVGhlIG5vZGVzIHZpc2l0ZWQgYXJlIDAsIDEsIGFuZCAzLCBnaXZpbmcgYSBtYXhpbWFsIHBhdGggcXVhbGl0eSBvZiAxICsgMiArIDQgPSA3Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IHZhbHVlcy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IHZhbHVlc1tpXSAmbHQ7PSAxMDxzdXA+ODwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBlZGdlcy5sZW5ndGggJmx0Oz0gMjAwMDwvY29kZT48L2xpPgo8bGk+PGNvZGU+ZWRnZXNbal0ubGVuZ3RoID09IDMgPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IHU8c3ViPmogPC9zdWI+Jmx0OyB2PHN1Yj5qPC9zdWI+ICZsdDs9IG4gLSAxPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xMCAmbHQ7PSB0aW1lPHN1Yj5qPC9zdWI+LCBtYXhUaW1lICZsdDs9IDEwMDwvY29kZT48L2xpPgo8bGk+QWxsIHRoZSBwYWlycyA8Y29kZT5bdTxzdWI+ajwvc3ViPiwgdjxzdWI+ajwvc3ViPl08L2NvZGU+IGFyZSA8c3Ryb25nPnVuaXF1ZTwvc3Ryb25nPi48L2xpPgo8bGk+VGhlcmUgYXJlIDxzdHJvbmc+YXQgbW9zdCBmb3VyPC9zdHJvbmc+IGVkZ2VzIGNvbm5lY3RlZCB0byBlYWNoIG5vZGUuPC9saT4KPGxpPlRoZSBncmFwaCBtYXkgbm90IGJlIGNvbm5lY3RlZC48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Backtracking",
+ "Graph"
+ ]
+ },
+ {
+ "title": "2060. Check if an Original String Exists Given Two Encoded Strings",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkFuIG9yaWdpbmFsIHN0cmluZywgY29uc2lzdGluZyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLCBjYW4gYmUgZW5jb2RlZCBieSB0aGUgZm9sbG93aW5nIHN0ZXBzOjwvcD4KPHVsPgo8bGk+QXJiaXRyYXJpbHkgPHN0cm9uZz5zcGxpdDwvc3Ryb25nPiBpdCBpbnRvIGEgPHN0cm9uZz5zZXF1ZW5jZTwvc3Ryb25nPiBvZiBzb21lIG51bWJlciBvZiA8c3Ryb25nPm5vbi1lbXB0eTwvc3Ryb25nPiBzdWJzdHJpbmdzLjwvbGk+CjxsaT5BcmJpdHJhcmlseSBjaG9vc2Ugc29tZSBlbGVtZW50cyAocG9zc2libHkgbm9uZSkgb2YgdGhlIHNlcXVlbmNlLCBhbmQgPHN0cm9uZz5yZXBsYWNlPC9zdHJvbmc+IGVhY2ggd2l0aCA8c3Ryb25nPml0cyBsZW5ndGg8L3N0cm9uZz4gKGFzIGEgbnVtZXJpYyBzdHJpbmcpLjwvbGk+CjxsaT48c3Ryb25nPkNvbmNhdGVuYXRlPC9zdHJvbmc+IHRoZSBzZXF1ZW5jZSBhcyB0aGUgZW5jb2RlZCBzdHJpbmcuPC9saT4KPC91bD4KPHA+Rm9yIGV4YW1wbGUsIDxzdHJvbmc+b25lIHdheTwvc3Ryb25nPiB0byBlbmNvZGUgYW4gb3JpZ2luYWwgc3RyaW5nIDxjb2RlPiJhYmNkZWZnaGlqa2xtbm9wIjwvY29kZT4gbWlnaHQgYmU6PC9wPgo8dWw+CjxsaT5TcGxpdCBpdCBhcyBhIHNlcXVlbmNlOiA8Y29kZT5bImFiIiwgImNkZWZnaGlqa2xtbiIsICJvIiwgInAiXTwvY29kZT4uPC9saT4KPGxpPkNob29zZSB0aGUgc2Vjb25kIGFuZCB0aGlyZCBlbGVtZW50cyB0byBiZSByZXBsYWNlZCBieSB0aGVpciBsZW5ndGhzLCByZXNwZWN0aXZlbHkuIFRoZSBzZXF1ZW5jZSBiZWNvbWVzIDxjb2RlPlsiYWIiLCAiMTIiLCAiMSIsICJwIl08L2NvZGU+LjwvbGk+CjxsaT5Db25jYXRlbmF0ZSB0aGUgZWxlbWVudHMgb2YgdGhlIHNlcXVlbmNlIHRvIGdldCB0aGUgZW5jb2RlZCBzdHJpbmc6IDxjb2RlPiJhYjEyMXAiPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5HaXZlbiB0d28gZW5jb2RlZCBzdHJpbmdzIDxjb2RlPnMxPC9jb2RlPiBhbmQgPGNvZGU+czI8L2NvZGU+LCBjb25zaXN0aW5nIG9mIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlcnMgYW5kIGRpZ2l0cyA8Y29kZT4xLTk8L2NvZGU+IChpbmNsdXNpdmUpLCByZXR1cm4gPGNvZGU+dHJ1ZTwvY29kZT48ZW0+IGlmIHRoZXJlIGV4aXN0cyBhbiBvcmlnaW5hbCBzdHJpbmcgdGhhdCBjb3VsZCBiZSBlbmNvZGVkIGFzIDxzdHJvbmc+Ym90aDwvc3Ryb25nPiA8L2VtPjxjb2RlPnMxPC9jb2RlPjxlbT4gYW5kIDwvZW0+PGNvZGU+czI8L2NvZGU+PGVtPi4gT3RoZXJ3aXNlLCByZXR1cm4gPC9lbT48Y29kZT5mYWxzZTwvY29kZT4uPC9wPgo8cD48c3Ryb25nPk5vdGU8L3N0cm9uZz46IFRoZSB0ZXN0IGNhc2VzIGFyZSBnZW5lcmF0ZWQgc3VjaCB0aGF0IHRoZSBudW1iZXIgb2YgY29uc2VjdXRpdmUgZGlnaXRzIGluIDxjb2RlPnMxPC9jb2RlPiBhbmQgPGNvZGU+czI8L2NvZGU+IGRvZXMgbm90IGV4Y2VlZCA8Y29kZT4zPC9jb2RlPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMxID0gImludGVybmF0aW9uYWxpemF0aW9uIiwgczIgPSAiaTE4biIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IHRydWUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gSXQgaXMgcG9zc2libGUgdGhhdCAiaW50ZXJuYXRpb25hbGl6YXRpb24iIHdhcyB0aGUgb3JpZ2luYWwgc3RyaW5nLgotICJpbnRlcm5hdGlvbmFsaXphdGlvbiIgCiAgLSZndDsgU3BsaXQ6ICAgICAgIFsiaW50ZXJuYXRpb25hbGl6YXRpb24iXQogIC0mZ3Q7IERvIG5vdCByZXBsYWNlIGFueSBlbGVtZW50CiAgLSZndDsgQ29uY2F0ZW5hdGU6ICAiaW50ZXJuYXRpb25hbGl6YXRpb24iLCB3aGljaCBpcyBzMS4KLSAiaW50ZXJuYXRpb25hbGl6YXRpb24iCiAgLSZndDsgU3BsaXQ6ICAgICAgIFsiaSIsICJudGVybmF0aW9uYWxpemF0aW8iLCAibiJdCiAgLSZndDsgUmVwbGFjZTogICAgIFsiaSIsICIxOCIsICAgICAgICAgICAgICAgICAibiJdCiAgLSZndDsgQ29uY2F0ZW5hdGU6ICAiaTE4biIsIHdoaWNoIGlzIHMyCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMxID0gImwxMjNlIiwgczIgPSAiNDQiCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiB0cnVlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEl0IGlzIHBvc3NpYmxlIHRoYXQgImxlZXRjb2RlIiB3YXMgdGhlIG9yaWdpbmFsIHN0cmluZy4KLSAibGVldGNvZGUiIAogIC0mZ3Q7IFNwbGl0OiAgICAgIFsibCIsICJlIiwgImV0IiwgImNvZCIsICJlIl0KICAtJmd0OyBSZXBsYWNlOiAgICBbImwiLCAiMSIsICIyIiwgICIzIiwgICAiZSJdCiAgLSZndDsgQ29uY2F0ZW5hdGU6ICJsMTIzZSIsIHdoaWNoIGlzIHMxLgotICJsZWV0Y29kZSIgCiAgLSZndDsgU3BsaXQ6ICAgICAgWyJsZWV0IiwgImNvZGUiXQogIC0mZ3Q7IFJlcGxhY2U6ICAgIFsiNCIsICAgICI0Il0KICAtJmd0OyBDb25jYXRlbmF0ZTogIjQ0Iiwgd2hpY2ggaXMgczIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMxID0gImE1YiIsIHMyID0gImM1YiIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IGZhbHNlCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IEl0IGlzIGltcG9zc2libGUuCi0gVGhlIG9yaWdpbmFsIHN0cmluZyBlbmNvZGVkIGFzIHMxIG11c3Qgc3RhcnQgd2l0aCB0aGUgbGV0dGVyICdhJy4KLSBUaGUgb3JpZ2luYWwgc3RyaW5nIGVuY29kZWQgYXMgczIgbXVzdCBzdGFydCB3aXRoIHRoZSBsZXR0ZXIgJ2MnLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IHMxLmxlbmd0aCwgczIubGVuZ3RoICZsdDs9IDQwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zMTwvY29kZT4gYW5kIDxjb2RlPnMyPC9jb2RlPiBjb25zaXN0IG9mIGRpZ2l0cyA8Y29kZT4xLTk8L2NvZGU+IChpbmNsdXNpdmUpLCBhbmQgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycyBvbmx5LjwvbGk+CjxsaT5UaGUgbnVtYmVyIG9mIGNvbnNlY3V0aXZlIGRpZ2l0cyBpbiA8Y29kZT5zMTwvY29kZT4gYW5kIDxjb2RlPnMyPC9jb2RlPiBkb2VzIG5vdCBleGNlZWQgPGNvZGU+MzwvY29kZT4uPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "String",
+ "Dynamic Programming"
+ ]
+ },
+ {
+ "title": "2071. Maximum Number of Tasks You Can Assign",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBoYXZlIDxjb2RlPm48L2NvZGU+IHRhc2tzIGFuZCA8Y29kZT5tPC9jb2RlPiB3b3JrZXJzLiBFYWNoIHRhc2sgaGFzIGEgc3RyZW5ndGggcmVxdWlyZW1lbnQgc3RvcmVkIGluIGEgPHN0cm9uZz4wLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheSA8Y29kZT50YXNrczwvY29kZT4sIHdpdGggdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiB0YXNrIHJlcXVpcmluZyA8Y29kZT50YXNrc1tpXTwvY29kZT4gc3RyZW5ndGggdG8gY29tcGxldGUuIFRoZSBzdHJlbmd0aCBvZiBlYWNoIHdvcmtlciBpcyBzdG9yZWQgaW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPndvcmtlcnM8L2NvZGU+LCB3aXRoIHRoZSA8Y29kZT5qPHN1cD50aDwvc3VwPjwvY29kZT4gd29ya2VyIGhhdmluZyA8Y29kZT53b3JrZXJzW2pdPC9jb2RlPiBzdHJlbmd0aC4gRWFjaCB3b3JrZXIgY2FuIG9ubHkgYmUgYXNzaWduZWQgdG8gYSA8c3Ryb25nPnNpbmdsZTwvc3Ryb25nPiB0YXNrIGFuZCBtdXN0IGhhdmUgYSBzdHJlbmd0aCA8c3Ryb25nPmdyZWF0ZXIgdGhhbiBvciBlcXVhbDwvc3Ryb25nPiB0byB0aGUgdGFzaydzIHN0cmVuZ3RoIHJlcXVpcmVtZW50IChpLmUuLCA8Y29kZT53b3JrZXJzW2pdICZndDs9IHRhc2tzW2ldPC9jb2RlPikuPC9wPgo8cD5BZGRpdGlvbmFsbHksIHlvdSBoYXZlIDxjb2RlPnBpbGxzPC9jb2RlPiBtYWdpY2FsIHBpbGxzIHRoYXQgd2lsbCA8c3Ryb25nPmluY3JlYXNlIGEgd29ya2VyJ3Mgc3RyZW5ndGg8L3N0cm9uZz4gYnkgPGNvZGU+c3RyZW5ndGg8L2NvZGU+LiBZb3UgY2FuIGRlY2lkZSB3aGljaCB3b3JrZXJzIHJlY2VpdmUgdGhlIG1hZ2ljYWwgcGlsbHMsIGhvd2V2ZXIsIHlvdSBtYXkgb25seSBnaXZlIGVhY2ggd29ya2VyIDxzdHJvbmc+YXQgbW9zdCBvbmU8L3N0cm9uZz4gbWFnaWNhbCBwaWxsLjwvcD4KPHA+R2l2ZW4gdGhlIDxzdHJvbmc+MC1pbmRleGVkIDwvc3Ryb25nPmludGVnZXIgYXJyYXlzIDxjb2RlPnRhc2tzPC9jb2RlPiBhbmQgPGNvZGU+d29ya2VyczwvY29kZT4gYW5kIHRoZSBpbnRlZ2VycyA8Y29kZT5waWxsczwvY29kZT4gYW5kIDxjb2RlPnN0cmVuZ3RoPC9jb2RlPiwgcmV0dXJuIDxlbT50aGUgPHN0cm9uZz5tYXhpbXVtPC9zdHJvbmc+IG51bWJlciBvZiB0YXNrcyB0aGF0IGNhbiBiZSBjb21wbGV0ZWQuPC9lbT48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHRhc2tzID0gWzx1PjxzdHJvbmc+Mzwvc3Ryb25nPjwvdT4sPHU+PHN0cm9uZz4yPC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjE8L3N0cm9uZz48L3U+XSwgd29ya2VycyA9IFs8dT48c3Ryb25nPjA8L3N0cm9uZz48L3U+LDx1PjxzdHJvbmc+Mzwvc3Ryb25nPjwvdT4sPHU+PHN0cm9uZz4zPC9zdHJvbmc+PC91Pl0sIHBpbGxzID0gMSwgc3RyZW5ndGggPSAxCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+CldlIGNhbiBhc3NpZ24gdGhlIG1hZ2ljYWwgcGlsbCBhbmQgdGFza3MgYXMgZm9sbG93czoKLSBHaXZlIHRoZSBtYWdpY2FsIHBpbGwgdG8gd29ya2VyIDAuCi0gQXNzaWduIHdvcmtlciAwIHRvIHRhc2sgMiAoMCArIDEgJmd0Oz0gMSkKLSBBc3NpZ24gd29ya2VyIDEgdG8gdGFzayAxICgzICZndDs9IDIpCi0gQXNzaWduIHdvcmtlciAyIHRvIHRhc2sgMCAoMyAmZ3Q7PSAzKQo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB0YXNrcyA9IFs8dT48c3Ryb25nPjU8L3N0cm9uZz48L3U+LDRdLCB3b3JrZXJzID0gWzx1PjxzdHJvbmc+MDwvc3Ryb25nPjwvdT4sMCwwXSwgcGlsbHMgPSAxLCBzdHJlbmd0aCA9IDUKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KV2UgY2FuIGFzc2lnbiB0aGUgbWFnaWNhbCBwaWxsIGFuZCB0YXNrcyBhcyBmb2xsb3dzOgotIEdpdmUgdGhlIG1hZ2ljYWwgcGlsbCB0byB3b3JrZXIgMC4KLSBBc3NpZ24gd29ya2VyIDAgdG8gdGFzayAwICgwICsgNSAmZ3Q7PSA1KQo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiB0YXNrcyA9IFs8dT48c3Ryb25nPjEwPC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjE1PC9zdHJvbmc+PC91PiwzMF0sIHdvcmtlcnMgPSBbPHU+PHN0cm9uZz4wPC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjEwPC9zdHJvbmc+PC91PiwxMCwxMCwxMF0sIHBpbGxzID0gMywgc3RyZW5ndGggPSAxMAo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpXZSBjYW4gYXNzaWduIHRoZSBtYWdpY2FsIHBpbGxzIGFuZCB0YXNrcyBhcyBmb2xsb3dzOgotIEdpdmUgdGhlIG1hZ2ljYWwgcGlsbCB0byB3b3JrZXIgMCBhbmQgd29ya2VyIDEuCi0gQXNzaWduIHdvcmtlciAwIHRvIHRhc2sgMCAoMCArIDEwICZndDs9IDEwKQotIEFzc2lnbiB3b3JrZXIgMSB0byB0YXNrIDEgKDEwICsgMTAgJmd0Oz0gMTUpClRoZSBsYXN0IHBpbGwgaXMgbm90IGdpdmVuIGJlY2F1c2UgaXQgd2lsbCBub3QgbWFrZSBhbnkgd29ya2VyIHN0cm9uZyBlbm91Z2ggZm9yIHRoZSBsYXN0IHRhc2suCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gdGFza3MubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5tID09IHdvcmtlcnMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4sIG0gJmx0Oz0gNSAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IHBpbGxzICZsdDs9IG08L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gdGFza3NbaV0sIHdvcmtlcnNbal0sIHN0cmVuZ3RoICZsdDs9IDEwPHN1cD45PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Greedy",
+ "Queue",
+ "Sorting",
+ "Monotonic Queue"
+ ]
+ },
+ {
+ "title": "2050. Parallel Courses III",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5uPC9jb2RlPiwgd2hpY2ggaW5kaWNhdGVzIHRoYXQgdGhlcmUgYXJlIDxjb2RlPm48L2NvZGU+IGNvdXJzZXMgbGFiZWxlZCBmcm9tIDxjb2RlPjE8L2NvZGU+IHRvIDxjb2RlPm48L2NvZGU+LiBZb3UgYXJlIGFsc28gZ2l2ZW4gYSAyRCBpbnRlZ2VyIGFycmF5IDxjb2RlPnJlbGF0aW9uczwvY29kZT4gd2hlcmUgPGNvZGU+cmVsYXRpb25zW2pdID0gW3ByZXZDb3Vyc2U8c3ViPmo8L3N1Yj4sIG5leHRDb3Vyc2U8c3ViPmo8L3N1Yj5dPC9jb2RlPiBkZW5vdGVzIHRoYXQgY291cnNlIDxjb2RlPnByZXZDb3Vyc2U8c3ViPmo8L3N1Yj48L2NvZGU+IGhhcyB0byBiZSBjb21wbGV0ZWQgPHN0cm9uZz5iZWZvcmU8L3N0cm9uZz4gY291cnNlIDxjb2RlPm5leHRDb3Vyc2U8c3ViPmo8L3N1Yj48L2NvZGU+IChwcmVyZXF1aXNpdGUgcmVsYXRpb25zaGlwKS4gRnVydGhlcm1vcmUsIHlvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPnRpbWU8L2NvZGU+IHdoZXJlIDxjb2RlPnRpbWVbaV08L2NvZGU+IGRlbm90ZXMgaG93IG1hbnkgPHN0cm9uZz5tb250aHM8L3N0cm9uZz4gaXQgdGFrZXMgdG8gY29tcGxldGUgdGhlIDxjb2RlPihpKzEpPHN1cD50aDwvc3VwPjwvY29kZT4gY291cnNlLjwvcD4KPHA+WW91IG11c3QgZmluZCB0aGUgPHN0cm9uZz5taW5pbXVtPC9zdHJvbmc+IG51bWJlciBvZiBtb250aHMgbmVlZGVkIHRvIGNvbXBsZXRlIGFsbCB0aGUgY291cnNlcyBmb2xsb3dpbmcgdGhlc2UgcnVsZXM6PC9wPgo8dWw+CjxsaT5Zb3UgbWF5IHN0YXJ0IHRha2luZyBhIGNvdXJzZSBhdCA8c3Ryb25nPmFueSB0aW1lPC9zdHJvbmc+IGlmIHRoZSBwcmVyZXF1aXNpdGVzIGFyZSBtZXQuPC9saT4KPGxpPjxzdHJvbmc+QW55IG51bWJlciBvZiBjb3Vyc2VzPC9zdHJvbmc+IGNhbiBiZSB0YWtlbiBhdCB0aGUgPHN0cm9uZz5zYW1lIHRpbWU8L3N0cm9uZz4uPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5taW5pbXVtPC9zdHJvbmc+IG51bWJlciBvZiBtb250aHMgbmVlZGVkIHRvIGNvbXBsZXRlIGFsbCB0aGUgY291cnNlczwvZW0+LjwvcD4KPHA+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGUgdGVzdCBjYXNlcyBhcmUgZ2VuZXJhdGVkIHN1Y2ggdGhhdCBpdCBpcyBwb3NzaWJsZSB0byBjb21wbGV0ZSBldmVyeSBjb3Vyc2UgKGkuZS4sIHRoZSBncmFwaCBpcyBhIGRpcmVjdGVkIGFjeWNsaWMgZ3JhcGgpLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxzdHJvbmc+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzEwLzA3L2V4MS5wbmciIHN0eWxlPSJ3aWR0aDogMzkycHg7IGhlaWdodDogMjMycHg7Ii8+PC9zdHJvbmc+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDMsIHJlbGF0aW9ucyA9IFtbMSwzXSxbMiwzXV0sIHRpbWUgPSBbMywyLDVdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA4CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBmaWd1cmUgYWJvdmUgcmVwcmVzZW50cyB0aGUgZ2l2ZW4gZ3JhcGggYW5kIHRoZSB0aW1lIHJlcXVpcmVkIHRvIGNvbXBsZXRlIGVhY2ggY291cnNlLiAKV2Ugc3RhcnQgY291cnNlIDEgYW5kIGNvdXJzZSAyIHNpbXVsdGFuZW91c2x5IGF0IG1vbnRoIDAuCkNvdXJzZSAxIHRha2VzIDMgbW9udGhzIGFuZCBjb3Vyc2UgMiB0YWtlcyAyIG1vbnRocyB0byBjb21wbGV0ZSByZXNwZWN0aXZlbHkuClRodXMsIHRoZSBlYXJsaWVzdCB0aW1lIHdlIGNhbiBzdGFydCBjb3Vyc2UgMyBpcyBhdCBtb250aCAzLCBhbmQgdGhlIHRvdGFsIHRpbWUgcmVxdWlyZWQgaXMgMyArIDUgPSA4IG1vbnRocy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxzdHJvbmc+PGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzEwLzA3L2V4Mi5wbmciIHN0eWxlPSJ3aWR0aDogNTAwcHg7IGhlaWdodDogMzY1cHg7Ii8+PC9zdHJvbmc+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDUsIHJlbGF0aW9ucyA9IFtbMSw1XSxbMiw1XSxbMyw1XSxbMyw0XSxbNCw1XV0sIHRpbWUgPSBbMSwyLDMsNCw1XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGZpZ3VyZSBhYm92ZSByZXByZXNlbnRzIHRoZSBnaXZlbiBncmFwaCBhbmQgdGhlIHRpbWUgcmVxdWlyZWQgdG8gY29tcGxldGUgZWFjaCBjb3Vyc2UuCllvdSBjYW4gc3RhcnQgY291cnNlcyAxLCAyLCBhbmQgMyBhdCBtb250aCAwLgpZb3UgY2FuIGNvbXBsZXRlIHRoZW0gYWZ0ZXIgMSwgMiwgYW5kIDMgbW9udGhzIHJlc3BlY3RpdmVseS4KQ291cnNlIDQgY2FuIGJlIHRha2VuIG9ubHkgYWZ0ZXIgY291cnNlIDMgaXMgY29tcGxldGVkLCBpLmUuLCBhZnRlciAzIG1vbnRocy4gSXQgaXMgY29tcGxldGVkIGFmdGVyIDMgKyA0ID0gNyBtb250aHMuCkNvdXJzZSA1IGNhbiBiZSB0YWtlbiBvbmx5IGFmdGVyIGNvdXJzZXMgMSwgMiwgMywgYW5kIDQgaGF2ZSBiZWVuIGNvbXBsZXRlZCwgaS5lLiwgYWZ0ZXIgbWF4KDEsMiwzLDcpID0gNyBtb250aHMuClRodXMsIHRoZSBtaW5pbXVtIHRpbWUgbmVlZGVkIHRvIGNvbXBsZXRlIGFsbCB0aGUgY291cnNlcyBpcyA3ICsgNSA9IDEyIG1vbnRocy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDUgKiAxMDxzdXA+NDwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSByZWxhdGlvbnMubGVuZ3RoICZsdDs9IG1pbihuICogKG4gLSAxKSAvIDIsIDUgKiAxMDxzdXA+NDwvc3VwPik8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnJlbGF0aW9uc1tqXS5sZW5ndGggPT0gMjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBwcmV2Q291cnNlPHN1Yj5qPC9zdWI+LCBuZXh0Q291cnNlPHN1Yj5qPC9zdWI+ICZsdDs9IG48L2NvZGU+PC9saT4KPGxpPjxjb2RlPnByZXZDb3Vyc2U8c3ViPmo8L3N1Yj4gIT0gbmV4dENvdXJzZTxzdWI+ajwvc3ViPjwvY29kZT48L2xpPgo8bGk+QWxsIHRoZSBwYWlycyA8Y29kZT5bcHJldkNvdXJzZTxzdWI+ajwvc3ViPiwgbmV4dENvdXJzZTxzdWI+ajwvc3ViPl08L2NvZGU+IGFyZSA8c3Ryb25nPnVuaXF1ZTwvc3Ryb25nPi48L2xpPgo8bGk+PGNvZGU+dGltZS5sZW5ndGggPT0gbjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSB0aW1lW2ldICZsdDs9IDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT5UaGUgZ2l2ZW4gZ3JhcGggaXMgYSBkaXJlY3RlZCBhY3ljbGljIGdyYXBoLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Dynamic Programming",
+ "Graph",
+ "Topological Sort"
+ ]
+ },
+ {
+ "title": "2045. Second Minimum Time to Reach Destination",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgY2l0eSBpcyByZXByZXNlbnRlZCBhcyBhIDxzdHJvbmc+YmktZGlyZWN0aW9uYWwgY29ubmVjdGVkPC9zdHJvbmc+IGdyYXBoIHdpdGggPGNvZGU+bjwvY29kZT4gdmVydGljZXMgd2hlcmUgZWFjaCB2ZXJ0ZXggaXMgbGFiZWxlZCBmcm9tIDxjb2RlPjE8L2NvZGU+IHRvIDxjb2RlPm48L2NvZGU+ICg8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPikuIFRoZSBlZGdlcyBpbiB0aGUgZ3JhcGggYXJlIHJlcHJlc2VudGVkIGFzIGEgMkQgaW50ZWdlciBhcnJheSA8Y29kZT5lZGdlczwvY29kZT4sIHdoZXJlIGVhY2ggPGNvZGU+ZWRnZXNbaV0gPSBbdTxzdWI+aTwvc3ViPiwgdjxzdWI+aTwvc3ViPl08L2NvZGU+IGRlbm90ZXMgYSBiaS1kaXJlY3Rpb25hbCBlZGdlIGJldHdlZW4gdmVydGV4IDxjb2RlPnU8c3ViPmk8L3N1Yj48L2NvZGU+IGFuZCB2ZXJ0ZXggPGNvZGU+djxzdWI+aTwvc3ViPjwvY29kZT4uIEV2ZXJ5IHZlcnRleCBwYWlyIGlzIGNvbm5lY3RlZCBieSA8c3Ryb25nPmF0IG1vc3Qgb25lPC9zdHJvbmc+IGVkZ2UsIGFuZCBubyB2ZXJ0ZXggaGFzIGFuIGVkZ2UgdG8gaXRzZWxmLiBUaGUgdGltZSB0YWtlbiB0byB0cmF2ZXJzZSBhbnkgZWRnZSBpcyA8Y29kZT50aW1lPC9jb2RlPiBtaW51dGVzLjwvcD4KPHA+RWFjaCB2ZXJ0ZXggaGFzIGEgdHJhZmZpYyBzaWduYWwgd2hpY2ggY2hhbmdlcyBpdHMgY29sb3IgZnJvbSA8c3Ryb25nPmdyZWVuPC9zdHJvbmc+IHRvIDxzdHJvbmc+cmVkPC9zdHJvbmc+IGFuZCB2aWNlIHZlcnNhIGV2ZXJ5wqA8Y29kZT5jaGFuZ2U8L2NvZGU+IG1pbnV0ZXMuIEFsbCBzaWduYWxzIGNoYW5nZSA8c3Ryb25nPmF0IHRoZSBzYW1lIHRpbWU8L3N0cm9uZz4uIFlvdSBjYW4gZW50ZXIgYSB2ZXJ0ZXggYXQgPHN0cm9uZz5hbnkgdGltZTwvc3Ryb25nPiwgYnV0IGNhbiBsZWF2ZSBhIHZlcnRleCA8c3Ryb25nPm9ubHkgd2hlbiB0aGUgc2lnbmFsIGlzIGdyZWVuPC9zdHJvbmc+LiBZb3UgPHN0cm9uZz5jYW5ub3Qgd2FpdCA8L3N0cm9uZz5hdCBhIHZlcnRleCBpZiB0aGUgc2lnbmFsIGlzIDxzdHJvbmc+Z3JlZW48L3N0cm9uZz4uPC9wPgo8cD5UaGUgPHN0cm9uZz5zZWNvbmQgbWluaW11bSB2YWx1ZTwvc3Ryb25nPiBpcyBkZWZpbmVkIGFzIHRoZSBzbWFsbGVzdCB2YWx1ZTxzdHJvbmc+IHN0cmljdGx5IGxhcmdlciA8L3N0cm9uZz50aGFuIHRoZSBtaW5pbXVtIHZhbHVlLjwvcD4KPHVsPgo8bGk+Rm9yIGV4YW1wbGUgdGhlIHNlY29uZCBtaW5pbXVtIHZhbHVlIG9mIDxjb2RlPlsyLCAzLCA0XTwvY29kZT4gaXMgPGNvZGU+MzwvY29kZT4sIGFuZCB0aGUgc2Vjb25kIG1pbmltdW0gdmFsdWUgb2YgPGNvZGU+WzIsIDIsIDRdPC9jb2RlPiBpcyA8Y29kZT40PC9jb2RlPi48L2xpPgo8L3VsPgo8cD5HaXZlbiA8Y29kZT5uPC9jb2RlPiwgPGNvZGU+ZWRnZXM8L2NvZGU+LCA8Y29kZT50aW1lPC9jb2RlPiwgYW5kIDxjb2RlPmNoYW5nZTwvY29kZT4sIHJldHVybiA8ZW0+dGhlIDxzdHJvbmc+c2Vjb25kIG1pbmltdW0gdGltZTwvc3Ryb25nPiBpdCB3aWxsIHRha2UgdG8gZ28gZnJvbSB2ZXJ0ZXggPC9lbT48Y29kZT4xPC9jb2RlPjxlbT4gdG8gdmVydGV4IDwvZW0+PGNvZGU+bjwvY29kZT4uPC9wPgo8cD48c3Ryb25nPk5vdGVzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+WW91IGNhbiBnbyB0aHJvdWdoIGFueSB2ZXJ0ZXggPHN0cm9uZz5hbnk8L3N0cm9uZz4gbnVtYmVyIG9mIHRpbWVzLCA8c3Ryb25nPmluY2x1ZGluZzwvc3Ryb25nPiA8Y29kZT4xPC9jb2RlPiBhbmQgPGNvZGU+bjwvY29kZT4uPC9saT4KPGxpPllvdSBjYW4gYXNzdW1lIHRoYXQgd2hlbiB0aGUgam91cm5leSA8c3Ryb25nPnN0YXJ0czwvc3Ryb25nPiwgYWxsIHNpZ25hbHMgaGF2ZSBqdXN0IHR1cm5lZCA8c3Ryb25nPmdyZWVuPC9zdHJvbmc+LjwvbGk+CjwvdWw+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMDkvMjkvZTEucG5nIiBzdHlsZT0id2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDI1MHB4OyIvPiDigIMg4oCDIOKAgyDigIM8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMDkvMjkvZTIucG5nIiBzdHlsZT0id2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDI1MHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSA1LCBlZGdlcyA9IFtbMSwyXSxbMSwzXSxbMSw0XSxbMyw0XSxbNCw1XV0sIHRpbWUgPSAzLCBjaGFuZ2UgPSA1CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxMwo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPgpUaGUgZmlndXJlIG9uIHRoZSBsZWZ0IHNob3dzIHRoZSBnaXZlbiBncmFwaC4KVGhlIGJsdWUgcGF0aCBpbiB0aGUgZmlndXJlIG9uIHRoZSByaWdodCBpcyB0aGUgbWluaW11bSB0aW1lIHBhdGguClRoZSB0aW1lIHRha2VuIGlzOgotIFN0YXJ0IGF0IDEsIHRpbWUgZWxhcHNlZD0wCi0gMSAtJmd0OyA0OiAzIG1pbnV0ZXMsIHRpbWUgZWxhcHNlZD0zCi0gNCAtJmd0OyA1OiAzIG1pbnV0ZXMsIHRpbWUgZWxhcHNlZD02CkhlbmNlIHRoZSBtaW5pbXVtIHRpbWUgbmVlZGVkIGlzIDYgbWludXRlcy4KClRoZSByZWQgcGF0aCBzaG93cyB0aGUgcGF0aCB0byBnZXQgdGhlIHNlY29uZCBtaW5pbXVtIHRpbWUuCi0gU3RhcnQgYXQgMSwgdGltZSBlbGFwc2VkPTAKLSAxIC0mZ3Q7IDM6IDMgbWludXRlcywgdGltZSBlbGFwc2VkPTMKLSAzIC0mZ3Q7IDQ6IDMgbWludXRlcywgdGltZSBlbGFwc2VkPTYKLSBXYWl0IGF0IDQgZm9yIDQgbWludXRlcywgdGltZSBlbGFwc2VkPTEwCi0gNCAtJmd0OyA1OiAzIG1pbnV0ZXMsIHRpbWUgZWxhcHNlZD0xMwpIZW5jZSB0aGUgc2Vjb25kIG1pbmltdW0gdGltZSBpcyAxMyBtaW51dGVzLiAgICAgIAo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzA5LzI5L2VnMi5wbmciIHN0eWxlPSJ3aWR0aDogMjI1cHg7IGhlaWdodDogNTBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBuID0gMiwgZWRnZXMgPSBbWzEsMl1dLCB0aW1lID0gMywgY2hhbmdlID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4KVGhlIG1pbmltdW0gdGltZSBwYXRoIGlzIDEgLSZndDsgMiB3aXRoIHRpbWUgPSAzIG1pbnV0ZXMuClRoZSBzZWNvbmQgbWluaW11bSB0aW1lIHBhdGggaXMgMSAtJmd0OyAyIC0mZ3Q7IDEgLSZndDsgMiB3aXRoIHRpbWUgPSAxMSBtaW51dGVzLjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjIgJmx0Oz0gbiAmbHQ7PSAxMDxzdXA+NDwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+biAtIDEgJmx0Oz0gZWRnZXMubGVuZ3RoICZsdDs9IG1pbigyICogMTA8c3VwPjQ8L3N1cD4sIG4gKiAobiAtIDEpIC8gMik8L2NvZGU+PC9saT4KPGxpPjxjb2RlPmVkZ2VzW2ldLmxlbmd0aCA9PSAyPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHU8c3ViPmk8L3N1Yj4sIHY8c3ViPmk8L3N1Yj4gJmx0Oz0gbjwvY29kZT48L2xpPgo8bGk+PGNvZGU+dTxzdWI+aTwvc3ViPiAhPSB2PHN1Yj5pPC9zdWI+PC9jb2RlPjwvbGk+CjxsaT5UaGVyZSBhcmUgbm8gZHVwbGljYXRlIGVkZ2VzLjwvbGk+CjxsaT5FYWNoIHZlcnRleCBjYW4gYmUgcmVhY2hlZCBkaXJlY3RseSBvciBpbmRpcmVjdGx5IGZyb20gZXZlcnkgb3RoZXIgdmVydGV4LjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHRpbWUsIGNoYW5nZSAmbHQ7PSAxMDxzdXA+Mzwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Breadth-First Search",
+ "Graph",
+ "Shortest Path"
+ ]
+ },
+ {
+ "title": "2056. Number of Valid Move Combinations On Chessboard",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGFuIDxjb2RlPjggeCA4PC9jb2RlPiBjaGVzc2JvYXJkIGNvbnRhaW5pbmcgPGNvZGU+bjwvY29kZT4gcGllY2VzIChyb29rcywgcXVlZW5zLCBvciBiaXNob3BzKS4gWW91IGFyZSBnaXZlbiBhIHN0cmluZyBhcnJheSA8Y29kZT5waWVjZXM8L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT5uPC9jb2RlPiwgd2hlcmUgPGNvZGU+cGllY2VzW2ldPC9jb2RlPiBkZXNjcmliZXMgdGhlIHR5cGUgKHJvb2ssIHF1ZWVuLCBvciBiaXNob3ApIG9mIHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gcGllY2UuIEluIGFkZGl0aW9uLCB5b3UgYXJlIGdpdmVuIGEgMkQgaW50ZWdlciBhcnJheSA8Y29kZT5wb3NpdGlvbnM8L2NvZGU+IGFsc28gb2YgbGVuZ3RoIDxjb2RlPm48L2NvZGU+LCB3aGVyZSA8Y29kZT5wb3NpdGlvbnNbaV0gPSBbcjxzdWI+aTwvc3ViPiwgYzxzdWI+aTwvc3ViPl08L2NvZGU+IGluZGljYXRlcyB0aGF0IHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gcGllY2UgaXMgY3VycmVudGx5IGF0IHRoZSA8c3Ryb25nPjEtYmFzZWQ8L3N0cm9uZz4gY29vcmRpbmF0ZSA8Y29kZT4ocjxzdWI+aTwvc3ViPiwgYzxzdWI+aTwvc3ViPik8L2NvZGU+IG9uIHRoZSBjaGVzc2JvYXJkLjwvcD4KPHA+V2hlbiBtYWtpbmcgYSA8c3Ryb25nPm1vdmU8L3N0cm9uZz4gZm9yIGEgcGllY2UsIHlvdSBjaG9vc2UgYSA8c3Ryb25nPmRlc3RpbmF0aW9uPC9zdHJvbmc+IHNxdWFyZSB0aGF0IHRoZSBwaWVjZSB3aWxsIHRyYXZlbCB0b3dhcmQgYW5kIHN0b3Agb24uPC9wPgo8dWw+CjxsaT5BIHJvb2sgY2FuIG9ubHkgdHJhdmVsIDxzdHJvbmc+aG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHk8L3N0cm9uZz4gZnJvbSA8Y29kZT4ociwgYyk8L2NvZGU+IHRvIHRoZSBkaXJlY3Rpb24gb2YgPGNvZGU+KHIrMSwgYyk8L2NvZGU+LCA8Y29kZT4oci0xLCBjKTwvY29kZT4sIDxjb2RlPihyLCBjKzEpPC9jb2RlPiwgb3IgPGNvZGU+KHIsIGMtMSk8L2NvZGU+LjwvbGk+CjxsaT5BIHF1ZWVuIGNhbiBvbmx5IHRyYXZlbCA8c3Ryb25nPmhvcml6b250YWxseSwgdmVydGljYWxseSwgb3IgZGlhZ29uYWxseTwvc3Ryb25nPiBmcm9tIDxjb2RlPihyLCBjKTwvY29kZT4gdG8gdGhlIGRpcmVjdGlvbiBvZiA8Y29kZT4ocisxLCBjKTwvY29kZT4sIDxjb2RlPihyLTEsIGMpPC9jb2RlPiwgPGNvZGU+KHIsIGMrMSk8L2NvZGU+LCA8Y29kZT4ociwgYy0xKTwvY29kZT4sIDxjb2RlPihyKzEsIGMrMSk8L2NvZGU+LCA8Y29kZT4ocisxLCBjLTEpPC9jb2RlPiwgPGNvZGU+KHItMSwgYysxKTwvY29kZT4sIDxjb2RlPihyLTEsIGMtMSk8L2NvZGU+LjwvbGk+CjxsaT5BIGJpc2hvcCBjYW4gb25seSB0cmF2ZWwgPHN0cm9uZz5kaWFnb25hbGx5PC9zdHJvbmc+IGZyb20gPGNvZGU+KHIsIGMpPC9jb2RlPiB0byB0aGUgZGlyZWN0aW9uIG9mIDxjb2RlPihyKzEsIGMrMSk8L2NvZGU+LCA8Y29kZT4ocisxLCBjLTEpPC9jb2RlPiwgPGNvZGU+KHItMSwgYysxKTwvY29kZT4sIDxjb2RlPihyLTEsIGMtMSk8L2NvZGU+LjwvbGk+CjwvdWw+CjxwPllvdSBtdXN0IG1ha2UgYSA8c3Ryb25nPm1vdmU8L3N0cm9uZz4gZm9yIGV2ZXJ5IHBpZWNlIG9uIHRoZSBib2FyZCBzaW11bHRhbmVvdXNseS4gQSA8c3Ryb25nPm1vdmUgY29tYmluYXRpb248L3N0cm9uZz4gY29uc2lzdHMgb2YgYWxsIHRoZSA8c3Ryb25nPm1vdmVzPC9zdHJvbmc+IHBlcmZvcm1lZCBvbiBhbGwgdGhlIGdpdmVuIHBpZWNlcy4gRXZlcnkgc2Vjb25kLCBlYWNoIHBpZWNlIHdpbGwgaW5zdGFudGFuZW91c2x5IHRyYXZlbCA8c3Ryb25nPm9uZSBzcXVhcmU8L3N0cm9uZz4gdG93YXJkcyB0aGVpciBkZXN0aW5hdGlvbiBpZiB0aGV5IGFyZSBub3QgYWxyZWFkeSBhdCBpdC4gQWxsIHBpZWNlcyBzdGFydCB0cmF2ZWxpbmcgYXQgdGhlIDxjb2RlPjA8c3VwPnRoPC9zdXA+PC9jb2RlPiBzZWNvbmQuIEEgbW92ZSBjb21iaW5hdGlvbiBpcyA8c3Ryb25nPmludmFsaWQ8L3N0cm9uZz4gaWYsIGF0IGEgZ2l2ZW4gdGltZSwgPHN0cm9uZz50d28gb3IgbW9yZTwvc3Ryb25nPiBwaWVjZXMgb2NjdXB5IHRoZSBzYW1lIHNxdWFyZS48L3A+CjxwPlJldHVybiA8ZW0+dGhlIG51bWJlciBvZiA8c3Ryb25nPnZhbGlkPC9zdHJvbmc+IG1vdmUgY29tYmluYXRpb25zPC9lbT7igIvigIvigIvigIvigIsuPC9wPgo8cD48c3Ryb25nPk5vdGVzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PHN0cm9uZz5ObyB0d28gcGllY2VzPC9zdHJvbmc+IHdpbGwgc3RhcnQgaW4gdGhlPHN0cm9uZz4gc2FtZTwvc3Ryb25nPiBzcXVhcmUuPC9saT4KPGxpPllvdSBtYXkgY2hvb3NlIHRoZSBzcXVhcmUgYSBwaWVjZSBpcyBhbHJlYWR5IG9uIGFzIGl0cyA8c3Ryb25nPmRlc3RpbmF0aW9uPC9zdHJvbmc+LjwvbGk+CjxsaT5JZiB0d28gcGllY2VzIGFyZSA8c3Ryb25nPmRpcmVjdGx5IGFkamFjZW50PC9zdHJvbmc+IHRvIGVhY2ggb3RoZXIsIGl0IGlzIHZhbGlkIGZvciB0aGVtIHRvIDxzdHJvbmc+bW92ZSBwYXN0IGVhY2ggb3RoZXI8L3N0cm9uZz4gYW5kIHN3YXAgcG9zaXRpb25zIGluIG9uZSBzZWNvbmQuPC9saT4KPC91bD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8wOS8yMy9hMS5wbmciIHN0eWxlPSJ3aWR0aDogMjE1cHg7IGhlaWdodDogMjE1cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcGllY2VzID0gWyJyb29rIl0sIHBvc2l0aW9ucyA9IFtbMSwxXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDE1CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBpbWFnZSBhYm92ZSBzaG93cyB0aGUgcG9zc2libGUgc3F1YXJlcyB0aGUgcGllY2UgY2FuIG1vdmUgdG8uCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMDkvMjMvYTIucG5nIiBzdHlsZT0id2lkdGg6IDIxNXB4OyBoZWlnaHQ6IDIxNXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHBpZWNlcyA9IFsicXVlZW4iXSwgcG9zaXRpb25zID0gW1sxLDFdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMjIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGltYWdlIGFib3ZlIHNob3dzIHRoZSBwb3NzaWJsZSBzcXVhcmVzIHRoZSBwaWVjZSBjYW4gbW92ZSB0by4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8wOS8yMy9hMy5wbmciIHN0eWxlPSJ3aWR0aDogMjE0cHg7IGhlaWdodDogMjE1cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcGllY2VzID0gWyJiaXNob3AiXSwgcG9zaXRpb25zID0gW1s0LDNdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMTIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGltYWdlIGFib3ZlIHNob3dzIHRoZSBwb3NzaWJsZSBzcXVhcmVzIHRoZSBwaWVjZSBjYW4gbW92ZSB0by4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBwaWVjZXMubGVuZ3RoIDwvY29kZT48L2xpPgo8bGk+PGNvZGU+biA9PSBwb3NpdGlvbnMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gNDwvY29kZT48L2xpPgo8bGk+PGNvZGU+cGllY2VzPC9jb2RlPiBvbmx5IGNvbnRhaW5zIHRoZSBzdHJpbmdzIDxjb2RlPiJyb29rIjwvY29kZT4sIDxjb2RlPiJxdWVlbiI8L2NvZGU+LCBhbmQgPGNvZGU+ImJpc2hvcCI8L2NvZGU+LjwvbGk+CjxsaT5UaGVyZSB3aWxsIGJlIGF0IG1vc3Qgb25lIHF1ZWVuIG9uIHRoZSBjaGVzc2JvYXJkLjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHg8c3ViPmk8L3N1Yj4sIHk8c3ViPmk8L3N1Yj4gJmx0Oz0gODwvY29kZT48L2xpPgo8bGk+RWFjaCA8Y29kZT5wb3NpdGlvbnNbaV08L2NvZGU+IGlzIGRpc3RpbmN0LjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "String",
+ "Backtracking",
+ "Simulation"
+ ]
+ },
+ {
+ "title": "2035. Partition Array Into Two Arrays to Minimize Sum Difference",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiBvZiA8Y29kZT4yICogbjwvY29kZT4gaW50ZWdlcnMuIFlvdSBuZWVkIHRvIHBhcnRpdGlvbiA8Y29kZT5udW1zPC9jb2RlPiBpbnRvIDxzdHJvbmc+dHdvPC9zdHJvbmc+IGFycmF5cyBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4gdG8gPHN0cm9uZz5taW5pbWl6ZSB0aGUgYWJzb2x1dGUgZGlmZmVyZW5jZTwvc3Ryb25nPiBvZiB0aGUgPHN0cm9uZz5zdW1zPC9zdHJvbmc+IG9mIHRoZSBhcnJheXMuIFRvIHBhcnRpdGlvbiA8Y29kZT5udW1zPC9jb2RlPiwgcHV0IGVhY2ggZWxlbWVudCBvZiA8Y29kZT5udW1zPC9jb2RlPiBpbnRvIDxzdHJvbmc+b25lPC9zdHJvbmc+IG9mIHRoZSB0d28gYXJyYXlzLjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5taW5pbXVtPC9zdHJvbmc+IHBvc3NpYmxlIGFic29sdXRlIGRpZmZlcmVuY2U8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iZXhhbXBsZS0xIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMTAvMDIvZXgxLnBuZyIgc3R5bGU9IndpZHRoOiAyNDBweDsgaGVpZ2h0OiAxMDZweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzMsOSw3LDNdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAyCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IE9uZSBvcHRpbWFsIHBhcnRpdGlvbiBpczogWzMsOV0gYW5kIFs3LDNdLgpUaGUgYWJzb2x1dGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBzdW1zIG9mIHRoZSBhcnJheXMgaXMgYWJzKCgzICsgOSkgLSAoNyArIDMpKSA9IDIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbLTM2LDM2XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNzIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gT25lIG9wdGltYWwgcGFydGl0aW9uIGlzOiBbLTM2XSBhbmQgWzM2XS4KVGhlIGFic29sdXRlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgc3VtcyBvZiB0aGUgYXJyYXlzIGlzIGFicygoLTM2KSAtICgzNikpID0gNzIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iZXhhbXBsZS0zIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMTAvMDIvZXgzLnBuZyIgc3R5bGU9IndpZHRoOiAzMTZweDsgaGVpZ2h0OiAxMDZweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzIsLTEsMCw0LC0yLC05XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBPbmUgb3B0aW1hbCBwYXJ0aXRpb24gaXM6IFsyLDQsLTldIGFuZCBbLTEsMCwtMl0uClRoZSBhYnNvbHV0ZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIHN1bXMgb2YgdGhlIGFycmF5cyBpcyBhYnMoKDIgKyA0ICsgLTkpIC0gKC0xICsgMCArIC0yKSkgPSAwLgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG4gJmx0Oz0gMTU8L2NvZGU+PC9saT4KPGxpPjxjb2RlPm51bXMubGVuZ3RoID09IDIgKiBuPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4tMTA8c3VwPjc8L3N1cD4gJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+Nzwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Two Pointers",
+ "Binary Search",
+ "Dynamic Programming",
+ "Bit Manipulation",
+ "Ordered Set",
+ "Bitmask"
+ ]
+ },
+ {
+ "title": "2030. Smallest K-Length Subsequence With Occurrences of a Letter",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4sIGFuIGludGVnZXIgPGNvZGU+azwvY29kZT4sIGEgbGV0dGVyIDxjb2RlPmxldHRlcjwvY29kZT4sIGFuZCBhbiBpbnRlZ2VyIDxjb2RlPnJlcGV0aXRpb248L2NvZGU+LjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5sZXhpY29ncmFwaGljYWxseSBzbWFsbGVzdDwvc3Ryb25nPiBzdWJzZXF1ZW5jZSBvZjwvZW0+IDxjb2RlPnM8L2NvZGU+PGVtPiBvZiBsZW5ndGg8L2VtPiA8Y29kZT5rPC9jb2RlPiA8ZW0+dGhhdCBoYXMgdGhlIGxldHRlcjwvZW0+IDxjb2RlPmxldHRlcjwvY29kZT4gPGVtPmFwcGVhciA8c3Ryb25nPmF0IGxlYXN0PC9zdHJvbmc+PC9lbT4gPGNvZGU+cmVwZXRpdGlvbjwvY29kZT4gPGVtPnRpbWVzPC9lbT4uIFRoZSB0ZXN0IGNhc2VzIGFyZSBnZW5lcmF0ZWQgc28gdGhhdCB0aGUgPGNvZGU+bGV0dGVyPC9jb2RlPiBhcHBlYXJzIGluIDxjb2RlPnM8L2NvZGU+IDxzdHJvbmc+YXQgbGVhc3Q8L3N0cm9uZz4gPGNvZGU+cmVwZXRpdGlvbjwvY29kZT4gdGltZXMuPC9wPgo8cD5BIDxzdHJvbmc+c3Vic2VxdWVuY2U8L3N0cm9uZz4gaXMgYSBzdHJpbmcgdGhhdCBjYW4gYmUgZGVyaXZlZCBmcm9tIGFub3RoZXIgc3RyaW5nIGJ5IGRlbGV0aW5nIHNvbWUgb3Igbm8gY2hhcmFjdGVycyB3aXRob3V0IGNoYW5naW5nIHRoZSBvcmRlciBvZiB0aGUgcmVtYWluaW5nIGNoYXJhY3RlcnMuPC9wPgo8cD5BIHN0cmluZyA8Y29kZT5hPC9jb2RlPiBpcyA8c3Ryb25nPmxleGljb2dyYXBoaWNhbGx5IHNtYWxsZXI8L3N0cm9uZz4gdGhhbiBhIHN0cmluZyA8Y29kZT5iPC9jb2RlPiBpZiBpbiB0aGUgZmlyc3QgcG9zaXRpb24gd2hlcmUgPGNvZGU+YTwvY29kZT4gYW5kIDxjb2RlPmI8L2NvZGU+IGRpZmZlciwgc3RyaW5nIDxjb2RlPmE8L2NvZGU+IGhhcyBhIGxldHRlciB0aGF0IGFwcGVhcnMgZWFybGllciBpbiB0aGUgYWxwaGFiZXQgdGhhbiB0aGUgY29ycmVzcG9uZGluZyBsZXR0ZXIgaW4gPGNvZGU+YjwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImxlZXQiLCBrID0gMywgbGV0dGVyID0gImUiLCByZXBldGl0aW9uID0gMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gImVldCIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgYXJlIGZvdXIgc3Vic2VxdWVuY2VzIG9mIGxlbmd0aCAzIHRoYXQgaGF2ZSB0aGUgbGV0dGVyICdlJyBhcHBlYXIgYXQgbGVhc3QgMSB0aW1lOgotICJsZWUiIChmcm9tICI8c3Ryb25nPjx1PmxlZTwvdT48L3N0cm9uZz50IikKLSAibGV0IiAoZnJvbSAiPHN0cm9uZz48dT5sZTwvdT48L3N0cm9uZz5lPHU+PHN0cm9uZz50PC9zdHJvbmc+PC91PiIpCi0gImxldCIgKGZyb20gIjx1PjxzdHJvbmc+bDwvc3Ryb25nPjwvdT5lPHU+PHN0cm9uZz5ldDwvc3Ryb25nPjwvdT4iKQotICJlZXQiIChmcm9tICJsPHU+PHN0cm9uZz5lZXQ8L3N0cm9uZz48L3U+IikKVGhlIGxleGljb2dyYXBoaWNhbGx5IHNtYWxsZXN0IHN1YnNlcXVlbmNlIGFtb25nIHRoZW0gaXMgImVldCIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iZXhhbXBsZS0yIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMDkvMTMvc21hbGxlc3Qtay1sZW5ndGgtc3Vic2VxdWVuY2UucG5nIiBzdHlsZT0id2lkdGg6IDMzOXB4OyBoZWlnaHQ6IDY3cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJsZWV0Y29kZSIsIGsgPSA0LCBsZXR0ZXIgPSAiZSIsIHJlcGV0aXRpb24gPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiZWNkZSIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gImVjZGUiIGlzIHRoZSBsZXhpY29ncmFwaGljYWxseSBzbWFsbGVzdCBzdWJzZXF1ZW5jZSBvZiBsZW5ndGggNCB0aGF0IGhhcyB0aGUgbGV0dGVyICJlIiBhcHBlYXIgYXQgbGVhc3QgMiB0aW1lcy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICJiYiIsIGsgPSAyLCBsZXR0ZXIgPSAiYiIsIHJlcGV0aXRpb24gPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAiYmIiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+ICJiYiIgaXMgdGhlIG9ubHkgc3Vic2VxdWVuY2Ugb2YgbGVuZ3RoIDIgdGhhdCBoYXMgdGhlIGxldHRlciAiYiIgYXBwZWFyIGF0IGxlYXN0IDIgdGltZXMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gcmVwZXRpdGlvbiAmbHQ7PSBrICZsdDs9IHMubGVuZ3RoICZsdDs9IDUgKiAxMDxzdXA+NDwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+czwvY29kZT4gY29uc2lzdHMgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycy48L2xpPgo8bGk+PGNvZGU+bGV0dGVyPC9jb2RlPiBpcyBhIGxvd2VyY2FzZSBFbmdsaXNoIGxldHRlciwgYW5kIGFwcGVhcnMgaW4gPGNvZGU+czwvY29kZT4gYXQgbGVhc3QgPGNvZGU+cmVwZXRpdGlvbjwvY29kZT4gdGltZXMuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "String",
+ "Stack",
+ "Greedy",
+ "Monotonic Stack"
+ ]
+ },
+ {
+ "title": "2040. Kth Smallest Product of Two Sorted Arrays",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PkdpdmVuIHR3byA8c3Ryb25nPnNvcnRlZCAwLWluZGV4ZWQ8L3N0cm9uZz4gaW50ZWdlciBhcnJheXMgPGNvZGU+bnVtczE8L2NvZGU+IGFuZCA8Y29kZT5udW1zMjwvY29kZT4gYXMgd2VsbCBhcyBhbiBpbnRlZ2VyIDxjb2RlPms8L2NvZGU+LCByZXR1cm4gPGVtPnRoZSA8L2VtPjxjb2RlPms8c3VwPnRoPC9zdXA+PC9jb2RlPjxlbT4gKDxzdHJvbmc+MS1iYXNlZDwvc3Ryb25nPikgc21hbGxlc3QgcHJvZHVjdCBvZiA8L2VtPjxjb2RlPm51bXMxW2ldICogbnVtczJbal08L2NvZGU+PGVtPiB3aGVyZSA8L2VtPjxjb2RlPjAgJmx0Oz0gaSAmbHQ7IG51bXMxLmxlbmd0aDwvY29kZT48ZW0+IGFuZCA8L2VtPjxjb2RlPjAgJmx0Oz0gaiAmbHQ7IG51bXMyLmxlbmd0aDwvY29kZT4uCjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMxID0gWzIsNV0sIG51bXMyID0gWzMsNF0sIGsgPSAyCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA4CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSAyIHNtYWxsZXN0IHByb2R1Y3RzIGFyZToKLSBudW1zMVswXSAqIG51bXMyWzBdID0gMiAqIDMgPSA2Ci0gbnVtczFbMF0gKiBudW1zMlsxXSA9IDIgKiA0ID0gOApUaGUgMjxzdXA+bmQ8L3N1cD4gc21hbGxlc3QgcHJvZHVjdCBpcyA4Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zMSA9IFstNCwtMiwwLDNdLCBudW1zMiA9IFsyLDRdLCBrID0gNgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgNiBzbWFsbGVzdCBwcm9kdWN0cyBhcmU6Ci0gbnVtczFbMF0gKiBudW1zMlsxXSA9ICgtNCkgKiA0ID0gLTE2Ci0gbnVtczFbMF0gKiBudW1zMlswXSA9ICgtNCkgKiAyID0gLTgKLSBudW1zMVsxXSAqIG51bXMyWzFdID0gKC0yKSAqIDQgPSAtOAotIG51bXMxWzFdICogbnVtczJbMF0gPSAoLTIpICogMiA9IC00Ci0gbnVtczFbMl0gKiBudW1zMlswXSA9IDAgKiAyID0gMAotIG51bXMxWzJdICogbnVtczJbMV0gPSAwICogNCA9IDAKVGhlIDY8c3VwPnRoPC9zdXA+IHNtYWxsZXN0IHByb2R1Y3QgaXMgMC4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtczEgPSBbLTIsLTEsMCwxLDJdLCBudW1zMiA9IFstMywtMSwyLDQsNV0sIGsgPSAzCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAtNgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgMyBzbWFsbGVzdCBwcm9kdWN0cyBhcmU6Ci0gbnVtczFbMF0gKiBudW1zMls0XSA9ICgtMikgKiA1ID0gLTEwCi0gbnVtczFbMF0gKiBudW1zMlszXSA9ICgtMikgKiA0ID0gLTgKLSBudW1zMVs0XSAqIG51bXMyWzBdID0gMiAqICgtMykgPSAtNgpUaGUgMzxzdXA+cmQ8L3N1cD4gc21hbGxlc3QgcHJvZHVjdCBpcyAtNi4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zMS5sZW5ndGgsIG51bXMyLmxlbmd0aCAmbHQ7PSA1ICogMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPi0xMDxzdXA+NTwvc3VwPiAmbHQ7PSBudW1zMVtpXSwgbnVtczJbal0gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gayAmbHQ7PSBudW1zMS5sZW5ndGggKiBudW1zMi5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPm51bXMxPC9jb2RlPiBhbmQgPGNvZGU+bnVtczI8L2NvZGU+IGFyZSBzb3J0ZWQuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search"
+ ]
+ },
+ {
+ "title": "2019. The Score of Students Solving Math Expression",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4gdGhhdCBjb250YWlucyBkaWdpdHMgPGNvZGU+MC05PC9jb2RlPiwgYWRkaXRpb24gc3ltYm9scyA8Y29kZT4nKyc8L2NvZGU+LCBhbmQgbXVsdGlwbGljYXRpb24gc3ltYm9scyA8Y29kZT4nKic8L2NvZGU+IDxzdHJvbmc+b25seTwvc3Ryb25nPiwgcmVwcmVzZW50aW5nIGEgPHN0cm9uZz52YWxpZDwvc3Ryb25nPiBtYXRoIGV4cHJlc3Npb24gb2YgPHN0cm9uZz5zaW5nbGUgZGlnaXQgbnVtYmVyczwvc3Ryb25nPiAoZS5nLiwgPGNvZGU+Mys1KjI8L2NvZGU+KS4gVGhpcyBleHByZXNzaW9uIHdhcyBnaXZlbiB0byA8Y29kZT5uPC9jb2RlPiBlbGVtZW50YXJ5IHNjaG9vbCBzdHVkZW50cy4gVGhlIHN0dWRlbnRzIHdlcmUgaW5zdHJ1Y3RlZCB0byBnZXQgdGhlIGFuc3dlciBvZiB0aGUgZXhwcmVzc2lvbiBieSBmb2xsb3dpbmcgdGhpcyA8c3Ryb25nPm9yZGVyIG9mIG9wZXJhdGlvbnM8L3N0cm9uZz46PC9wPgo8b2w+CjxsaT5Db21wdXRlIDxzdHJvbmc+bXVsdGlwbGljYXRpb248L3N0cm9uZz4sIHJlYWRpbmcgZnJvbSA8c3Ryb25nPmxlZnQgdG8gcmlnaHQ8L3N0cm9uZz47IFRoZW4sPC9saT4KPGxpPkNvbXB1dGUgPHN0cm9uZz5hZGRpdGlvbjwvc3Ryb25nPiwgcmVhZGluZyBmcm9tIDxzdHJvbmc+bGVmdCB0byByaWdodDwvc3Ryb25nPi48L2xpPgo8L29sPgo8cD5Zb3UgYXJlIGdpdmVuIGFuIGludGVnZXIgYXJyYXkgPGNvZGU+YW5zd2VyczwvY29kZT4gb2YgbGVuZ3RoIDxjb2RlPm48L2NvZGU+LCB3aGljaCBhcmUgdGhlIHN1Ym1pdHRlZCBhbnN3ZXJzIG9mIHRoZSBzdHVkZW50cyBpbiBubyBwYXJ0aWN1bGFyIG9yZGVyLiBZb3UgYXJlIGFza2VkIHRvIGdyYWRlIHRoZSA8Y29kZT5hbnN3ZXJzPC9jb2RlPiwgYnkgZm9sbG93aW5nIHRoZXNlIDxzdHJvbmc+cnVsZXM8L3N0cm9uZz46PC9wPgo8dWw+CjxsaT5JZiBhbiBhbnN3ZXIgPHN0cm9uZz5lcXVhbHM8L3N0cm9uZz4gdGhlIGNvcnJlY3QgYW5zd2VyIG9mIHRoZSBleHByZXNzaW9uLCB0aGlzIHN0dWRlbnQgd2lsbCBiZSByZXdhcmRlZCA8Y29kZT41PC9jb2RlPiBwb2ludHM7PC9saT4KPGxpPk90aGVyd2lzZSwgaWYgdGhlIGFuc3dlciA8c3Ryb25nPmNvdWxkIGJlIGludGVycHJldGVkPC9zdHJvbmc+IGFzIGlmIHRoZSBzdHVkZW50IGFwcGxpZWQgdGhlIG9wZXJhdG9ycyA8c3Ryb25nPmluIHRoZSB3cm9uZyBvcmRlcjwvc3Ryb25nPiBidXQgaGFkIDxzdHJvbmc+Y29ycmVjdCBhcml0aG1ldGljPC9zdHJvbmc+LCB0aGlzIHN0dWRlbnQgd2lsbCBiZSByZXdhcmRlZCA8Y29kZT4yPC9jb2RlPiBwb2ludHM7PC9saT4KPGxpPk90aGVyd2lzZSwgdGhpcyBzdHVkZW50IHdpbGwgYmUgcmV3YXJkZWQgPGNvZGU+MDwvY29kZT4gcG9pbnRzLjwvbGk+CjwvdWw+CjxwPlJldHVybiA8ZW0+dGhlIHN1bSBvZiB0aGUgcG9pbnRzIG9mIHRoZSBzdHVkZW50czwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8wOS8xNy9zdHVkZW50X3NvbHZpbmdfbWF0aC5wbmciIHN0eWxlPSJ3aWR0aDogNjc4cHg7IGhlaWdodDogMTA5cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcyA9ICI3KzMqMSoyIiwgYW5zd2VycyA9IFsyMCwxMyw0Ml0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDcKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gQXMgaWxsdXN0cmF0ZWQgYWJvdmUsIHRoZSBjb3JyZWN0IGFuc3dlciBvZiB0aGUgZXhwcmVzc2lvbiBpcyAxMywgdGhlcmVmb3JlIG9uZSBzdHVkZW50IGlzIHJld2FyZGVkIDUgcG9pbnRzOiBbMjAsPHU+PHN0cm9uZz4xMzwvc3Ryb25nPjwvdT4sNDJdCkEgc3R1ZGVudCBtaWdodCBoYXZlIGFwcGxpZWQgdGhlIG9wZXJhdG9ycyBpbiB0aGlzIHdyb25nIG9yZGVyOiAoKDcrMykqMSkqMiA9IDIwLiBUaGVyZWZvcmUgb25lIHN0dWRlbnQgaXMgcmV3YXJkZWQgMiBwb2ludHM6IFs8dT48c3Ryb25nPjIwPC9zdHJvbmc+PC91PiwxMyw0Ml0KVGhlIHBvaW50cyBmb3IgdGhlIHN0dWRlbnRzIGFyZTogWzIsNSwwXS4gVGhlIHN1bSBvZiB0aGUgcG9pbnRzIGlzIDIrNSswPTcuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiMys1KjIiLCBhbnN3ZXJzID0gWzEzLDAsMTAsMTMsMTMsMTYsMTZdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAxOQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgY29ycmVjdCBhbnN3ZXIgb2YgdGhlIGV4cHJlc3Npb24gaXMgMTMsIHRoZXJlZm9yZSB0aHJlZSBzdHVkZW50cyBhcmUgcmV3YXJkZWQgNSBwb2ludHMgZWFjaDogWzxzdHJvbmc+PHU+MTM8L3U+PC9zdHJvbmc+LDAsMTAsPHN0cm9uZz48dT4xMzwvdT48L3N0cm9uZz4sPHN0cm9uZz48dT4xMzwvdT48L3N0cm9uZz4sMTYsMTZdCkEgc3R1ZGVudCBtaWdodCBoYXZlIGFwcGxpZWQgdGhlIG9wZXJhdG9ycyBpbiB0aGlzIHdyb25nIG9yZGVyOiAoKDMrNSkqMiA9IDE2LiBUaGVyZWZvcmUgdHdvIHN0dWRlbnRzIGFyZSByZXdhcmRlZCAyIHBvaW50czogWzEzLDAsMTAsMTMsMTMsPHN0cm9uZz48dT4xNjwvdT48L3N0cm9uZz4sPHN0cm9uZz48dT4xNjwvdT48L3N0cm9uZz5dClRoZSBwb2ludHMgZm9yIHRoZSBzdHVkZW50cyBhcmU6IFs1LDAsMCw1LDUsMiwyXS4gVGhlIHN1bSBvZiB0aGUgcG9pbnRzIGlzIDUrMCswKzUrNSsyKzI9MTkuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiNiswKjEiLCBhbnN3ZXJzID0gWzEyLDksNiw0LDgsNl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEwCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBjb3JyZWN0IGFuc3dlciBvZiB0aGUgZXhwcmVzc2lvbiBpcyA2LgpJZiBhIHN0dWRlbnQgaGFkIGluY29ycmVjdGx5IGRvbmUgKDYrMCkqMSwgdGhlIGFuc3dlciB3b3VsZCBhbHNvIGJlIDYuCkJ5IHRoZSBydWxlcyBvZiBncmFkaW5nLCB0aGUgc3R1ZGVudHMgd2lsbCBzdGlsbCBiZSByZXdhcmRlZCA1IHBvaW50cyAoYXMgdGhleSBnb3QgdGhlIGNvcnJlY3QgYW5zd2VyKSwgbm90IDIgcG9pbnRzLgpUaGUgcG9pbnRzIGZvciB0aGUgc3R1ZGVudHMgYXJlOiBbMCwwLDUsMCwwLDVdLiBUaGUgc3VtIG9mIHRoZSBwb2ludHMgaXMgMTAuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjMgJmx0Oz0gcy5sZW5ndGggJmx0Oz0gMzE8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnM8L2NvZGU+IHJlcHJlc2VudHMgYSB2YWxpZCBleHByZXNzaW9uIHRoYXQgY29udGFpbnMgb25seSBkaWdpdHMgPGNvZGU+MC05PC9jb2RlPiwgPGNvZGU+JysnPC9jb2RlPiwgYW5kIDxjb2RlPicqJzwvY29kZT4gb25seS48L2xpPgo8bGk+QWxsIHRoZSBpbnRlZ2VyIG9wZXJhbmRzIGluIHRoZSBleHByZXNzaW9uIGFyZSBpbiB0aGUgPHN0cm9uZz5pbmNsdXNpdmU8L3N0cm9uZz4gcmFuZ2UgPGNvZGU+WzAsIDldPC9jb2RlPi48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PTwvY29kZT4gVGhlIGNvdW50IG9mIGFsbCBvcGVyYXRvcnMgKDxjb2RlPicrJzwvY29kZT4gYW5kIDxjb2RlPicqJzwvY29kZT4pIGluIHRoZSBtYXRoIGV4cHJlc3Npb24gPGNvZGU+Jmx0Oz0gMTU8L2NvZGU+PC9saT4KPGxpPlRlc3QgZGF0YSBhcmUgZ2VuZXJhdGVkIHN1Y2ggdGhhdCB0aGUgY29ycmVjdCBhbnN3ZXIgb2YgdGhlIGV4cHJlc3Npb24gaXMgaW4gdGhlIHJhbmdlIG9mIDxjb2RlPlswLCAxMDAwXTwvY29kZT4uPC9saT4KPGxpPjxjb2RlPm4gPT0gYW5zd2Vycy5sZW5ndGg8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDxzdXA+NDwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+MCAmbHQ7PSBhbnN3ZXJzW2ldICZsdDs9IDEwMDA8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Math",
+ "String",
+ "Dynamic Programming",
+ "Stack",
+ "Memoization"
+ ]
+ },
+ {
+ "title": "2014. Longest Subsequence Repeated k Times",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBzdHJpbmcgPGNvZGU+czwvY29kZT4gb2YgbGVuZ3RoIDxjb2RlPm48L2NvZGU+LCBhbmQgYW4gaW50ZWdlciA8Y29kZT5rPC9jb2RlPi4gWW91IGFyZSB0YXNrZWQgdG8gZmluZCB0aGUgPHN0cm9uZz5sb25nZXN0IHN1YnNlcXVlbmNlIHJlcGVhdGVkPC9zdHJvbmc+IDxjb2RlPms8L2NvZGU+IHRpbWVzIGluIHN0cmluZyA8Y29kZT5zPC9jb2RlPi48L3A+CjxwPkEgPHN0cm9uZz5zdWJzZXF1ZW5jZTwvc3Ryb25nPiBpcyBhIHN0cmluZyB0aGF0IGNhbiBiZSBkZXJpdmVkIGZyb20gYW5vdGhlciBzdHJpbmcgYnkgZGVsZXRpbmcgc29tZSBvciBubyBjaGFyYWN0ZXJzIHdpdGhvdXQgY2hhbmdpbmcgdGhlIG9yZGVyIG9mIHRoZSByZW1haW5pbmcgY2hhcmFjdGVycy48L3A+CjxwPkEgc3Vic2VxdWVuY2UgPGNvZGU+c2VxPC9jb2RlPiBpcyA8c3Ryb25nPnJlcGVhdGVkPC9zdHJvbmc+IDxjb2RlPms8L2NvZGU+IHRpbWVzIGluIHRoZSBzdHJpbmcgPGNvZGU+czwvY29kZT4gaWYgPGNvZGU+c2VxICogazwvY29kZT4gaXMgYSBzdWJzZXF1ZW5jZSBvZiA8Y29kZT5zPC9jb2RlPiwgd2hlcmUgPGNvZGU+c2VxICogazwvY29kZT4gcmVwcmVzZW50cyBhIHN0cmluZyBjb25zdHJ1Y3RlZCBieSBjb25jYXRlbmF0aW5nIDxjb2RlPnNlcTwvY29kZT4gPGNvZGU+azwvY29kZT4gdGltZXMuPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgPGNvZGU+ImJiYSI8L2NvZGU+IGlzIHJlcGVhdGVkIDxjb2RlPjI8L2NvZGU+IHRpbWVzIGluIHRoZSBzdHJpbmcgPGNvZGU+ImJhYmFiY2JhIjwvY29kZT4sIGJlY2F1c2UgdGhlIHN0cmluZyA8Y29kZT4iYmJhYmJhIjwvY29kZT4sIGNvbnN0cnVjdGVkIGJ5IGNvbmNhdGVuYXRpbmcgPGNvZGU+ImJiYSI8L2NvZGU+IDxjb2RlPjI8L2NvZGU+IHRpbWVzLCBpcyBhIHN1YnNlcXVlbmNlIG9mIHRoZSBzdHJpbmcgPGNvZGU+IjxzdHJvbmc+PHU+YjwvdT48L3N0cm9uZz5hPHN0cm9uZz48dT5iYWI8L3U+PC9zdHJvbmc+YzxzdHJvbmc+PHU+YmE8L3U+PC9zdHJvbmc+IjwvY29kZT4uPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5sb25nZXN0IHN1YnNlcXVlbmNlIHJlcGVhdGVkPC9zdHJvbmc+IDwvZW0+PGNvZGU+azwvY29kZT48ZW0+IHRpbWVzIGluIHN0cmluZyA8L2VtPjxjb2RlPnM8L2NvZGU+PGVtPi4gSWYgbXVsdGlwbGUgc3VjaCBzdWJzZXF1ZW5jZXMgYXJlIGZvdW5kLCByZXR1cm4gdGhlIDxzdHJvbmc+bGV4aWNvZ3JhcGhpY2FsbHkgbGFyZ2VzdDwvc3Ryb25nPiBvbmUuIElmIHRoZXJlIGlzIG5vIHN1Y2ggc3Vic2VxdWVuY2UsIHJldHVybiBhbiA8c3Ryb25nPmVtcHR5PC9zdHJvbmc+IHN0cmluZzwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSJleGFtcGxlIDEiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8wOC8zMC9sb25nZXN0LXN1YnNlcXVlbmNlLXJlcGVhdC1rLXRpbWVzLnBuZyIgc3R5bGU9IndpZHRoOiA0NTdweDsgaGVpZ2h0OiA5OXB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAibGV0c2xlZXRjb2RlIiwgayA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICJsZXQiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGFyZSB0d28gbG9uZ2VzdCBzdWJzZXF1ZW5jZXMgcmVwZWF0ZWQgMiB0aW1lczogImxldCIgYW5kICJldGUiLgoibGV0IiBpcyB0aGUgbGV4aWNvZ3JhcGhpY2FsbHkgbGFyZ2VzdCBvbmUuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHMgPSAiYmIiLCBrID0gMgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gImIiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBsb25nZXN0IHN1YnNlcXVlbmNlIHJlcGVhdGVkIDIgdGltZXMgaXMgImIiLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBzID0gImFiIiwgayA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+ICIiCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZXJlIGlzIG5vIHN1YnNlcXVlbmNlIHJlcGVhdGVkIDIgdGltZXMuIEVtcHR5IHN0cmluZyBpcyByZXR1cm5lZC4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBzLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MiAmbHQ7PSBuLCBrICZsdDs9IDIwMDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjIgJmx0Oz0gbiAmbHQ7IGsgKiA4PC9jb2RlPjwvbGk+CjxsaT48Y29kZT5zPC9jb2RlPiBjb25zaXN0cyBvZiBsb3dlcmNhc2UgRW5nbGlzaCBsZXR0ZXJzLjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "String",
+ "Backtracking",
+ "Greedy",
+ "Counting",
+ "Enumeration"
+ ]
+ },
+ {
+ "title": "2025. Maximum Number of Ways to Partition an Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IG9mIGxlbmd0aCA8Y29kZT5uPC9jb2RlPi4gVGhlIG51bWJlciBvZiB3YXlzIHRvIDxzdHJvbmc+cGFydGl0aW9uPC9zdHJvbmc+IDxjb2RlPm51bXM8L2NvZGU+IGlzIHRoZSBudW1iZXIgb2YgPGNvZGU+cGl2b3Q8L2NvZGU+IGluZGljZXMgdGhhdCBzYXRpc2Z5IGJvdGggY29uZGl0aW9uczo8L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gcGl2b3QgJmx0OyBuPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5udW1zWzBdICsgbnVtc1sxXSArIC4uLiArIG51bXNbcGl2b3QgLSAxXSA9PSBudW1zW3Bpdm90XSArIG51bXNbcGl2b3QgKyAxXSArIC4uLiArIG51bXNbbiAtIDFdPC9jb2RlPjwvbGk+CjwvdWw+CjxwPllvdSBhcmUgYWxzbyBnaXZlbiBhbiBpbnRlZ2VyIDxjb2RlPms8L2NvZGU+LiBZb3UgY2FuIGNob29zZSB0byBjaGFuZ2UgdGhlIHZhbHVlIG9mIDxzdHJvbmc+b25lPC9zdHJvbmc+IGVsZW1lbnQgb2YgPGNvZGU+bnVtczwvY29kZT4gdG8gPGNvZGU+azwvY29kZT4sIG9yIHRvIGxlYXZlIHRoZSBhcnJheSA8c3Ryb25nPnVuY2hhbmdlZDwvc3Ryb25nPi48L3A+CjxwPlJldHVybiA8ZW0+dGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBwb3NzaWJsZSBudW1iZXIgb2Ygd2F5cyB0byA8c3Ryb25nPnBhcnRpdGlvbjwvc3Ryb25nPiA8L2VtPjxjb2RlPm51bXM8L2NvZGU+PGVtPiB0byBzYXRpc2Z5IGJvdGggY29uZGl0aW9ucyBhZnRlciBjaGFuZ2luZyA8c3Ryb25nPmF0IG1vc3Q8L3N0cm9uZz4gb25lIGVsZW1lbnQ8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMiwtMSwyXSwgayA9IDMKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gT25lIG9wdGltYWwgYXBwcm9hY2ggaXMgdG8gY2hhbmdlIG51bXNbMF0gdG8gay4gVGhlIGFycmF5IGJlY29tZXMgWzxzdHJvbmc+PHU+MzwvdT48L3N0cm9uZz4sLTEsMl0uClRoZXJlIGlzIG9uZSB3YXkgdG8gcGFydGl0aW9uIHRoZSBhcnJheToKLSBGb3IgcGl2b3QgPSAyLCB3ZSBoYXZlIHRoZSBwYXJ0aXRpb24gWzMsLTEgfCAyXTogMyArIC0xID09IDIuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMCwwLDBdLCBrID0gMQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgb3B0aW1hbCBhcHByb2FjaCBpcyB0byBsZWF2ZSB0aGUgYXJyYXkgdW5jaGFuZ2VkLgpUaGVyZSBhcmUgdHdvIHdheXMgdG8gcGFydGl0aW9uIHRoZSBhcnJheToKLSBGb3IgcGl2b3QgPSAxLCB3ZSBoYXZlIHRoZSBwYXJ0aXRpb24gWzAgfCAwLDBdOiAwID09IDAgKyAwLgotIEZvciBwaXZvdCA9IDIsIHdlIGhhdmUgdGhlIHBhcnRpdGlvbiBbMCwwIHwgMF06IDAgKyAwID09IDAuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMjIsNCwtMjUsLTIwLC0xNSwxNSwtMTYsNywxOSwtMTAsMCwtMTMsLTE0XSwgayA9IC0zMwo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gNAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBPbmUgb3B0aW1hbCBhcHByb2FjaCBpcyB0byBjaGFuZ2UgbnVtc1syXSB0byBrLiBUaGUgYXJyYXkgYmVjb21lcyBbMjIsNCw8dT48c3Ryb25nPi0zMzwvc3Ryb25nPjwvdT4sLTIwLC0xNSwxNSwtMTYsNywxOSwtMTAsMCwtMTMsLTE0XS4KVGhlcmUgYXJlIGZvdXIgd2F5cyB0byBwYXJ0aXRpb24gdGhlIGFycmF5Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT5uID09IG51bXMubGVuZ3RoPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4yICZsdDs9IG4gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPi0xMDxzdXA+NTwvc3VwPiAmbHQ7PSBrLCBudW1zW2ldICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "Counting",
+ "Enumeration",
+ "Prefix Sum"
+ ]
+ },
+ {
+ "title": "2003. Smallest Missing Genetic Value in Each Subtree",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGEgPHN0cm9uZz5mYW1pbHkgdHJlZTwvc3Ryb25nPiByb290ZWQgYXQgPGNvZGU+MDwvY29kZT4gY29uc2lzdGluZyBvZiA8Y29kZT5uPC9jb2RlPiBub2RlcyBudW1iZXJlZCA8Y29kZT4wPC9jb2RlPiB0byA8Y29kZT5uIC0gMTwvY29kZT4uIFlvdSBhcmUgZ2l2ZW4gYSA8c3Ryb25nPjAtaW5kZXhlZDwvc3Ryb25nPiBpbnRlZ2VyIGFycmF5IDxjb2RlPnBhcmVudHM8L2NvZGU+LCB3aGVyZSA8Y29kZT5wYXJlbnRzW2ldPC9jb2RlPiBpcyB0aGUgcGFyZW50IGZvciBub2RlIDxjb2RlPmk8L2NvZGU+LiBTaW5jZSBub2RlIDxjb2RlPjA8L2NvZGU+IGlzIHRoZSA8c3Ryb25nPnJvb3Q8L3N0cm9uZz4sIDxjb2RlPnBhcmVudHNbMF0gPT0gLTE8L2NvZGU+LjwvcD4KPHA+VGhlcmUgYXJlIDxjb2RlPjEwPHN1cD41PC9zdXA+PC9jb2RlPiBnZW5ldGljIHZhbHVlcywgZWFjaCByZXByZXNlbnRlZCBieSBhbiBpbnRlZ2VyIGluIHRoZSA8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPiByYW5nZSA8Y29kZT5bMSwgMTA8c3VwPjU8L3N1cD5dPC9jb2RlPi4gWW91IGFyZSBnaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXkgPGNvZGU+bnVtczwvY29kZT4sIHdoZXJlIDxjb2RlPm51bXNbaV08L2NvZGU+IGlzIGEgPHN0cm9uZz5kaXN0aW5jdCA8L3N0cm9uZz5nZW5ldGljIHZhbHVlIGZvciBub2RlIDxjb2RlPmk8L2NvZGU+LjwvcD4KPHA+UmV0dXJuIDxlbT5hbiBhcnJheSA8L2VtPjxjb2RlPmFuczwvY29kZT48ZW0+IG9mIGxlbmd0aCA8L2VtPjxjb2RlPm48L2NvZGU+PGVtPiB3aGVyZSA8L2VtPjxjb2RlPmFuc1tpXTwvY29kZT48ZW0+IGlzPC9lbT4gPGVtPnRoZSA8c3Ryb25nPnNtYWxsZXN0PC9zdHJvbmc+IGdlbmV0aWMgdmFsdWUgdGhhdCBpcyA8c3Ryb25nPm1pc3Npbmc8L3N0cm9uZz4gZnJvbSB0aGUgc3VidHJlZSByb290ZWQgYXQgbm9kZTwvZW0+IDxjb2RlPmk8L2NvZGU+LjwvcD4KPHA+VGhlIDxzdHJvbmc+c3VidHJlZTwvc3Ryb25nPiByb290ZWQgYXQgYSBub2RlIDxjb2RlPng8L2NvZGU+IGNvbnRhaW5zIG5vZGUgPGNvZGU+eDwvY29kZT4gYW5kIGFsbCBvZiBpdHMgPHN0cm9uZz5kZXNjZW5kYW50PC9zdHJvbmc+IG5vZGVzLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8wOC8yMy9jYXNlLTEucG5nIiBzdHlsZT0id2lkdGg6IDIwNHB4OyBoZWlnaHQ6IDE2N3B4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHBhcmVudHMgPSBbLTEsMCwwLDJdLCBudW1zID0gWzEsMiwzLDRdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbNSwxLDEsMV0KPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGFuc3dlciBmb3IgZWFjaCBzdWJ0cmVlIGlzIGNhbGN1bGF0ZWQgYXMgZm9sbG93czoKLSAwOiBUaGUgc3VidHJlZSBjb250YWlucyBub2RlcyBbMCwxLDIsM10gd2l0aCB2YWx1ZXMgWzEsMiwzLDRdLiA1IGlzIHRoZSBzbWFsbGVzdCBtaXNzaW5nIHZhbHVlLgotIDE6IFRoZSBzdWJ0cmVlIGNvbnRhaW5zIG9ubHkgbm9kZSAxIHdpdGggdmFsdWUgMi4gMSBpcyB0aGUgc21hbGxlc3QgbWlzc2luZyB2YWx1ZS4KLSAyOiBUaGUgc3VidHJlZSBjb250YWlucyBub2RlcyBbMiwzXSB3aXRoIHZhbHVlcyBbMyw0XS4gMSBpcyB0aGUgc21hbGxlc3QgbWlzc2luZyB2YWx1ZS4KLSAzOiBUaGUgc3VidHJlZSBjb250YWlucyBvbmx5IG5vZGUgMyB3aXRoIHZhbHVlIDQuIDEgaXMgdGhlIHNtYWxsZXN0IG1pc3NpbmcgdmFsdWUuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMDgvMjMvY2FzZS0yLnBuZyIgc3R5bGU9IndpZHRoOiAyNDdweDsgaGVpZ2h0OiAxNjhweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBwYXJlbnRzID0gWy0xLDAsMSwwLDMsM10sIG51bXMgPSBbNSw0LDYsMiwxLDNdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbNywxLDEsNCwyLDFdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBhbnN3ZXIgZm9yIGVhY2ggc3VidHJlZSBpcyBjYWxjdWxhdGVkIGFzIGZvbGxvd3M6Ci0gMDogVGhlIHN1YnRyZWUgY29udGFpbnMgbm9kZXMgWzAsMSwyLDMsNCw1XSB3aXRoIHZhbHVlcyBbNSw0LDYsMiwxLDNdLiA3IGlzIHRoZSBzbWFsbGVzdCBtaXNzaW5nIHZhbHVlLgotIDE6IFRoZSBzdWJ0cmVlIGNvbnRhaW5zIG5vZGVzIFsxLDJdIHdpdGggdmFsdWVzIFs0LDZdLiAxIGlzIHRoZSBzbWFsbGVzdCBtaXNzaW5nIHZhbHVlLgotIDI6IFRoZSBzdWJ0cmVlIGNvbnRhaW5zIG9ubHkgbm9kZSAyIHdpdGggdmFsdWUgNi4gMSBpcyB0aGUgc21hbGxlc3QgbWlzc2luZyB2YWx1ZS4KLSAzOiBUaGUgc3VidHJlZSBjb250YWlucyBub2RlcyBbMyw0LDVdIHdpdGggdmFsdWVzIFsyLDEsM10uIDQgaXMgdGhlIHNtYWxsZXN0IG1pc3NpbmcgdmFsdWUuCi0gNDogVGhlIHN1YnRyZWUgY29udGFpbnMgb25seSBub2RlIDQgd2l0aCB2YWx1ZSAxLiAyIGlzIHRoZSBzbWFsbGVzdCBtaXNzaW5nIHZhbHVlLgotIDU6IFRoZSBzdWJ0cmVlIGNvbnRhaW5zIG9ubHkgbm9kZSA1IHdpdGggdmFsdWUgMy4gMSBpcyB0aGUgc21hbGxlc3QgbWlzc2luZyB2YWx1ZS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcGFyZW50cyA9IFstMSwyLDMsMCwyLDQsMV0sIG51bXMgPSBbMiwzLDQsNSw2LDcsOF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsxLDEsMSwxLDEsMSwxXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgdmFsdWUgMSBpcyBtaXNzaW5nIGZyb20gYWxsIHRoZSBzdWJ0cmVlcy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+biA9PSBwYXJlbnRzLmxlbmd0aCA9PSBudW1zLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MiAmbHQ7PSBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IHBhcmVudHNbaV0gJmx0Oz0gbiAtIDE8L2NvZGU+IGZvciA8Y29kZT5pICE9IDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnBhcmVudHNbMF0gPT0gLTE8L2NvZGU+PC9saT4KPGxpPjxjb2RlPnBhcmVudHM8L2NvZGU+IHJlcHJlc2VudHMgYSB2YWxpZCB0cmVlLjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0gJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPkVhY2ggPGNvZGU+bnVtc1tpXTwvY29kZT4gaXMgZGlzdGluY3QuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Dynamic Programming",
+ "Tree",
+ "Depth-First Search",
+ "Union Find"
+ ]
+ },
+ {
+ "title": "1998. GCD Sort of an Array",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPiwgYW5kIHlvdSBjYW4gcGVyZm9ybSB0aGUgZm9sbG93aW5nIG9wZXJhdGlvbiA8c3Ryb25nPmFueTwvc3Ryb25nPiBudW1iZXIgb2YgdGltZXMgb24gPGNvZGU+bnVtczwvY29kZT46PC9wPgo8dWw+CjxsaT5Td2FwIHRoZSBwb3NpdGlvbnMgb2YgdHdvIGVsZW1lbnRzIDxjb2RlPm51bXNbaV08L2NvZGU+IGFuZCA8Y29kZT5udW1zW2pdPC9jb2RlPiBpZiA8Y29kZT5nY2QobnVtc1tpXSwgbnVtc1tqXSkgJmd0OyAxPC9jb2RlPiB3aGVyZSA8Y29kZT5nY2QobnVtc1tpXSwgbnVtc1tqXSk8L2NvZGU+IGlzIHRoZSA8c3Ryb25nPmdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yPC9zdHJvbmc+IG9mIDxjb2RlPm51bXNbaV08L2NvZGU+IGFuZCA8Y29kZT5udW1zW2pdPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGNvZGU+dHJ1ZTwvY29kZT4gPGVtPmlmIGl0IGlzIHBvc3NpYmxlIHRvIHNvcnQgPC9lbT48Y29kZT5udW1zPC9jb2RlPjxlbT4gaW4gPHN0cm9uZz5ub24tZGVjcmVhc2luZzwvc3Ryb25nPiBvcmRlciB1c2luZyB0aGUgYWJvdmUgc3dhcCBtZXRob2QsIG9yIDwvZW0+PGNvZGU+ZmFsc2U8L2NvZGU+PGVtPiBvdGhlcndpc2UuPC9lbT48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNywyMSwzXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gdHJ1ZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBXZSBjYW4gc29ydCBbNywyMSwzXSBieSBwZXJmb3JtaW5nIHRoZSBmb2xsb3dpbmcgb3BlcmF0aW9uczoKLSBTd2FwIDcgYW5kIDIxIGJlY2F1c2UgZ2NkKDcsMjEpID0gNy4gbnVtcyA9IFs8dT48c3Ryb25nPjIxPC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjc8L3N0cm9uZz48L3U+LDNdCi0gU3dhcCAyMSBhbmQgMyBiZWNhdXNlIGdjZCgyMSwzKSA9IDMuIG51bXMgPSBbPHU+PHN0cm9uZz4zPC9zdHJvbmc+PC91Piw3LDx1PjxzdHJvbmc+MjE8L3N0cm9uZz48L3U+XQo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzUsMiw2LDJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBmYWxzZQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBJdCBpcyBpbXBvc3NpYmxlIHRvIHNvcnQgdGhlIGFycmF5IGJlY2F1c2UgNSBjYW5ub3QgYmUgc3dhcHBlZCB3aXRoIGFueSBvdGhlciBlbGVtZW50Lgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEwLDUsOSwzLDE1XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gdHJ1ZQpXZSBjYW4gc29ydCBbMTAsNSw5LDMsMTVdIGJ5IHBlcmZvcm1pbmcgdGhlIGZvbGxvd2luZyBvcGVyYXRpb25zOgotIFN3YXAgMTAgYW5kIDE1IGJlY2F1c2UgZ2NkKDEwLDE1KSA9IDUuIG51bXMgPSBbPHU+PHN0cm9uZz4xNTwvc3Ryb25nPjwvdT4sNSw5LDMsPHU+PHN0cm9uZz4xMDwvc3Ryb25nPjwvdT5dCi0gU3dhcCAxNSBhbmQgMyBiZWNhdXNlIGdjZCgxNSwzKSA9IDMuIG51bXMgPSBbPHU+PHN0cm9uZz4zPC9zdHJvbmc+PC91Piw1LDksPHU+PHN0cm9uZz4xNTwvc3Ryb25nPjwvdT4sMTBdCi0gU3dhcCAxMCBhbmQgMTUgYmVjYXVzZSBnY2QoMTAsMTUpID0gNS4gbnVtcyA9IFszLDUsOSw8dT48c3Ryb25nPjEwPC9zdHJvbmc+PC91Piw8dT48c3Ryb25nPjE1PC9zdHJvbmc+PC91Pl0KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBudW1zLmxlbmd0aCAmbHQ7PSAzICogMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjIgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Math",
+ "Union Find",
+ "Sorting"
+ ]
+ },
+ {
+ "title": "2009. Minimum Number of Operations to Make Array Continuous",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPi4gSW4gb25lIG9wZXJhdGlvbiwgeW91IGNhbiByZXBsYWNlIDxzdHJvbmc+YW55PC9zdHJvbmc+IGVsZW1lbnQgaW4gPGNvZGU+bnVtczwvY29kZT4gd2l0aCA8c3Ryb25nPmFueTwvc3Ryb25nPiBpbnRlZ2VyLjwvcD4KPHA+PGNvZGU+bnVtczwvY29kZT4gaXMgY29uc2lkZXJlZCA8c3Ryb25nPmNvbnRpbnVvdXM8L3N0cm9uZz4gaWYgYm90aCBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIGZ1bGZpbGxlZDo8L3A+Cjx1bD4KPGxpPkFsbCBlbGVtZW50cyBpbiA8Y29kZT5udW1zPC9jb2RlPiBhcmUgPHN0cm9uZz51bmlxdWU8L3N0cm9uZz4uPC9saT4KPGxpPlRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIDxzdHJvbmc+bWF4aW11bTwvc3Ryb25nPiBlbGVtZW50IGFuZCB0aGUgPHN0cm9uZz5taW5pbXVtPC9zdHJvbmc+IGVsZW1lbnQgaW4gPGNvZGU+bnVtczwvY29kZT4gZXF1YWxzIDxjb2RlPm51bXMubGVuZ3RoIC0gMTwvY29kZT4uPC9saT4KPC91bD4KPHA+Rm9yIGV4YW1wbGUsIDxjb2RlPm51bXMgPSBbNCwgMiwgNSwgM108L2NvZGU+IGlzIDxzdHJvbmc+Y29udGludW91czwvc3Ryb25nPiwgYnV0IDxjb2RlPm51bXMgPSBbMSwgMiwgMywgNSwgNl08L2NvZGU+IGlzIDxzdHJvbmc+bm90IGNvbnRpbnVvdXM8L3N0cm9uZz4uPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSA8c3Ryb25nPm1pbmltdW08L3N0cm9uZz4gbnVtYmVyIG9mIG9wZXJhdGlvbnMgdG8gbWFrZSA8L2VtPjxjb2RlPm51bXM8L2NvZGU+PGVtPiA8L2VtPjxzdHJvbmc+PGVtPmNvbnRpbnVvdXM8L2VtPjwvc3Ryb25nPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNCwyLDUsM10KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz7CoG51bXMgaXMgYWxyZWFkeSBjb250aW51b3VzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMiwzLDUsNl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDEKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz7CoE9uZSBwb3NzaWJsZSBzb2x1dGlvbiBpcyB0byBjaGFuZ2UgdGhlIGxhc3QgZWxlbWVudCB0byA0LgpUaGUgcmVzdWx0aW5nIGFycmF5IGlzIFsxLDIsMyw1LDRdLCB3aGljaCBpcyBjb250aW51b3VzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW1zID0gWzEsMTAsMTAwLDEwMDBdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+wqBPbmUgcG9zc2libGUgc29sdXRpb24gaXMgdG86Ci0gQ2hhbmdlIHRoZSBzZWNvbmQgZWxlbWVudCB0byAyLgotIENoYW5nZSB0aGUgdGhpcmQgZWxlbWVudCB0byAzLgotIENoYW5nZSB0aGUgZm91cnRoIGVsZW1lbnQgdG8gNC4KVGhlIHJlc3VsdGluZyBhcnJheSBpcyBbMSwyLDMsNF0sIHdoaWNoIGlzIGNvbnRpbnVvdXMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtcy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtc1tpXSAmbHQ7PSAxMDxzdXA+OTwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search"
+ ]
+ },
+ {
+ "title": "1987. Number of Unique Good Subsequences",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYSBiaW5hcnkgc3RyaW5nIDxjb2RlPmJpbmFyeTwvY29kZT4uIEEgPHN0cm9uZz5zdWJzZXF1ZW5jZTwvc3Ryb25nPiBvZiA8Y29kZT5iaW5hcnk8L2NvZGU+IGlzIGNvbnNpZGVyZWQgPHN0cm9uZz5nb29kPC9zdHJvbmc+IGlmIGl0IGlzIDxzdHJvbmc+bm90IGVtcHR5PC9zdHJvbmc+IGFuZCBoYXMgPHN0cm9uZz5ubyBsZWFkaW5nIHplcm9zPC9zdHJvbmc+ICh3aXRoIHRoZSBleGNlcHRpb24gb2YgPGNvZGU+IjAiPC9jb2RlPikuPC9wPgo8cD5GaW5kIHRoZSBudW1iZXIgb2YgPHN0cm9uZz51bmlxdWUgZ29vZCBzdWJzZXF1ZW5jZXM8L3N0cm9uZz4gb2YgPGNvZGU+YmluYXJ5PC9jb2RlPi48L3A+Cjx1bD4KPGxpPkZvciBleGFtcGxlLCBpZiA8Y29kZT5iaW5hcnkgPSAiMDAxIjwvY29kZT4sIHRoZW4gYWxsIHRoZSA8c3Ryb25nPmdvb2Q8L3N0cm9uZz4gc3Vic2VxdWVuY2VzIGFyZSA8Y29kZT5bIjAiLCAiMCIsICIxIl08L2NvZGU+LCBzbyB0aGUgPHN0cm9uZz51bmlxdWU8L3N0cm9uZz4gZ29vZCBzdWJzZXF1ZW5jZXMgYXJlIDxjb2RlPiIwIjwvY29kZT4gYW5kIDxjb2RlPiIxIjwvY29kZT4uIE5vdGUgdGhhdCBzdWJzZXF1ZW5jZXMgPGNvZGU+IjAwIjwvY29kZT4sIDxjb2RlPiIwMSI8L2NvZGU+LCBhbmQgPGNvZGU+IjAwMSI8L2NvZGU+IGFyZSBub3QgZ29vZCBiZWNhdXNlIHRoZXkgaGF2ZSBsZWFkaW5nIHplcm9zLjwvbGk+CjwvdWw+CjxwPlJldHVybiA8ZW0+dGhlIG51bWJlciBvZiA8c3Ryb25nPnVuaXF1ZSBnb29kIHN1YnNlcXVlbmNlczwvc3Ryb25nPiBvZiA8L2VtPjxjb2RlPmJpbmFyeTwvY29kZT4uIFNpbmNlIHRoZSBhbnN3ZXIgbWF5IGJlIHZlcnkgbGFyZ2UsIHJldHVybiBpdCA8c3Ryb25nPm1vZHVsbzwvc3Ryb25nPiA8Y29kZT4xMDxzdXA+OTwvc3VwPiArIDc8L2NvZGU+LjwvcD4KPHA+QSA8c3Ryb25nPnN1YnNlcXVlbmNlPC9zdHJvbmc+IGlzIGEgc2VxdWVuY2UgdGhhdCBjYW4gYmUgZGVyaXZlZCBmcm9tIGFub3RoZXIgc2VxdWVuY2UgYnkgZGVsZXRpbmcgc29tZSBvciBubyBlbGVtZW50cyB3aXRob3V0IGNoYW5naW5nIHRoZSBvcmRlciBvZiB0aGUgcmVtYWluaW5nIGVsZW1lbnRzLjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gYmluYXJ5ID0gIjAwMSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGdvb2Qgc3Vic2VxdWVuY2VzIG9mIGJpbmFyeSBhcmUgWyIwIiwgIjAiLCAiMSJdLgpUaGUgdW5pcXVlIGdvb2Qgc3Vic2VxdWVuY2VzIGFyZSAiMCIgYW5kICIxIi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gYmluYXJ5ID0gIjExIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgZ29vZCBzdWJzZXF1ZW5jZXMgb2YgYmluYXJ5IGFyZSBbIjEiLCAiMSIsICIxMSJdLgpUaGUgdW5pcXVlIGdvb2Qgc3Vic2VxdWVuY2VzIGFyZSAiMSIgYW5kICIxMSIuPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gYmluYXJ5ID0gIjEwMSIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDUKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGdvb2Qgc3Vic2VxdWVuY2VzIG9mIGJpbmFyeSBhcmUgWyIxIiwgIjAiLCAiMSIsICIxMCIsICIxMSIsICIxMDEiXS4gClRoZSB1bmlxdWUgZ29vZCBzdWJzZXF1ZW5jZXMgYXJlICIwIiwgIjEiLCAiMTAiLCAiMTEiLCBhbmQgIjEwMSIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gYmluYXJ5Lmxlbmd0aCAmbHQ7PSAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+YmluYXJ5PC9jb2RlPiBjb25zaXN0cyBvZiBvbmx5IDxjb2RlPicwJzwvY29kZT5zIGFuZCA8Y29kZT4nMSc8L2NvZGU+cy48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "String",
+ "Dynamic Programming"
+ ]
+ },
+ {
+ "title": "1982. Find Array Given Subset Sums",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciA8Y29kZT5uPC9jb2RlPiByZXByZXNlbnRpbmcgdGhlIGxlbmd0aCBvZiBhbiB1bmtub3duIGFycmF5IHRoYXQgeW91IGFyZSB0cnlpbmcgdG8gcmVjb3Zlci4gWW91IGFyZSBhbHNvIGdpdmVuIGFuIGFycmF5IDxjb2RlPnN1bXM8L2NvZGU+IGNvbnRhaW5pbmcgdGhlIHZhbHVlcyBvZiBhbGwgPGNvZGU+MjxzdXA+bjwvc3VwPjwvY29kZT4gPHN0cm9uZz5zdWJzZXQgc3Vtczwvc3Ryb25nPiBvZiB0aGUgdW5rbm93biBhcnJheSAoaW4gbm8gcGFydGljdWxhciBvcmRlcikuPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSBhcnJheSA8L2VtPjxjb2RlPmFuczwvY29kZT48ZW0+IG9mIGxlbmd0aCA8L2VtPjxjb2RlPm48L2NvZGU+PGVtPiByZXByZXNlbnRpbmcgdGhlIHVua25vd24gYXJyYXkuIElmIDxzdHJvbmc+bXVsdGlwbGU8L3N0cm9uZz4gYW5zd2VycyBleGlzdCwgcmV0dXJuIDxzdHJvbmc+YW55PC9zdHJvbmc+IG9mIHRoZW08L2VtPi48L3A+CjxwPkFuIGFycmF5IDxjb2RlPnN1YjwvY29kZT4gaXMgYSA8c3Ryb25nPnN1YnNldDwvc3Ryb25nPiBvZiBhbiBhcnJheSA8Y29kZT5hcnI8L2NvZGU+IGlmIDxjb2RlPnN1YjwvY29kZT4gY2FuIGJlIG9idGFpbmVkIGZyb20gPGNvZGU+YXJyPC9jb2RlPiBieSBkZWxldGluZyBzb21lIChwb3NzaWJseSB6ZXJvIG9yIGFsbCkgZWxlbWVudHMgb2YgPGNvZGU+YXJyPC9jb2RlPi4gVGhlIHN1bSBvZiB0aGUgZWxlbWVudHMgaW4gPGNvZGU+c3ViPC9jb2RlPiBpcyBvbmUgcG9zc2libGUgPHN0cm9uZz5zdWJzZXQgc3VtPC9zdHJvbmc+IG9mIDxjb2RlPmFycjwvY29kZT4uIFRoZSBzdW0gb2YgYW4gZW1wdHkgYXJyYXkgaXMgY29uc2lkZXJlZCB0byBiZSA8Y29kZT4wPC9jb2RlPi48L3A+CjxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGVzdCBjYXNlcyBhcmUgZ2VuZXJhdGVkIHN1Y2ggdGhhdCB0aGVyZSB3aWxsIDxzdHJvbmc+YWx3YXlzPC9zdHJvbmc+IGJlIGF0IGxlYXN0IG9uZSBjb3JyZWN0IGFuc3dlci48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSAzLCBzdW1zID0gWy0zLC0yLC0xLDAsMCwxLDIsM10KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFsxLDIsLTNdCjxzdHJvbmc+RXhwbGFuYXRpb246IDwvc3Ryb25nPlsxLDIsLTNdIGlzIGFibGUgdG8gYWNoaWV2ZSB0aGUgZ2l2ZW4gc3Vic2V0IHN1bXM6Ci0gW106IHN1bSBpcyAwCi0gWzFdOiBzdW0gaXMgMQotIFsyXTogc3VtIGlzIDIKLSBbMSwyXTogc3VtIGlzIDMKLSBbLTNdOiBzdW0gaXMgLTMKLSBbMSwtM106IHN1bSBpcyAtMgotIFsyLC0zXTogc3VtIGlzIC0xCi0gWzEsMiwtM106IHN1bSBpcyAwCk5vdGUgdGhhdCBhbnkgcGVybXV0YXRpb24gb2YgWzEsMiwtM10gYW5kIGFsc28gYW55IHBlcm11dGF0aW9uIG9mIFstMSwtMiwzXSB3aWxsIGFsc28gYmUgYWNjZXB0ZWQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG4gPSAyLCBzdW1zID0gWzAsMCwwLDBdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMCwwXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgb25seSBjb3JyZWN0IGFuc3dlciBpcyBbMCwwXS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbiA9IDQsIHN1bXMgPSBbMCwwLDUsNSw0LC0xLDQsOSw5LC0xLDQsMyw0LDgsMyw4XQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzAsLTEsNCw1XQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBbMCwtMSw0LDVdIGlzIGFibGUgdG8gYWNoaWV2ZSB0aGUgZ2l2ZW4gc3Vic2V0IHN1bXMuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxNTwvY29kZT48L2xpPgo8bGk+PGNvZGU+c3Vtcy5sZW5ndGggPT0gMjxzdXA+bjwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+LTEwPHN1cD40PC9zdXA+ICZsdDs9IHN1bXNbaV0gJmx0Oz0gMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Divide and Conquer"
+ ]
+ },
+ {
+ "title": "1994. The Number of Good Subsets",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gYW4gaW50ZWdlciBhcnJheSA8Y29kZT5udW1zPC9jb2RlPi4gV2UgY2FsbCBhIHN1YnNldCBvZiA8Y29kZT5udW1zPC9jb2RlPiA8c3Ryb25nPmdvb2Q8L3N0cm9uZz4gaWYgaXRzIHByb2R1Y3QgY2FuIGJlIHJlcHJlc2VudGVkIGFzIGEgcHJvZHVjdCBvZiBvbmUgb3IgbW9yZSA8c3Ryb25nPmRpc3RpbmN0IHByaW1lPC9zdHJvbmc+IG51bWJlcnMuPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgaWYgPGNvZGU+bnVtcyA9IFsxLCAyLCAzLCA0XTwvY29kZT46CgoJPHVsPgo8bGk+PGNvZGU+WzIsIDNdPC9jb2RlPiwgPGNvZGU+WzEsIDIsIDNdPC9jb2RlPiwgYW5kIDxjb2RlPlsxLCAzXTwvY29kZT4gYXJlIDxzdHJvbmc+Z29vZDwvc3Ryb25nPiBzdWJzZXRzIHdpdGggcHJvZHVjdHMgPGNvZGU+NiA9IDIqMzwvY29kZT4sIDxjb2RlPjYgPSAyKjM8L2NvZGU+LCBhbmQgPGNvZGU+MyA9IDM8L2NvZGU+IHJlc3BlY3RpdmVseS48L2xpPgo8bGk+PGNvZGU+WzEsIDRdPC9jb2RlPiBhbmQgPGNvZGU+WzRdPC9jb2RlPiBhcmUgbm90IDxzdHJvbmc+Z29vZDwvc3Ryb25nPiBzdWJzZXRzIHdpdGggcHJvZHVjdHMgPGNvZGU+NCA9IDIqMjwvY29kZT4gYW5kIDxjb2RlPjQgPSAyKjI8L2NvZGU+IHJlc3BlY3RpdmVseS48L2xpPgo8L3VsPgo8L2xpPgo8L3VsPgo8cD5SZXR1cm4gPGVtPnRoZSBudW1iZXIgb2YgZGlmZmVyZW50IDxzdHJvbmc+Z29vZDwvc3Ryb25nPiBzdWJzZXRzIGluIDwvZW0+PGNvZGU+bnVtczwvY29kZT48ZW0+IDxzdHJvbmc+bW9kdWxvPC9zdHJvbmc+IDwvZW0+PGNvZGU+MTA8c3VwPjk8L3N1cD4gKyA3PC9jb2RlPi48L3A+CjxwPkEgPHN0cm9uZz5zdWJzZXQ8L3N0cm9uZz4gb2YgPGNvZGU+bnVtczwvY29kZT4gaXMgYW55IGFycmF5IHRoYXQgY2FuIGJlIG9idGFpbmVkIGJ5IGRlbGV0aW5nIHNvbWUgKHBvc3NpYmx5IG5vbmUgb3IgYWxsKSBlbGVtZW50cyBmcm9tIDxjb2RlPm51bXM8L2NvZGU+LiBUd28gc3Vic2V0cyBhcmUgZGlmZmVyZW50IGlmIGFuZCBvbmx5IGlmIHRoZSBjaG9zZW4gaW5kaWNlcyB0byBkZWxldGUgYXJlIGRpZmZlcmVudC48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMSwyLDMsNF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDYKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGdvb2Qgc3Vic2V0cyBhcmU6Ci0gWzEsMl06IHByb2R1Y3QgaXMgMiwgd2hpY2ggaXMgdGhlIHByb2R1Y3Qgb2YgZGlzdGluY3QgcHJpbWUgMi4KLSBbMSwyLDNdOiBwcm9kdWN0IGlzIDYsIHdoaWNoIGlzIHRoZSBwcm9kdWN0IG9mIGRpc3RpbmN0IHByaW1lcyAyIGFuZCAzLgotIFsxLDNdOiBwcm9kdWN0IGlzIDMsIHdoaWNoIGlzIHRoZSBwcm9kdWN0IG9mIGRpc3RpbmN0IHByaW1lIDMuCi0gWzJdOiBwcm9kdWN0IGlzIDIsIHdoaWNoIGlzIHRoZSBwcm9kdWN0IG9mIGRpc3RpbmN0IHByaW1lIDIuCi0gWzIsM106IHByb2R1Y3QgaXMgNiwgd2hpY2ggaXMgdGhlIHByb2R1Y3Qgb2YgZGlzdGluY3QgcHJpbWVzIDIgYW5kIDMuCi0gWzNdOiBwcm9kdWN0IGlzIDMsIHdoaWNoIGlzIHRoZSBwcm9kdWN0IG9mIGRpc3RpbmN0IHByaW1lIDMuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbNCwyLDMsMTVdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA1CjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBnb29kIHN1YnNldHMgYXJlOgotIFsyXTogcHJvZHVjdCBpcyAyLCB3aGljaCBpcyB0aGUgcHJvZHVjdCBvZiBkaXN0aW5jdCBwcmltZSAyLgotIFsyLDNdOiBwcm9kdWN0IGlzIDYsIHdoaWNoIGlzIHRoZSBwcm9kdWN0IG9mIGRpc3RpbmN0IHByaW1lcyAyIGFuZCAzLgotIFsyLDE1XTogcHJvZHVjdCBpcyAzMCwgd2hpY2ggaXMgdGhlIHByb2R1Y3Qgb2YgZGlzdGluY3QgcHJpbWVzIDIsIDMsIGFuZCA1LgotIFszXTogcHJvZHVjdCBpcyAzLCB3aGljaCBpcyB0aGUgcHJvZHVjdCBvZiBkaXN0aW5jdCBwcmltZSAzLgotIFsxNV06IHByb2R1Y3QgaXMgMTUsIHdoaWNoIGlzIHRoZSBwcm9kdWN0IG9mIGRpc3RpbmN0IHByaW1lcyAzIGFuZCA1Lgo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG51bXNbaV0gJmx0Oz0gMzA8L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Math",
+ "Dynamic Programming",
+ "Bit Manipulation",
+ "Bitmask"
+ ]
+ },
+ {
+ "title": "1970. Last Day Where You Can Still Cross",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGEgPHN0cm9uZz4xLWJhc2VkPC9zdHJvbmc+IGJpbmFyeSBtYXRyaXggd2hlcmUgPGNvZGU+MDwvY29kZT4gcmVwcmVzZW50cyBsYW5kIGFuZCA8Y29kZT4xPC9jb2RlPiByZXByZXNlbnRzIHdhdGVyLiBZb3UgYXJlIGdpdmVuIGludGVnZXJzIDxjb2RlPnJvdzwvY29kZT4gYW5kIDxjb2RlPmNvbDwvY29kZT4gcmVwcmVzZW50aW5nIHRoZSBudW1iZXIgb2Ygcm93cyBhbmQgY29sdW1ucyBpbiB0aGUgbWF0cml4LCByZXNwZWN0aXZlbHkuPC9wPgo8cD5Jbml0aWFsbHkgb24gZGF5IDxjb2RlPjA8L2NvZGU+LCB0aGUgPHN0cm9uZz5lbnRpcmU8L3N0cm9uZz4gbWF0cml4IGlzIDxzdHJvbmc+bGFuZDwvc3Ryb25nPi4gSG93ZXZlciwgZWFjaCBkYXkgYSBuZXcgY2VsbCBiZWNvbWVzIGZsb29kZWQgd2l0aCA8c3Ryb25nPndhdGVyPC9zdHJvbmc+LiBZb3UgYXJlIGdpdmVuIGEgPHN0cm9uZz4xLWJhc2VkPC9zdHJvbmc+IDJEIGFycmF5IDxjb2RlPmNlbGxzPC9jb2RlPiwgd2hlcmUgPGNvZGU+Y2VsbHNbaV0gPSBbcjxzdWI+aTwvc3ViPiwgYzxzdWI+aTwvc3ViPl08L2NvZGU+IHJlcHJlc2VudHMgdGhhdCBvbiB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IGRheSwgdGhlIGNlbGwgb24gdGhlIDxjb2RlPnI8c3ViPmk8L3N1Yj48c3VwPnRoPC9zdXA+PC9jb2RlPiByb3cgYW5kIDxjb2RlPmM8c3ViPmk8L3N1Yj48c3VwPnRoPC9zdXA+PC9jb2RlPiBjb2x1bW4gKDxzdHJvbmc+MS1iYXNlZDwvc3Ryb25nPiBjb29yZGluYXRlcykgd2lsbCBiZSBjb3ZlcmVkIHdpdGggPHN0cm9uZz53YXRlcjwvc3Ryb25nPiAoaS5lLiwgY2hhbmdlZCB0byA8Y29kZT4xPC9jb2RlPikuPC9wPgo8cD5Zb3Ugd2FudCB0byBmaW5kIHRoZSA8c3Ryb25nPmxhc3Q8L3N0cm9uZz4gZGF5IHRoYXQgaXQgaXMgcG9zc2libGUgdG8gd2FsayBmcm9tIHRoZSA8c3Ryb25nPnRvcDwvc3Ryb25nPiB0byB0aGUgPHN0cm9uZz5ib3R0b208L3N0cm9uZz4gYnkgb25seSB3YWxraW5nIG9uIGxhbmQgY2VsbHMuIFlvdSBjYW4gc3RhcnQgZnJvbSA8c3Ryb25nPmFueTwvc3Ryb25nPiBjZWxsIGluIHRoZSB0b3Agcm93IGFuZCBlbmQgYXQgPHN0cm9uZz5hbnk8L3N0cm9uZz4gY2VsbCBpbiB0aGUgYm90dG9tIHJvdy4gWW91IGNhbiBvbmx5IHRyYXZlbCBpbiB0aGU8c3Ryb25nPiBmb3VyPC9zdHJvbmc+IGNhcmRpbmFsIGRpcmVjdGlvbnMgKGxlZnQsIHJpZ2h0LCB1cCwgYW5kIGRvd24pLjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5sYXN0PC9zdHJvbmc+IGRheSB3aGVyZSBpdCBpcyBwb3NzaWJsZSB0byB3YWxrIGZyb20gdGhlIDxzdHJvbmc+dG9wPC9zdHJvbmc+IHRvIHRoZSA8c3Ryb25nPmJvdHRvbTwvc3Ryb25nPiBieSBvbmx5IHdhbGtpbmcgb24gbGFuZCBjZWxsczwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8wNy8yNy8xLnBuZyIgc3R5bGU9IndpZHRoOiA2MjRweDsgaGVpZ2h0OiAxNjJweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiByb3cgPSAyLCBjb2wgPSAyLCBjZWxscyA9IFtbMSwxXSxbMiwxXSxbMSwyXSxbMiwyXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDIKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIGFib3ZlIGltYWdlIGRlcGljdHMgaG93IHRoZSBtYXRyaXggY2hhbmdlcyBlYWNoIGRheSBzdGFydGluZyBmcm9tIGRheSAwLgpUaGUgbGFzdCBkYXkgd2hlcmUgaXQgaXMgcG9zc2libGUgdG8gY3Jvc3MgZnJvbSB0b3AgdG8gYm90dG9tIGlzIG9uIGRheSAyLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzA3LzI3LzIucG5nIiBzdHlsZT0id2lkdGg6IDUwNHB4OyBoZWlnaHQ6IDE3OHB4OyIvPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IHJvdyA9IDIsIGNvbCA9IDIsIGNlbGxzID0gW1sxLDFdLFsxLDJdLFsyLDFdLFsyLDJdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgYWJvdmUgaW1hZ2UgZGVwaWN0cyBob3cgdGhlIG1hdHJpeCBjaGFuZ2VzIGVhY2ggZGF5IHN0YXJ0aW5nIGZyb20gZGF5IDAuClRoZSBsYXN0IGRheSB3aGVyZSBpdCBpcyBwb3NzaWJsZSB0byBjcm9zcyBmcm9tIHRvcCB0byBib3R0b20gaXMgb24gZGF5IDEuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMDcvMjcvMy5wbmciIHN0eWxlPSJ3aWR0aDogNjY2cHg7IGhlaWdodDogMTY3cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcm93ID0gMywgY29sID0gMywgY2VsbHMgPSBbWzEsMl0sWzIsMV0sWzMsM10sWzIsMl0sWzEsMV0sWzEsM10sWzIsM10sWzMsMl0sWzMsMV1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiAzCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBhYm92ZSBpbWFnZSBkZXBpY3RzIGhvdyB0aGUgbWF0cml4IGNoYW5nZXMgZWFjaCBkYXkgc3RhcnRpbmcgZnJvbSBkYXkgMC4KVGhlIGxhc3QgZGF5IHdoZXJlIGl0IGlzIHBvc3NpYmxlIHRvIGNyb3NzIGZyb20gdG9wIHRvIGJvdHRvbSBpcyBvbiBkYXkgMy4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MiAmbHQ7PSByb3csIGNvbCAmbHQ7PSAyICogMTA8c3VwPjQ8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjQgJmx0Oz0gcm93ICogY29sICZsdDs9IDIgKiAxMDxzdXA+NDwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+Y2VsbHMubGVuZ3RoID09IHJvdyAqIGNvbDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSByPHN1Yj5pPC9zdWI+ICZsdDs9IHJvdzwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBjPHN1Yj5pPC9zdWI+ICZsdDs9IGNvbDwvY29kZT48L2xpPgo8bGk+QWxsIHRoZSB2YWx1ZXMgb2YgPGNvZGU+Y2VsbHM8L2NvZGU+IGFyZSA8c3Ryb25nPnVuaXF1ZTwvc3Ryb25nPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Depth-First Search",
+ "Breadth-First Search",
+ "Union Find",
+ "Matrix"
+ ]
+ },
+ {
+ "title": "1964. Find the Longest Valid Obstacle Course at Each Position",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSB3YW50IHRvIGJ1aWxkIHNvbWUgb2JzdGFjbGUgY291cnNlcy4gWW91IGFyZSBnaXZlbiBhIDxzdHJvbmc+MC1pbmRleGVkPC9zdHJvbmc+IGludGVnZXIgYXJyYXkgPGNvZGU+b2JzdGFjbGVzPC9jb2RlPiBvZiBsZW5ndGggPGNvZGU+bjwvY29kZT4sIHdoZXJlIDxjb2RlPm9ic3RhY2xlc1tpXTwvY29kZT4gZGVzY3JpYmVzIHRoZSBoZWlnaHQgb2YgdGhlIDxjb2RlPmk8c3VwPnRoPC9zdXA+PC9jb2RlPiBvYnN0YWNsZS48L3A+CjxwPkZvciBldmVyeSBpbmRleCA8Y29kZT5pPC9jb2RlPiBiZXR3ZWVuIDxjb2RlPjA8L2NvZGU+IGFuZCA8Y29kZT5uIC0gMTwvY29kZT4gKDxzdHJvbmc+aW5jbHVzaXZlPC9zdHJvbmc+KSwgZmluZCB0aGUgbGVuZ3RoIG9mIHRoZSA8c3Ryb25nPmxvbmdlc3Qgb2JzdGFjbGUgY291cnNlPC9zdHJvbmc+IGluIDxjb2RlPm9ic3RhY2xlczwvY29kZT4gc3VjaCB0aGF0OjwvcD4KPHVsPgo8bGk+WW91IGNob29zZSBhbnkgbnVtYmVyIG9mIG9ic3RhY2xlcyBiZXR3ZWVuIDxjb2RlPjA8L2NvZGU+IGFuZCA8Y29kZT5pPC9jb2RlPiA8c3Ryb25nPmluY2x1c2l2ZTwvc3Ryb25nPi48L2xpPgo8bGk+WW91IG11c3QgaW5jbHVkZSB0aGUgPGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+IG9ic3RhY2xlIGluIHRoZSBjb3Vyc2UuPC9saT4KPGxpPllvdSBtdXN0IHB1dCB0aGUgY2hvc2VuIG9ic3RhY2xlcyBpbiB0aGUgPHN0cm9uZz5zYW1lIG9yZGVyPC9zdHJvbmc+IGFzIHRoZXkgYXBwZWFyIGluIDxjb2RlPm9ic3RhY2xlczwvY29kZT4uPC9saT4KPGxpPkV2ZXJ5IG9ic3RhY2xlIChleGNlcHQgdGhlIGZpcnN0KSBpcyA8c3Ryb25nPnRhbGxlcjwvc3Ryb25nPiB0aGFuIG9yIHRoZSA8c3Ryb25nPnNhbWUgaGVpZ2h0PC9zdHJvbmc+IGFzIHRoZSBvYnN0YWNsZSBpbW1lZGlhdGVseSBiZWZvcmUgaXQuPC9saT4KPC91bD4KPHA+UmV0dXJuIDxlbT5hbiBhcnJheTwvZW0+IDxjb2RlPmFuczwvY29kZT4gPGVtPm9mIGxlbmd0aDwvZW0+IDxjb2RlPm48L2NvZGU+LCA8ZW0+d2hlcmU8L2VtPiA8Y29kZT5hbnNbaV08L2NvZGU+IDxlbT5pcyB0aGUgbGVuZ3RoIG9mIHRoZSA8c3Ryb25nPmxvbmdlc3Qgb2JzdGFjbGUgY291cnNlPC9zdHJvbmc+IGZvciBpbmRleDwvZW0+IDxjb2RlPmk8L2NvZGU+PGVtPiBhcyBkZXNjcmliZWQgYWJvdmU8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG9ic3RhY2xlcyA9IFsxLDIsMywyXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gWzEsMiwzLDNdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBsb25nZXN0IHZhbGlkIG9ic3RhY2xlIGNvdXJzZSBhdCBlYWNoIHBvc2l0aW9uIGlzOgotIGkgPSAwOiBbPHU+MTwvdT5dLCBbMV0gaGFzIGxlbmd0aCAxLgotIGkgPSAxOiBbPHU+MTwvdT4sPHU+MjwvdT5dLCBbMSwyXSBoYXMgbGVuZ3RoIDIuCi0gaSA9IDI6IFs8dT4xPC91Piw8dT4yPC91Piw8dT4zPC91Pl0sIFsxLDIsM10gaGFzIGxlbmd0aCAzLgotIGkgPSAzOiBbPHU+MTwvdT4sPHU+MjwvdT4sMyw8dT4yPC91Pl0sIFsxLDIsMl0gaGFzIGxlbmd0aCAzLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBvYnN0YWNsZXMgPSBbMiwyLDFdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMSwyLDFdCjxzdHJvbmc+RXhwbGFuYXRpb246IDwvc3Ryb25nPlRoZSBsb25nZXN0IHZhbGlkIG9ic3RhY2xlIGNvdXJzZSBhdCBlYWNoIHBvc2l0aW9uIGlzOgotIGkgPSAwOiBbPHU+MjwvdT5dLCBbMl0gaGFzIGxlbmd0aCAxLgotIGkgPSAxOiBbPHU+MjwvdT4sPHU+MjwvdT5dLCBbMiwyXSBoYXMgbGVuZ3RoIDIuCi0gaSA9IDI6IFsyLDIsPHU+MTwvdT5dLCBbMV0gaGFzIGxlbmd0aCAxLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAzOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBvYnN0YWNsZXMgPSBbMywxLDUsNiw0LDJdCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMSwxLDIsMywyLDJdCjxzdHJvbmc+RXhwbGFuYXRpb246PC9zdHJvbmc+IFRoZSBsb25nZXN0IHZhbGlkIG9ic3RhY2xlIGNvdXJzZSBhdCBlYWNoIHBvc2l0aW9uIGlzOgotIGkgPSAwOiBbPHU+MzwvdT5dLCBbM10gaGFzIGxlbmd0aCAxLgotIGkgPSAxOiBbMyw8dT4xPC91Pl0sIFsxXSBoYXMgbGVuZ3RoIDEuCi0gaSA9IDI6IFs8dT4zPC91PiwxLDx1PjU8L3U+XSwgWzMsNV0gaGFzIGxlbmd0aCAyLiBbMSw1XSBpcyBhbHNvIHZhbGlkLgotIGkgPSAzOiBbPHU+MzwvdT4sMSw8dT41PC91Piw8dT42PC91Pl0sIFszLDUsNl0gaGFzIGxlbmd0aCAzLiBbMSw1LDZdIGlzIGFsc28gdmFsaWQuCi0gaSA9IDQ6IFs8dT4zPC91PiwxLDUsNiw8dT40PC91Pl0sIFszLDRdIGhhcyBsZW5ndGggMi4gWzEsNF0gaXMgYWxzbyB2YWxpZC4KLSBpID0gNTogWzMsPHU+MTwvdT4sNSw2LDQsPHU+MjwvdT5dLCBbMSwyXSBoYXMgbGVuZ3RoIDIuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPm4gPT0gb2JzdGFjbGVzLmxlbmd0aDwvY29kZT48L2xpPgo8bGk+PGNvZGU+MSAmbHQ7PSBuICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IG9ic3RhY2xlc1tpXSAmbHQ7PSAxMDxzdXA+Nzwvc3VwPjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Binary Search",
+ "Binary Indexed Tree"
+ ]
+ },
+ {
+ "title": "1977. Number of Ways to Separate Numbers",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSB3cm90ZSBkb3duIG1hbnkgPHN0cm9uZz5wb3NpdGl2ZTwvc3Ryb25nPiBpbnRlZ2VycyBpbiBhIHN0cmluZyBjYWxsZWQgPGNvZGU+bnVtPC9jb2RlPi4gSG93ZXZlciwgeW91IHJlYWxpemVkIHRoYXQgeW91IGZvcmdvdCB0byBhZGQgY29tbWFzIHRvIHNlcGVyYXRlIHRoZSBkaWZmZXJlbnQgbnVtYmVycy4gWW91IHJlbWVtYmVyIHRoYXQgdGhlIGxpc3Qgb2YgaW50ZWdlcnMgd2FzIDxzdHJvbmc+bm9uLWRlY3JlYXNpbmc8L3N0cm9uZz4gYW5kIHRoYXQgPHN0cm9uZz5ubzwvc3Ryb25nPiBpbnRlZ2VyIGhhZCBsZWFkaW5nIHplcm9zLjwvcD4KPHA+UmV0dXJuIDxlbT50aGUgPHN0cm9uZz5udW1iZXIgb2YgcG9zc2libGUgbGlzdHMgb2YgaW50ZWdlcnM8L3N0cm9uZz4gdGhhdCB5b3UgY291bGQgaGF2ZSB3cml0dGVuIGRvd24gdG8gZ2V0IHRoZSBzdHJpbmcgPC9lbT48Y29kZT5udW08L2NvZGU+LiBTaW5jZSB0aGUgYW5zd2VyIG1heSBiZSBsYXJnZSwgcmV0dXJuIGl0IDxzdHJvbmc+bW9kdWxvPC9zdHJvbmc+IDxjb2RlPjEwPHN1cD45PC9zdXA+ICsgNzwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW0gPSAiMzI3Igo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMgo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBZb3UgY291bGQgaGF2ZSB3cml0dGVuIGRvd24gdGhlIG51bWJlcnM6CjMsIDI3CjMyNwo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBudW0gPSAiMDk0Igo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBObyBudW1iZXJzIGNhbiBoYXZlIGxlYWRpbmcgemVyb3MgYW5kIGFsbCBudW1iZXJzIG11c3QgYmUgcG9zaXRpdmUuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bSA9ICIwIgo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gMAo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBObyBudW1iZXJzIGNhbiBoYXZlIGxlYWRpbmcgemVyb3MgYW5kIGFsbCBudW1iZXJzIG11c3QgYmUgcG9zaXRpdmUuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjEgJmx0Oz0gbnVtLmxlbmd0aCAmbHQ7PSAzNTAwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT5udW08L2NvZGU+IGNvbnNpc3RzIG9mIGRpZ2l0cyA8Y29kZT4nMCc8L2NvZGU+IHRocm91Z2ggPGNvZGU+JzknPC9jb2RlPi48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "String",
+ "Dynamic Programming",
+ "Suffix Array"
+ ]
+ },
+ {
+ "title": "1955. Count Number of Special Subsequences",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkEgc2VxdWVuY2UgaXMgPHN0cm9uZz5zcGVjaWFsPC9zdHJvbmc+IGlmIGl0IGNvbnNpc3RzIG9mIGEgPHN0cm9uZz5wb3NpdGl2ZTwvc3Ryb25nPiBudW1iZXIgb2YgPGNvZGU+MDwvY29kZT5zLCBmb2xsb3dlZCBieSBhIDxzdHJvbmc+cG9zaXRpdmU8L3N0cm9uZz4gbnVtYmVyIG9mIDxjb2RlPjE8L2NvZGU+cywgdGhlbiBhIDxzdHJvbmc+cG9zaXRpdmU8L3N0cm9uZz4gbnVtYmVyIG9mIDxjb2RlPjI8L2NvZGU+cy48L3A+Cjx1bD4KPGxpPkZvciBleGFtcGxlLCA8Y29kZT5bMCwxLDJdPC9jb2RlPiBhbmQgPGNvZGU+WzAsMCwxLDEsMSwyXTwvY29kZT4gYXJlIHNwZWNpYWwuPC9saT4KPGxpPkluIGNvbnRyYXN0LCA8Y29kZT5bMiwxLDBdPC9jb2RlPiwgPGNvZGU+WzFdPC9jb2RlPiwgYW5kIDxjb2RlPlswLDEsMiwwXTwvY29kZT4gYXJlIG5vdCBzcGVjaWFsLjwvbGk+CjwvdWw+CjxwPkdpdmVuIGFuIGFycmF5IDxjb2RlPm51bXM8L2NvZGU+IChjb25zaXN0aW5nIG9mIDxzdHJvbmc+b25seTwvc3Ryb25nPiBpbnRlZ2VycyA8Y29kZT4wPC9jb2RlPiwgPGNvZGU+MTwvY29kZT4sIGFuZCA8Y29kZT4yPC9jb2RlPiksIHJldHVybjxlbT4gdGhlIDxzdHJvbmc+bnVtYmVyIG9mIGRpZmZlcmVudCBzdWJzZXF1ZW5jZXM8L3N0cm9uZz4gdGhhdCBhcmUgc3BlY2lhbDwvZW0+LiBTaW5jZSB0aGUgYW5zd2VyIG1heSBiZSB2ZXJ5IGxhcmdlLCA8c3Ryb25nPnJldHVybiBpdCBtb2R1bG8gPC9zdHJvbmc+PGNvZGU+MTA8c3VwPjk8L3N1cD4gKyA3PC9jb2RlPi48L3A+CjxwPkEgPHN0cm9uZz5zdWJzZXF1ZW5jZTwvc3Ryb25nPiBvZiBhbiBhcnJheSBpcyBhIHNlcXVlbmNlIHRoYXQgY2FuIGJlIGRlcml2ZWQgZnJvbSB0aGUgYXJyYXkgYnkgZGVsZXRpbmcgc29tZSBvciBubyBlbGVtZW50cyB3aXRob3V0IGNoYW5naW5nIHRoZSBvcmRlciBvZiB0aGUgcmVtYWluaW5nIGVsZW1lbnRzLiBUd28gc3Vic2VxdWVuY2VzIGFyZSA8c3Ryb25nPmRpZmZlcmVudDwvc3Ryb25nPiBpZiB0aGUgPHN0cm9uZz5zZXQgb2YgaW5kaWNlczwvc3Ryb25nPiBjaG9zZW4gYXJlIGRpZmZlcmVudC48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMCwxLDIsMl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHNwZWNpYWwgc3Vic2VxdWVuY2VzIGFyZSBib2xkZWQgWzxzdHJvbmc+PHU+MDwvdT48L3N0cm9uZz4sPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPiw8c3Ryb25nPjx1PjI8L3U+PC9zdHJvbmc+LDJdLCBbPHN0cm9uZz48dT4wPC91Pjwvc3Ryb25nPiw8c3Ryb25nPjx1PjE8L3U+PC9zdHJvbmc+LDIsPHN0cm9uZz48dT4yPC91Pjwvc3Ryb25nPl0sIGFuZCBbPHN0cm9uZz48dT4wPC91Pjwvc3Ryb25nPiw8c3Ryb25nPjx1PjE8L3U+PC9zdHJvbmc+LDxzdHJvbmc+PHU+MjwvdT48L3N0cm9uZz4sPHN0cm9uZz48dT4yPC91Pjwvc3Ryb25nPl0uCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDI6PC9zdHJvbmc+PC9wPgo8cHJlPjxzdHJvbmc+SW5wdXQ6PC9zdHJvbmc+IG51bXMgPSBbMiwyLDAsMF0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDAKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlcmUgYXJlIG5vIHNwZWNpYWwgc3Vic2VxdWVuY2VzIGluIFsyLDIsMCwwXS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbnVtcyA9IFswLDEsMiwwLDEsMl0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDcKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHNwZWNpYWwgc3Vic2VxdWVuY2VzIGFyZSBib2xkZWQ6Ci0gWzxzdHJvbmc+PHU+MDwvdT48L3N0cm9uZz4sPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPiw8c3Ryb25nPjx1PjI8L3U+PC9zdHJvbmc+LDAsMSwyXQotIFs8c3Ryb25nPjx1PjA8L3U+PC9zdHJvbmc+LDxzdHJvbmc+PHU+MTwvdT48L3N0cm9uZz4sMiwwLDEsPHN0cm9uZz48dT4yPC91Pjwvc3Ryb25nPl0KLSBbPHN0cm9uZz48dT4wPC91Pjwvc3Ryb25nPiw8c3Ryb25nPjx1PjE8L3U+PC9zdHJvbmc+LDxzdHJvbmc+PHU+MjwvdT48L3N0cm9uZz4sMCwxLDxzdHJvbmc+PHU+MjwvdT48L3N0cm9uZz5dCi0gWzxzdHJvbmc+PHU+MDwvdT48L3N0cm9uZz4sPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPiwyLDAsPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPiw8c3Ryb25nPjx1PjI8L3U+PC9zdHJvbmc+XQotIFs8c3Ryb25nPjx1PjA8L3U+PC9zdHJvbmc+LDEsMiw8c3Ryb25nPjx1PjA8L3U+PC9zdHJvbmc+LDxzdHJvbmc+PHU+MTwvdT48L3N0cm9uZz4sPHN0cm9uZz48dT4yPC91Pjwvc3Ryb25nPl0KLSBbPHN0cm9uZz48dT4wPC91Pjwvc3Ryb25nPiwxLDIsMCw8c3Ryb25nPjx1PjE8L3U+PC9zdHJvbmc+LDxzdHJvbmc+PHU+MjwvdT48L3N0cm9uZz5dCi0gWzAsMSwyLDxzdHJvbmc+PHU+MDwvdT48L3N0cm9uZz4sPHN0cm9uZz48dT4xPC91Pjwvc3Ryb25nPiw8c3Ryb25nPjx1PjI8L3U+PC9zdHJvbmc+XQo8L3ByZT4KPHA+wqA8L3A+CjxwPjxzdHJvbmc+Q29uc3RyYWludHM6PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48Y29kZT4xICZsdDs9IG51bXMubGVuZ3RoICZsdDs9IDEwPHN1cD41PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IG51bXNbaV0gJmx0Oz0gMjwvY29kZT48L2xpPgo8L3VsPgo8L2Rpdj48L2Rpdj4='",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Dynamic Programming"
+ ]
+ },
+ {
+ "title": "1948. Delete Duplicate Folders in System",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPkR1ZSB0byBhIGJ1ZywgdGhlcmUgYXJlIG1hbnkgZHVwbGljYXRlIGZvbGRlcnMgaW4gYSBmaWxlIHN5c3RlbS4gWW91IGFyZSBnaXZlbiBhIDJEIGFycmF5IDxjb2RlPnBhdGhzPC9jb2RlPiwgd2hlcmUgPGNvZGU+cGF0aHNbaV08L2NvZGU+IGlzIGFuIGFycmF5IHJlcHJlc2VudGluZyBhbiBhYnNvbHV0ZSBwYXRoIHRvIHRoZSA8Y29kZT5pPHN1cD50aDwvc3VwPjwvY29kZT4gZm9sZGVyIGluIHRoZSBmaWxlIHN5c3RlbS48L3A+Cjx1bD4KPGxpPkZvciBleGFtcGxlLCA8Y29kZT5bIm9uZSIsICJ0d28iLCAidGhyZWUiXTwvY29kZT4gcmVwcmVzZW50cyB0aGUgcGF0aCA8Y29kZT4iL29uZS90d28vdGhyZWUiPC9jb2RlPi48L2xpPgo8L3VsPgo8cD5Ud28gZm9sZGVycyAobm90IG5lY2Vzc2FyaWx5IG9uIHRoZSBzYW1lIGxldmVsKSBhcmUgPHN0cm9uZz5pZGVudGljYWw8L3N0cm9uZz4gaWYgdGhleSBjb250YWluIHRoZSA8c3Ryb25nPnNhbWUgbm9uLWVtcHR5PC9zdHJvbmc+IHNldCBvZiBpZGVudGljYWwgc3ViZm9sZGVycyBhbmQgdW5kZXJseWluZyBzdWJmb2xkZXIgc3RydWN0dXJlLiBUaGUgZm9sZGVycyA8c3Ryb25nPmRvIG5vdDwvc3Ryb25nPiBuZWVkIHRvIGJlIGF0IHRoZSByb290IGxldmVsIHRvIGJlIGlkZW50aWNhbC4gSWYgdHdvIG9yIG1vcmUgZm9sZGVycyBhcmUgPHN0cm9uZz5pZGVudGljYWw8L3N0cm9uZz4sIHRoZW4gPHN0cm9uZz5tYXJrPC9zdHJvbmc+IHRoZSBmb2xkZXJzIGFzIHdlbGwgYXMgYWxsIHRoZWlyIHN1YmZvbGRlcnMuPC9wPgo8dWw+CjxsaT5Gb3IgZXhhbXBsZSwgZm9sZGVycyA8Y29kZT4iL2EiPC9jb2RlPiBhbmQgPGNvZGU+Ii9iIjwvY29kZT4gaW4gdGhlIGZpbGUgc3RydWN0dXJlIGJlbG93IGFyZSBpZGVudGljYWwuIFRoZXkgKGFzIHdlbGwgYXMgdGhlaXIgc3ViZm9sZGVycykgc2hvdWxkIDxzdHJvbmc+YWxsPC9zdHJvbmc+IGJlIG1hcmtlZDoKCgk8dWw+CjxsaT48Y29kZT4vYTwvY29kZT48L2xpPgo8bGk+PGNvZGU+L2EveDwvY29kZT48L2xpPgo8bGk+PGNvZGU+L2EveC95PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4vYS96PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4vYjwvY29kZT48L2xpPgo8bGk+PGNvZGU+L2IveDwvY29kZT48L2xpPgo8bGk+PGNvZGU+L2IveC95PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4vYi96PC9jb2RlPjwvbGk+CjwvdWw+CjwvbGk+CjxsaT5Ib3dldmVyLCBpZiB0aGUgZmlsZSBzdHJ1Y3R1cmUgYWxzbyBpbmNsdWRlZCB0aGUgcGF0aCA8Y29kZT4iL2IvdyI8L2NvZGU+LCB0aGVuIHRoZSBmb2xkZXJzIDxjb2RlPiIvYSI8L2NvZGU+IGFuZCA8Y29kZT4iL2IiPC9jb2RlPiB3b3VsZCBub3QgYmUgaWRlbnRpY2FsLiBOb3RlIHRoYXQgPGNvZGU+Ii9hL3giPC9jb2RlPiBhbmQgPGNvZGU+Ii9iL3giPC9jb2RlPiB3b3VsZCBzdGlsbCBiZSBjb25zaWRlcmVkIGlkZW50aWNhbCBldmVuIHdpdGggdGhlIGFkZGVkIGZvbGRlci48L2xpPgo8L3VsPgo8cD5PbmNlIGFsbCB0aGUgaWRlbnRpY2FsIGZvbGRlcnMgYW5kIHRoZWlyIHN1YmZvbGRlcnMgaGF2ZSBiZWVuIG1hcmtlZCwgdGhlIGZpbGUgc3lzdGVtIHdpbGwgPHN0cm9uZz5kZWxldGU8L3N0cm9uZz4gYWxsIG9mIHRoZW0uIFRoZSBmaWxlIHN5c3RlbSBvbmx5IHJ1bnMgdGhlIGRlbGV0aW9uIG9uY2UsIHNvIGFueSBmb2xkZXJzIHRoYXQgYmVjb21lIGlkZW50aWNhbCBhZnRlciB0aGUgaW5pdGlhbCBkZWxldGlvbiBhcmUgbm90IGRlbGV0ZWQuPC9wPgo8cD5SZXR1cm4gPGVtPnRoZSAyRCBhcnJheSA8L2VtPjxjb2RlPmFuczwvY29kZT4gPGVtPmNvbnRhaW5pbmcgdGhlIHBhdGhzIG9mIHRoZSA8c3Ryb25nPnJlbWFpbmluZzwvc3Ryb25nPiBmb2xkZXJzIGFmdGVyIGRlbGV0aW5nIGFsbCB0aGUgbWFya2VkIGZvbGRlcnMuIFRoZSBwYXRocyBtYXkgYmUgcmV0dXJuZWQgaW4gPHN0cm9uZz5hbnk8L3N0cm9uZz4gb3JkZXI8L2VtPi48L3A+CjxwPsKgPC9wPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDE6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMDcvMTkvbGMtZHVwZm9sZGVyMS5qcGciIHN0eWxlPSJ3aWR0aDogMjAwcHg7IGhlaWdodDogMjE4cHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcGF0aHMgPSBbWyJhIl0sWyJjIl0sWyJkIl0sWyJhIiwiYiJdLFsiYyIsImIiXSxbImQiLCJhIl1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbWyJkIl0sWyJkIiwiYSJdXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBUaGUgZmlsZSBzdHJ1Y3R1cmUgaXMgYXMgc2hvd24uCkZvbGRlcnMgIi9hIiBhbmQgIi9jIiAoYW5kIHRoZWlyIHN1YmZvbGRlcnMpIGFyZSBtYXJrZWQgZm9yIGRlbGV0aW9uIGJlY2F1c2UgdGhleSBib3RoIGNvbnRhaW4gYW4gZW1wdHkKZm9sZGVyIG5hbWVkICJiIi4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8wNy8xOS9sYy1kdXBmb2xkZXIyLmpwZyIgc3R5bGU9IndpZHRoOiAyMDBweDsgaGVpZ2h0OiAzNTVweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBwYXRocyA9IFtbImEiXSxbImMiXSxbImEiLCJiIl0sWyJjIiwiYiJdLFsiYSIsImIiLCJ4Il0sWyJhIiwiYiIsIngiLCJ5Il0sWyJ3Il0sWyJ3IiwieSJdXQo8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz4gW1siYyJdLFsiYyIsImIiXSxbImEiXSxbImEiLCJiIl1dCjxzdHJvbmc+RXhwbGFuYXRpb246IDwvc3Ryb25nPlRoZSBmaWxlIHN0cnVjdHVyZSBpcyBhcyBzaG93bi4gCkZvbGRlcnMgIi9hL2IveCIgYW5kICIvdyIgKGFuZCB0aGVpciBzdWJmb2xkZXJzKSBhcmUgbWFya2VkIGZvciBkZWxldGlvbiBiZWNhdXNlIHRoZXkgYm90aCBjb250YWluIGFuIGVtcHR5IGZvbGRlciBuYW1lZCAieSIuCk5vdGUgdGhhdCBmb2xkZXJzICIvYSIgYW5kICIvYyIgYXJlIGlkZW50aWNhbCBhZnRlciB0aGUgZGVsZXRpb24sIGJ1dCB0aGV5IGFyZSBub3QgZGVsZXRlZCBiZWNhdXNlIHRoZXkgd2VyZSBub3QgbWFya2VkIGJlZm9yZWhhbmQuCjwvcHJlPgo8cD48c3Ryb25nIGNsYXNzPSJleGFtcGxlIj5FeGFtcGxlIDM6PC9zdHJvbmc+PC9wPgo8aW1nIGFsdD0iIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmxlZXRjb2RlLmNvbS91cGxvYWRzLzIwMjEvMDcvMTkvbGMtZHVwZm9sZGVyMy5qcGciIHN0eWxlPSJ3aWR0aDogMjAwcHg7IGhlaWdodDogMjAxcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcGF0aHMgPSBbWyJhIiwiYiJdLFsiYyIsImQiXSxbImMiXSxbImEiXV0KPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IFtbImMiXSxbImMiLCJkIl0sWyJhIl0sWyJhIiwiYiJdXQo8c3Ryb25nPkV4cGxhbmF0aW9uOjwvc3Ryb25nPiBBbGwgZm9sZGVycyBhcmUgdW5pcXVlIGluIHRoZSBmaWxlIHN5c3RlbS4KTm90ZSB0aGF0IHRoZSByZXR1cm5lZCBhcnJheSBjYW4gYmUgaW4gYSBkaWZmZXJlbnQgb3JkZXIgYXMgdGhlIG9yZGVyIGRvZXMgbm90IG1hdHRlci4KPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBwYXRocy5sZW5ndGggJmx0Oz0gMiAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHBhdGhzW2ldLmxlbmd0aCAmbHQ7PSA1MDA8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gcGF0aHNbaV1bal0ubGVuZ3RoICZsdDs9IDEwPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4xICZsdDs9IHN1bShwYXRoc1tpXVtqXS5sZW5ndGgpICZsdDs9IDIgKiAxMDxzdXA+NTwvc3VwPjwvY29kZT48L2xpPgo8bGk+PGNvZGU+cGF0aFtpXVtqXTwvY29kZT4gY29uc2lzdHMgb2YgbG93ZXJjYXNlIEVuZ2xpc2ggbGV0dGVycy48L2xpPgo8bGk+Tm8gdHdvIHBhdGhzIGxlYWQgdG8gdGhlIHNhbWUgZm9sZGVyLjwvbGk+CjxsaT5Gb3IgYW55IGZvbGRlciBub3QgYXQgdGhlIHJvb3QgbGV2ZWwsIGl0cyBwYXJlbnQgZm9sZGVyIHdpbGwgYWxzbyBiZSBpbiB0aGUgaW5wdXQuPC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Hash Table",
+ "String",
+ "Trie",
+ "Hash Function"
+ ]
+ },
+ {
+ "title": "1938. Maximum Genetic Difference Query",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPlRoZXJlIGlzIGEgcm9vdGVkIHRyZWUgY29uc2lzdGluZyBvZiA8Y29kZT5uPC9jb2RlPiBub2RlcyBudW1iZXJlZCA8Y29kZT4wPC9jb2RlPiB0byA8Y29kZT5uIC0gMTwvY29kZT4uIEVhY2ggbm9kZSdzIG51bWJlciBkZW5vdGVzIGl0cyA8c3Ryb25nPnVuaXF1ZSBnZW5ldGljIHZhbHVlPC9zdHJvbmc+IChpLmUuIHRoZSBnZW5ldGljIHZhbHVlIG9mIG5vZGUgPGNvZGU+eDwvY29kZT4gaXMgPGNvZGU+eDwvY29kZT4pLiBUaGUgPHN0cm9uZz5nZW5ldGljIGRpZmZlcmVuY2U8L3N0cm9uZz4gYmV0d2VlbiB0d28gZ2VuZXRpYyB2YWx1ZXMgaXMgZGVmaW5lZCBhcyB0aGUgPHN0cm9uZz5iaXR3aXNlLTwvc3Ryb25nPjxzdHJvbmc+WE9SPC9zdHJvbmc+IG9mIHRoZWlyIHZhbHVlcy4gWW91IGFyZSBnaXZlbiB0aGUgaW50ZWdlciBhcnJheSA8Y29kZT5wYXJlbnRzPC9jb2RlPiwgd2hlcmUgPGNvZGU+cGFyZW50c1tpXTwvY29kZT4gaXMgdGhlIHBhcmVudCBmb3Igbm9kZSA8Y29kZT5pPC9jb2RlPi4gSWYgbm9kZSA8Y29kZT54PC9jb2RlPiBpcyB0aGUgPHN0cm9uZz5yb290PC9zdHJvbmc+IG9mIHRoZSB0cmVlLCB0aGVuIDxjb2RlPnBhcmVudHNbeF0gPT0gLTE8L2NvZGU+LjwvcD4KPHA+WW91IGFyZSBhbHNvIGdpdmVuIHRoZSBhcnJheSA8Y29kZT5xdWVyaWVzPC9jb2RlPiB3aGVyZSA8Y29kZT5xdWVyaWVzW2ldID0gW25vZGU8c3ViPmk8L3N1Yj4sIHZhbDxzdWI+aTwvc3ViPl08L2NvZGU+LiBGb3IgZWFjaCBxdWVyeSA8Y29kZT5pPC9jb2RlPiwgZmluZCB0aGUgPHN0cm9uZz5tYXhpbXVtIGdlbmV0aWMgZGlmZmVyZW5jZTwvc3Ryb25nPiBiZXR3ZWVuIDxjb2RlPnZhbDxzdWI+aTwvc3ViPjwvY29kZT4gYW5kIDxjb2RlPnA8c3ViPmk8L3N1Yj48L2NvZGU+LCB3aGVyZSA8Y29kZT5wPHN1Yj5pPC9zdWI+PC9jb2RlPiBpcyB0aGUgZ2VuZXRpYyB2YWx1ZSBvZiBhbnkgbm9kZSB0aGF0IGlzIG9uIHRoZSBwYXRoIGJldHdlZW4gPGNvZGU+bm9kZTxzdWI+aTwvc3ViPjwvY29kZT4gYW5kIHRoZSByb290IChpbmNsdWRpbmcgPGNvZGU+bm9kZTxzdWI+aTwvc3ViPjwvY29kZT4gYW5kIHRoZSByb290KS4gTW9yZSBmb3JtYWxseSwgeW91IHdhbnQgdG8gbWF4aW1pemUgPGNvZGU+dmFsPHN1Yj5pPC9zdWI+IFhPUiBwPHN1Yj5pPC9zdWI+PC9jb2RlPi48L3A+CjxwPlJldHVybiA8ZW0+YW4gYXJyYXkgPC9lbT48Y29kZT5hbnM8L2NvZGU+PGVtPiB3aGVyZSA8L2VtPjxjb2RlPmFuc1tpXTwvY29kZT48ZW0+IGlzIHRoZSBhbnN3ZXIgdG8gdGhlIDwvZW0+PGNvZGU+aTxzdXA+dGg8L3N1cD48L2NvZGU+PGVtPiBxdWVyeTwvZW0+LjwvcD4KPHA+wqA8L3A+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMTo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8wNi8yOS9jMS5wbmciIHN0eWxlPSJ3aWR0aDogMTE4cHg7IGhlaWdodDogMTYzcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcGFyZW50cyA9IFstMSwwLDEsMV0sIHF1ZXJpZXMgPSBbWzAsMl0sWzMsMl0sWzIsNV1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbMiwzLDddCjxzdHJvbmc+RXhwbGFuYXRpb246IDwvc3Ryb25nPlRoZSBxdWVyaWVzIGFyZSBwcm9jZXNzZWQgYXMgZm9sbG93czoKLSBbMCwyXTogVGhlIG5vZGUgd2l0aCB0aGUgbWF4aW11bSBnZW5ldGljIGRpZmZlcmVuY2UgaXMgMCwgd2l0aCBhIGRpZmZlcmVuY2Ugb2YgMiBYT1IgMCA9IDIuCi0gWzMsMl06IFRoZSBub2RlIHdpdGggdGhlIG1heGltdW0gZ2VuZXRpYyBkaWZmZXJlbmNlIGlzIDEsIHdpdGggYSBkaWZmZXJlbmNlIG9mIDIgWE9SIDEgPSAzLgotIFsyLDVdOiBUaGUgbm9kZSB3aXRoIHRoZSBtYXhpbXVtIGdlbmV0aWMgZGlmZmVyZW5jZSBpcyAyLCB3aXRoIGEgZGlmZmVyZW5jZSBvZiA1IFhPUiAyID0gNy4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMjo8L3N0cm9uZz48L3A+CjxpbWcgYWx0PSIiIHNyYz0iaHR0cHM6Ly9hc3NldHMubGVldGNvZGUuY29tL3VwbG9hZHMvMjAyMS8wNi8yOS9jMi5wbmciIHN0eWxlPSJ3aWR0aDogMjU2cHg7IGhlaWdodDogMjIxcHg7Ii8+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gcGFyZW50cyA9IFszLDcsLTEsMiwwLDcsMCwyXSwgcXVlcmllcyA9IFtbNCw2XSxbMSwxNV0sWzAsNV1dCjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiBbNiwxNCw3XQo8c3Ryb25nPkV4cGxhbmF0aW9uOiA8L3N0cm9uZz5UaGUgcXVlcmllcyBhcmUgcHJvY2Vzc2VkIGFzIGZvbGxvd3M6Ci0gWzQsNl06IFRoZSBub2RlIHdpdGggdGhlIG1heGltdW0gZ2VuZXRpYyBkaWZmZXJlbmNlIGlzIDAsIHdpdGggYSBkaWZmZXJlbmNlIG9mIDYgWE9SIDAgPSA2LgotIFsxLDE1XTogVGhlIG5vZGUgd2l0aCB0aGUgbWF4aW11bSBnZW5ldGljIGRpZmZlcmVuY2UgaXMgMSwgd2l0aCBhIGRpZmZlcmVuY2Ugb2YgMTUgWE9SIDEgPSAxNC4KLSBbMCw1XTogVGhlIG5vZGUgd2l0aCB0aGUgbWF4aW11bSBnZW5ldGljIGRpZmZlcmVuY2UgaXMgMiwgd2l0aCBhIGRpZmZlcmVuY2Ugb2YgNSBYT1IgMiA9IDcuCjwvcHJlPgo8cD7CoDwvcD4KPHA+PHN0cm9uZz5Db25zdHJhaW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxjb2RlPjIgJmx0Oz0gcGFyZW50cy5sZW5ndGggJmx0Oz0gMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPGxpPjxjb2RlPjAgJmx0Oz0gcGFyZW50c1tpXSAmbHQ7PSBwYXJlbnRzLmxlbmd0aCAtIDE8L2NvZGU+IGZvciBldmVyeSBub2RlIDxjb2RlPmk8L2NvZGU+IHRoYXQgaXMgPHN0cm9uZz5ub3Q8L3N0cm9uZz4gdGhlIHJvb3QuPC9saT4KPGxpPjxjb2RlPnBhcmVudHNbcm9vdF0gPT0gLTE8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gcXVlcmllcy5sZW5ndGggJmx0Oz0gMyAqIDEwPHN1cD40PC9zdXA+PC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IG5vZGU8c3ViPmk8L3N1Yj4gJmx0Oz0gcGFyZW50cy5sZW5ndGggLSAxPC9jb2RlPjwvbGk+CjxsaT48Y29kZT4wICZsdDs9IHZhbDxzdWI+aTwvc3ViPiAmbHQ7PSAyICogMTA8c3VwPjU8L3N1cD48L2NvZGU+PC9saT4KPC91bD4KPC9kaXY+PC9kaXY+'",
+ "difficulty": "Hard",
+ "topic": [
+ "Array",
+ "Bit Manipulation",
+ "Trie"
+ ]
+ },
+ {
+ "title": "1931. Painting a Grid With Three Different Colors",
+ "questionDesc": "'PGRpdiBjbGFzcz0iY29udGVudF9fdTNJMSBxdWVzdGlvbi1jb250ZW50X19KZmdSIj48ZGl2PjxwPllvdSBhcmUgZ2l2ZW4gdHdvIGludGVnZXJzIDxjb2RlPm08L2NvZGU+IGFuZCA8Y29kZT5uPC9jb2RlPi4gQ29uc2lkZXIgYW4gPGNvZGU+bSB4IG48L2NvZGU+IGdyaWQgd2hlcmUgZWFjaCBjZWxsIGlzIGluaXRpYWxseSB3aGl0ZS4gWW91IGNhbiBwYWludCBlYWNoIGNlbGwgPHN0cm9uZz5yZWQ8L3N0cm9uZz4sIDxzdHJvbmc+Z3JlZW48L3N0cm9uZz4sIG9yIDxzdHJvbmc+Ymx1ZTwvc3Ryb25nPi4gQWxsIGNlbGxzIDxzdHJvbmc+bXVzdDwvc3Ryb25nPiBiZSBwYWludGVkLjwvcD4KPHA+UmV0dXJuPGVtPiB0aGUgbnVtYmVyIG9mIHdheXMgdG8gY29sb3IgdGhlIGdyaWQgd2l0aCA8c3Ryb25nPm5vIHR3byBhZGphY2VudCBjZWxscyBoYXZpbmcgdGhlIHNhbWUgY29sb3I8L3N0cm9uZz48L2VtPi4gU2luY2UgdGhlIGFuc3dlciBjYW4gYmUgdmVyeSBsYXJnZSwgcmV0dXJuIGl0IDxzdHJvbmc+bW9kdWxvPC9zdHJvbmc+IDxjb2RlPjEwPHN1cD45PC9zdXA+ICsgNzwvY29kZT4uPC9wPgo8cD7CoDwvcD4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAxOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzA2LzIyL2NvbG9ydGhlZ3JpZC5wbmciIHN0eWxlPSJ3aWR0aDogMjAwcHg7IGhlaWdodDogNTBweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBtID0gMSwgbiA9IDEKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDMKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHRocmVlIHBvc3NpYmxlIGNvbG9yaW5ncyBhcmUgc2hvd24gaW4gdGhlIGltYWdlIGFib3ZlLgo8L3ByZT4KPHA+PHN0cm9uZyBjbGFzcz0iZXhhbXBsZSI+RXhhbXBsZSAyOjwvc3Ryb25nPjwvcD4KPGltZyBhbHQ9IiIgc3JjPSJodHRwczovL2Fzc2V0cy5sZWV0Y29kZS5jb20vdXBsb2Fkcy8yMDIxLzA2LzIyL2NvcHktb2YtY29sb3J0aGVncmlkLnBuZyIgc3R5bGU9IndpZHRoOiAzMjFweDsgaGVpZ2h0OiAxMjFweDsiLz4KPHByZT48c3Ryb25nPklucHV0Ojwvc3Ryb25nPiBtID0gMSwgbiA9IDIKPHN0cm9uZz5PdXRwdXQ6PC9zdHJvbmc+IDYKPHN0cm9uZz5FeHBsYW5hdGlvbjo8L3N0cm9uZz4gVGhlIHNpeCBwb3NzaWJsZSBjb2xvcmluZ3MgYXJlIHNob3duIGluIHRoZSBpbWFnZSBhYm92ZS4KPC9wcmU+CjxwPjxzdHJvbmcgY2xhc3M9ImV4YW1wbGUiPkV4YW1wbGUgMzo8L3N0cm9uZz48L3A+CjxwcmU+PHN0cm9uZz5JbnB1dDo8L3N0cm9uZz4gbSA9IDUsIG4gPSA1CjxzdHJvbmc+T3V0cHV0Ojwvc3Ryb25nPiA1ODA5ODYKPC9wcmU+CjxwPsKgPC9wPgo8cD48c3Ryb25nPkNvbnN0cmFpbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+PGNvZGU+MSAmbHQ7PSBtICZsdDs9IDU8L2NvZGU+PC9saT4KPGxpPjxjb2RlPjEgJmx0Oz0gbiAmbHQ7PSAxMDAwPC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2PjwvZGl2Pg=='",
+ "difficulty": "Hard",
+ "topic": [
+ "Dynamic Programming"
+ ]
+ }
+]
diff --git a/question-service/question-service-mongodb/seed-mongodb/seed-mongodb.js b/question-service/question-service-mongodb/seed-mongodb/seed-mongodb.js
new file mode 100644
index 0000000..1e16191
--- /dev/null
+++ b/question-service/question-service-mongodb/seed-mongodb/seed-mongodb.js
@@ -0,0 +1,31 @@
+import mongoose from 'mongoose'
+import { Question } from './question-model.js'
+import { questionData } from './questionData.js'
+import "dotenv/config";
+
+mongoose.connect('mongodb://' + process.env.QN_MONGO_IP + ':' + process.env.QN_MONGO_PORT, {
+ useNewUrlParser: true, useUnifiedTopology: true
+}).then(() => {
+ console.log('Connected to MongoDB instance.')
+}).catch((err) => {
+ console.log(err)
+})
+
+const seedDB = async () => {
+ let count = await Question.count()
+ // console.log(count)
+ if (count > 0) {
+ await Question.deleteMany({})
+ }
+ // count = await Question.count()
+ // console.log(count)
+ await Question.insertMany(questionData)
+ // count = await Question.count()
+ // console.log(count)
+}
+
+seedDB().then(() => {
+ console.log('Closing connection.')
+}).then(() => {
+ mongoose.connection.close()
+})
\ No newline at end of file
diff --git a/user-service/.dockerignore b/user-service/.dockerignore
new file mode 100644
index 0000000..edd83c0
--- /dev/null
+++ b/user-service/.dockerignore
@@ -0,0 +1,4 @@
+node_modules
+npm-debug.log
+Dockerfile
+.dockerignore
\ No newline at end of file
diff --git a/user-service/Dockerfile b/user-service/Dockerfile
new file mode 100644
index 0000000..86b1a31
--- /dev/null
+++ b/user-service/Dockerfile
@@ -0,0 +1,19 @@
+
+FROM node:latest
+
+RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app
+
+WORKDIR /home/node/app
+
+COPY --chown=node:node package*.json ./
+
+USER node
+
+RUN npm install
+
+COPY --chown=node:node . .
+
+EXPOSE 8000
+
+CMD [ "node", "index.js" ]
+
diff --git a/user-service/common/common.js b/user-service/common/common.js
new file mode 100644
index 0000000..17ba12a
--- /dev/null
+++ b/user-service/common/common.js
@@ -0,0 +1,3 @@
+export const extractSubstring = (string,index,delimiter) => {
+ return string.split(delimiter)[index];
+};
diff --git a/user-service/common/constants.js b/user-service/common/constants.js
new file mode 100644
index 0000000..bb91f41
--- /dev/null
+++ b/user-service/common/constants.js
@@ -0,0 +1,3 @@
+export const BRCYPT_COST = 6;
+export const JWT_SECRET_KEY = process.env.JWT_SECRET_KEY;
+export const JWT_EXPIRY = 1 * 24 * 60 * 60;
\ No newline at end of file
diff --git a/user-service/controller/auth-controller.js b/user-service/controller/auth-controller.js
new file mode 100644
index 0000000..7013d33
--- /dev/null
+++ b/user-service/controller/auth-controller.js
@@ -0,0 +1,73 @@
+import bcrypt from "bcrypt";
+import { signAccessToken } from "../helper/jwt-auth.js";
+import { blacklistToken, checkIfTokenBlacklisted } from "../helper/redis.js";
+import {
+ ormFindUserByUsername as _findUserByUsername,
+ ormDeleteUser as _deleteUser,
+} from "../model/user-orm.js";
+
+export async function logUserIn(req, res) {
+ try {
+ const { username, password } = req.body;
+ if (!(username && password)) {
+ return res
+ .status(400)
+ .json({ message: "Username and/or Password are missing!" });
+ }
+
+ const currUser = await _findUserByUsername(username);
+ if (currUser) {
+ bcrypt.compare(
+ password,
+ currUser.password,
+ async function (err, success) {
+ if (err) {
+ return res.status(500).json({
+ success: false,
+ message:
+ "Authentication Internal Server Error: Please contact admin.",
+ });
+ }
+ if (success) {
+ const token = await signAccessToken(username);
+ return res.status(200).json({
+ // userId: currUser._id,
+ success: true,
+ token,
+ message: "Authentication Success: Log-in Completed",
+ });
+ } else {
+ return res.status(401).json({
+ success: false,
+ message:
+ "Authentication Error: Wrong log-in credentials",
+ });
+ }
+ }
+ );
+ } else {
+ return res.status(401).json({
+ success: false,
+ message: "Authentication Error: Wrong log-in credentials",
+ });
+ }
+ } catch (err) {
+ return res
+ .status(500)
+ .json({ message: `Internal Server Error during Log-in ${err}` });
+ }
+}
+
+export const logoutUser = async (req, res) => {
+ await blacklistToken(req.headers["authorization"]);
+ const isBlacklisted = await checkIfTokenBlacklisted(
+ req.headers["authorization"]
+ );
+ if (isBlacklisted) {
+ return res
+ .status(200)
+ .json({ messsage: "User logged out w/ JWT invalidated" });
+ } else {
+ return res.status(500).json({ message: "Failed to blacklist JWT" });
+ }
+};
diff --git a/user-service/controller/user-controller.js b/user-service/controller/user-controller.js
index e3c7d7b..00819de 100644
--- a/user-service/controller/user-controller.js
+++ b/user-service/controller/user-controller.js
@@ -1,21 +1,145 @@
-import { ormCreateUser as _createUser } from '../model/user-orm.js'
+import {
+ ormCreateUser as _createUser,
+ ormUserExists as _checkUserExists,
+ ormFindUserByUsername as _findUserByUsername,
+ ormDeleteUser as _deleteUser,
+ ormUpdateUser as _updateUser,
+} from "../model/user-orm.js";
+import bcrypt from "bcrypt";
+import { BRCYPT_COST } from "../common/constants.js";
+import { blacklistToken } from "../helper/redis.js";
export async function createUser(req, res) {
try {
const { username, password } = req.body;
+ const userExists = await _checkUserExists(username);
+
+ if (userExists) {
+ return res.status(400).json({
+ message: "(Duplicate Username): Kindly pick another username.",
+ });
+ }
if (username && password) {
- const resp = await _createUser(username, password);
- console.log(resp);
+ const encryptedPassword = await bcrypt.hash(password, BRCYPT_COST);
+ const resp = await _createUser(username, encryptedPassword);
if (resp.err) {
- return res.status(400).json({message: 'Could not create a new user!'});
+ return res
+ .status(400)
+ .json({ message: "Could not create a new user!" });
} else {
- console.log(`Created new user ${username} successfully!`)
- return res.status(201).json({message: `Created new user ${username} successfully!`});
+ console.log(`Created new user ${username} successfully!`);
+ return res.status(201).json({
+ message: `Created new user ${username} successfully!`,
+ });
}
} else {
- return res.status(400).json({message: 'Username and/or Password are missing!'});
+ return res
+ .status(400)
+ .json({ message: "Username and/or Password are missing!" });
+ }
+ } catch (err) {
+ return res
+ .status(500)
+ .json({ message: "Database failure when creating new user!" });
+ }
+}
+
+export async function deleteUser(req, res) {
+ try {
+ const { username, password } = req.body;
+
+ if (!(username && password)) {
+ return res.status(400).json({
+ message: "Username and/or Password are missing!",
+ });
+ }
+
+ const currUser = await _findUserByUsername(username);
+ if (currUser) {
+ bcrypt.compare(
+ password,
+ currUser.password,
+ async function (err, success) {
+ if (err) {
+ return res.status(500).json({
+ success: false,
+ message:
+ "Authentication Internal Server Error: Please contact admin.",
+ });
+ }
+ if (success) {
+ await blacklistToken(req.headers["authorization"]);
+ await _deleteUser(currUser.username);
+ return res.status(200).json({
+ // userId: currUser._id,
+ success: true,
+ message: "User deleted",
+ });
+ } else {
+ return res.status(401).json({
+ success: false,
+ message: "Authentication Error: Wrong credentials",
+ });
+ }
+ }
+ );
+ }
+ } catch (err) {
+ return res
+ .status(500)
+ .json({ message: "Internal server error when deleting user!" });
+ }
+}
+
+export async function updateUserPassword(req, res) {
+ try {
+ const { username, password, newPassword } = req.body;
+
+ if (!(username && password && newPassword)) {
+ return res.status(400).json({
+ message:
+ "Username and/or Password and/or newPassword are missing!",
+ });
+ }
+
+ const currUser = await _findUserByUsername(username);
+ if (currUser) {
+ bcrypt.compare(
+ password,
+ currUser.password,
+ async function (err, success) {
+ if (err) {
+ return res.status(500).json({
+ success: false,
+ message:
+ "Authentication Internal Server Error: Please contact admin.",
+ });
+ }
+ if (success) {
+ const encryptedPassword = await bcrypt.hash(
+ newPassword,
+ BRCYPT_COST
+ );
+ await _updateUser(currUser._id, {
+ password: encryptedPassword,
+ });
+ return res.status(200).json({
+ // userId: currUser._id,
+ success: true,
+ message: "User Updated",
+ });
+ } else {
+ return res.status(401).json({
+ success: false,
+ message: "Authentication Error: Wrong credentials",
+ });
+ }
+ }
+ );
}
} catch (err) {
- return res.status(500).json({message: 'Database failure when creating new user!'})
+ return res
+ .status(500)
+ .json({ message: "Internal server error when update user password!" });
}
}
diff --git a/user-service/helper/jwt-auth.js b/user-service/helper/jwt-auth.js
new file mode 100644
index 0000000..f5f13cc
--- /dev/null
+++ b/user-service/helper/jwt-auth.js
@@ -0,0 +1,30 @@
+import jwt from "jsonwebtoken";
+import { JWT_EXPIRY, JWT_SECRET_KEY } from "../common/constants.js";
+import { checkIfTokenBlacklisted, client } from "./redis.js";
+
+export async function signAccessToken(username) {
+ const token = jwt.sign({ username }, JWT_SECRET_KEY, {
+ expiresIn: JWT_EXPIRY,
+ });
+ console.log("STUCK");
+ await client.SET(username, token);
+ console.log("STUCK HERE");
+ return token;
+}
+
+export async function verifyToken(req, res, next) {
+ if (!req.headers["authorization"]) return next(res.sendStatus(401));
+ const authHeader = req.headers["authorization"];
+ const jwtToken = authHeader.split(" ")[1];
+ if (await checkIfTokenBlacklisted(authHeader)) {
+ return res.sendStatus(401);
+ }
+
+ jwt.verify(jwtToken, JWT_SECRET_KEY, (err, payload) => {
+ if (err) {
+ return next(res.sendStatus(401));
+ }
+ req.payload = payload;
+ next();
+ });
+}
diff --git a/user-service/helper/redis.js b/user-service/helper/redis.js
new file mode 100644
index 0000000..254b534
--- /dev/null
+++ b/user-service/helper/redis.js
@@ -0,0 +1,38 @@
+import { createClient } from "redis";
+import { extractSubstring } from "../common/common.js";
+import "dotenv/config";
+export const client = createClient({
+ url:
+ "redis://" +
+ process.env.USER_REDIS_IP +
+ ":" +
+ process.env.USER_REDIS_PORT,
+ legacyMode: true,
+});
+// export const client = createClient({
+// url: "redis://127.0.0.1:6379",
+// });
+client.on("connect", () => console.log("Client connected to Redis"));
+
+client.on("ready", () => console.log("Redis Ready"));
+
+client.on("error", (err) => console.error(`Redis Connection Error ${err}`));
+
+client.on("end", () => console.log("Client disconnected from Redis"));
+
+process.on("SIGINT", () => {
+ client.quit();
+});
+
+await client.connect();
+
+export const blacklistToken = async (token) => {
+ const tokenKey = extractSubstring(token, 1, " ");
+ await client.set(tokenKey, 0);
+};
+
+export const checkIfTokenBlacklisted = async (token) => {
+ const tokenKey = extractSubstring(token, 1, " ");
+ const isBlacklisted = await client.get(tokenKey);
+ return isBlacklisted === "0";
+};
diff --git a/user-service/index.js b/user-service/index.js
index 6f52292..958b217 100644
--- a/user-service/index.js
+++ b/user-service/index.js
@@ -1,22 +1,34 @@
-import express from 'express';
-import cors from 'cors';
+import express from "express";
+import cors from "cors";
-const app = express();
-app.use(express.urlencoded({ extended: true }))
-app.use(express.json())
-app.use(cors()) // config cors so that front-end can use
-app.options('*', cors())
-import { createUser } from './controller/user-controller.js';
-
-const router = express.Router()
+export const app = express();
+app.use(express.urlencoded({ extended: true }));
+app.use(express.json());
+app.use(cors()); // config cors so that front-end can use
+app.options("*", cors());
+import {
+ createUser,
+ deleteUser,
+ updateUserPassword,
+} from "./controller/user-controller.js";
+import { logoutUser, logUserIn } from "./controller/auth-controller.js";
+import { verifyToken } from "./helper/jwt-auth.js";
+const router = express.Router();
// Controller will contain all the User-defined Routes
-router.get('/', (_, res) => res.send('Hello World from user-service'))
-router.post('/', createUser)
+router.get("/", (_, res) => res.send("Hello World from user-service"));
+router.post("/verifyToken", verifyToken, (_, res) =>
+ res.status(200).send("Token is valid")
+);
+router.post("/", createUser);
+router.post("/login", logUserIn);
+router.delete("/deleteUser", verifyToken, deleteUser);
+router.post("/logout", verifyToken, logoutUser);
+router.post("/updatePassword", verifyToken, updateUserPassword);
-app.use('/api/user', router).all((_, res) => {
- res.setHeader('content-type', 'application/json')
- res.setHeader('Access-Control-Allow-Origin', '*')
-})
+app.use("/api/user", router).all((_, res) => {
+ res.setHeader("content-type", "application/json");
+ res.setHeader("Access-Control-Allow-Origin", "*");
+});
-app.listen(8000, () => console.log('user-service listening on port 8000'));
\ No newline at end of file
+app.listen(8000, () => console.log("user-service listening on port 8000"));
\ No newline at end of file
diff --git a/user-service/model/repository.js b/user-service/model/repository.js
index bfbf834..f966d68 100644
--- a/user-service/model/repository.js
+++ b/user-service/model/repository.js
@@ -1,17 +1,35 @@
-import UserModel from './user-model.js';
-import 'dotenv/config'
+import UserModel from "./user-model.js";
+import "dotenv/config";
//Set up mongoose connection
-import mongoose from 'mongoose';
+import mongoose from "mongoose";
-let mongoDB = process.env.ENV == "PROD" ? process.env.DB_CLOUD_URI : process.env.DB_LOCAL_URI;
+let mongoDB =
+ process.env.ENV == "PROD"
+ ? 'mongodb://' + process.env.USER_MONGO_IP + ':' + process.env.USER_MONGO_PORT
+ : process.env.DB_LOCAL_URI;
-mongoose.connect(mongoDB, { useNewUrlParser: true , useUnifiedTopology: true});
+mongoose.connect(mongoDB, { useNewUrlParser: true, useUnifiedTopology: true });
let db = mongoose.connection;
-db.on('error', console.error.bind(console, 'MongoDB connection error:'));
+db.on("error", console.error.bind(console, "MongoDB connection error:"));
-export async function createUser(params) {
- return new UserModel(params)
+export async function createUser(params) {
+ return new UserModel(params);
}
+export async function deleteUser(params) {
+ return UserModel.deleteOne(params);
+}
+
+export const findUser = async (params) => {
+ return UserModel.findOne(params);
+};
+
+export const checkIfUserExists = async (params) => {
+ return UserModel.exists(params);
+};
+
+export const updateUser = async (id, params) => {
+ return UserModel.findByIdAndUpdate(id, params);
+};
diff --git a/user-service/model/user-model.js b/user-service/model/user-model.js
index 0e8c0a9..11f1165 100644
--- a/user-service/model/user-model.js
+++ b/user-service/model/user-model.js
@@ -1,5 +1,5 @@
-import mongoose from 'mongoose';
-var Schema = mongoose.Schema
+import mongoose from "mongoose";
+var Schema = mongoose.Schema;
let UserModelSchema = new Schema({
username: {
type: String,
@@ -9,7 +9,11 @@ let UserModelSchema = new Schema({
password: {
type: String,
required: true,
- }
-})
+ },
+});
+
+export async function checkUserExists(params) {
+ return UserModel.exists({ username: `${params.username}` });
+}
-export default mongoose.model('UserModel', UserModelSchema)
+export default mongoose.model("UserModel", UserModelSchema);
diff --git a/user-service/model/user-orm.js b/user-service/model/user-orm.js
index a630f77..14dc417 100644
--- a/user-service/model/user-orm.js
+++ b/user-service/model/user-orm.js
@@ -1,14 +1,66 @@
-import { createUser } from './repository.js';
+import { checkIfTokenBlacklisted } from "../helper/redis.js";
+import {
+ createUser,
+ checkIfUserExists,
+ findUser,
+ deleteUser,
+ updateUser
+} from "./repository.js";
-//need to separate orm functions from repository to decouple business logic from persistence
export async function ormCreateUser(username, password) {
try {
- const newUser = await createUser({username, password});
+ const newUser = await createUser({ username, password });
newUser.save();
return true;
} catch (err) {
- console.log('ERROR: Could not create new user');
+ console.log(" ERROR: Could not create new user");
return { err };
}
}
+export const ormFindUserByUsername = async (username) => {
+ try {
+ const desiredUser = await findUser({ username });
+ return desiredUser;
+ } catch (err) {
+ console.log(" ERROR: Could not find user in database ");
+ return { err };
+ }
+};
+
+export const ormUserExists = async (username) => {
+ try {
+ const userFound = await checkIfUserExists({ username });
+ return userFound;
+ } catch (err) {
+ console.log(" ERROR: User Existence Check Failure");
+ return { err };
+ }
+};
+
+export const ormIsJWTValid = async (token) => {
+ try {
+ return !checkIfTokenBlacklisted(token);
+ } catch (err) {
+ console.log(" ERROR: Redis Blacklist Query Fail");
+ return { err };
+ }
+};
+
+export const ormDeleteUser = async (username) => {
+ try {
+ return await deleteUser({ username });
+ } catch (err) {
+ console.log(" ERROR: User Deletion Failure");
+ return { err };
+ }
+};
+
+export const ormUpdateUser = async (id, params) => {
+ try {
+ return await updateUser(id, params);
+ } catch (err) {
+ console.log(" ERROR: User Update Failure");
+ return { err };
+ }
+};
\ No newline at end of file
diff --git a/user-service/package-lock.json b/user-service/package-lock.json
index c400380..e07e14d 100644
--- a/user-service/package-lock.json
+++ b/user-service/package-lock.json
@@ -1,14 +1,3291 @@
{
"name": "user-service",
"version": "1.0.0",
- "lockfileVersion": 1,
+ "lockfileVersion": 2,
"requires": true,
+ "packages": {
+ "": {
+ "name": "user-service",
+ "version": "1.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "bcrypt": "^5.0.1",
+ "chai": "^4.3.7",
+ "chai-http": "^4.3.0",
+ "cors": "^2.8.5",
+ "dotenv": "^16.0.1",
+ "express": "^4.18.1",
+ "jsonwebtoken": "^8.5.1",
+ "mocha": "^10.1.0",
+ "mongoose": "^6.4.5",
+ "redis": "^4.3.1",
+ "redis-commander": "^0.8.0",
+ "universal-cookie": "^4.0.4"
+ },
+ "devDependencies": {
+ "nodemon": "^2.0.19"
+ }
+ },
+ "node_modules/@mapbox/node-pre-gyp": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz",
+ "integrity": "sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==",
+ "dependencies": {
+ "detect-libc": "^2.0.0",
+ "https-proxy-agent": "^5.0.0",
+ "make-dir": "^3.1.0",
+ "node-fetch": "^2.6.7",
+ "nopt": "^5.0.0",
+ "npmlog": "^5.0.1",
+ "rimraf": "^3.0.2",
+ "semver": "^7.3.5",
+ "tar": "^6.1.11"
+ },
+ "bin": {
+ "node-pre-gyp": "bin/node-pre-gyp"
+ }
+ },
+ "node_modules/@mapbox/node-pre-gyp/node_modules/nopt": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
+ "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
+ "dependencies": {
+ "abbrev": "1"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@mapbox/node-pre-gyp/node_modules/semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@redis/bloom": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@redis/bloom/-/bloom-1.0.2.tgz",
+ "integrity": "sha512-EBw7Ag1hPgFzdznK2PBblc1kdlj5B5Cw3XwI9/oG7tSn85/HKy3X9xHy/8tm/eNXJYHLXHJL/pkwBpFMVVefkw==",
+ "peerDependencies": {
+ "@redis/client": "^1.0.0"
+ }
+ },
+ "node_modules/@redis/client": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@redis/client/-/client-1.3.0.tgz",
+ "integrity": "sha512-XCFV60nloXAefDsPnYMjHGtvbtHR8fV5Om8cQ0JYqTNbWcQo/4AryzJ2luRj4blveWazRK/j40gES8M7Cp6cfQ==",
+ "dependencies": {
+ "cluster-key-slot": "1.1.0",
+ "generic-pool": "3.8.2",
+ "yallist": "4.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@redis/graph": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@redis/graph/-/graph-1.0.1.tgz",
+ "integrity": "sha512-oDE4myMCJOCVKYMygEMWuriBgqlS5FqdWerikMoJxzmmTUErnTRRgmIDa2VcgytACZMFqpAOWDzops4DOlnkfQ==",
+ "peerDependencies": {
+ "@redis/client": "^1.0.0"
+ }
+ },
+ "node_modules/@redis/json": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@redis/json/-/json-1.0.4.tgz",
+ "integrity": "sha512-LUZE2Gdrhg0Rx7AN+cZkb1e6HjoSKaeeW8rYnt89Tly13GBI5eP4CwDVr+MY8BAYfCg4/N15OUrtLoona9uSgw==",
+ "peerDependencies": {
+ "@redis/client": "^1.0.0"
+ }
+ },
+ "node_modules/@redis/search": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@redis/search/-/search-1.1.0.tgz",
+ "integrity": "sha512-NyFZEVnxIJEybpy+YskjgOJRNsfTYqaPbK/Buv6W2kmFNaRk85JiqjJZA5QkRmWvGbyQYwoO5QfDi2wHskKrQQ==",
+ "peerDependencies": {
+ "@redis/client": "^1.0.0"
+ }
+ },
+ "node_modules/@redis/time-series": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@redis/time-series/-/time-series-1.0.3.tgz",
+ "integrity": "sha512-OFp0q4SGrTH0Mruf6oFsHGea58u8vS/iI5+NpYdicaM+7BgqBZH8FFvNZ8rYYLrUO/QRqMq72NpXmxLVNcdmjA==",
+ "peerDependencies": {
+ "@redis/client": "^1.0.0"
+ }
+ },
+ "node_modules/@types/chai": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz",
+ "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw=="
+ },
+ "node_modules/@types/cookie": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.3.3.tgz",
+ "integrity": "sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow=="
+ },
+ "node_modules/@types/cookiejar": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz",
+ "integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog=="
+ },
+ "node_modules/@types/node": {
+ "version": "18.0.6",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.6.tgz",
+ "integrity": "sha512-/xUq6H2aQm261exT6iZTMifUySEt4GR5KX8eYyY+C4MSNPqSh9oNIP7tz2GLKTlFaiBbgZNxffoR3CVRG+cljw=="
+ },
+ "node_modules/@types/superagent": {
+ "version": "3.8.7",
+ "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-3.8.7.tgz",
+ "integrity": "sha512-9KhCkyXv268A2nZ1Wvu7rQWM+BmdYUVkycFeNnYrUL5Zwu7o8wPQ3wBfW59dDP+wuoxw0ww8YKgTNv8j/cgscA==",
+ "dependencies": {
+ "@types/cookiejar": "*",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/webidl-conversions": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-6.1.1.tgz",
+ "integrity": "sha512-XAahCdThVuCFDQLT7R7Pk/vqeObFNL3YqRyFZg+AqAP/W1/w3xHaIxuW7WszQqTbIBOPRcItYJIou3i/mppu3Q=="
+ },
+ "node_modules/@types/whatwg-url": {
+ "version": "8.2.2",
+ "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz",
+ "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==",
+ "dependencies": {
+ "@types/node": "*",
+ "@types/webidl-conversions": "*"
+ }
+ },
+ "node_modules/abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+ },
+ "node_modules/accepts": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+ "dependencies": {
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "dependencies": {
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
+ "node_modules/agent-base/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/agent-base/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/ansi-colors": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+ "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/aproba": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
+ "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="
+ },
+ "node_modules/are-we-there-yet": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
+ "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
+ "dependencies": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^3.6.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
+ },
+ "node_modules/array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
+ },
+ "node_modules/assertion-error": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
+ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/async": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
+ "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g=="
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ },
+ "node_modules/base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/bcrypt": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.0.1.tgz",
+ "integrity": "sha512-9BTgmrhZM2t1bNuDtrtIMVSmmxZBrJ71n8Wg+YgdjHuIWYF7SjjmCPZFB+/5i/o/PIeRpwVJR3P+NrpIItUjqw==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@mapbox/node-pre-gyp": "^1.0.0",
+ "node-addon-api": "^3.1.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/bcryptjs": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz",
+ "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ=="
+ },
+ "node_modules/binary-extensions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/body-parser": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
+ "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "content-type": "~1.0.4",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "on-finished": "2.4.1",
+ "qs": "6.10.3",
+ "raw-body": "2.5.1",
+ "type-is": "~1.6.18",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/body-parser/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/body-parser/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dependencies": {
+ "fill-range": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browser-stdout": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
+ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw=="
+ },
+ "node_modules/bson": {
+ "version": "4.6.5",
+ "resolved": "https://registry.npmjs.org/bson/-/bson-4.6.5.tgz",
+ "integrity": "sha512-uqrgcjyOaZsHfz7ea8zLRCLe1u+QGUSzMZmvXqO24CDW7DWoW1qiN9folSwa7hSneTSgM2ykDIzF5kcQQ8cwNw==",
+ "dependencies": {
+ "buffer": "^5.6.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "node_modules/buffer-equal-constant-time": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
+ "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA=="
+ },
+ "node_modules/bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/call-bind": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/camelcase": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/chai": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz",
+ "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==",
+ "dependencies": {
+ "assertion-error": "^1.1.0",
+ "check-error": "^1.0.2",
+ "deep-eql": "^4.1.2",
+ "get-func-name": "^2.0.0",
+ "loupe": "^2.3.1",
+ "pathval": "^1.1.1",
+ "type-detect": "^4.0.5"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/chai-http": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/chai-http/-/chai-http-4.3.0.tgz",
+ "integrity": "sha512-zFTxlN7HLMv+7+SPXZdkd5wUlK+KxH6Q7bIEMiEx0FK3zuuMqL7cwICAQ0V1+yYRozBburYuxN1qZstgHpFZQg==",
+ "dependencies": {
+ "@types/chai": "4",
+ "@types/superagent": "^3.8.3",
+ "cookiejar": "^2.1.1",
+ "is-ip": "^2.0.0",
+ "methods": "^1.1.2",
+ "qs": "^6.5.1",
+ "superagent": "^3.7.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/chalk/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/chalk/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/check-error": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
+ "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/chokidar": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ ],
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/chownr": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/clipboard": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.10.tgz",
+ "integrity": "sha512-cz3m2YVwFz95qSEbCDi2fzLN/epEN9zXBvfgAoGkvGOJZATMl9gtTDVOtBYkx2ODUJl2kvmud7n32sV2BpYR4g==",
+ "dependencies": {
+ "good-listener": "^1.2.2",
+ "select": "^1.1.2",
+ "tiny-emitter": "^2.0.0"
+ }
+ },
+ "node_modules/cliui": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "node_modules/cluster-key-slot": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.0.tgz",
+ "integrity": "sha512-2Nii8p3RwAPiFwsnZvukotvow2rIHM+yQ6ZcBXGHdniadkYGZYiGmkHJIbZPIV9nfv7m/U1IPMVVcAhoWFeklw==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/cmdparser": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/cmdparser/-/cmdparser-0.0.3.tgz",
+ "integrity": "sha512-gW/1flMiBIzM36QmZnFF4Wz1H2VDJ9Dv6n0ii76nfW86Cr7pDfD4odYpks0sIhRL69WzAU16vQzxEGnE7ZMyng==",
+ "dependencies": {
+ "async": "~0.1.22"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/cmdparser/node_modules/async": {
+ "version": "0.1.22",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz",
+ "integrity": "sha512-2tEzliJmf5fHNafNwQLJXUasGzQCVctvsNkXmnlELHwypU0p08/rHohYvkqKIjyXpx+0rkrYv6QbhJ+UF4QkBg==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/color-support": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
+ "bin": {
+ "color-support": "bin.js"
+ }
+ },
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/component-emitter": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
+ },
+ "node_modules/config": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/config/-/config-3.3.7.tgz",
+ "integrity": "sha512-mX/n7GKDYZMqvvkY6e6oBY49W8wxdmQt+ho/5lhwFDXqQW9gI+Ahp8EKp8VAbISPnmf2+Bv5uZK7lKXZ6pf1aA==",
+ "dependencies": {
+ "json5": "^2.1.1"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/console-control-strings": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ=="
+ },
+ "node_modules/content-disposition": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
+ "dependencies": {
+ "safe-buffer": "5.2.1"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/content-type": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cookie": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
+ "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cookie-signature": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
+ },
+ "node_modules/cookiejar": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz",
+ "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ=="
+ },
+ "node_modules/core-util-is": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
+ },
+ "node_modules/cors": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
+ "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
+ "dependencies": {
+ "object-assign": "^4",
+ "vary": "^1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/dateformat": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
+ "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/decamelize": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
+ "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/deep-eql": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.2.tgz",
+ "integrity": "sha512-gT18+YW4CcW/DBNTwAmqTtkJh7f9qqScu2qFVlx7kCoeY9tlBu9cUcr7+I+Z/noG8INehS3xQgLpTtd/QUTn4w==",
+ "dependencies": {
+ "type-detect": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/delegate": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz",
+ "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw=="
+ },
+ "node_modules/delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ=="
+ },
+ "node_modules/denque": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
+ "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==",
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/destroy": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/detect-libc": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
+ "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/diff": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
+ "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
+ "engines": {
+ "node": ">=0.3.1"
+ }
+ },
+ "node_modules/dotenv": {
+ "version": "16.0.1",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz",
+ "integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/ecdsa-sig-formatter": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
+ "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
+ "dependencies": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
+ },
+ "node_modules/ejs": {
+ "version": "3.1.7",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.7.tgz",
+ "integrity": "sha512-BIar7R6abbUxDA3bfXrO4DSgwo8I+fB5/1zgujl3HLLjwd6+9iOnrT+t3grn2qbk9vOgBubXOFwX2m9axoFaGw==",
+ "dependencies": {
+ "jake": "^10.8.5"
+ },
+ "bin": {
+ "ejs": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "node_modules/encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/express": {
+ "version": "4.18.1",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz",
+ "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==",
+ "dependencies": {
+ "accepts": "~1.3.8",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.20.0",
+ "content-disposition": "0.5.4",
+ "content-type": "~1.0.4",
+ "cookie": "0.5.0",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "1.2.0",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.7",
+ "qs": "6.10.3",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.2.1",
+ "send": "0.18.0",
+ "serve-static": "1.15.0",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "node_modules/express-partials": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/express-partials/-/express-partials-0.3.0.tgz",
+ "integrity": "sha512-LodvQHqUhSKJNl7NMjjPvHAh7sybtmUOWKKGrrb2/eL/kPlto2KQO5lCVceOBamxipDoWw07zLwWiDwidHgmEQ==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/express/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/express/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
+ },
+ "node_modules/filelist": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
+ "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
+ "dependencies": {
+ "minimatch": "^5.0.1"
+ }
+ },
+ "node_modules/filelist/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/filelist/node_modules/minimatch": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+ "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/finalhandler": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
+ "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
+ "dependencies": {
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "statuses": "2.0.1",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/finalhandler/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/finalhandler/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/flat": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
+ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
+ "bin": {
+ "flat": "cli.js"
+ }
+ },
+ "node_modules/form-data": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz",
+ "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 0.12"
+ }
+ },
+ "node_modules/formidable": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz",
+ "integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==",
+ "deprecated": "Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau",
+ "funding": {
+ "url": "https://ko-fi.com/tunnckoCore/commissions"
+ }
+ },
+ "node_modules/forwarded": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fs-minipass": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ },
+ "node_modules/gauge": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
+ "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
+ "dependencies": {
+ "aproba": "^1.0.3 || ^2.0.0",
+ "color-support": "^1.1.2",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.1",
+ "object-assign": "^4.1.1",
+ "signal-exit": "^3.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "wide-align": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/generic-pool": {
+ "version": "3.8.2",
+ "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.8.2.tgz",
+ "integrity": "sha512-nGToKy6p3PAbYQ7p1UlWl6vSPwfwU6TMSWK7TTu+WUY4ZjyZQGniGGt2oNVvyNSpyZYSB43zMXVLcBm08MTMkg==",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "node_modules/get-func-name": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
+ "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz",
+ "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==",
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/good-listener": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz",
+ "integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==",
+ "dependencies": {
+ "delegate": "^3.1.2"
+ }
+ },
+ "node_modules/has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dependencies": {
+ "function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ=="
+ },
+ "node_modules/he": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
+ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
+ "bin": {
+ "he": "bin/he"
+ }
+ },
+ "node_modules/http-errors": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+ "dependencies": {
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "dependencies": {
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/https-proxy-agent/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/https-proxy-agent/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/ignore-by-default": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
+ "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==",
+ "dev": true
+ },
+ "node_modules/inflection": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.13.2.tgz",
+ "integrity": "sha512-cmZlljCRTBFouT8UzMzrGcVEvkv6D/wBdcdKG7J1QH5cXjtU75Dm+P27v9EKu/Y43UYyCJd1WC4zLebRrC8NBw==",
+ "engines": [
+ "node >= 0.4.0"
+ ]
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "node_modules/ioredis": {
+ "version": "4.28.5",
+ "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-4.28.5.tgz",
+ "integrity": "sha512-3GYo0GJtLqgNXj4YhrisLaNNvWSNwSS2wS4OELGfGxH8I69+XfNdnmV1AyN+ZqMh0i7eX+SWjrwFKDBDgfBC1A==",
+ "dependencies": {
+ "cluster-key-slot": "^1.1.0",
+ "debug": "^4.3.1",
+ "denque": "^1.1.0",
+ "lodash.defaults": "^4.2.0",
+ "lodash.flatten": "^4.4.0",
+ "lodash.isarguments": "^3.1.0",
+ "p-map": "^2.1.0",
+ "redis-commands": "1.7.0",
+ "redis-errors": "^1.2.0",
+ "redis-parser": "^3.0.0",
+ "standard-as-callback": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/ioredis"
+ }
+ },
+ "node_modules/ioredis/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/ioredis/node_modules/denque": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.1.tgz",
+ "integrity": "sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==",
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/ioredis/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/ip": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
+ "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
+ },
+ "node_modules/ip-regex": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
+ "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/ipaddr.js": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-ip": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz",
+ "integrity": "sha512-9MTn0dteHETtyUx8pxqMwg5hMBi3pvlyglJ+b79KOCca0po23337LbVV2Hl4xmMvfw++ljnO0/+5G6G+0Szh6g==",
+ "dependencies": {
+ "ip-regex": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-plain-obj": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+ "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-unicode-supported": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
+ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
+ },
+ "node_modules/jake": {
+ "version": "10.8.5",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz",
+ "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==",
+ "dependencies": {
+ "async": "^3.2.3",
+ "chalk": "^4.0.2",
+ "filelist": "^1.0.1",
+ "minimatch": "^3.0.4"
+ },
+ "bin": {
+ "jake": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/jquery": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.1.tgz",
+ "integrity": "sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw=="
+ },
+ "node_modules/jquery.json-viewer": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/jquery.json-viewer/-/jquery.json-viewer-1.5.0.tgz",
+ "integrity": "sha512-M/mRFXg14V/UUAlz7TBNBIDmQdWt05BunsqC/UjEx5BoFdQpNpfkfDdVn+VtjX951n/an/T9GWB3apBp02x8Mg=="
+ },
+ "node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/json5": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
+ "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/jsonwebtoken": {
+ "version": "8.5.1",
+ "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz",
+ "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==",
+ "dependencies": {
+ "jws": "^3.2.2",
+ "lodash.includes": "^4.3.0",
+ "lodash.isboolean": "^3.0.3",
+ "lodash.isinteger": "^4.0.4",
+ "lodash.isnumber": "^3.0.3",
+ "lodash.isplainobject": "^4.0.6",
+ "lodash.isstring": "^4.0.1",
+ "lodash.once": "^4.0.0",
+ "ms": "^2.1.1",
+ "semver": "^5.6.0"
+ },
+ "engines": {
+ "node": ">=4",
+ "npm": ">=1.4.28"
+ }
+ },
+ "node_modules/jstree": {
+ "version": "3.3.12",
+ "resolved": "https://registry.npmjs.org/jstree/-/jstree-3.3.12.tgz",
+ "integrity": "sha512-vHNLWkUr02ZYH7RcIckvhtLUtneWCVEtIKpIp2G9WtRh01ITv18EoNtNQcFG3ozM+oK6wp1Z300gSLXNQWCqGA==",
+ "dependencies": {
+ "jquery": ">=1.9.1"
+ }
+ },
+ "node_modules/jwa": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz",
+ "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==",
+ "dependencies": {
+ "buffer-equal-constant-time": "1.0.1",
+ "ecdsa-sig-formatter": "1.0.11",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/jws": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz",
+ "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==",
+ "dependencies": {
+ "jwa": "^1.4.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/kareem": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.4.1.tgz",
+ "integrity": "sha512-aJ9opVoXroQUPfovYP5kaj2lM7Jn02Gw13bL0lg9v0V7SaUc0qavPs0Eue7d2DcC3NjqI6QAUElXNsuZSeM+EA=="
+ },
+ "node_modules/locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lodash.defaults": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
+ "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ=="
+ },
+ "node_modules/lodash.flatten": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
+ "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g=="
+ },
+ "node_modules/lodash.includes": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
+ "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w=="
+ },
+ "node_modules/lodash.isarguments": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+ "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg=="
+ },
+ "node_modules/lodash.isboolean": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
+ "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg=="
+ },
+ "node_modules/lodash.isequal": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
+ "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ=="
+ },
+ "node_modules/lodash.isinteger": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
+ "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA=="
+ },
+ "node_modules/lodash.isnumber": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz",
+ "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw=="
+ },
+ "node_modules/lodash.isplainobject": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+ "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA=="
+ },
+ "node_modules/lodash.isstring": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
+ "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw=="
+ },
+ "node_modules/lodash.once": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
+ "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg=="
+ },
+ "node_modules/log-symbols": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+ "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+ "dependencies": {
+ "chalk": "^4.1.0",
+ "is-unicode-supported": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lossless-json": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/lossless-json/-/lossless-json-1.0.5.tgz",
+ "integrity": "sha512-RicKUuLwZVNZ6ZdJHgIZnSeA05p8qWc5NW0uR96mpPIjN9WDLUg9+kj1esQU1GkPn9iLZVKatSQK5gyiaFHgJA=="
+ },
+ "node_modules/loupe": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz",
+ "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==",
+ "dependencies": {
+ "get-func-name": "^2.0.0"
+ }
+ },
+ "node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dependencies": {
+ "semver": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/make-dir/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/memory-pager": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
+ "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
+ "optional": true
+ },
+ "node_modules/merge-descriptors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+ "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
+ },
+ "node_modules/methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/minipass": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz",
+ "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/minizlib": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
+ "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
+ "dependencies": {
+ "minipass": "^3.0.0",
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/mocha": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.1.0.tgz",
+ "integrity": "sha512-vUF7IYxEoN7XhQpFLxQAEMtE4W91acW4B6En9l97MwE9stL1A9gusXfoHZCLVHDUJ/7V5+lbCM6yMqzo5vNymg==",
+ "dependencies": {
+ "ansi-colors": "4.1.1",
+ "browser-stdout": "1.3.1",
+ "chokidar": "3.5.3",
+ "debug": "4.3.4",
+ "diff": "5.0.0",
+ "escape-string-regexp": "4.0.0",
+ "find-up": "5.0.0",
+ "glob": "7.2.0",
+ "he": "1.2.0",
+ "js-yaml": "4.1.0",
+ "log-symbols": "4.1.0",
+ "minimatch": "5.0.1",
+ "ms": "2.1.3",
+ "nanoid": "3.3.3",
+ "serialize-javascript": "6.0.0",
+ "strip-json-comments": "3.1.1",
+ "supports-color": "8.1.1",
+ "workerpool": "6.2.1",
+ "yargs": "16.2.0",
+ "yargs-parser": "20.2.4",
+ "yargs-unparser": "2.0.0"
+ },
+ "bin": {
+ "_mocha": "bin/_mocha",
+ "mocha": "bin/mocha.js"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mochajs"
+ }
+ },
+ "node_modules/mocha/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/mocha/node_modules/debug/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/mocha/node_modules/glob": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+ "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/mocha/node_modules/glob/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/mocha/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/mocha/node_modules/minimatch": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
+ "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/mocha/node_modules/minimatch/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/mocha/node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/mocha/node_modules/yargs": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+ "dependencies": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.0",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^20.2.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/mocha/node_modules/yargs-parser": {
+ "version": "20.2.4",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
+ "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/mongodb": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.7.0.tgz",
+ "integrity": "sha512-HhVar6hsUeMAVlIbwQwWtV36iyjKd9qdhY+s4wcU8K6TOj4Q331iiMy+FoPuxEntDIijTYWivwFJkLv8q/ZgvA==",
+ "dependencies": {
+ "bson": "^4.6.3",
+ "denque": "^2.0.1",
+ "mongodb-connection-string-url": "^2.5.2",
+ "socks": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=12.9.0"
+ },
+ "optionalDependencies": {
+ "saslprep": "^1.0.3"
+ }
+ },
+ "node_modules/mongodb-connection-string-url": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.5.2.tgz",
+ "integrity": "sha512-tWDyIG8cQlI5k3skB6ywaEA5F9f5OntrKKsT/Lteub2zgwSUlhqEN2inGgBTm8bpYJf8QYBdA/5naz65XDpczA==",
+ "dependencies": {
+ "@types/whatwg-url": "^8.2.1",
+ "whatwg-url": "^11.0.0"
+ }
+ },
+ "node_modules/mongoose": {
+ "version": "6.4.5",
+ "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.4.5.tgz",
+ "integrity": "sha512-2E56DnJ4z5pWnBH4/pFGWuDFRn1Wt/JxU31Hcu0ZZtsd8I6piHavLawC9ND6GgyBpHov/aVLPLXtzB+HPKeKQg==",
+ "dependencies": {
+ "bson": "^4.6.2",
+ "kareem": "2.4.1",
+ "mongodb": "4.7.0",
+ "mpath": "0.9.0",
+ "mquery": "4.0.3",
+ "ms": "2.1.3",
+ "sift": "16.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mongoose"
+ }
+ },
+ "node_modules/mpath": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz",
+ "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==",
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/mquery": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.3.tgz",
+ "integrity": "sha512-J5heI+P08I6VJ2Ky3+33IpCdAvlYGTSUjwTPxkAr8i8EoduPMBX2OY/wa3IKZIQl7MU4SbFk8ndgSKyB/cl1zA==",
+ "dependencies": {
+ "debug": "4.x"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/mquery/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/mquery/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
+ "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/negotiator": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/node-addon-api": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz",
+ "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A=="
+ },
+ "node_modules/node-fetch": {
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/node-fetch/node_modules/tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
+ },
+ "node_modules/node-fetch/node_modules/webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
+ },
+ "node_modules/node-fetch/node_modules/whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+ "dependencies": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
+ "node_modules/node-redis-dump2": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/node-redis-dump2/-/node-redis-dump2-0.5.0.tgz",
+ "integrity": "sha512-rG54sksxPvNB0/1tsUESVBhapzCX0yAIwW2cv3k0jFK01nc0Zu/yaHGC28tCk6DHDVs9+kCFdAWewMrslJTrEA==",
+ "dependencies": {
+ "async": "^3.2.0",
+ "ioredis": "^4.27.0",
+ "underscore": "^1.13.1"
+ },
+ "engines": {
+ "node": ">10"
+ }
+ },
+ "node_modules/nodemon": {
+ "version": "2.0.19",
+ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.19.tgz",
+ "integrity": "sha512-4pv1f2bMDj0Eeg/MhGqxrtveeQ5/G/UVe9iO6uTZzjnRluSA4PVWf8CW99LUPwGB3eNIA7zUFoP77YuI7hOc0A==",
+ "dev": true,
+ "hasInstallScript": true,
+ "dependencies": {
+ "chokidar": "^3.5.2",
+ "debug": "^3.2.7",
+ "ignore-by-default": "^1.0.1",
+ "minimatch": "^3.0.4",
+ "pstree.remy": "^1.1.8",
+ "semver": "^5.7.1",
+ "simple-update-notifier": "^1.0.7",
+ "supports-color": "^5.5.0",
+ "touch": "^3.1.0",
+ "undefsafe": "^2.0.5"
+ },
+ "bin": {
+ "nodemon": "bin/nodemon.js"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/nodemon"
+ }
+ },
+ "node_modules/nopt": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
+ "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==",
+ "dev": true,
+ "dependencies": {
+ "abbrev": "1"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/npmlog": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
+ "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
+ "dependencies": {
+ "are-we-there-yet": "^2.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^3.0.0",
+ "set-blocking": "^2.0.0"
+ }
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-inspect": {
+ "version": "1.12.2",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
+ "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/opener": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz",
+ "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==",
+ "bin": {
+ "opener": "bin/opener-bin.js"
+ }
+ },
+ "node_modules/p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-map": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
+ "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-to-regexp": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+ "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
+ },
+ "node_modules/pathval": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
+ "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
+ },
+ "node_modules/proxy-addr": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
+ "dependencies": {
+ "forwarded": "0.2.0",
+ "ipaddr.js": "1.9.1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/pstree.remy": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
+ "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==",
+ "dev": true
+ },
+ "node_modules/punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/qs": {
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+ "dependencies": {
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "dependencies": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "node_modules/range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/raw-body": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
+ "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/readline-browserify": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/readline-browserify/-/readline-browserify-0.0.4.tgz",
+ "integrity": "sha512-SHbXkW5caHKOF7O06a60TF1vF/uBLB3b4ZF91tmwcuNOwnLrsgqy8p+XIP3J9h41AZuM9AqlKlQO9tvU/muD4w==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/redis": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/redis/-/redis-4.3.1.tgz",
+ "integrity": "sha512-cM7yFU5CA6zyCF7N/+SSTcSJQSRMEKN0k0Whhu6J7n9mmXRoXugfWDBo5iOzGwABmsWKSwGPTU5J4Bxbl+0mrA==",
+ "dependencies": {
+ "@redis/bloom": "1.0.2",
+ "@redis/client": "1.3.0",
+ "@redis/graph": "1.0.1",
+ "@redis/json": "1.0.4",
+ "@redis/search": "1.1.0",
+ "@redis/time-series": "1.0.3"
+ }
+ },
+ "node_modules/redis-commander": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/redis-commander/-/redis-commander-0.8.0.tgz",
+ "integrity": "sha512-vE1VCjI6KMxvrP7ClwylqV8DR3mbGuRClOlmi1mtNcxuWQ5G1WLnBNNAdlRcqOCv64bx2rLiuHV1lW1jyGgbxQ==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "async": "3.2.3",
+ "bcryptjs": "2.4.3",
+ "body-parser": "1.20.0",
+ "clipboard": "2.0.10",
+ "cmdparser": "0.0.3",
+ "config": "3.3.7",
+ "dateformat": "3.0.3",
+ "ejs": "3.1.7",
+ "express": "4.18.1",
+ "express-partials": "0.3.0",
+ "inflection": "1.13.2",
+ "ioredis": "4.28.5",
+ "jquery.json-viewer": "1.5.0",
+ "jsonwebtoken": "8.5.1",
+ "jstree": "3.3.12",
+ "lodash.isequal": "4.5.0",
+ "lossless-json": "1.0.5",
+ "node-redis-dump2": "0.5.0",
+ "opener": "1.5.2",
+ "readline-browserify": "0.0.4",
+ "yargs": "17.4.1"
+ },
+ "bin": {
+ "redis-commander": "bin/redis-commander.js"
+ },
+ "engines": {
+ "node": ">=12.0"
+ },
+ "optionalDependencies": {
+ "bcrypt": "~5.0.0"
+ }
+ },
+ "node_modules/redis-commands": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.7.0.tgz",
+ "integrity": "sha512-nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ=="
+ },
+ "node_modules/redis-errors": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz",
+ "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/redis-parser": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz",
+ "integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==",
+ "dependencies": {
+ "redis-errors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "node_modules/saslprep": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
+ "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==",
+ "optional": true,
+ "dependencies": {
+ "sparse-bitfield": "^3.0.3"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/select": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz",
+ "integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA=="
+ },
+ "node_modules/semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/send": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
+ "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
+ "dependencies": {
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/send/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/send/node_modules/debug/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/serialize-javascript": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
+ "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
+ "dependencies": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "node_modules/serve-static": {
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
+ "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
+ "dependencies": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.18.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
+ },
+ "node_modules/setprototypeof": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
+ },
+ "node_modules/side-channel": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/sift": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/sift/-/sift-16.0.0.tgz",
+ "integrity": "sha512-ILTjdP2Mv9V1kIxWMXeMTIRbOBrqKc4JAXmFMnFq3fKeyQ2Qwa3Dw1ubcye3vR+Y6ofA0b9gNDr/y2t6eUeIzQ=="
+ },
+ "node_modules/signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
+ },
+ "node_modules/simple-update-notifier": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz",
+ "integrity": "sha512-BBKgR84BJQJm6WjWFMHgLVuo61FBDSj1z/xSFUIozqO6wO7ii0JxCqlIud7Enr/+LhlbNI0whErq96P2qHNWew==",
+ "dev": true,
+ "dependencies": {
+ "semver": "~7.0.0"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/simple-update-notifier/node_modules/semver": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
+ "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/smart-buffer": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
+ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
+ "engines": {
+ "node": ">= 6.0.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "node_modules/socks": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.0.tgz",
+ "integrity": "sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA==",
+ "dependencies": {
+ "ip": "^2.0.0",
+ "smart-buffer": "^4.2.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "node_modules/sparse-bitfield": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
+ "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==",
+ "optional": true,
+ "dependencies": {
+ "memory-pager": "^1.0.2"
+ }
+ },
+ "node_modules/standard-as-callback": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz",
+ "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A=="
+ },
+ "node_modules/statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "dependencies": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/superagent": {
+ "version": "3.8.3",
+ "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz",
+ "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==",
+ "deprecated": "Please upgrade to v7.0.2+ of superagent. We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing. See the releases tab for more information at .",
+ "dependencies": {
+ "component-emitter": "^1.2.0",
+ "cookiejar": "^2.1.0",
+ "debug": "^3.1.0",
+ "extend": "^3.0.0",
+ "form-data": "^2.3.1",
+ "formidable": "^1.2.0",
+ "methods": "^1.1.1",
+ "mime": "^1.4.1",
+ "qs": "^6.5.1",
+ "readable-stream": "^2.3.5"
+ },
+ "engines": {
+ "node": ">= 4.0"
+ }
+ },
+ "node_modules/superagent/node_modules/readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/superagent/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "node_modules/superagent/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/tar": {
+ "version": "6.1.11",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
+ "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
+ "dependencies": {
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^3.0.0",
+ "minizlib": "^2.1.1",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/tiny-emitter": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
+ "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q=="
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/toidentifier": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/touch": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
+ "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==",
+ "dev": true,
+ "dependencies": {
+ "nopt": "~1.0.10"
+ },
+ "bin": {
+ "nodetouch": "bin/nodetouch.js"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
+ "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
+ "dependencies": {
+ "punycode": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/type-detect": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "dependencies": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/undefsafe": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
+ "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==",
+ "dev": true
+ },
+ "node_modules/underscore": {
+ "version": "1.13.4",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.4.tgz",
+ "integrity": "sha512-BQFnUDuAQ4Yf/cYY5LNrK9NCJFKriaRbD9uR1fTeXnBeoa97W0i41qkZfGO9pSo8I5KzjAcSY2XYtdf0oKd7KQ=="
+ },
+ "node_modules/universal-cookie": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/universal-cookie/-/universal-cookie-4.0.4.tgz",
+ "integrity": "sha512-lbRVHoOMtItjWbM7TwDLdl8wug7izB0tq3/YVKhT/ahB4VDvWMyvnADfnJI8y6fSvsjh51Ix7lTGC6Tn4rMPhw==",
+ "dependencies": {
+ "@types/cookie": "^0.3.3",
+ "cookie": "^0.4.0"
+ }
+ },
+ "node_modules/universal-cookie/node_modules/cookie": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
+ "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+ },
+ "node_modules/utils-merge": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/whatwg-url": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
+ "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
+ "dependencies": {
+ "tr46": "^3.0.0",
+ "webidl-conversions": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/wide-align": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
+ "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
+ "dependencies": {
+ "string-width": "^1.0.2 || 2 || 3 || 4"
+ }
+ },
+ "node_modules/workerpool": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz",
+ "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw=="
+ },
+ "node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ },
+ "node_modules/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ },
+ "node_modules/yargs": {
+ "version": "17.4.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz",
+ "integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==",
+ "dependencies": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yargs-unparser": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+ "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+ "dependencies": {
+ "camelcase": "^6.0.0",
+ "decamelize": "^4.0.0",
+ "flat": "^5.0.2",
+ "is-plain-obj": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ }
+ },
"dependencies": {
+ "@mapbox/node-pre-gyp": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz",
+ "integrity": "sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==",
+ "requires": {
+ "detect-libc": "^2.0.0",
+ "https-proxy-agent": "^5.0.0",
+ "make-dir": "^3.1.0",
+ "node-fetch": "^2.6.7",
+ "nopt": "^5.0.0",
+ "npmlog": "^5.0.1",
+ "rimraf": "^3.0.2",
+ "semver": "^7.3.5",
+ "tar": "^6.1.11"
+ },
+ "dependencies": {
+ "nopt": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
+ "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
+ "requires": {
+ "abbrev": "1"
+ }
+ },
+ "semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ }
+ }
+ },
+ "@redis/bloom": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@redis/bloom/-/bloom-1.0.2.tgz",
+ "integrity": "sha512-EBw7Ag1hPgFzdznK2PBblc1kdlj5B5Cw3XwI9/oG7tSn85/HKy3X9xHy/8tm/eNXJYHLXHJL/pkwBpFMVVefkw==",
+ "requires": {}
+ },
+ "@redis/client": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@redis/client/-/client-1.3.0.tgz",
+ "integrity": "sha512-XCFV60nloXAefDsPnYMjHGtvbtHR8fV5Om8cQ0JYqTNbWcQo/4AryzJ2luRj4blveWazRK/j40gES8M7Cp6cfQ==",
+ "requires": {
+ "cluster-key-slot": "1.1.0",
+ "generic-pool": "3.8.2",
+ "yallist": "4.0.0"
+ }
+ },
+ "@redis/graph": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@redis/graph/-/graph-1.0.1.tgz",
+ "integrity": "sha512-oDE4myMCJOCVKYMygEMWuriBgqlS5FqdWerikMoJxzmmTUErnTRRgmIDa2VcgytACZMFqpAOWDzops4DOlnkfQ==",
+ "requires": {}
+ },
+ "@redis/json": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@redis/json/-/json-1.0.4.tgz",
+ "integrity": "sha512-LUZE2Gdrhg0Rx7AN+cZkb1e6HjoSKaeeW8rYnt89Tly13GBI5eP4CwDVr+MY8BAYfCg4/N15OUrtLoona9uSgw==",
+ "requires": {}
+ },
+ "@redis/search": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@redis/search/-/search-1.1.0.tgz",
+ "integrity": "sha512-NyFZEVnxIJEybpy+YskjgOJRNsfTYqaPbK/Buv6W2kmFNaRk85JiqjJZA5QkRmWvGbyQYwoO5QfDi2wHskKrQQ==",
+ "requires": {}
+ },
+ "@redis/time-series": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@redis/time-series/-/time-series-1.0.3.tgz",
+ "integrity": "sha512-OFp0q4SGrTH0Mruf6oFsHGea58u8vS/iI5+NpYdicaM+7BgqBZH8FFvNZ8rYYLrUO/QRqMq72NpXmxLVNcdmjA==",
+ "requires": {}
+ },
+ "@types/chai": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz",
+ "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw=="
+ },
+ "@types/cookie": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.3.3.tgz",
+ "integrity": "sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow=="
+ },
+ "@types/cookiejar": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz",
+ "integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog=="
+ },
"@types/node": {
"version": "18.0.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.6.tgz",
"integrity": "sha512-/xUq6H2aQm261exT6iZTMifUySEt4GR5KX8eYyY+C4MSNPqSh9oNIP7tz2GLKTlFaiBbgZNxffoR3CVRG+cljw=="
},
+ "@types/superagent": {
+ "version": "3.8.7",
+ "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-3.8.7.tgz",
+ "integrity": "sha512-9KhCkyXv268A2nZ1Wvu7rQWM+BmdYUVkycFeNnYrUL5Zwu7o8wPQ3wBfW59dDP+wuoxw0ww8YKgTNv8j/cgscA==",
+ "requires": {
+ "@types/cookiejar": "*",
+ "@types/node": "*"
+ }
+ },
"@types/webidl-conversions": {
"version": "6.1.1",
"resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-6.1.1.tgz",
@@ -26,8 +3303,7 @@
"abbrev": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
- "dev": true
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
},
"accepts": {
"version": "1.3.8",
@@ -38,37 +3314,123 @@
"negotiator": "0.6.3"
}
},
+ "agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "requires": {
+ "debug": "4"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
+ "ansi-colors": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+ "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA=="
+ },
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
+ },
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
"anymatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
"integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
- "dev": true,
"requires": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
}
},
+ "aproba": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
+ "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="
+ },
+ "are-we-there-yet": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
+ "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
+ "requires": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^3.6.0"
+ }
+ },
+ "argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
+ },
"array-flatten": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
"integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
},
+ "assertion-error": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
+ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw=="
+ },
+ "async": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
+ "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g=="
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+ },
"balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
},
"base64-js": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
},
+ "bcrypt": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.0.1.tgz",
+ "integrity": "sha512-9BTgmrhZM2t1bNuDtrtIMVSmmxZBrJ71n8Wg+YgdjHuIWYF7SjjmCPZFB+/5i/o/PIeRpwVJR3P+NrpIItUjqw==",
+ "requires": {
+ "@mapbox/node-pre-gyp": "^1.0.0",
+ "node-addon-api": "^3.1.0"
+ }
+ },
+ "bcryptjs": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz",
+ "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ=="
+ },
"binary-extensions": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
- "dev": true
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
},
"body-parser": {
"version": "1.20.0",
@@ -108,7 +3470,6 @@
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -118,11 +3479,15 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
"requires": {
"fill-range": "^7.0.1"
}
},
+ "browser-stdout": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
+ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw=="
+ },
"bson": {
"version": "4.6.5",
"resolved": "https://registry.npmjs.org/bson/-/bson-4.6.5.tgz",
@@ -140,6 +3505,11 @@
"ieee754": "^1.1.13"
}
},
+ "buffer-equal-constant-time": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
+ "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA=="
+ },
"bytes": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
@@ -154,11 +3524,72 @@
"get-intrinsic": "^1.0.2"
}
},
+ "camelcase": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA=="
+ },
+ "chai": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz",
+ "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==",
+ "requires": {
+ "assertion-error": "^1.1.0",
+ "check-error": "^1.0.2",
+ "deep-eql": "^4.1.2",
+ "get-func-name": "^2.0.0",
+ "loupe": "^2.3.1",
+ "pathval": "^1.1.1",
+ "type-detect": "^4.0.5"
+ }
+ },
+ "chai-http": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/chai-http/-/chai-http-4.3.0.tgz",
+ "integrity": "sha512-zFTxlN7HLMv+7+SPXZdkd5wUlK+KxH6Q7bIEMiEx0FK3zuuMqL7cwICAQ0V1+yYRozBburYuxN1qZstgHpFZQg==",
+ "requires": {
+ "@types/chai": "4",
+ "@types/superagent": "^3.8.3",
+ "cookiejar": "^2.1.1",
+ "is-ip": "^2.0.0",
+ "methods": "^1.1.2",
+ "qs": "^6.5.1",
+ "superagent": "^3.7.0"
+ }
+ },
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "dependencies": {
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "check-error": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
+ "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA=="
+ },
"chokidar": {
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
- "dev": true,
"requires": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
@@ -170,11 +3601,99 @@
"readdirp": "~3.6.0"
}
},
+ "chownr": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ=="
+ },
+ "clipboard": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.10.tgz",
+ "integrity": "sha512-cz3m2YVwFz95qSEbCDi2fzLN/epEN9zXBvfgAoGkvGOJZATMl9gtTDVOtBYkx2ODUJl2kvmud7n32sV2BpYR4g==",
+ "requires": {
+ "good-listener": "^1.2.2",
+ "select": "^1.1.2",
+ "tiny-emitter": "^2.0.0"
+ }
+ },
+ "cliui": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+ "requires": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "cluster-key-slot": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.0.tgz",
+ "integrity": "sha512-2Nii8p3RwAPiFwsnZvukotvow2rIHM+yQ6ZcBXGHdniadkYGZYiGmkHJIbZPIV9nfv7m/U1IPMVVcAhoWFeklw=="
+ },
+ "cmdparser": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/cmdparser/-/cmdparser-0.0.3.tgz",
+ "integrity": "sha512-gW/1flMiBIzM36QmZnFF4Wz1H2VDJ9Dv6n0ii76nfW86Cr7pDfD4odYpks0sIhRL69WzAU16vQzxEGnE7ZMyng==",
+ "requires": {
+ "async": "~0.1.22"
+ },
+ "dependencies": {
+ "async": {
+ "version": "0.1.22",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz",
+ "integrity": "sha512-2tEzliJmf5fHNafNwQLJXUasGzQCVctvsNkXmnlELHwypU0p08/rHohYvkqKIjyXpx+0rkrYv6QbhJ+UF4QkBg=="
+ }
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "color-support": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg=="
+ },
+ "combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
+ "component-emitter": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
+ },
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
+ },
+ "config": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/config/-/config-3.3.7.tgz",
+ "integrity": "sha512-mX/n7GKDYZMqvvkY6e6oBY49W8wxdmQt+ho/5lhwFDXqQW9gI+Ahp8EKp8VAbISPnmf2+Bv5uZK7lKXZ6pf1aA==",
+ "requires": {
+ "json5": "^2.1.1"
+ }
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ=="
},
"content-disposition": {
"version": "0.5.4",
@@ -199,6 +3718,16 @@
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
"integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
},
+ "cookiejar": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz",
+ "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ=="
+ },
+ "core-util-is": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
+ },
"cors": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
@@ -208,15 +3737,47 @@
"vary": "^1"
}
},
+ "dateformat": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
+ "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q=="
+ },
"debug": {
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
"requires": {
"ms": "^2.1.1"
}
},
+ "decamelize": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
+ "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ=="
+ },
+ "deep-eql": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.2.tgz",
+ "integrity": "sha512-gT18+YW4CcW/DBNTwAmqTtkJh7f9qqScu2qFVlx7kCoeY9tlBu9cUcr7+I+Z/noG8INehS3xQgLpTtd/QUTn4w==",
+ "requires": {
+ "type-detect": "^4.0.0"
+ }
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
+ },
+ "delegate": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz",
+ "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw=="
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ=="
+ },
"denque": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
@@ -232,26 +3793,67 @@
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
"integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="
},
+ "detect-libc": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
+ "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w=="
+ },
+ "diff": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
+ "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w=="
+ },
"dotenv": {
"version": "16.0.1",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz",
"integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ=="
},
+ "ecdsa-sig-formatter": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
+ "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
+ "requires": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
"ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
},
+ "ejs": {
+ "version": "3.1.7",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.7.tgz",
+ "integrity": "sha512-BIar7R6abbUxDA3bfXrO4DSgwo8I+fB5/1zgujl3HLLjwd6+9iOnrT+t3grn2qbk9vOgBubXOFwX2m9axoFaGw==",
+ "requires": {
+ "jake": "^10.8.5"
+ }
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
"encodeurl": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="
},
+ "escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
+ },
"escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
},
+ "escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="
+ },
"etag": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
@@ -310,11 +3912,46 @@
}
}
},
+ "express-partials": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/express-partials/-/express-partials-0.3.0.tgz",
+ "integrity": "sha512-LodvQHqUhSKJNl7NMjjPvHAh7sybtmUOWKKGrrb2/eL/kPlto2KQO5lCVceOBamxipDoWw07zLwWiDwidHgmEQ=="
+ },
+ "extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
+ },
+ "filelist": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
+ "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
+ "requires": {
+ "minimatch": "^5.0.1"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "minimatch": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+ "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
+ }
+ }
+ },
"fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
"requires": {
"to-regex-range": "^5.0.1"
}
@@ -348,6 +3985,35 @@
}
}
},
+ "find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "requires": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "flat": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
+ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ=="
+ },
+ "form-data": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz",
+ "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==",
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ }
+ },
+ "formidable": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz",
+ "integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ=="
+ },
"forwarded": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@@ -358,11 +4024,23 @@
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
"integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="
},
+ "fs-minipass": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+ "requires": {
+ "minipass": "^3.0.0"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
+ },
"fsevents": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "dev": true,
"optional": true
},
"function-bind": {
@@ -370,6 +4048,37 @@
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
},
+ "gauge": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
+ "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
+ "requires": {
+ "aproba": "^1.0.3 || ^2.0.0",
+ "color-support": "^1.1.2",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.1",
+ "object-assign": "^4.1.1",
+ "signal-exit": "^3.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "wide-align": "^1.1.2"
+ }
+ },
+ "generic-pool": {
+ "version": "3.8.2",
+ "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.8.2.tgz",
+ "integrity": "sha512-nGToKy6p3PAbYQ7p1UlWl6vSPwfwU6TMSWK7TTu+WUY4ZjyZQGniGGt2oNVvyNSpyZYSB43zMXVLcBm08MTMkg=="
+ },
+ "get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
+ },
+ "get-func-name": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
+ "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig=="
+ },
"get-intrinsic": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz",
@@ -380,15 +4089,35 @@
"has-symbols": "^1.0.3"
}
},
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
"glob-parent": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
"requires": {
"is-glob": "^4.0.1"
}
},
+ "good-listener": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz",
+ "integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==",
+ "requires": {
+ "delegate": "^3.1.2"
+ }
+ },
"has": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
@@ -408,6 +4137,16 @@
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
},
+ "has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ=="
+ },
+ "he": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
+ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
+ },
"http-errors": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
@@ -420,6 +4159,30 @@
"toidentifier": "1.0.1"
}
},
+ "https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "requires": {
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
"iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
@@ -428,66 +4191,333 @@
"safer-buffer": ">= 2.1.2 < 3"
}
},
- "ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
+ "ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
+ },
+ "ignore-by-default": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
+ "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==",
+ "dev": true
+ },
+ "inflection": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.13.2.tgz",
+ "integrity": "sha512-cmZlljCRTBFouT8UzMzrGcVEvkv6D/wBdcdKG7J1QH5cXjtU75Dm+P27v9EKu/Y43UYyCJd1WC4zLebRrC8NBw=="
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "ioredis": {
+ "version": "4.28.5",
+ "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-4.28.5.tgz",
+ "integrity": "sha512-3GYo0GJtLqgNXj4YhrisLaNNvWSNwSS2wS4OELGfGxH8I69+XfNdnmV1AyN+ZqMh0i7eX+SWjrwFKDBDgfBC1A==",
+ "requires": {
+ "cluster-key-slot": "^1.1.0",
+ "debug": "^4.3.1",
+ "denque": "^1.1.0",
+ "lodash.defaults": "^4.2.0",
+ "lodash.flatten": "^4.4.0",
+ "lodash.isarguments": "^3.1.0",
+ "p-map": "^2.1.0",
+ "redis-commands": "1.7.0",
+ "redis-errors": "^1.2.0",
+ "redis-parser": "^3.0.0",
+ "standard-as-callback": "^2.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "denque": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.1.tgz",
+ "integrity": "sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw=="
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
+ "ip": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
+ "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
+ },
+ "ip-regex": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
+ "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw=="
+ },
+ "ipaddr.js": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
+ },
+ "is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "requires": {
+ "binary-extensions": "^2.0.0"
+ }
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
+ },
+ "is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-ip": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz",
+ "integrity": "sha512-9MTn0dteHETtyUx8pxqMwg5hMBi3pvlyglJ+b79KOCca0po23337LbVV2Hl4xmMvfw++ljnO0/+5G6G+0Szh6g==",
+ "requires": {
+ "ip-regex": "^2.0.0"
+ }
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
+ },
+ "is-plain-obj": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+ "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA=="
+ },
+ "is-unicode-supported": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
+ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw=="
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
+ },
+ "jake": {
+ "version": "10.8.5",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz",
+ "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==",
+ "requires": {
+ "async": "^3.2.3",
+ "chalk": "^4.0.2",
+ "filelist": "^1.0.1",
+ "minimatch": "^3.0.4"
+ }
+ },
+ "jquery": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.1.tgz",
+ "integrity": "sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw=="
+ },
+ "jquery.json-viewer": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/jquery.json-viewer/-/jquery.json-viewer-1.5.0.tgz",
+ "integrity": "sha512-M/mRFXg14V/UUAlz7TBNBIDmQdWt05BunsqC/UjEx5BoFdQpNpfkfDdVn+VtjX951n/an/T9GWB3apBp02x8Mg=="
+ },
+ "js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "requires": {
+ "argparse": "^2.0.1"
+ }
+ },
+ "json5": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
+ "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA=="
+ },
+ "jsonwebtoken": {
+ "version": "8.5.1",
+ "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz",
+ "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==",
+ "requires": {
+ "jws": "^3.2.2",
+ "lodash.includes": "^4.3.0",
+ "lodash.isboolean": "^3.0.3",
+ "lodash.isinteger": "^4.0.4",
+ "lodash.isnumber": "^3.0.3",
+ "lodash.isplainobject": "^4.0.6",
+ "lodash.isstring": "^4.0.1",
+ "lodash.once": "^4.0.0",
+ "ms": "^2.1.1",
+ "semver": "^5.6.0"
+ }
+ },
+ "jstree": {
+ "version": "3.3.12",
+ "resolved": "https://registry.npmjs.org/jstree/-/jstree-3.3.12.tgz",
+ "integrity": "sha512-vHNLWkUr02ZYH7RcIckvhtLUtneWCVEtIKpIp2G9WtRh01ITv18EoNtNQcFG3ozM+oK6wp1Z300gSLXNQWCqGA==",
+ "requires": {
+ "jquery": ">=1.9.1"
+ }
+ },
+ "jwa": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz",
+ "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==",
+ "requires": {
+ "buffer-equal-constant-time": "1.0.1",
+ "ecdsa-sig-formatter": "1.0.11",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "jws": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz",
+ "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==",
+ "requires": {
+ "jwa": "^1.4.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "kareem": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.4.1.tgz",
+ "integrity": "sha512-aJ9opVoXroQUPfovYP5kaj2lM7Jn02Gw13bL0lg9v0V7SaUc0qavPs0Eue7d2DcC3NjqI6QAUElXNsuZSeM+EA=="
+ },
+ "locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "requires": {
+ "p-locate": "^5.0.0"
+ }
+ },
+ "lodash.defaults": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
+ "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ=="
+ },
+ "lodash.flatten": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
+ "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g=="
+ },
+ "lodash.includes": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
+ "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w=="
+ },
+ "lodash.isarguments": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+ "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg=="
},
- "ignore-by-default": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
- "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==",
- "dev": true
+ "lodash.isboolean": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
+ "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg=="
},
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ "lodash.isequal": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
+ "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ=="
},
- "ip": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
- "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
+ "lodash.isinteger": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
+ "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA=="
},
- "ipaddr.js": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
- "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
+ "lodash.isnumber": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz",
+ "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw=="
},
- "is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
+ "lodash.isplainobject": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+ "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA=="
+ },
+ "lodash.isstring": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
+ "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw=="
+ },
+ "lodash.once": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
+ "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg=="
+ },
+ "log-symbols": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+ "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
"requires": {
- "binary-extensions": "^2.0.0"
+ "chalk": "^4.1.0",
+ "is-unicode-supported": "^0.1.0"
}
},
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true
+ "lossless-json": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/lossless-json/-/lossless-json-1.0.5.tgz",
+ "integrity": "sha512-RicKUuLwZVNZ6ZdJHgIZnSeA05p8qWc5NW0uR96mpPIjN9WDLUg9+kj1esQU1GkPn9iLZVKatSQK5gyiaFHgJA=="
},
- "is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
+ "loupe": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz",
+ "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==",
"requires": {
- "is-extglob": "^2.1.1"
+ "get-func-name": "^2.0.0"
}
},
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "requires": {
+ "yallist": "^4.0.0"
+ }
},
- "kareem": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.4.1.tgz",
- "integrity": "sha512-aJ9opVoXroQUPfovYP5kaj2lM7Jn02Gw13bL0lg9v0V7SaUc0qavPs0Eue7d2DcC3NjqI6QAUElXNsuZSeM+EA=="
+ "make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "requires": {
+ "semver": "^6.0.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ }
+ }
},
"media-typer": {
"version": "0.3.0",
@@ -532,11 +4562,150 @@
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
"requires": {
"brace-expansion": "^1.1.7"
}
},
+ "minipass": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz",
+ "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==",
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
+ "minizlib": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
+ "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
+ "requires": {
+ "minipass": "^3.0.0",
+ "yallist": "^4.0.0"
+ }
+ },
+ "mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
+ },
+ "mocha": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.1.0.tgz",
+ "integrity": "sha512-vUF7IYxEoN7XhQpFLxQAEMtE4W91acW4B6En9l97MwE9stL1A9gusXfoHZCLVHDUJ/7V5+lbCM6yMqzo5vNymg==",
+ "requires": {
+ "ansi-colors": "4.1.1",
+ "browser-stdout": "1.3.1",
+ "chokidar": "3.5.3",
+ "debug": "4.3.4",
+ "diff": "5.0.0",
+ "escape-string-regexp": "4.0.0",
+ "find-up": "5.0.0",
+ "glob": "7.2.0",
+ "he": "1.2.0",
+ "js-yaml": "4.1.0",
+ "log-symbols": "4.1.0",
+ "minimatch": "5.0.1",
+ "ms": "2.1.3",
+ "nanoid": "3.3.3",
+ "serialize-javascript": "6.0.0",
+ "strip-json-comments": "3.1.1",
+ "supports-color": "8.1.1",
+ "workerpool": "6.2.1",
+ "yargs": "16.2.0",
+ "yargs-parser": "20.2.4",
+ "yargs-unparser": "2.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "requires": {
+ "ms": "2.1.2"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
+ "glob": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+ "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "dependencies": {
+ "minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ }
+ }
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
+ },
+ "minimatch": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
+ "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ }
+ }
+ },
+ "supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "yargs": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+ "requires": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.0",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^20.2.2"
+ }
+ },
+ "yargs-parser": {
+ "version": "20.2.4",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
+ "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA=="
+ }
+ }
+ },
"mongodb": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.7.0.tgz",
@@ -605,11 +4774,60 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
},
+ "nanoid": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
+ "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w=="
+ },
"negotiator": {
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
"integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="
},
+ "node-addon-api": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz",
+ "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A=="
+ },
+ "node-fetch": {
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "requires": {
+ "whatwg-url": "^5.0.0"
+ },
+ "dependencies": {
+ "tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
+ },
+ "webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
+ },
+ "whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+ "requires": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ }
+ }
+ },
+ "node-redis-dump2": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/node-redis-dump2/-/node-redis-dump2-0.5.0.tgz",
+ "integrity": "sha512-rG54sksxPvNB0/1tsUESVBhapzCX0yAIwW2cv3k0jFK01nc0Zu/yaHGC28tCk6DHDVs9+kCFdAWewMrslJTrEA==",
+ "requires": {
+ "async": "^3.2.0",
+ "ioredis": "^4.27.0",
+ "underscore": "^1.13.1"
+ }
+ },
"nodemon": {
"version": "2.0.19",
"resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.19.tgz",
@@ -640,8 +4858,18 @@
"normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
+ },
+ "npmlog": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
+ "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
+ "requires": {
+ "are-we-there-yet": "^2.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^3.0.0",
+ "set-blocking": "^2.0.0"
+ }
},
"object-assign": {
"version": "4.1.1",
@@ -661,21 +4889,74 @@
"ee-first": "1.1.1"
}
},
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "opener": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz",
+ "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A=="
+ },
+ "p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "requires": {
+ "yocto-queue": "^0.1.0"
+ }
+ },
+ "p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "requires": {
+ "p-limit": "^3.0.2"
+ }
+ },
+ "p-map": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
+ "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw=="
+ },
"parseurl": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
"integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
},
+ "path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="
+ },
"path-to-regexp": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
"integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
},
+ "pathval": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
+ "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ=="
+ },
"picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
+ },
+ "process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
},
"proxy-addr": {
"version": "2.0.7",
@@ -705,6 +4986,14 @@
"side-channel": "^1.0.4"
}
},
+ "randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "requires": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
"range-parser": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
@@ -721,15 +5010,102 @@
"unpipe": "1.0.0"
}
},
+ "readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ },
"readdirp": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "dev": true,
"requires": {
"picomatch": "^2.2.1"
}
},
+ "readline-browserify": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/readline-browserify/-/readline-browserify-0.0.4.tgz",
+ "integrity": "sha512-SHbXkW5caHKOF7O06a60TF1vF/uBLB3b4ZF91tmwcuNOwnLrsgqy8p+XIP3J9h41AZuM9AqlKlQO9tvU/muD4w=="
+ },
+ "redis": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/redis/-/redis-4.3.1.tgz",
+ "integrity": "sha512-cM7yFU5CA6zyCF7N/+SSTcSJQSRMEKN0k0Whhu6J7n9mmXRoXugfWDBo5iOzGwABmsWKSwGPTU5J4Bxbl+0mrA==",
+ "requires": {
+ "@redis/bloom": "1.0.2",
+ "@redis/client": "1.3.0",
+ "@redis/graph": "1.0.1",
+ "@redis/json": "1.0.4",
+ "@redis/search": "1.1.0",
+ "@redis/time-series": "1.0.3"
+ }
+ },
+ "redis-commander": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/redis-commander/-/redis-commander-0.8.0.tgz",
+ "integrity": "sha512-vE1VCjI6KMxvrP7ClwylqV8DR3mbGuRClOlmi1mtNcxuWQ5G1WLnBNNAdlRcqOCv64bx2rLiuHV1lW1jyGgbxQ==",
+ "requires": {
+ "async": "3.2.3",
+ "bcrypt": "~5.0.0",
+ "bcryptjs": "2.4.3",
+ "body-parser": "1.20.0",
+ "clipboard": "2.0.10",
+ "cmdparser": "0.0.3",
+ "config": "3.3.7",
+ "dateformat": "3.0.3",
+ "ejs": "3.1.7",
+ "express": "4.18.1",
+ "express-partials": "0.3.0",
+ "inflection": "1.13.2",
+ "ioredis": "4.28.5",
+ "jquery.json-viewer": "1.5.0",
+ "jsonwebtoken": "8.5.1",
+ "jstree": "3.3.12",
+ "lodash.isequal": "4.5.0",
+ "lossless-json": "1.0.5",
+ "node-redis-dump2": "0.5.0",
+ "opener": "1.5.2",
+ "readline-browserify": "0.0.4",
+ "yargs": "17.4.1"
+ }
+ },
+ "redis-commands": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.7.0.tgz",
+ "integrity": "sha512-nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ=="
+ },
+ "redis-errors": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz",
+ "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w=="
+ },
+ "redis-parser": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz",
+ "integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==",
+ "requires": {
+ "redis-errors": "^1.0.0"
+ }
+ },
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
"safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
@@ -749,11 +5125,15 @@
"sparse-bitfield": "^3.0.3"
}
},
+ "select": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz",
+ "integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA=="
+ },
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
},
"send": {
"version": "0.18.0",
@@ -792,6 +5172,14 @@
}
}
},
+ "serialize-javascript": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
+ "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
+ "requires": {
+ "randombytes": "^2.1.0"
+ }
+ },
"serve-static": {
"version": "1.15.0",
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
@@ -803,6 +5191,11 @@
"send": "0.18.0"
}
},
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
+ },
"setprototypeof": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
@@ -823,6 +5216,11 @@
"resolved": "https://registry.npmjs.org/sift/-/sift-16.0.0.tgz",
"integrity": "sha512-ILTjdP2Mv9V1kIxWMXeMTIRbOBrqKc4JAXmFMnFq3fKeyQ2Qwa3Dw1ubcye3vR+Y6ofA0b9gNDr/y2t6eUeIzQ=="
},
+ "signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
+ },
"simple-update-notifier": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz",
@@ -863,11 +5261,93 @@
"memory-pager": "^1.0.2"
}
},
+ "standard-as-callback": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz",
+ "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A=="
+ },
"statuses": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="
},
+ "string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "requires": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
+ "strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="
+ },
+ "superagent": {
+ "version": "3.8.3",
+ "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz",
+ "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==",
+ "requires": {
+ "component-emitter": "^1.2.0",
+ "cookiejar": "^2.1.0",
+ "debug": "^3.1.0",
+ "extend": "^3.0.0",
+ "form-data": "^2.3.1",
+ "formidable": "^1.2.0",
+ "methods": "^1.1.1",
+ "mime": "^1.4.1",
+ "qs": "^6.5.1",
+ "readable-stream": "^2.3.5"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@@ -877,11 +5357,28 @@
"has-flag": "^3.0.0"
}
},
+ "tar": {
+ "version": "6.1.11",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
+ "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
+ "requires": {
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^3.0.0",
+ "minizlib": "^2.1.1",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
+ }
+ },
+ "tiny-emitter": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
+ "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q=="
+ },
"to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
"requires": {
"is-number": "^7.0.0"
}
@@ -908,6 +5405,11 @@
"punycode": "^2.1.1"
}
},
+ "type-detect": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g=="
+ },
"type-is": {
"version": "1.6.18",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
@@ -923,11 +5425,37 @@
"integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==",
"dev": true
},
+ "underscore": {
+ "version": "1.13.4",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.4.tgz",
+ "integrity": "sha512-BQFnUDuAQ4Yf/cYY5LNrK9NCJFKriaRbD9uR1fTeXnBeoa97W0i41qkZfGO9pSo8I5KzjAcSY2XYtdf0oKd7KQ=="
+ },
+ "universal-cookie": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/universal-cookie/-/universal-cookie-4.0.4.tgz",
+ "integrity": "sha512-lbRVHoOMtItjWbM7TwDLdl8wug7izB0tq3/YVKhT/ahB4VDvWMyvnADfnJI8y6fSvsjh51Ix7lTGC6Tn4rMPhw==",
+ "requires": {
+ "@types/cookie": "^0.3.3",
+ "cookie": "^0.4.0"
+ },
+ "dependencies": {
+ "cookie": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
+ "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA=="
+ }
+ }
+ },
"unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
"integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="
},
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+ },
"utils-merge": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
@@ -951,6 +5479,79 @@
"tr46": "^3.0.0",
"webidl-conversions": "^7.0.0"
}
+ },
+ "wide-align": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
+ "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
+ "requires": {
+ "string-width": "^1.0.2 || 2 || 3 || 4"
+ }
+ },
+ "workerpool": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz",
+ "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw=="
+ },
+ "wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ },
+ "y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ },
+ "yargs": {
+ "version": "17.4.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz",
+ "integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==",
+ "requires": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.0.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="
+ },
+ "yargs-unparser": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+ "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+ "requires": {
+ "camelcase": "^6.0.0",
+ "decamelize": "^4.0.0",
+ "flat": "^5.0.2",
+ "is-plain-obj": "^2.1.0"
+ }
+ },
+ "yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="
}
}
}
diff --git a/user-service/package.json b/user-service/package.json
index a813498..b6372ab 100644
--- a/user-service/package.json
+++ b/user-service/package.json
@@ -7,7 +7,7 @@
"scripts": {
"dev": "nodemon index.js",
"start": "node index.js",
- "test": "echo \"Error: no test specified\" && exit 1"
+ "test": "mocha --exit --timeout 1000000"
},
"keywords": [],
"author": "",
@@ -16,9 +16,17 @@
"nodemon": "^2.0.19"
},
"dependencies": {
+ "bcrypt": "^5.0.1",
+ "chai": "^4.3.7",
+ "chai-http": "^4.3.0",
"cors": "^2.8.5",
"dotenv": "^16.0.1",
"express": "^4.18.1",
- "mongoose": "^6.4.5"
+ "jsonwebtoken": "^8.5.1",
+ "mocha": "^10.1.0",
+ "mongoose": "^6.4.5",
+ "redis": "^4.3.1",
+ "redis-commander": "^0.8.0",
+ "universal-cookie": "^4.0.4"
}
}
diff --git a/user-service/test/test.js b/user-service/test/test.js
new file mode 100644
index 0000000..0c8bc5b
--- /dev/null
+++ b/user-service/test/test.js
@@ -0,0 +1,187 @@
+import "dotenv/config";
+import chai from "chai";
+import chaiHttp from "chai-http";
+import { app as server } from "../index.js";
+chai.should();
+chai.use(chaiHttp);
+
+const username = "testSubject1";
+const password = "test@12345";
+const username2 = "testSubject12";
+const newPassword = "12345@test";
+var token = "";
+
+// Test the Get Route
+describe("/GET healthcheck", () => {
+ it("it should get hello world", (done) => {
+ chai.request(server)
+ .get("/api/user")
+ .end((error, response) => {
+ response.text.should.equal("Hello World from user-service");
+ response.should.have.status(200);
+ done();
+ });
+ });
+});
+
+// Test Create Post Call
+describe("Test POST Creation of Users", () => {
+ it("New user created", (done) => {
+ chai.request(server)
+ .post("/api/user")
+ .set("content-type", "application/json")
+ .send({
+ username: username,
+ password: password,
+ })
+ .end((err, res) => {
+ res.body.message.should.equal(
+ "Created new user testSubject1 successfully!"
+ );
+ res.should.have.status(201);
+ done();
+ });
+ });
+
+ it("Fail to create duplicate user", (done) => {
+ chai.request(server)
+ .post("/api/user")
+ .set("content-type", "application/json")
+ .send({
+ username: username,
+ password: password,
+ })
+ .end((err, res) => {
+ res.body.message.should.equal(
+ "(Duplicate Username): Kindly pick another username."
+ );
+ res.should.have.status(400);
+ done();
+ });
+ });
+});
+// describe("Test Login Success", () => {
+// it("Login Success", (done) => {
+// chai.request(server)
+// .post("/api/user/login")
+// .set("content-type", "application/json")
+// .send({
+// username: username,
+// password: password,
+// })
+// .end((err, res) => {
+// res.body.message.should.equal(
+// "Authentication Success: Log-in Completed"
+// );
+// token = res.body.token;
+// res.should.have.status(200);
+// done();
+// });
+// });
+
+// it("Login Failure Invalid Password", (done) => {
+// chai.request(server)
+// .post("/api/user/login")
+// .set("content-type", "application/json")
+// .send({
+// username: username,
+// password: password + "Invalid",
+// })
+// .end((err, res) => {
+// res.body.message.should.equal(
+// "Authentication Error: Wrong log-in credentials"
+// );
+// res.should.have.status(401);
+// done();
+// });
+// });
+// });
+
+// describe("Test Update Password Success", () => {
+// it("Update password failure due to wrong password", (done) => {
+// chai.request(server)
+// .post("/api/user/updatePassword")
+// .set({ Authorization: `Bearer ${token}` })
+// .set("content-type", "application/json")
+// .send({
+// username: username,
+// password: password + "Invalid",
+// newPassword: newPassword,
+// })
+// .end((err, res) => {
+// res.body.message.should.equal(
+// "Authentication Error: Wrong credentials"
+// );
+// res.should.have.status(401);
+// done();
+// });
+// });
+
+// it("Update password success", (done) => {
+// chai.request(server)
+// .post("/api/user/updatePassword")
+// .set({ Authorization: `Bearer ${token}` })
+// .set("content-type", "application/json")
+// .send({
+// username: username,
+// password: password,
+// newPassword: newPassword,
+// })
+// .end((err, res) => {
+// res.body.message.should.equal("User Updated");
+// res.should.have.status(200);
+// done();
+// });
+// });
+
+// it("Login Success after password change", (done) => {
+// chai.request(server)
+// .post("/api/user/login")
+// .set("content-type", "application/json")
+// .send({
+// username: username,
+// password: newPassword,
+// })
+// .end((err, res) => {
+// res.body.message.should.equal(
+// "Authentication Success: Log-in Completed"
+// );
+// token = res.body.token;
+// res.should.have.status(200);
+// done();
+// });
+// });
+// });
+// describe("Delete /api/user/deleteUser", () => {
+// it("Delete user with wrong password Failure", (done) => {
+// chai.request(server)
+// .delete("/api/user/deleteUser")
+// .set({ Authorization: `Bearer ${token}` })
+// .send({
+// username: username,
+// password: newPassword + "Invalid",
+// })
+// .end((err, res) => {
+// res.body.message.should.equal(
+// "Authentication Error: Wrong credentials"
+// );
+// res.should.have.status(401);
+// done();
+// });
+// });
+
+// it("Delete valid user", (done) => {
+// chai.request(server)
+// .delete("/api/user/deleteUser")
+// .set({ Authorization: `Bearer ${token}` })
+// .send({
+// username: username,
+// password: newPassword,
+// })
+// .end((err, res) => {
+// res.should.have.status(200);
+// res.body.message.should.equal("User deleted");
+// done();
+// });
+// });
+// });