├── .env
├── .gitignore
├── CHANGELOG.md
├── README.md
├── jest.config.js
├── package-lock.json
├── package.json
├── package.json.prod
├── src
├── builder
│ ├── index.ts
│ ├── instruction-builder.ts
│ └── job-builder.ts
├── config
│ ├── error.ts
│ ├── index.ts
│ ├── job-config.ts
│ ├── job-constants.ts
│ └── program-id.ts
├── idl
│ ├── index.ts
│ └── snowflake.json
├── index.ts
├── model
│ ├── index.ts
│ ├── job-layout.ts
│ └── job.ts
├── service
│ ├── finder.ts
│ ├── index.ts
│ ├── snowflake.ts
│ └── transaction-sender.ts
└── tsconfig.json
├── test-env.js
├── test
├── job-builder.test.ts
├── model.test.ts
├── snowflake.test.ts
└── test-data.ts
├── tsconfig.json
└── yarn.lock
/.env:
--------------------------------------------------------------------------------
1 | ANCHOR_WALLET="/Users/{user}/.config/solana/id.json"
2 | ANCHOR_PROVIDER_URL="https://api.devnet.solana.com"
3 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # dependencies
2 | /node_modules
3 |
4 | # production
5 | /dist
6 | /logs
7 |
8 | # misc
9 | .DS_Store
10 | *.iml
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 |
3 | All notable changes to this project will be documented in this file.
4 |
5 | ## [1.0.12] - 2022-05-10
6 | * Upgrade Anchor to version 0.24.2
7 |
8 | ## [1.0.11] - 2022-04-20
9 | * Support self-funded job [https://github.com/snowflake-so/snowflake-sdk/pull/10]
10 | * Add finding jobs by appId [https://github.com/snowflake-so/snowflake-sdk/pull/12]
11 |
12 | ## [1.0.10] - 2022-03-29
13 |
14 |
15 | ### Updates
16 |
17 | * Allow developers to specify custom job account sizes at creation [https://github.com/snowflake-so/snowflake-sdk/pull/7]
18 | * Update Snowflake PDA account calculation to support context isolation at the app-id level [https://github.com/snowflake-so/snowflake-sdk/pull/8]
19 |
20 | ## [1.0.9] - 2022-03-20
21 |
22 | ### Features
23 |
24 | * New API - locate Snowflake PDA for user [https://github.com/snowflake-so/snowflake-sdk/pull/4]
25 | * Enable cron support for weekday [https://github.com/snowflake-so/snowflake-sdk/pull/3]
26 | * New API - deposit to user fee's account [https://github.com/snowflake-so/snowflake-sdk/pull/5]
27 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Snowflake TypeScript SDK
2 |
3 | Snowflake SDK provides services and a set of APIs used for interacting with the automation infrastructure of Snowflake on Solana blockchain. Learn more about Snowflake here.
4 |
5 | ## Installation
6 |
7 | Install with npm
8 |
9 | ```bash
10 | npm i @snowflake-so/snowflake-sdk
11 | ```
12 |
13 | Install with yarn
14 |
15 | ```bash
16 | yarn add @snowflake-so/snowflake-sdk
17 | ```
18 |
19 | ## Quick start guide
20 |
21 | ### Initialize Snowflake
22 |
23 | To create a new Snowflake service, we would need to initialize with the Provider.
24 |
25 |
26 | ```typescript
27 | // if your Anchor version is older than 0.24.2,
28 | // please use Snowflake SDK version 1.0.11 and initialize the provider as below
29 | let provider: Provider = Provider.local(API_URL);
30 |
31 | // if your Anchor version is 0.24.2 or later,
32 | // please use the latest version of Snowflake SDK and initialize the provider as below
33 | let provider: Provider = AnchorProvider.local(API_URL);
34 | ```
35 |
36 | The `API_URL` is the endpoint to the Solana cluster. Empty API_URL is pointed to the `local testnet`
37 |
38 | - Mainnet Beta: `https://api.mainnet-beta.solana.com`
39 | - Testnet: `https://api.testnet.solana.com`
40 | - Devnet: `https://api.devnet.solana.com`
41 |
42 | ```typescript
43 | let snowflake: Snowflake = new Snowflake(provider);
44 | ```
45 |
46 | ### Build an once-off scheduled job
47 |
48 | With Snowflake SDK, you can create a job with two line of code.
49 |
50 | ```typescript
51 | const job = new JobBuilder()
52 | .jobName("hello world")
53 | .jobInstructions(instructions)
54 | .scheduleOnce(tomorrow())
55 | .build();
56 |
57 | await snowflake.createJob(job);
58 | ```
59 |
60 | ### Build a recurring scheduled job
61 |
62 | Schedule a job that runs every minute for 10 times.
63 |
64 | ```typescript
65 | const job = new JobBuilder()
66 | .jobName("hello world")
67 | .jobInstructions(instructions)
68 | .scheduleCron("* * * * *", 10)
69 | .build();
70 |
71 | await snowflake.createJob(job);
72 | ```
73 |
74 | Schedule a job that runs at 10:00 AM on the first day of every month .
75 |
76 | ```typescript
77 | const job = new JobBuilder()
78 | .jobName("hello world")
79 | .jobInstructions(instructions)
80 | .scheduleCron("0 10 1 * *")
81 | .build();
82 |
83 | await snowflake.createJob(job);
84 | ```
85 |
86 | ### Build a program condition triggered job
87 |
88 | Schedule a job that is triggered based on an arbitrary condition defined within the user program.
89 |
90 | ```typescript
91 | const job = new JobBuilder()
92 | .jobName("hello world")
93 | .jobInstructions(instructions)
94 | .scheduleConditional(1)
95 | .build();
96 |
97 | await snowflake.createJob(job);
98 | ```
99 |
100 | ### Build a self-funded job
101 |
102 | Self-funded job will take an account to pay fees on its own by using the initial fund. Fee account is no longer used for paying the job's fee.
103 |
104 | ```typescript
105 | const job = new JobBuilder()
106 | .jobName("hello world")
107 | .jobInstruction(instructions)
108 | .scheduleConditional(1);
109 | .selfFunded(true)
110 | .initialFund(100000) // 1000000 lamports
111 | .build()
112 |
113 | await snowflake.createJob(job)
114 | ```
115 |
116 | ### Update a job
117 |
118 | ```typescript
119 | await snowflake.updateJob(jobPubkey);
120 | ```
121 |
122 | ### Delete a job
123 |
124 | ```typescript
125 | await snowflake.deleteJob(jobPubkey);
126 | ```
127 |
128 | ### Fetch Job by public key
129 |
130 | ```typescript
131 | await snowflake.fetch(jobPubkey);
132 | ```
133 |
134 | ### Fetch Job by owner
135 |
136 | ```typescript
137 | await snowflake.fetchByOwner(owner);
138 | ```
139 |
140 | ### Get Snowflake PDA
141 |
142 | ```typescript
143 | await snowflake.getSnowflakePDAForUser(userPublicKey);
144 | ```
145 |
146 | ### Deposit fee account
147 |
148 | ```typescript
149 | await snowflake.depositFeeAccount(lamports);
150 | ```
151 |
152 | ## Usage
153 |
154 | ```typescript
155 | import { JobBuilder, Snowflake } from "@snowflake-so/snowflake-sdk";
156 | import { Provider } from "@project-serum/anchor";
157 |
158 | /** Initialize a Snowflake service on Devnet **/
159 | const API_URL: string = "https://api.devnet.solana.com";
160 | const provider: Provider = new Provider(API_URL);
161 | const snowflake: Snowflake = new Snowflake();
162 |
163 | async function main() {
164 | /** Create a sample instruction **/
165 | const instructions = [
166 | {
167 | programId: new PublicKey("ETwBdF9X2eABzmKmpT3ZFYyUtmve7UWWgzbERAyd4gAC"),
168 | data: Buffer.from("74b89fceb3e0b22a", "hex"),
169 | keys: [
170 | {
171 | pubkey: new PublicKey("5jo4Lh2Z9FGQ87sDhUBwZjNZdL15MwdeT5WUXKfwFSZY"),
172 | isSigner: false,
173 | isWritable: false,
174 | },
175 | ],
176 | },
177 | ];
178 |
179 | /** Create a new once-off scheduled job **/
180 | const onceOffJob = new JobBuilder()
181 | .jobName("once-off job")
182 | .jobInstructions(instructions)
183 | .scheduleOnce(1646034062)
184 | // Timestamp: Monday, 28-Feb-22 07:41:02 UTC
185 | .build();
186 |
187 | const onceOffJobTxID = await snowflake.createJob(onceOffJob);
188 | console.log("Create a recurring job with txId: " + onceOffJobTxID);
189 |
190 | /** Create a new recurring scheduled job **/
191 | const recurringJob = new JobBuilder()
192 | .jobName("recurring job")
193 | .jobInstruction(instructions)
194 | .scheduleCron("* * * * *")
195 | // Every minute
196 | .build();
197 |
198 | const recurringJobTxID = await snowflake.createJob(recurringJob);
199 | console.log("Create a recurring job with txId: " + recurringJobTxID);
200 |
201 | /** Fetch an once-off job **/
202 | const fetchedOnceOffJob = await snowflake.fetch(onceOffJob.pubkey);
203 |
204 | // Build from an existing job
205 | const updatedJob = new JobBuilder()
206 | .fromExistingJob(fetchedOnceOffJob)
207 | .jobName("hello world 2")
208 | .scheduleCron("0 * * * *", 2)
209 | .build();
210 |
211 | /** Update a job **/
212 | await snowflake.updateJob(updatedJob);
213 |
214 | /** Delete a job **/
215 | await snowflake.deleteJob(job.pubKey);
216 |
217 | /** Get Snowflake PDA for user **/
218 | const walletAddress: PublicKey = provider.wallet.publicKey;
219 | await snowflake.getSnowflakePDAforUser(walletAddress);
220 |
221 | /** Deposit to fee account (5000000 lamports) **/
222 | await snowflake.depositFeeAccount(5000000);
223 | }
224 | ```
225 |
226 | ## Support
227 |
228 | **Struggle with the SDK integration?**
229 |
230 | If you have any problem with using the SDK in your system, drop a question our Snowflake Discord `#sdk` to receive a support from our engineers.
231 |
232 | **Find a bug? Find a new idea for Snowflake?**
233 |
234 | If you find a bug or have any problem and idea while using the SDK, you can create an issue on Snowflake SDK Github.
235 |
236 | ## License
237 |
238 | MIT
239 |
--------------------------------------------------------------------------------
/jest.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | roots: ["/src", "/test"],
3 | testMatch: [
4 | "**/__tests__/**/*.+(ts|tsx|js)",
5 | "**/?(*.)+(spec|test).+(ts|tsx|js)",
6 | ],
7 | transform: {
8 | "^.+\\.(ts|tsx)$": "ts-jest",
9 | },
10 | setupFiles: ["./test-env"],
11 | };
12 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@snowflake-so/snowflake-sdk",
3 | "description": "Typescript SDK for Snowflake automation protocol",
4 | "version": "1.0.12",
5 | "main": "dist/index.js",
6 | "types": "dist/index.d.ts",
7 | "scripts": {
8 | "build": "tsc -p src",
9 | "watch": "tsc -w -p src",
10 | "prettier-format": "prettier --config .prettierrc 'src/**/*.ts' --write",
11 | "prepublish": "tsc -p src",
12 | "test": "jest"
13 | },
14 | "dependencies": {
15 | "@project-serum/anchor": "^0.24.2",
16 | "@solana/web3.js": "^1.41.4",
17 | "lodash": "^4.17.21"
18 | },
19 | "devDependencies": {
20 | "@types/bn.js": "^5.1.0",
21 | "@types/jest": "^27.4.0",
22 | "@types/mocha": "^9.1.0",
23 | "buffer-layout": "^1.2.2",
24 | "dotenv": "^16.0.0",
25 | "jest": "^27.5.1",
26 | "ts-jest": "^27.1.3",
27 | "ts-node": "^10.5.0",
28 | "typescript": "^4.5.5"
29 | },
30 | "files": [
31 | "/dist"
32 | ],
33 | "repository": {
34 | "type": "git",
35 | "url": "https://github.com/snowflake-so/"
36 | },
37 | "keywords": [
38 | "solana",
39 | "automation",
40 | "sdk",
41 | "cron"
42 | ],
43 | "author": "team@snowflake.so",
44 | "license": "MIT"
45 | }
46 |
--------------------------------------------------------------------------------
/package.json.prod:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "@project-serum/anchor": "^0.17.0",
4 | "log4js": "^6.3.0",
5 | "node-cron": "^3.0.0"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/builder/index.ts:
--------------------------------------------------------------------------------
1 | export * from "./instruction-builder";
2 | export * from "./job-builder";
3 |
--------------------------------------------------------------------------------
/src/builder/instruction-builder.ts:
--------------------------------------------------------------------------------
1 | import { Keypair, PublicKey, SystemProgram } from "@solana/web3.js";
2 | import { Program, AnchorProvider } from '@project-serum/anchor';
3 | import { FeeSource, InstructionsAndSigners, Job } from "../model/job";
4 | import { JOB_ACCOUNT_DEFAULT_SIZE } from "../config/job-config";
5 |
6 | export class InstructionBuilder {
7 | program: Program;
8 | provider: AnchorProvider;
9 | constructor(program: Program, provider: AnchorProvider) {
10 | this.program = program;
11 | this.provider = provider;
12 | }
13 |
14 | buildCreateJobInstruction(
15 | job: Job,
16 | accountSize: number
17 | ): InstructionsAndSigners {
18 | const serializableJob = job.toSerializableJob();
19 | let newFlowKeyPair = Keypair.generate();
20 |
21 | let createContext: any = {
22 | accounts: {
23 | flow: newFlowKeyPair.publicKey,
24 | owner: this.provider.wallet.publicKey,
25 | systemProgram: SystemProgram.programId,
26 | },
27 | };
28 |
29 | const createIx = this.program.instruction.createFlow(
30 | accountSize,
31 | serializableJob,
32 | createContext
33 | );
34 |
35 | let instructions = [createIx];
36 | let signers = [newFlowKeyPair];
37 |
38 | let fundFlowTx;
39 | if (job.payFeeFrom == FeeSource.FromFlow) {
40 | const walletPubkey = this.provider.wallet.publicKey;
41 | fundFlowTx = this.buildSystemTransferInstruction(
42 | walletPubkey,
43 | newFlowKeyPair.publicKey,
44 | job.initialFund
45 | );
46 | }
47 |
48 | if (fundFlowTx) {
49 | instructions.push(...fundFlowTx.instructions);
50 | signers.push(...fundFlowTx.signers);
51 | }
52 | return { instructions: instructions, signers: signers };
53 | }
54 |
55 | buildUpdateJobInstruction(job: Job) {
56 | const serializableJob = job.toSerializableJob();
57 | let updateContext: any = {
58 | accounts: {
59 | flow: job.pubKey,
60 | owner: this.provider.wallet.publicKey,
61 | },
62 | signers: [],
63 | };
64 |
65 | const updateIx = this.program.instruction.updateFlow(
66 | serializableJob,
67 | updateContext
68 | );
69 | return { instructions: [updateIx], signers: [] };
70 | }
71 |
72 | buildDeleteJobInstruction(jobPubKey: PublicKey) {
73 | let deleteContext: any = {
74 | accounts: {
75 | flow: jobPubKey,
76 | owner: this.provider.wallet.publicKey,
77 | },
78 | signers: [],
79 | };
80 |
81 | const deleteIx = this.program.instruction.deleteFlow(deleteContext);
82 | return { instructions: [deleteIx], signers: [] };
83 | }
84 |
85 | buildSystemTransferInstruction(
86 | from: PublicKey,
87 | to: PublicKey,
88 | amount: number
89 | ) {
90 | let depositTx = SystemProgram.transfer({
91 | fromPubkey: from,
92 | toPubkey: to,
93 | lamports: amount,
94 | });
95 |
96 | return { instructions: [depositTx], signers: [] };
97 | }
98 | }
99 |
--------------------------------------------------------------------------------
/src/builder/job-builder.ts:
--------------------------------------------------------------------------------
1 | import { PublicKey, TransactionInstruction } from "@solana/web3.js";
2 | import { FeeSource, Job, TriggerType, UnixTimeStamp } from "../model/job";
3 | import { RECURRING_FOREVER } from "../config";
4 | import { ErrorMessage } from "../config/error";
5 |
6 | export class JobBuilder {
7 | private job: Job = new Job();
8 |
9 | constructor() {}
10 |
11 | fromExistingJob(job: Job): JobBuilder {
12 | this.job = job;
13 | return this;
14 | }
15 |
16 | jobName(name: string): JobBuilder {
17 | this.job.name = name;
18 | return this;
19 | }
20 |
21 | jobInstructions(instructions: TransactionInstruction[]): JobBuilder {
22 | this.job.instructions = instructions;
23 | return this;
24 | }
25 |
26 | scheduleOnce(executionTime: UnixTimeStamp): JobBuilder {
27 | this.job.triggerType = TriggerType.Time;
28 | this.job.recurring = false;
29 | this.job.nextExecutionTime = executionTime;
30 | return this;
31 | }
32 |
33 | scheduleCron(
34 | cron: string,
35 | numberOfExecutions?: number,
36 | userTimezoneOffset?: UnixTimeStamp
37 | ): JobBuilder {
38 | this.job.triggerType = TriggerType.Time;
39 | this.job.recurring = true;
40 | this.job.cron = cron;
41 | this.job.remainingRuns =
42 | numberOfExecutions === undefined ? RECURRING_FOREVER : numberOfExecutions;
43 |
44 | this.job.userUtcOffset =
45 | userTimezoneOffset === undefined
46 | ? new Date().getTimezoneOffset() * 60
47 | : userTimezoneOffset;
48 | return this;
49 | }
50 |
51 | scheduleConditional(numberOfExecutions: number): JobBuilder {
52 | this.job.triggerType = TriggerType.ProgramCondition;
53 | this.job.remainingRuns = numberOfExecutions;
54 | return this;
55 | }
56 |
57 | selfFunded(isSelfFunded: boolean): JobBuilder {
58 | this.job.payFeeFrom = isSelfFunded
59 | ? FeeSource.FromFlow
60 | : FeeSource.FromFeeAccount;
61 | return this;
62 | }
63 |
64 | initialFund(amount: number): JobBuilder {
65 | if (this.job.payFeeFrom !== FeeSource.FromFlow) {
66 | throw new Error(ErrorMessage.JobNotBuiltAsSelfFunded);
67 | }
68 | this.job.initialFund = amount;
69 | return this;
70 | }
71 |
72 | byAppId(appId: PublicKey): JobBuilder {
73 | this.job.appId = appId;
74 | return this;
75 | }
76 |
77 | build() {
78 | return this.job;
79 | }
80 | }
81 |
--------------------------------------------------------------------------------
/src/config/error.ts:
--------------------------------------------------------------------------------
1 | export enum ErrorMessage {
2 | CreateJobWithExistingPubkey = "Can't create new job with an existing pubkey. Remove pubKey attribute and try again.",
3 | UpdateJobWithoutExistingPubkey = "Can't update job without an existing pubkey.",
4 | CreateJobWithWeekdayCron = "Can't create job with weekday cron.",
5 | UpdateJobWithWeekdayCron = "Can't update job with weekday cron.",
6 | InvalidCron = "Invalid cron.",
7 | JobNotBuiltAsSelfFunded = "Job is not built as self-funded.",
8 | }
9 |
--------------------------------------------------------------------------------
/src/config/index.ts:
--------------------------------------------------------------------------------
1 | export * from "./job-config";
2 | export * from "./job-constants";
3 | export * from "./program-id";
4 |
--------------------------------------------------------------------------------
/src/config/job-config.ts:
--------------------------------------------------------------------------------
1 | export const RETRY_WINDOW = 900;
2 | export const JOB_ACCOUNT_DEFAULT_SIZE = 1800;
3 |
--------------------------------------------------------------------------------
/src/config/job-constants.ts:
--------------------------------------------------------------------------------
1 | import { PublicKey } from "@solana/web3.js";
2 |
3 | export const CUSTOM_ACTION_CODE = 100;
4 | export const RECURRING_FOREVER = -999;
5 | export const DEFAULT_DEVELOPER_APP_ID = new PublicKey(
6 | "11111111111111111111111111111111"
7 | );
8 |
--------------------------------------------------------------------------------
/src/config/program-id.ts:
--------------------------------------------------------------------------------
1 | export const SNOWFLAKE_PROGRAM_ID =
2 | "BiVwqu45yQTxqTTTAD1UrMZNyZ3qsEVqKwTEfG9BvUs6";
3 |
--------------------------------------------------------------------------------
/src/idl/index.ts:
--------------------------------------------------------------------------------
1 | import programIdl from "../idl/snowflake.json";
2 |
3 | export const SNOWFLAKE_IDL = programIdl;
4 |
--------------------------------------------------------------------------------
/src/idl/snowflake.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "0.1.0",
3 | "name": "snowflake",
4 | "instructions": [
5 | {
6 | "name": "createFlow",
7 | "accounts": [
8 | {
9 | "name": "flow",
10 | "isMut": true,
11 | "isSigner": true
12 | },
13 | {
14 | "name": "owner",
15 | "isMut": true,
16 | "isSigner": true
17 | },
18 | {
19 | "name": "systemProgram",
20 | "isMut": false,
21 | "isSigner": false
22 | }
23 | ],
24 | "args": [
25 | {
26 | "name": "accountSize",
27 | "type": "u32"
28 | },
29 | {
30 | "name": "clientFlow",
31 | "type": {
32 | "defined": "Flow"
33 | }
34 | }
35 | ]
36 | },
37 | {
38 | "name": "updateFlow",
39 | "accounts": [
40 | {
41 | "name": "flow",
42 | "isMut": true,
43 | "isSigner": false
44 | },
45 | {
46 | "name": "owner",
47 | "isMut": false,
48 | "isSigner": true
49 | }
50 | ],
51 | "args": [
52 | {
53 | "name": "clientFlow",
54 | "type": {
55 | "defined": "Flow"
56 | }
57 | }
58 | ]
59 | },
60 | {
61 | "name": "deleteFlow",
62 | "accounts": [
63 | {
64 | "name": "flow",
65 | "isMut": true,
66 | "isSigner": false
67 | },
68 | {
69 | "name": "owner",
70 | "isMut": false,
71 | "isSigner": true
72 | }
73 | ],
74 | "args": []
75 | },
76 | {
77 | "name": "executeFlow",
78 | "accounts": [
79 | {
80 | "name": "flow",
81 | "isMut": true,
82 | "isSigner": false
83 | },
84 | {
85 | "name": "pda",
86 | "isMut": true,
87 | "isSigner": false
88 | },
89 | {
90 | "name": "caller",
91 | "isMut": false,
92 | "isSigner": true
93 | },
94 | {
95 | "name": "systemProgram",
96 | "isMut": false,
97 | "isSigner": false
98 | },
99 | {
100 | "name": "programSettings",
101 | "isMut": false,
102 | "isSigner": false
103 | }
104 | ],
105 | "args": []
106 | },
107 | {
108 | "name": "executeScheduledFlow",
109 | "accounts": [
110 | {
111 | "name": "flow",
112 | "isMut": true,
113 | "isSigner": false
114 | },
115 | {
116 | "name": "pda",
117 | "isMut": true,
118 | "isSigner": false
119 | },
120 | {
121 | "name": "caller",
122 | "isMut": false,
123 | "isSigner": true
124 | },
125 | {
126 | "name": "systemProgram",
127 | "isMut": false,
128 | "isSigner": false
129 | },
130 | {
131 | "name": "programSettings",
132 | "isMut": false,
133 | "isSigner": false
134 | }
135 | ],
136 | "args": []
137 | },
138 | {
139 | "name": "markTimedFlowAsError",
140 | "accounts": [
141 | {
142 | "name": "flow",
143 | "isMut": true,
144 | "isSigner": false
145 | },
146 | {
147 | "name": "pda",
148 | "isMut": true,
149 | "isSigner": false
150 | },
151 | {
152 | "name": "caller",
153 | "isMut": false,
154 | "isSigner": true
155 | },
156 | {
157 | "name": "systemProgram",
158 | "isMut": false,
159 | "isSigner": false
160 | },
161 | {
162 | "name": "programSettings",
163 | "isMut": false,
164 | "isSigner": false
165 | }
166 | ],
167 | "args": []
168 | },
169 | {
170 | "name": "withdrawNative",
171 | "accounts": [
172 | {
173 | "name": "caller",
174 | "isMut": false,
175 | "isSigner": true
176 | },
177 | {
178 | "name": "appId",
179 | "isMut": false,
180 | "isSigner": false
181 | },
182 | {
183 | "name": "pda",
184 | "isMut": true,
185 | "isSigner": false
186 | },
187 | {
188 | "name": "systemProgram",
189 | "isMut": false,
190 | "isSigner": false
191 | }
192 | ],
193 | "args": [
194 | {
195 | "name": "amount",
196 | "type": "u64"
197 | }
198 | ]
199 | },
200 | {
201 | "name": "withdraw",
202 | "accounts": [
203 | {
204 | "name": "caller",
205 | "isMut": false,
206 | "isSigner": true
207 | },
208 | {
209 | "name": "appId",
210 | "isMut": false,
211 | "isSigner": false
212 | },
213 | {
214 | "name": "pda",
215 | "isMut": false,
216 | "isSigner": false
217 | },
218 | {
219 | "name": "destinationAta",
220 | "isMut": true,
221 | "isSigner": false
222 | },
223 | {
224 | "name": "sourceAta",
225 | "isMut": true,
226 | "isSigner": false
227 | },
228 | {
229 | "name": "tokenProgram",
230 | "isMut": false,
231 | "isSigner": false
232 | }
233 | ],
234 | "args": [
235 | {
236 | "name": "amount",
237 | "type": "u64"
238 | }
239 | ]
240 | },
241 | {
242 | "name": "initProgramSettings",
243 | "accounts": [
244 | {
245 | "name": "programSettings",
246 | "isMut": true,
247 | "isSigner": true
248 | },
249 | {
250 | "name": "snfFoundation",
251 | "isMut": true,
252 | "isSigner": true
253 | },
254 | {
255 | "name": "systemProgram",
256 | "isMut": false,
257 | "isSigner": false
258 | }
259 | ],
260 | "args": []
261 | },
262 | {
263 | "name": "registerOperator",
264 | "accounts": [
265 | {
266 | "name": "programSettings",
267 | "isMut": true,
268 | "isSigner": false
269 | },
270 | {
271 | "name": "snfFoundation",
272 | "isMut": false,
273 | "isSigner": true
274 | },
275 | {
276 | "name": "operator",
277 | "isMut": false,
278 | "isSigner": false
279 | }
280 | ],
281 | "args": []
282 | }
283 | ],
284 | "accounts": [
285 | {
286 | "name": "Flow",
287 | "type": {
288 | "kind": "struct",
289 | "fields": [
290 | {
291 | "name": "owner",
292 | "type": "publicKey"
293 | },
294 | {
295 | "name": "lastUpdatedDate",
296 | "type": "i64"
297 | },
298 | {
299 | "name": "createdDate",
300 | "type": "i64"
301 | },
302 | {
303 | "name": "triggerType",
304 | "type": "u8"
305 | },
306 | {
307 | "name": "nextExecutionTime",
308 | "type": "i64"
309 | },
310 | {
311 | "name": "retryWindow",
312 | "type": "u32"
313 | },
314 | {
315 | "name": "recurring",
316 | "type": "bool"
317 | },
318 | {
319 | "name": "remainingRuns",
320 | "type": "i16"
321 | },
322 | {
323 | "name": "scheduleEndDate",
324 | "type": "i64"
325 | },
326 | {
327 | "name": "clientAppId",
328 | "type": "u32"
329 | },
330 | {
331 | "name": "lastRentCharged",
332 | "type": "i64"
333 | },
334 | {
335 | "name": "lastScheduledExecution",
336 | "type": "i64"
337 | },
338 | {
339 | "name": "expiryDate",
340 | "type": "i64"
341 | },
342 | {
343 | "name": "expireOnComplete",
344 | "type": "bool"
345 | },
346 | {
347 | "name": "appId",
348 | "type": "publicKey"
349 | },
350 | {
351 | "name": "payFeeFrom",
352 | "type": "u8"
353 | },
354 | {
355 | "name": "userUtcOffset",
356 | "type": "i32"
357 | },
358 | {
359 | "name": "customComputeBudget",
360 | "type": "u32"
361 | },
362 | {
363 | "name": "customFee",
364 | "type": "u32"
365 | },
366 | {
367 | "name": "customField1",
368 | "type": "i32"
369 | },
370 | {
371 | "name": "customField2",
372 | "type": "i32"
373 | },
374 | {
375 | "name": "externalId",
376 | "type": "string"
377 | },
378 | {
379 | "name": "cron",
380 | "type": "string"
381 | },
382 | {
383 | "name": "name",
384 | "type": "string"
385 | },
386 | {
387 | "name": "extra",
388 | "type": "string"
389 | },
390 | {
391 | "name": "actions",
392 | "type": {
393 | "vec": {
394 | "defined": "Action"
395 | }
396 | }
397 | }
398 | ]
399 | }
400 | },
401 | {
402 | "name": "ProgramSettings",
403 | "type": {
404 | "kind": "struct",
405 | "fields": [
406 | {
407 | "name": "snfFoundation",
408 | "type": "publicKey"
409 | },
410 | {
411 | "name": "operators",
412 | "type": {
413 | "vec": "publicKey"
414 | }
415 | },
416 | {
417 | "name": "operatorToCheckIndex",
418 | "type": "i32"
419 | },
420 | {
421 | "name": "lastCheckTime",
422 | "type": "i64"
423 | }
424 | ]
425 | }
426 | }
427 | ],
428 | "types": [
429 | {
430 | "name": "Action",
431 | "type": {
432 | "kind": "struct",
433 | "fields": [
434 | {
435 | "name": "name",
436 | "type": "string"
437 | },
438 | {
439 | "name": "actionCode",
440 | "type": "u32"
441 | },
442 | {
443 | "name": "instruction",
444 | "type": "bytes"
445 | },
446 | {
447 | "name": "program",
448 | "type": "publicKey"
449 | },
450 | {
451 | "name": "accounts",
452 | "type": {
453 | "vec": {
454 | "defined": "TargetAccountSpec"
455 | }
456 | }
457 | },
458 | {
459 | "name": "extra",
460 | "type": "string"
461 | }
462 | ]
463 | }
464 | },
465 | {
466 | "name": "TargetAccountSpec",
467 | "type": {
468 | "kind": "struct",
469 | "fields": [
470 | {
471 | "name": "pubkey",
472 | "type": "publicKey"
473 | },
474 | {
475 | "name": "isSigner",
476 | "type": "bool"
477 | },
478 | {
479 | "name": "isWritable",
480 | "type": "bool"
481 | }
482 | ]
483 | }
484 | },
485 | {
486 | "name": "ErrorCode",
487 | "type": {
488 | "kind": "enum",
489 | "variants": [
490 | {
491 | "name": "InvalidJobData"
492 | },
493 | {
494 | "name": "JobIsNotAssignedToOperator"
495 | },
496 | {
497 | "name": "JobIsNotDueForExecution"
498 | },
499 | {
500 | "name": "CannotMarkJobAsErrorIfItsWithinSchedule"
501 | },
502 | {
503 | "name": "OperatorIsAlreadyRegistered"
504 | },
505 | {
506 | "name": "ExecuteNowCanOnlyBePerformedByFlowOwner"
507 | },
508 | {
509 | "name": "UserInstructionMustNotReferenceTheNodeOperator"
510 | }
511 | ]
512 | }
513 | },
514 | {
515 | "name": "TriggerType",
516 | "type": {
517 | "kind": "enum",
518 | "variants": [
519 | {
520 | "name": "None"
521 | },
522 | {
523 | "name": "Time"
524 | },
525 | {
526 | "name": "Program"
527 | }
528 | ]
529 | }
530 | },
531 | {
532 | "name": "FeeSource",
533 | "type": {
534 | "kind": "enum",
535 | "variants": [
536 | {
537 | "name": "FromFeeAccount"
538 | },
539 | {
540 | "name": "FromFlow"
541 | }
542 | ]
543 | }
544 | }
545 | ],
546 | "metadata": {
547 | "address": "BiVwqu45yQTxqTTTAD1UrMZNyZ3qsEVqKwTEfG9BvUs6"
548 | }
549 | }
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from "./service";
2 | export * from "./model";
3 | export * from "./builder";
4 | export * from "./config";
5 | export * from "./idl";
6 |
--------------------------------------------------------------------------------
/src/model/index.ts:
--------------------------------------------------------------------------------
1 | export * from "./job";
2 | export * from "./job-layout";
3 |
--------------------------------------------------------------------------------
/src/model/job-layout.ts:
--------------------------------------------------------------------------------
1 | // @ts-ignore
2 | import BufferLayout from "buffer-layout";
3 |
4 | export const JOB_ACCOUNT_LAYOUT = BufferLayout.struct([
5 | BufferLayout.blob(8, "discriminator"),
6 | BufferLayout.blob(32, "owner"),
7 | BufferLayout.blob(8, "lastUpdatedDate"),
8 | BufferLayout.blob(8, "createdDate"),
9 | BufferLayout.blob(1, "triggerType"),
10 | BufferLayout.blob(8, "nextExecutionTime"),
11 | BufferLayout.blob(4, "retryWindow"),
12 | BufferLayout.blob(1, "recurring"),
13 | BufferLayout.blob(2, "remainingRuns"),
14 | BufferLayout.blob(8, "scheduleEndDate"),
15 | BufferLayout.blob(4, "clientAppId"),
16 | BufferLayout.blob(8, "lastRentCharged"),
17 | BufferLayout.blob(8, "lastScheduledExecution"),
18 | BufferLayout.blob(8, "expiryDate"),
19 | BufferLayout.blob(1, "expireOnComplete"),
20 | BufferLayout.blob(32, "appId"),
21 | BufferLayout.blob(1, "payFeeFrom"),
22 | BufferLayout.blob(4, "userUtcOffset"),
23 | BufferLayout.blob(4, "customComputeBudget"),
24 | BufferLayout.blob(4, "customFee"),
25 | BufferLayout.blob(4, "customField1"),
26 | BufferLayout.blob(4, "customField2"),
27 | ]);
28 |
--------------------------------------------------------------------------------
/src/model/job.ts:
--------------------------------------------------------------------------------
1 | import { BN } from "@project-serum/anchor";
2 | import {
3 | AccountMeta,
4 | PublicKey,
5 | Signer,
6 | TransactionInstruction,
7 | } from "@solana/web3.js";
8 | import { Buffer } from "buffer";
9 | import _ from "lodash";
10 | import { RETRY_WINDOW } from "../config/job-config";
11 | import { ErrorMessage } from "../config/error";
12 | import { CUSTOM_ACTION_CODE, DEFAULT_DEVELOPER_APP_ID } from "../config";;
13 |
14 | export type UnixTimeStamp = number;
15 | export type UTCOffset = number;
16 |
17 | export enum FeeSource {
18 | FromFeeAccount = 0,
19 | FromFlow = 1,
20 | }
21 |
22 | export enum TriggerType {
23 | None = 1,
24 | Time = 2,
25 | ProgramCondition = 3,
26 | }
27 |
28 | const NON_BN_FIELDS = [
29 | "remainingRuns",
30 | "triggerType",
31 | "retryWindow",
32 | "clientAppId",
33 | "userUtcOffset",
34 | "payFeeFrom",
35 | ];
36 |
37 | export class Job {
38 | pubKey: PublicKey;
39 | owner: PublicKey;
40 | nextExecutionTime: UnixTimeStamp = 0;
41 | recurring: boolean = false;
42 | retryWindow: number = RETRY_WINDOW;
43 | remainingRuns: number = 0;
44 | dedicatedOperator: PublicKey;
45 | clientAppId: number = 0;
46 | expiryDate: UnixTimeStamp = 0;
47 | expireOnComplete: boolean = false;
48 | scheduleEndDate: UnixTimeStamp = 0;
49 | userUtcOffset: UTCOffset = new Date().getTimezoneOffset() * 60;
50 | lastScheduledExecution: UnixTimeStamp = 0;
51 | createdDate: UnixTimeStamp = 0;
52 | lastRentCharged: UnixTimeStamp = 0;
53 | lastUpdatedDate: UnixTimeStamp = 0;
54 | externalId: String = "";
55 | cron: string = "";
56 | name: string = "job - " + new Date().toLocaleDateString();
57 | extra: String = "";
58 | triggerType: TriggerType = TriggerType.None;
59 | payFeeFrom: FeeSource = FeeSource.FromFeeAccount;
60 | initialFund: number = 0;
61 | appId: PublicKey = DEFAULT_DEVELOPER_APP_ID;
62 | instructions: TransactionInstruction[] = [];
63 |
64 | isBNType(property: string): boolean {
65 | return (
66 | typeof (this as any)[property] === "number" &&
67 | NON_BN_FIELDS.indexOf(property) < 0
68 | );
69 | }
70 |
71 | toSerializableJob(): SerializableJob {
72 | const serJob = _.cloneDeepWith(
73 | this,
74 | function customizer(value, key: any, obj: any): any {
75 | if (!key) return;
76 | if (obj.isBNType(key)) return new BN(obj[key]);
77 | if (obj[key] instanceof PublicKey) return obj[key];
78 | if (key === "instructions") return [];
79 | }
80 | );
81 | serJob.actions = [];
82 | for (let instruction of this.instructions) {
83 | const serAction = SerializableAction.fromInstruction(instruction);
84 | serJob.actions.push(serAction);
85 | }
86 | delete serJob.instructions;
87 | delete serJob.jobId;
88 | return serJob;
89 | }
90 |
91 | validateForCreate() {
92 | if (this.pubKey) throw new Error(ErrorMessage.CreateJobWithExistingPubkey);
93 | }
94 |
95 | validateForUpdate() {
96 | if (!this.pubKey)
97 | throw new Error(ErrorMessage.UpdateJobWithoutExistingPubkey);
98 | }
99 |
100 | static fromJobJson(jobJson: any): Job {
101 | const job: Job = new Job();
102 | Object.assign(job, jobJson);
103 | return job;
104 | }
105 |
106 | static fromSerializableJob(
107 | serJob: SerializableJob,
108 | jobPubKey: PublicKey
109 | ): Job {
110 | const template = new Job();
111 | const job: Job = _.cloneDeepWith(
112 | serJob,
113 | function customizer(value, key: any, obj: any): any {
114 | if (!key) return;
115 | if (template.isBNType(key)) {
116 | return (obj[key] as BN).toNumber();
117 | }
118 | if (obj[key] instanceof PublicKey) return obj[key];
119 | if (key === "actions") return [];
120 | }
121 | );
122 | job.instructions = [];
123 | for (let action of serJob.actions) {
124 | const instruction = SerializableAction.toInstruction(action);
125 | job.instructions.push(instruction);
126 | }
127 | delete (job as any).actions;
128 | job.pubKey = jobPubKey;
129 |
130 | return Job.fromJobJson(job);
131 | }
132 | }
133 |
134 | export type SerializableJob = any;
135 |
136 | export class SerializableAction {
137 | program: PublicKey;
138 | instruction: Buffer;
139 | accounts: Array = [];
140 | actionCode: number;
141 | name: string;
142 | extra: string;
143 |
144 | static fromInstruction(
145 | instruction: TransactionInstruction
146 | ): SerializableAction {
147 | const serAction = new SerializableAction();
148 | serAction.program = instruction.programId;
149 | serAction.accounts = instruction.keys;
150 | serAction.instruction = instruction.data;
151 | const openInstruction = instruction as any;
152 | serAction.actionCode = openInstruction.code
153 | ? openInstruction.code
154 | : CUSTOM_ACTION_CODE;
155 | serAction.name = openInstruction.name ? openInstruction.name : "";
156 | serAction.extra = openInstruction.extra ? openInstruction.extra : "";
157 | return serAction;
158 | }
159 |
160 | static toInstruction(serAction: SerializableAction): TransactionInstruction {
161 | const instruction: TransactionInstruction = {
162 | data: serAction.instruction,
163 | keys: serAction.accounts,
164 | programId: serAction.program,
165 | };
166 | return instruction;
167 | }
168 | }
169 |
170 | export type InstructionsAndSigners = {
171 | instructions: TransactionInstruction[];
172 | signers: Signer[];
173 | };
174 |
--------------------------------------------------------------------------------
/src/service/finder.ts:
--------------------------------------------------------------------------------
1 | import { BN, Program, ProgramAccount } from "@project-serum/anchor";
2 | import { bs58 } from "@project-serum/anchor/dist/cjs/utils/bytes";
3 | import { GetProgramAccountsFilter, PublicKey } from "@solana/web3.js";
4 | import { Job, SerializableJob } from "../model/job";
5 | import { JOB_ACCOUNT_LAYOUT } from "../model/job-layout";
6 |
7 | export default class Finder {
8 | program: Program;
9 | constructor(program: Program) {
10 | this.program = program;
11 | }
12 |
13 | async findByJobPubKey(jobPubKey: PublicKey): Promise {
14 | let serJob: SerializableJob = await this.program.account.flow.fetch(
15 | jobPubKey
16 | );
17 | console.log("SerJob", serJob);
18 | return Job.fromSerializableJob(serJob, jobPubKey);
19 | }
20 |
21 | async findByJobOwner(owner: PublicKey): Promise {
22 | let ownerFilter = this.getOwnerFilter(owner);
23 | let serJobs: ProgramAccount[] =
24 | await this.program.account.flow.all([ownerFilter]);
25 | console.log("SerJob", serJobs);
26 | return serJobs.map((v) => Job.fromSerializableJob(v.account, v.publicKey));
27 | }
28 |
29 | async findByJobAppId(appId: PublicKey): Promise {
30 | let appIdFilter = this.getAppIdFilter(appId);
31 | let serJobs: ProgramAccount[] =
32 | await this.program.account.flow.all([appIdFilter]);
33 | return serJobs.map((v) => Job.fromSerializableJob(v.account, v.publicKey));
34 | }
35 |
36 | async findByJobOwnerAndAppId(
37 | owner: PublicKey,
38 | appId: PublicKey
39 | ): Promise {
40 | let ownerFilter = this.getOwnerFilter(owner);
41 | let appIdFilter = this.getAppIdFilter(appId);
42 | let serJobs: ProgramAccount[] =
43 | await this.program.account.flow.all([appIdFilter, ownerFilter]);
44 | return serJobs.map((v) => Job.fromSerializableJob(v.account, v.publicKey));
45 | }
46 |
47 | async findAll(): Promise {
48 | let serJobs: ProgramAccount[] =
49 | await this.program.account.flow.all([]);
50 | return serJobs.map((v) => Job.fromSerializableJob(v.account, v.publicKey));
51 | }
52 |
53 | private getOwnerFilter(publicKey: PublicKey): GetProgramAccountsFilter {
54 | return {
55 | memcmp: {
56 | offset: JOB_ACCOUNT_LAYOUT.offsetOf("owner"),
57 | bytes: publicKey.toBase58(),
58 | },
59 | };
60 | }
61 |
62 | private getAppIdFilter(appId: PublicKey): GetProgramAccountsFilter {
63 | return {
64 | memcmp: {
65 | offset: JOB_ACCOUNT_LAYOUT.offsetOf("appId"),
66 | bytes: appId.toBase58(),
67 | },
68 | };
69 | }
70 | }
71 |
--------------------------------------------------------------------------------
/src/service/index.ts:
--------------------------------------------------------------------------------
1 | export * from "./snowflake";
2 |
--------------------------------------------------------------------------------
/src/service/snowflake.ts:
--------------------------------------------------------------------------------
1 | import { PublicKey, TransactionSignature } from "@solana/web3.js";
2 | import { AnchorProvider, Idl, Program, Provider } from "@project-serum/anchor";
3 | import { TransactionSender } from "./transaction-sender";
4 | import Finder from "./finder";
5 | import { InstructionBuilder } from "../builder/instruction-builder";
6 | import { SNOWFLAKE_PROGRAM_ID } from "../config/program-id";
7 | import { FeeSource, Job } from "../model/job";
8 | import { SNOWFLAKE_IDL } from "../idl";
9 | import { DEFAULT_DEVELOPER_APP_ID, JOB_ACCOUNT_DEFAULT_SIZE } from "../config";
10 |
11 | export class Snowflake {
12 | program: Program;
13 | instructionBuilder: InstructionBuilder;
14 | transactionSender: TransactionSender;
15 | provider: AnchorProvider;
16 | finder: Finder;
17 | constructor(provider: AnchorProvider) {
18 | this.provider = provider;
19 | this.program = new Program(
20 | SNOWFLAKE_IDL as Idl,
21 | SNOWFLAKE_PROGRAM_ID,
22 | this.provider
23 | );
24 | this.instructionBuilder = new InstructionBuilder(this.program, this.provider);
25 | this.transactionSender = new TransactionSender(this.provider);
26 | this.finder = new Finder(this.program);
27 | }
28 |
29 | async createJob(
30 | job: Job,
31 | accountSize: number = JOB_ACCOUNT_DEFAULT_SIZE
32 | ): Promise {
33 | job.validateForCreate();
34 |
35 | const { instructions, signers } =
36 | this.instructionBuilder.buildCreateJobInstruction(job, accountSize);
37 |
38 | const tx = await this.transactionSender.sendWithWallet({
39 | instructions,
40 | signers,
41 | });
42 |
43 | job.pubKey = signers[0].publicKey;
44 | return tx;
45 | }
46 |
47 | async deleteJob(jobPubKey: PublicKey): Promise {
48 | const { instructions, signers } =
49 | this.instructionBuilder.buildDeleteJobInstruction(jobPubKey);
50 | const tx = await this.transactionSender.sendWithWallet({
51 | instructions,
52 | signers,
53 | });
54 |
55 | return tx;
56 | }
57 |
58 | async updateJob(job: Job): Promise {
59 | job.validateForUpdate();
60 | const { instructions, signers } =
61 | this.instructionBuilder.buildUpdateJobInstruction(job);
62 | const tx = await this.transactionSender.sendWithWallet({
63 | instructions,
64 | signers,
65 | });
66 |
67 | return tx;
68 | }
69 |
70 | async fetch(jobPubKey: PublicKey): Promise {
71 | return await this.finder.findByJobPubKey(jobPubKey);
72 | }
73 |
74 | async findByOwner(owner: PublicKey): Promise {
75 | return await this.finder.findByJobOwner(owner);
76 | }
77 |
78 | async findByJobAppId(appId: PublicKey): Promise {
79 | return await this.finder.findByJobAppId(appId);
80 | }
81 |
82 | async findByOwnerAndAppId(owner: PublicKey, appId: PublicKey): Promise {
83 | return await this.finder.findByJobOwnerAndAppId(owner, appId);
84 | }
85 |
86 | async findGlobal(): Promise {
87 | return await this.finder.findAll();
88 | }
89 |
90 | async getSnowflakePDAForUser(
91 | user: PublicKey,
92 | developerAppId: PublicKey = DEFAULT_DEVELOPER_APP_ID
93 | ): Promise {
94 | const [pda] = await PublicKey.findProgramAddress(
95 | [user.toBuffer(), developerAppId.toBuffer()],
96 | new PublicKey(SNOWFLAKE_PROGRAM_ID)
97 | );
98 | return pda;
99 | }
100 |
101 | async depositFeeAccount(
102 | lamports: number,
103 | developerAppId: PublicKey = DEFAULT_DEVELOPER_APP_ID
104 | ): Promise {
105 | const walletPubkey = this.provider.wallet.publicKey;
106 | const pda = await this.getSnowflakePDAForUser(walletPubkey, developerAppId);
107 | const depositTx = this.instructionBuilder.buildSystemTransferInstruction(
108 | walletPubkey,
109 | pda,
110 | lamports
111 | );
112 | const tx = await this.transactionSender.sendWithWallet({
113 | instructions: depositTx.instructions,
114 | signers: depositTx.signers,
115 | });
116 |
117 | return tx;
118 | }
119 | }
120 |
--------------------------------------------------------------------------------
/src/service/transaction-sender.ts:
--------------------------------------------------------------------------------
1 | import { Transaction, TransactionSignature } from "@solana/web3.js";
2 | import { AnchorProvider, Provider } from "@project-serum/anchor";
3 | import { InstructionsAndSigners } from "../model/job";
4 |
5 | export class TransactionSender {
6 | provider: AnchorProvider;
7 | constructor(provider: AnchorProvider) {
8 | this.provider = provider;
9 | }
10 |
11 | async sendWithWallet(
12 | instructionsAndSigners: InstructionsAndSigners
13 | ): Promise {
14 | const transaction = new Transaction();
15 | transaction.add(...instructionsAndSigners.instructions);
16 | return await this.provider.sendAndConfirm(
17 | transaction,
18 | instructionsAndSigners.signers
19 | );
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../tsconfig.json"
3 | }
--------------------------------------------------------------------------------
/test-env.js:
--------------------------------------------------------------------------------
1 | require("dotenv").config();
2 |
--------------------------------------------------------------------------------
/test/job-builder.test.ts:
--------------------------------------------------------------------------------
1 | import { instructions, rightNow, tomorrow } from "./test-data";
2 | import { JobBuilder } from "../src/builder/job-builder";
3 | import { ErrorMessage } from "../src/config/error";
4 | import { FeeSource, TriggerType } from "../src/model/job";
5 |
6 | test("build once-off scheduled job", async function () {
7 | const job = new JobBuilder()
8 | .jobName("hello world")
9 | .jobInstructions(instructions)
10 | .scheduleOnce(tomorrow())
11 | .build();
12 |
13 | expect(job.recurring).toBe(false);
14 | expect(job.name).toBe("hello world");
15 | expect(job.nextExecutionTime).toBeGreaterThan(rightNow());
16 | });
17 |
18 | test("build recurring scheduled job", async function () {
19 | const job = new JobBuilder()
20 | .jobName("hello world")
21 | .jobInstructions(instructions)
22 | .scheduleCron("0 * * * *", 2)
23 | .build();
24 |
25 | expect(job.recurring).toBe(true);
26 | expect(job.remainingRuns).toBe(2);
27 | expect(job.name).toBe("hello world");
28 | });
29 |
30 | test("build cron weekday job", () => {
31 | const job = new JobBuilder()
32 | .jobName("hello world")
33 | .jobInstructions(instructions)
34 | .scheduleCron("0 * * * 2", 2)
35 | .build();
36 |
37 | console.log(job);
38 |
39 | expect(job.recurring).toBe(true);
40 | expect(job.name).toBe("hello world");
41 | expect(job.triggerType).toBe(TriggerType.Time);
42 | });
43 |
44 | test("build self-funded job", () => {
45 | const job = new JobBuilder()
46 | .jobName("hello world")
47 | .jobInstructions(instructions)
48 | .scheduleCron("0 * * * 2", 2)
49 | .selfFunded(true)
50 | .initialFund(10000)
51 | .build();
52 |
53 | console.log(job);
54 |
55 | expect(job.payFeeFrom).toBe(FeeSource.FromFlow);
56 | expect(job.name).toBe("hello world");
57 | expect(job.initialFund).toBe(10000);
58 | });
59 |
60 | test("build invalid self-funded job", () => {
61 | try {
62 | const job = new JobBuilder()
63 | .jobName("hello world")
64 | .jobInstructions(instructions)
65 | .scheduleCron("0 * * * 2", 2)
66 | .initialFund(10000)
67 | .selfFunded(true)
68 | .build();
69 |
70 | console.log(job);
71 | } catch (error: any) {
72 | expect(error.message).toBe(ErrorMessage.JobNotBuiltAsSelfFunded);
73 | }
74 | });
75 |
--------------------------------------------------------------------------------
/test/model.test.ts:
--------------------------------------------------------------------------------
1 | import { BN } from "@project-serum/anchor";
2 | import { instructions, tomorrow } from "./test-data";
3 | import { JobBuilder } from "../src/builder/job-builder";
4 | import { TriggerType } from "../src/model/job";
5 |
6 | test("job conversion test", async function () {
7 | const job = new JobBuilder()
8 | .jobName("hello world")
9 | .jobInstructions(instructions)
10 | .scheduleOnce(tomorrow())
11 | .build();
12 |
13 | const serJob = job.toSerializableJob();
14 | console.log("serJob = ", serJob);
15 | expect(serJob.name).toBe("hello world");
16 | expect(serJob.triggerType).toBe(TriggerType.Time);
17 | expect(serJob.recurring).toBe(false);
18 | const nextExecutionTime: BN = serJob.nextExecutionTime as BN;
19 | expect(nextExecutionTime.toNumber()).toBe(job.nextExecutionTime);
20 | expect(serJob.actions).toHaveLength(1);
21 | });
22 |
--------------------------------------------------------------------------------
/test/snowflake.test.ts:
--------------------------------------------------------------------------------
1 | import { AnchorProvider, Provider } from "@project-serum/anchor";
2 | import { instructions, tomorrow } from "./test-data";
3 | import { clusterApiUrl, PublicKey } from "@solana/web3.js";
4 | import { Snowflake } from "../src/service/snowflake";
5 | import { JobBuilder } from "../src/builder/job-builder";
6 | import { Job, TriggerType } from "../src/model/job";
7 |
8 | let provider: AnchorProvider;
9 | let snowflake: Snowflake;
10 | let owner: PublicKey;
11 | let testJobs: Job[] = [];
12 |
13 | jest.setTimeout(60 * 1000);
14 |
15 | beforeAll(() => {
16 | const API_URL = clusterApiUrl("devnet");
17 | provider = AnchorProvider.local(API_URL);
18 | snowflake = new Snowflake(provider);
19 | owner = provider.wallet.publicKey;
20 | });
21 |
22 | afterEach(async () => {
23 | if (testJobs && testJobs.length) {
24 | console.log('Jobs to be cleaned up', testJobs.length);
25 |
26 | for (let i = testJobs.length - 1; i >= 0; i--) {
27 | const jobToBeDeleted = testJobs[i];
28 | try {
29 | await snowflake.deleteJob(jobToBeDeleted.pubKey);
30 | testJobs.pop();
31 | } catch (error) {
32 | console.log('Clean up error', jobToBeDeleted?.pubKey, error);
33 | }
34 | }
35 | }
36 | });
37 |
38 | test("create job", async function () {
39 | const job = new JobBuilder()
40 | .jobName("hello world")
41 | .jobInstructions(instructions)
42 | .scheduleOnce(tomorrow())
43 | .build();
44 |
45 | const txId = await snowflake.createJob(registerTestJob(job));
46 | console.log("create job txn signature ", txId);
47 |
48 | const fetchedJob = await snowflake.fetch(job.pubKey);
49 |
50 | console.log(fetchedJob);
51 |
52 | expect(fetchedJob.name).toBe("hello world");
53 | expect(fetchedJob.triggerType).toBe(TriggerType.Time);
54 | expect(fetchedJob.recurring).toBe(false);
55 | expect(fetchedJob.pubKey).toBeDefined();
56 | expect(fetchedJob);
57 | });
58 |
59 | test("create self-funded job", async function () {
60 | const job = new JobBuilder()
61 | .jobName("Self-funded automation")
62 | .jobInstructions(instructions)
63 | .scheduleConditional(5)
64 | .selfFunded(true)
65 | .initialFund(1000000000)
66 | .build();
67 |
68 | const txId = await snowflake.createJob(registerTestJob(job));
69 | console.log("create job txn signature ", txId);
70 |
71 | const fetchedJob = await snowflake.fetch(job.pubKey);
72 |
73 | console.log(fetchedJob);
74 |
75 | expect(fetchedJob.name).toBe("Self-funded automation");
76 | expect(fetchedJob.triggerType).toBe(TriggerType.ProgramCondition);
77 | expect(fetchedJob.recurring).toBe(false);
78 | expect(fetchedJob.pubKey).toBeDefined();
79 | expect(fetchedJob);
80 | });
81 |
82 | test("create job with specific size", async function () {
83 | const job = new JobBuilder()
84 | .jobName("hello world")
85 | .jobInstructions(instructions)
86 | .scheduleOnce(tomorrow())
87 | .build();
88 |
89 | const txId = await snowflake.createJob(registerTestJob(job), 500);
90 | console.log("create job with of with specific size txn signature ", txId);
91 | const fetchedJob = await snowflake.fetch(job.pubKey);
92 | console.log(fetchedJob);
93 | expect(fetchedJob.name).toBe("hello world");
94 | });
95 |
96 | test("get job by owner and app id", async function () {
97 | const SAMPLE_APP_ID = new PublicKey('BxUeMg5etjmiDX25gbGi2pn1MyzkcQx3ZCCiUifTUhyj');
98 | const job = new JobBuilder()
99 | .jobName("hello world")
100 | .jobInstructions(instructions)
101 | .scheduleOnce(tomorrow())
102 | .byAppId(SAMPLE_APP_ID)
103 | .build();
104 |
105 | const txId = await snowflake.createJob(job, 500);
106 | console.log("create job with of with specific size txn signature ", txId);
107 |
108 | const jobs = await snowflake.findByOwnerAndAppId(owner, SAMPLE_APP_ID);
109 |
110 | expect(jobs.length).toBeGreaterThan(0);
111 | });
112 |
113 | test("update job", async function () {
114 | const job = new JobBuilder()
115 | .jobName("hello world")
116 | .jobInstructions(instructions)
117 | .scheduleOnce(tomorrow())
118 | .build();
119 |
120 | await snowflake.createJob(registerTestJob(job));
121 |
122 | let fetchedJob = await snowflake.fetch(job.pubKey);
123 |
124 | expect(fetchedJob.name).toBe("hello world");
125 | expect(fetchedJob.triggerType).toBe(TriggerType.Time);
126 | expect(fetchedJob.recurring).toBe(false);
127 |
128 | fetchedJob = new JobBuilder()
129 | .fromExistingJob(fetchedJob)
130 | .jobName("hello world 2")
131 | .scheduleCron("0 * * * *", 2)
132 | .build();
133 |
134 | await snowflake.updateJob(fetchedJob);
135 | fetchedJob = await snowflake.fetch(job.pubKey);
136 |
137 | expect(fetchedJob.name).toBe("hello world 2");
138 | expect(fetchedJob.triggerType).toBe(TriggerType.Time);
139 | expect(fetchedJob.recurring).toBe(true);
140 | });
141 |
142 | test("delete job", async function () {
143 | const job = new JobBuilder()
144 | .jobName("hello world")
145 | .jobInstructions(instructions)
146 | .scheduleOnce(tomorrow())
147 | .build();
148 |
149 | await snowflake.createJob(job);
150 |
151 | // Before delete
152 | let beforeDeleteFetchJobsByOwner = await snowflake.findByOwner(owner);
153 | expect(beforeDeleteFetchJobsByOwner.length > 0).toBeTruthy();
154 |
155 | // After delete
156 | await snowflake.deleteJob(job.pubKey);
157 | let fetchJob = await snowflake.fetch(job.pubKey).catch((err) => {
158 | expect(err).toBeDefined();
159 | expect(err.message).toBe(`Account does not exist ${job.pubKey.toString()}`);
160 | });
161 |
162 | expect(fetchJob).toBeUndefined();
163 |
164 | let afterDeleteFetchJobsByOwner = await snowflake.findByOwner(owner);
165 | expect(afterDeleteFetchJobsByOwner.length).toBe(
166 | beforeDeleteFetchJobsByOwner.length - 1
167 | );
168 | });
169 |
170 | test("get Snowflake PDA for user", async function () {
171 | let pda = await snowflake.getSnowflakePDAForUser(
172 | new PublicKey("EpmRY1vzTajbur4hkipMi3MbvjbJHKzqEAAqXj12ccZQ")
173 | );
174 | expect(pda.toString()).toBe("Bf4nWuxMhAeSPR68viDcZkjh9svsdqPZJCAUWtkvvoko");
175 | });
176 |
177 | test("deposit fee account", async function () {
178 | const amount = 100000;
179 | const owner = provider.wallet.publicKey;
180 | let pda = await snowflake.getSnowflakePDAForUser(owner);
181 | const balanceBeforeDeposit = await provider.connection.getBalance(pda);
182 | await snowflake.depositFeeAccount(amount);
183 | const balanceAfterDeposit = await provider.connection.getBalance(pda);
184 |
185 | expect(balanceAfterDeposit).toBe(balanceBeforeDeposit + amount);
186 | });
187 |
188 | function registerTestJob(job: Job) {
189 | testJobs.push(job);
190 | return job;
191 | }
192 |
--------------------------------------------------------------------------------
/test/test-data.ts:
--------------------------------------------------------------------------------
1 | import { Buffer } from "buffer";
2 | import { PublicKey } from "@solana/web3.js";
3 | import { UnixTimeStamp } from "../src/model/job";
4 |
5 | export const instructions = [
6 | {
7 | programId: new PublicKey("ETwBdF9X2eABzmKmpT3ZFYyUtmve7UWWgzbERAyd4gAC"),
8 | data: Buffer.from("74b89fceb3e0b22a", "hex"),
9 | keys: [
10 | {
11 | pubkey: new PublicKey("5jo4Lh2Z9FGQ87sDhUBwZjNZdL15MwdeT5WUXKfwFSZY"),
12 | isSigner: false,
13 | isWritable: false,
14 | },
15 | ],
16 | },
17 | ];
18 |
19 | export function tomorrow(): UnixTimeStamp {
20 | let tomorrow = new Date();
21 | tomorrow.setDate(tomorrow.getDate() + 1);
22 | return Math.floor(+tomorrow / 1000);
23 | }
24 |
25 | export function rightNow(): UnixTimeStamp {
26 | return +new Date() / 1000;
27 | }
28 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es6",
4 | "declaration": true,
5 | "module": "commonjs",
6 | "outDir": "./dist",
7 | "strict": true,
8 | "baseUrl": "./",
9 | "typeRoots": ["node_modules/@types"],
10 | "types": ["node", "@types/jest", "jest"],
11 | "esModuleInterop": true,
12 | "inlineSourceMap": true,
13 | "strictPropertyInitialization": false,
14 | "resolveJsonModule": true
15 | },
16 | "include": ["src"]
17 | }
18 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@ampproject/remapping@^2.1.0":
6 | version "2.1.2"
7 | resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34"
8 | integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==
9 | dependencies:
10 | "@jridgewell/trace-mapping" "^0.3.0"
11 |
12 | "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7":
13 | version "7.16.7"
14 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789"
15 | integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==
16 | dependencies:
17 | "@babel/highlight" "^7.16.7"
18 |
19 | "@babel/compat-data@^7.17.7":
20 | version "7.17.7"
21 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2"
22 | integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==
23 |
24 | "@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.8.0":
25 | version "7.17.9"
26 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.9.tgz#6bae81a06d95f4d0dec5bb9d74bbc1f58babdcfe"
27 | integrity sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==
28 | dependencies:
29 | "@ampproject/remapping" "^2.1.0"
30 | "@babel/code-frame" "^7.16.7"
31 | "@babel/generator" "^7.17.9"
32 | "@babel/helper-compilation-targets" "^7.17.7"
33 | "@babel/helper-module-transforms" "^7.17.7"
34 | "@babel/helpers" "^7.17.9"
35 | "@babel/parser" "^7.17.9"
36 | "@babel/template" "^7.16.7"
37 | "@babel/traverse" "^7.17.9"
38 | "@babel/types" "^7.17.0"
39 | convert-source-map "^1.7.0"
40 | debug "^4.1.0"
41 | gensync "^1.0.0-beta.2"
42 | json5 "^2.2.1"
43 | semver "^6.3.0"
44 |
45 | "@babel/generator@^7.17.9", "@babel/generator@^7.7.2":
46 | version "7.17.9"
47 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.9.tgz#f4af9fd38fa8de143c29fce3f71852406fc1e2fc"
48 | integrity sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==
49 | dependencies:
50 | "@babel/types" "^7.17.0"
51 | jsesc "^2.5.1"
52 | source-map "^0.5.0"
53 |
54 | "@babel/helper-compilation-targets@^7.17.7":
55 | version "7.17.7"
56 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz#a3c2924f5e5f0379b356d4cfb313d1414dc30e46"
57 | integrity sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==
58 | dependencies:
59 | "@babel/compat-data" "^7.17.7"
60 | "@babel/helper-validator-option" "^7.16.7"
61 | browserslist "^4.17.5"
62 | semver "^6.3.0"
63 |
64 | "@babel/helper-environment-visitor@^7.16.7":
65 | version "7.16.7"
66 | resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7"
67 | integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==
68 | dependencies:
69 | "@babel/types" "^7.16.7"
70 |
71 | "@babel/helper-function-name@^7.17.9":
72 | version "7.17.9"
73 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12"
74 | integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==
75 | dependencies:
76 | "@babel/template" "^7.16.7"
77 | "@babel/types" "^7.17.0"
78 |
79 | "@babel/helper-hoist-variables@^7.16.7":
80 | version "7.16.7"
81 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246"
82 | integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==
83 | dependencies:
84 | "@babel/types" "^7.16.7"
85 |
86 | "@babel/helper-module-imports@^7.16.7":
87 | version "7.16.7"
88 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437"
89 | integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==
90 | dependencies:
91 | "@babel/types" "^7.16.7"
92 |
93 | "@babel/helper-module-transforms@^7.17.7":
94 | version "7.17.7"
95 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz#3943c7f777139e7954a5355c815263741a9c1cbd"
96 | integrity sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==
97 | dependencies:
98 | "@babel/helper-environment-visitor" "^7.16.7"
99 | "@babel/helper-module-imports" "^7.16.7"
100 | "@babel/helper-simple-access" "^7.17.7"
101 | "@babel/helper-split-export-declaration" "^7.16.7"
102 | "@babel/helper-validator-identifier" "^7.16.7"
103 | "@babel/template" "^7.16.7"
104 | "@babel/traverse" "^7.17.3"
105 | "@babel/types" "^7.17.0"
106 |
107 | "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.8.0":
108 | version "7.16.7"
109 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5"
110 | integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==
111 |
112 | "@babel/helper-simple-access@^7.17.7":
113 | version "7.17.7"
114 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367"
115 | integrity sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==
116 | dependencies:
117 | "@babel/types" "^7.17.0"
118 |
119 | "@babel/helper-split-export-declaration@^7.16.7":
120 | version "7.16.7"
121 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b"
122 | integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==
123 | dependencies:
124 | "@babel/types" "^7.16.7"
125 |
126 | "@babel/helper-validator-identifier@^7.16.7":
127 | version "7.16.7"
128 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad"
129 | integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==
130 |
131 | "@babel/helper-validator-option@^7.16.7":
132 | version "7.16.7"
133 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23"
134 | integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==
135 |
136 | "@babel/helpers@^7.17.9":
137 | version "7.17.9"
138 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.9.tgz#b2af120821bfbe44f9907b1826e168e819375a1a"
139 | integrity sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==
140 | dependencies:
141 | "@babel/template" "^7.16.7"
142 | "@babel/traverse" "^7.17.9"
143 | "@babel/types" "^7.17.0"
144 |
145 | "@babel/highlight@^7.16.7":
146 | version "7.17.9"
147 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.9.tgz#61b2ee7f32ea0454612def4fccdae0de232b73e3"
148 | integrity sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==
149 | dependencies:
150 | "@babel/helper-validator-identifier" "^7.16.7"
151 | chalk "^2.0.0"
152 | js-tokens "^4.0.0"
153 |
154 | "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.9":
155 | version "7.17.9"
156 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.9.tgz#9c94189a6062f0291418ca021077983058e171ef"
157 | integrity sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==
158 |
159 | "@babel/plugin-syntax-async-generators@^7.8.4":
160 | version "7.8.4"
161 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"
162 | integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==
163 | dependencies:
164 | "@babel/helper-plugin-utils" "^7.8.0"
165 |
166 | "@babel/plugin-syntax-bigint@^7.8.3":
167 | version "7.8.3"
168 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea"
169 | integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==
170 | dependencies:
171 | "@babel/helper-plugin-utils" "^7.8.0"
172 |
173 | "@babel/plugin-syntax-class-properties@^7.8.3":
174 | version "7.12.13"
175 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10"
176 | integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==
177 | dependencies:
178 | "@babel/helper-plugin-utils" "^7.12.13"
179 |
180 | "@babel/plugin-syntax-import-meta@^7.8.3":
181 | version "7.10.4"
182 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51"
183 | integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==
184 | dependencies:
185 | "@babel/helper-plugin-utils" "^7.10.4"
186 |
187 | "@babel/plugin-syntax-json-strings@^7.8.3":
188 | version "7.8.3"
189 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a"
190 | integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==
191 | dependencies:
192 | "@babel/helper-plugin-utils" "^7.8.0"
193 |
194 | "@babel/plugin-syntax-logical-assignment-operators@^7.8.3":
195 | version "7.10.4"
196 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699"
197 | integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==
198 | dependencies:
199 | "@babel/helper-plugin-utils" "^7.10.4"
200 |
201 | "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3":
202 | version "7.8.3"
203 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9"
204 | integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==
205 | dependencies:
206 | "@babel/helper-plugin-utils" "^7.8.0"
207 |
208 | "@babel/plugin-syntax-numeric-separator@^7.8.3":
209 | version "7.10.4"
210 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97"
211 | integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==
212 | dependencies:
213 | "@babel/helper-plugin-utils" "^7.10.4"
214 |
215 | "@babel/plugin-syntax-object-rest-spread@^7.8.3":
216 | version "7.8.3"
217 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871"
218 | integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
219 | dependencies:
220 | "@babel/helper-plugin-utils" "^7.8.0"
221 |
222 | "@babel/plugin-syntax-optional-catch-binding@^7.8.3":
223 | version "7.8.3"
224 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1"
225 | integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==
226 | dependencies:
227 | "@babel/helper-plugin-utils" "^7.8.0"
228 |
229 | "@babel/plugin-syntax-optional-chaining@^7.8.3":
230 | version "7.8.3"
231 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a"
232 | integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==
233 | dependencies:
234 | "@babel/helper-plugin-utils" "^7.8.0"
235 |
236 | "@babel/plugin-syntax-top-level-await@^7.8.3":
237 | version "7.14.5"
238 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c"
239 | integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==
240 | dependencies:
241 | "@babel/helper-plugin-utils" "^7.14.5"
242 |
243 | "@babel/plugin-syntax-typescript@^7.7.2":
244 | version "7.16.7"
245 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz#39c9b55ee153151990fb038651d58d3fd03f98f8"
246 | integrity sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==
247 | dependencies:
248 | "@babel/helper-plugin-utils" "^7.16.7"
249 |
250 | "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5":
251 | version "7.17.9"
252 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.9.tgz#d19fbf802d01a8cb6cf053a64e472d42c434ba72"
253 | integrity sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==
254 | dependencies:
255 | regenerator-runtime "^0.13.4"
256 |
257 | "@babel/template@^7.16.7", "@babel/template@^7.3.3":
258 | version "7.16.7"
259 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155"
260 | integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==
261 | dependencies:
262 | "@babel/code-frame" "^7.16.7"
263 | "@babel/parser" "^7.16.7"
264 | "@babel/types" "^7.16.7"
265 |
266 | "@babel/traverse@^7.17.3", "@babel/traverse@^7.17.9", "@babel/traverse@^7.7.2":
267 | version "7.17.9"
268 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.9.tgz#1f9b207435d9ae4a8ed6998b2b82300d83c37a0d"
269 | integrity sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==
270 | dependencies:
271 | "@babel/code-frame" "^7.16.7"
272 | "@babel/generator" "^7.17.9"
273 | "@babel/helper-environment-visitor" "^7.16.7"
274 | "@babel/helper-function-name" "^7.17.9"
275 | "@babel/helper-hoist-variables" "^7.16.7"
276 | "@babel/helper-split-export-declaration" "^7.16.7"
277 | "@babel/parser" "^7.17.9"
278 | "@babel/types" "^7.17.0"
279 | debug "^4.1.0"
280 | globals "^11.1.0"
281 |
282 | "@babel/types@^7.0.0", "@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3":
283 | version "7.17.0"
284 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b"
285 | integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==
286 | dependencies:
287 | "@babel/helper-validator-identifier" "^7.16.7"
288 | to-fast-properties "^2.0.0"
289 |
290 | "@bcoe/v8-coverage@^0.2.3":
291 | version "0.2.3"
292 | resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
293 | integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
294 |
295 | "@cspotcode/source-map-consumer@0.8.0":
296 | version "0.8.0"
297 | resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b"
298 | integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==
299 |
300 | "@cspotcode/source-map-support@0.7.0":
301 | version "0.7.0"
302 | resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz#4789840aa859e46d2f3173727ab707c66bf344f5"
303 | integrity sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==
304 | dependencies:
305 | "@cspotcode/source-map-consumer" "0.8.0"
306 |
307 | "@ethersproject/bytes@^5.6.0":
308 | version "5.6.1"
309 | resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.6.1.tgz#24f916e411f82a8a60412344bf4a813b917eefe7"
310 | integrity sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==
311 | dependencies:
312 | "@ethersproject/logger" "^5.6.0"
313 |
314 | "@ethersproject/logger@^5.6.0":
315 | version "5.6.0"
316 | resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.6.0.tgz#d7db1bfcc22fd2e4ab574cba0bb6ad779a9a3e7a"
317 | integrity sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==
318 |
319 | "@ethersproject/sha2@^5.5.0":
320 | version "5.6.0"
321 | resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.6.0.tgz#364c4c11cc753bda36f31f001628706ebadb64d9"
322 | integrity sha512-1tNWCPFLu1n3JM9t4/kytz35DkuF9MxqkGGEHNauEbaARdm2fafnOyw1s0tIQDPKF/7bkP1u3dbrmjpn5CelyA==
323 | dependencies:
324 | "@ethersproject/bytes" "^5.6.0"
325 | "@ethersproject/logger" "^5.6.0"
326 | hash.js "1.1.7"
327 |
328 | "@istanbuljs/load-nyc-config@^1.0.0":
329 | version "1.1.0"
330 | resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced"
331 | integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==
332 | dependencies:
333 | camelcase "^5.3.1"
334 | find-up "^4.1.0"
335 | get-package-type "^0.1.0"
336 | js-yaml "^3.13.1"
337 | resolve-from "^5.0.0"
338 |
339 | "@istanbuljs/schema@^0.1.2":
340 | version "0.1.3"
341 | resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98"
342 | integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==
343 |
344 | "@jest/console@^27.5.1":
345 | version "27.5.1"
346 | resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.5.1.tgz#260fe7239602fe5130a94f1aa386eff54b014bba"
347 | integrity sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==
348 | dependencies:
349 | "@jest/types" "^27.5.1"
350 | "@types/node" "*"
351 | chalk "^4.0.0"
352 | jest-message-util "^27.5.1"
353 | jest-util "^27.5.1"
354 | slash "^3.0.0"
355 |
356 | "@jest/core@^27.5.1":
357 | version "27.5.1"
358 | resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.5.1.tgz#267ac5f704e09dc52de2922cbf3af9edcd64b626"
359 | integrity sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==
360 | dependencies:
361 | "@jest/console" "^27.5.1"
362 | "@jest/reporters" "^27.5.1"
363 | "@jest/test-result" "^27.5.1"
364 | "@jest/transform" "^27.5.1"
365 | "@jest/types" "^27.5.1"
366 | "@types/node" "*"
367 | ansi-escapes "^4.2.1"
368 | chalk "^4.0.0"
369 | emittery "^0.8.1"
370 | exit "^0.1.2"
371 | graceful-fs "^4.2.9"
372 | jest-changed-files "^27.5.1"
373 | jest-config "^27.5.1"
374 | jest-haste-map "^27.5.1"
375 | jest-message-util "^27.5.1"
376 | jest-regex-util "^27.5.1"
377 | jest-resolve "^27.5.1"
378 | jest-resolve-dependencies "^27.5.1"
379 | jest-runner "^27.5.1"
380 | jest-runtime "^27.5.1"
381 | jest-snapshot "^27.5.1"
382 | jest-util "^27.5.1"
383 | jest-validate "^27.5.1"
384 | jest-watcher "^27.5.1"
385 | micromatch "^4.0.4"
386 | rimraf "^3.0.0"
387 | slash "^3.0.0"
388 | strip-ansi "^6.0.0"
389 |
390 | "@jest/environment@^27.5.1":
391 | version "27.5.1"
392 | resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.5.1.tgz#d7425820511fe7158abbecc010140c3fd3be9c74"
393 | integrity sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==
394 | dependencies:
395 | "@jest/fake-timers" "^27.5.1"
396 | "@jest/types" "^27.5.1"
397 | "@types/node" "*"
398 | jest-mock "^27.5.1"
399 |
400 | "@jest/fake-timers@^27.5.1":
401 | version "27.5.1"
402 | resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz#76979745ce0579c8a94a4678af7a748eda8ada74"
403 | integrity sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==
404 | dependencies:
405 | "@jest/types" "^27.5.1"
406 | "@sinonjs/fake-timers" "^8.0.1"
407 | "@types/node" "*"
408 | jest-message-util "^27.5.1"
409 | jest-mock "^27.5.1"
410 | jest-util "^27.5.1"
411 |
412 | "@jest/globals@^27.5.1":
413 | version "27.5.1"
414 | resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.5.1.tgz#7ac06ce57ab966566c7963431cef458434601b2b"
415 | integrity sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==
416 | dependencies:
417 | "@jest/environment" "^27.5.1"
418 | "@jest/types" "^27.5.1"
419 | expect "^27.5.1"
420 |
421 | "@jest/reporters@^27.5.1":
422 | version "27.5.1"
423 | resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.5.1.tgz#ceda7be96170b03c923c37987b64015812ffec04"
424 | integrity sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==
425 | dependencies:
426 | "@bcoe/v8-coverage" "^0.2.3"
427 | "@jest/console" "^27.5.1"
428 | "@jest/test-result" "^27.5.1"
429 | "@jest/transform" "^27.5.1"
430 | "@jest/types" "^27.5.1"
431 | "@types/node" "*"
432 | chalk "^4.0.0"
433 | collect-v8-coverage "^1.0.0"
434 | exit "^0.1.2"
435 | glob "^7.1.2"
436 | graceful-fs "^4.2.9"
437 | istanbul-lib-coverage "^3.0.0"
438 | istanbul-lib-instrument "^5.1.0"
439 | istanbul-lib-report "^3.0.0"
440 | istanbul-lib-source-maps "^4.0.0"
441 | istanbul-reports "^3.1.3"
442 | jest-haste-map "^27.5.1"
443 | jest-resolve "^27.5.1"
444 | jest-util "^27.5.1"
445 | jest-worker "^27.5.1"
446 | slash "^3.0.0"
447 | source-map "^0.6.0"
448 | string-length "^4.0.1"
449 | terminal-link "^2.0.0"
450 | v8-to-istanbul "^8.1.0"
451 |
452 | "@jest/source-map@^27.5.1":
453 | version "27.5.1"
454 | resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.5.1.tgz#6608391e465add4205eae073b55e7f279e04e8cf"
455 | integrity sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==
456 | dependencies:
457 | callsites "^3.0.0"
458 | graceful-fs "^4.2.9"
459 | source-map "^0.6.0"
460 |
461 | "@jest/test-result@^27.5.1":
462 | version "27.5.1"
463 | resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.5.1.tgz#56a6585fa80f7cdab72b8c5fc2e871d03832f5bb"
464 | integrity sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==
465 | dependencies:
466 | "@jest/console" "^27.5.1"
467 | "@jest/types" "^27.5.1"
468 | "@types/istanbul-lib-coverage" "^2.0.0"
469 | collect-v8-coverage "^1.0.0"
470 |
471 | "@jest/test-sequencer@^27.5.1":
472 | version "27.5.1"
473 | resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz#4057e0e9cea4439e544c6353c6affe58d095745b"
474 | integrity sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==
475 | dependencies:
476 | "@jest/test-result" "^27.5.1"
477 | graceful-fs "^4.2.9"
478 | jest-haste-map "^27.5.1"
479 | jest-runtime "^27.5.1"
480 |
481 | "@jest/transform@^27.5.1":
482 | version "27.5.1"
483 | resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.5.1.tgz#6c3501dcc00c4c08915f292a600ece5ecfe1f409"
484 | integrity sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==
485 | dependencies:
486 | "@babel/core" "^7.1.0"
487 | "@jest/types" "^27.5.1"
488 | babel-plugin-istanbul "^6.1.1"
489 | chalk "^4.0.0"
490 | convert-source-map "^1.4.0"
491 | fast-json-stable-stringify "^2.0.0"
492 | graceful-fs "^4.2.9"
493 | jest-haste-map "^27.5.1"
494 | jest-regex-util "^27.5.1"
495 | jest-util "^27.5.1"
496 | micromatch "^4.0.4"
497 | pirates "^4.0.4"
498 | slash "^3.0.0"
499 | source-map "^0.6.1"
500 | write-file-atomic "^3.0.0"
501 |
502 | "@jest/types@^27.5.1":
503 | version "27.5.1"
504 | resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80"
505 | integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==
506 | dependencies:
507 | "@types/istanbul-lib-coverage" "^2.0.0"
508 | "@types/istanbul-reports" "^3.0.0"
509 | "@types/node" "*"
510 | "@types/yargs" "^16.0.0"
511 | chalk "^4.0.0"
512 |
513 | "@jridgewell/resolve-uri@^3.0.3":
514 | version "3.0.5"
515 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c"
516 | integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==
517 |
518 | "@jridgewell/sourcemap-codec@^1.4.10":
519 | version "1.4.11"
520 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec"
521 | integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==
522 |
523 | "@jridgewell/trace-mapping@^0.3.0":
524 | version "0.3.4"
525 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3"
526 | integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==
527 | dependencies:
528 | "@jridgewell/resolve-uri" "^3.0.3"
529 | "@jridgewell/sourcemap-codec" "^1.4.10"
530 |
531 | "@project-serum/anchor@^0.24.2":
532 | version "0.24.2"
533 | resolved "https://registry.yarnpkg.com/@project-serum/anchor/-/anchor-0.24.2.tgz#a3c52a99605c80735f446ca9b3a4885034731004"
534 | integrity sha512-0/718g8/DnEuwAidUwh5wLYphUYXhUbiClkuRNhvNoa+1Y8a4g2tJyxoae+emV+PG/Gikd/QUBNMkIcimiIRTA==
535 | dependencies:
536 | "@project-serum/borsh" "^0.2.5"
537 | "@solana/web3.js" "^1.36.0"
538 | base64-js "^1.5.1"
539 | bn.js "^5.1.2"
540 | bs58 "^4.0.1"
541 | buffer-layout "^1.2.2"
542 | camelcase "^5.3.1"
543 | cross-fetch "^3.1.5"
544 | crypto-hash "^1.3.0"
545 | eventemitter3 "^4.0.7"
546 | js-sha256 "^0.9.0"
547 | pako "^2.0.3"
548 | snake-case "^3.0.4"
549 | toml "^3.0.0"
550 |
551 | "@project-serum/borsh@^0.2.5":
552 | version "0.2.5"
553 | resolved "https://registry.yarnpkg.com/@project-serum/borsh/-/borsh-0.2.5.tgz#6059287aa624ecebbfc0edd35e4c28ff987d8663"
554 | integrity sha512-UmeUkUoKdQ7rhx6Leve1SssMR/Ghv8qrEiyywyxSWg7ooV7StdpPBhciiy5eB3T0qU1BXvdRNC8TdrkxK7WC5Q==
555 | dependencies:
556 | bn.js "^5.1.2"
557 | buffer-layout "^1.2.0"
558 |
559 | "@sinonjs/commons@^1.7.0":
560 | version "1.8.3"
561 | resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d"
562 | integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==
563 | dependencies:
564 | type-detect "4.0.8"
565 |
566 | "@sinonjs/fake-timers@^8.0.1":
567 | version "8.1.0"
568 | resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz#3fdc2b6cb58935b21bfb8d1625eb1300484316e7"
569 | integrity sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==
570 | dependencies:
571 | "@sinonjs/commons" "^1.7.0"
572 |
573 | "@solana/buffer-layout-utils@^0.2.0":
574 | version "0.2.0"
575 | resolved "https://registry.yarnpkg.com/@solana/buffer-layout-utils/-/buffer-layout-utils-0.2.0.tgz#b45a6cab3293a2eb7597cceb474f229889d875ca"
576 | integrity sha512-szG4sxgJGktbuZYDg2FfNmkMi0DYQoVjN2h7ta1W1hPrwzarcFLBq9UpX1UjNXsNpT9dn+chgprtWGioUAr4/g==
577 | dependencies:
578 | "@solana/buffer-layout" "^4.0.0"
579 | "@solana/web3.js" "^1.32.0"
580 | bigint-buffer "^1.1.5"
581 | bignumber.js "^9.0.1"
582 |
583 | "@solana/buffer-layout@^4.0.0":
584 | version "4.0.0"
585 | resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.0.tgz#75b1b11adc487234821c81dfae3119b73a5fd734"
586 | integrity sha512-lR0EMP2HC3+Mxwd4YcnZb0smnaDw7Bl2IQWZiTevRH5ZZBZn6VRWn3/92E3qdU4SSImJkA6IDHawOHAnx/qUvQ==
587 | dependencies:
588 | buffer "~6.0.3"
589 |
590 | "@solana/web3.js@^1.32.0", "@solana/web3.js@^1.36.0", "@solana/web3.js@^1.41.4":
591 | version "1.41.4"
592 | resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.41.4.tgz#595aa29a4a61c181b8c8f5cf0bbef80b4739cfab"
593 | integrity sha512-2/mjqUcGsBkLEvKxA+rWFE1vODBycAMa62r3wm3Uzb6nmsXQQNTotB+6YoeLQmF0mxVoy8ZA+/QENzBkGkPzSg==
594 | dependencies:
595 | "@babel/runtime" "^7.12.5"
596 | "@ethersproject/sha2" "^5.5.0"
597 | "@solana/buffer-layout" "^4.0.0"
598 | "@solana/buffer-layout-utils" "^0.2.0"
599 | bn.js "^5.0.0"
600 | borsh "^0.7.0"
601 | bs58 "^4.0.1"
602 | buffer "6.0.1"
603 | cross-fetch "^3.1.4"
604 | fast-stable-stringify "^1.0.0"
605 | jayson "^3.4.4"
606 | js-sha3 "^0.8.0"
607 | rpc-websockets "^7.4.2"
608 | secp256k1 "^4.0.2"
609 | sinon-chai "^3.7.0"
610 | superstruct "^0.14.2"
611 | tweetnacl "^1.0.0"
612 |
613 | "@tootallnate/once@1":
614 | version "1.1.2"
615 | resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82"
616 | integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==
617 |
618 | "@tsconfig/node10@^1.0.7":
619 | version "1.0.8"
620 | resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9"
621 | integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==
622 |
623 | "@tsconfig/node12@^1.0.7":
624 | version "1.0.9"
625 | resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c"
626 | integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==
627 |
628 | "@tsconfig/node14@^1.0.0":
629 | version "1.0.1"
630 | resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2"
631 | integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==
632 |
633 | "@tsconfig/node16@^1.0.2":
634 | version "1.0.2"
635 | resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e"
636 | integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==
637 |
638 | "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14":
639 | version "7.1.19"
640 | resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460"
641 | integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==
642 | dependencies:
643 | "@babel/parser" "^7.1.0"
644 | "@babel/types" "^7.0.0"
645 | "@types/babel__generator" "*"
646 | "@types/babel__template" "*"
647 | "@types/babel__traverse" "*"
648 |
649 | "@types/babel__generator@*":
650 | version "7.6.4"
651 | resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7"
652 | integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==
653 | dependencies:
654 | "@babel/types" "^7.0.0"
655 |
656 | "@types/babel__template@*":
657 | version "7.4.1"
658 | resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969"
659 | integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==
660 | dependencies:
661 | "@babel/parser" "^7.1.0"
662 | "@babel/types" "^7.0.0"
663 |
664 | "@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6":
665 | version "7.17.0"
666 | resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.17.0.tgz#7a9b80f712fe2052bc20da153ff1e552404d8e4b"
667 | integrity sha512-r8aveDbd+rzGP+ykSdF3oPuTVRWRfbBiHl0rVDM2yNEmSMXfkObQLV46b4RnCv3Lra51OlfnZhkkFaDl2MIRaA==
668 | dependencies:
669 | "@babel/types" "^7.3.0"
670 |
671 | "@types/bn.js@^5.1.0":
672 | version "5.1.0"
673 | resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.0.tgz#32c5d271503a12653c62cf4d2b45e6eab8cebc68"
674 | integrity sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==
675 | dependencies:
676 | "@types/node" "*"
677 |
678 | "@types/connect@^3.4.33":
679 | version "3.4.35"
680 | resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1"
681 | integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==
682 | dependencies:
683 | "@types/node" "*"
684 |
685 | "@types/express-serve-static-core@^4.17.9":
686 | version "4.17.28"
687 | resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8"
688 | integrity sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==
689 | dependencies:
690 | "@types/node" "*"
691 | "@types/qs" "*"
692 | "@types/range-parser" "*"
693 |
694 | "@types/graceful-fs@^4.1.2":
695 | version "4.1.5"
696 | resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15"
697 | integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==
698 | dependencies:
699 | "@types/node" "*"
700 |
701 | "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1":
702 | version "2.0.4"
703 | resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44"
704 | integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==
705 |
706 | "@types/istanbul-lib-report@*":
707 | version "3.0.0"
708 | resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686"
709 | integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==
710 | dependencies:
711 | "@types/istanbul-lib-coverage" "*"
712 |
713 | "@types/istanbul-reports@^3.0.0":
714 | version "3.0.1"
715 | resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff"
716 | integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==
717 | dependencies:
718 | "@types/istanbul-lib-report" "*"
719 |
720 | "@types/jest@^27.4.0":
721 | version "27.4.1"
722 | resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.4.1.tgz#185cbe2926eaaf9662d340cc02e548ce9e11ab6d"
723 | integrity sha512-23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==
724 | dependencies:
725 | jest-matcher-utils "^27.0.0"
726 | pretty-format "^27.0.0"
727 |
728 | "@types/lodash@^4.14.159":
729 | version "4.14.181"
730 | resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.181.tgz#d1d3740c379fda17ab175165ba04e2d03389385d"
731 | integrity sha512-n3tyKthHJbkiWhDZs3DkhkCzt2MexYHXlX0td5iMplyfwketaOeKboEVBqzceH7juqvEg3q5oUoBFxSLu7zFag==
732 |
733 | "@types/mocha@^9.1.0":
734 | version "9.1.0"
735 | resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-9.1.0.tgz#baf17ab2cca3fcce2d322ebc30454bff487efad5"
736 | integrity sha512-QCWHkbMv4Y5U9oW10Uxbr45qMMSzl4OzijsozynUAgx3kEHUdXB00udx2dWDQ7f2TU2a2uuiFaRZjCe3unPpeg==
737 |
738 | "@types/node@*":
739 | version "17.0.24"
740 | resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.24.tgz#20ba1bf69c1b4ab405c7a01e950c4f446b05029f"
741 | integrity sha512-aveCYRQbgTH9Pssp1voEP7HiuWlD2jW2BO56w+bVrJn04i61yh6mRfoKO6hEYQD9vF+W8Chkwc6j1M36uPkx4g==
742 |
743 | "@types/node@^12.12.54":
744 | version "12.20.48"
745 | resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.48.tgz#55f70bd432b6515828c0298689776861b90ca4fa"
746 | integrity sha512-4kxzqkrpwYtn6okJUcb2lfUu9ilnb3yhUOH6qX3nug8D2DupZ2drIkff2yJzYcNJVl3begnlcaBJ7tqiTTzjnQ==
747 |
748 | "@types/prettier@^2.1.5":
749 | version "2.6.0"
750 | resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.6.0.tgz#efcbd41937f9ae7434c714ab698604822d890759"
751 | integrity sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==
752 |
753 | "@types/qs@*":
754 | version "6.9.7"
755 | resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb"
756 | integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==
757 |
758 | "@types/range-parser@*":
759 | version "1.2.4"
760 | resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc"
761 | integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==
762 |
763 | "@types/stack-utils@^2.0.0":
764 | version "2.0.1"
765 | resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c"
766 | integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==
767 |
768 | "@types/ws@^7.4.4":
769 | version "7.4.7"
770 | resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702"
771 | integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==
772 | dependencies:
773 | "@types/node" "*"
774 |
775 | "@types/yargs-parser@*":
776 | version "21.0.0"
777 | resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b"
778 | integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==
779 |
780 | "@types/yargs@^16.0.0":
781 | version "16.0.4"
782 | resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977"
783 | integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==
784 | dependencies:
785 | "@types/yargs-parser" "*"
786 |
787 | JSONStream@^1.3.5:
788 | version "1.3.5"
789 | resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0"
790 | integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==
791 | dependencies:
792 | jsonparse "^1.2.0"
793 | through ">=2.2.7 <3"
794 |
795 | abab@^2.0.3, abab@^2.0.5:
796 | version "2.0.5"
797 | resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a"
798 | integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==
799 |
800 | acorn-globals@^6.0.0:
801 | version "6.0.0"
802 | resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45"
803 | integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==
804 | dependencies:
805 | acorn "^7.1.1"
806 | acorn-walk "^7.1.1"
807 |
808 | acorn-walk@^7.1.1:
809 | version "7.2.0"
810 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
811 | integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
812 |
813 | acorn-walk@^8.1.1:
814 | version "8.2.0"
815 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
816 | integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
817 |
818 | acorn@^7.1.1:
819 | version "7.4.1"
820 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
821 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
822 |
823 | acorn@^8.2.4, acorn@^8.4.1:
824 | version "8.7.0"
825 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf"
826 | integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==
827 |
828 | agent-base@6:
829 | version "6.0.2"
830 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
831 | integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
832 | dependencies:
833 | debug "4"
834 |
835 | ansi-escapes@^4.2.1:
836 | version "4.3.2"
837 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e"
838 | integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==
839 | dependencies:
840 | type-fest "^0.21.3"
841 |
842 | ansi-regex@^5.0.1:
843 | version "5.0.1"
844 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
845 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
846 |
847 | ansi-styles@^3.2.1:
848 | version "3.2.1"
849 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
850 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
851 | dependencies:
852 | color-convert "^1.9.0"
853 |
854 | ansi-styles@^4.0.0, ansi-styles@^4.1.0:
855 | version "4.3.0"
856 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
857 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
858 | dependencies:
859 | color-convert "^2.0.1"
860 |
861 | ansi-styles@^5.0.0:
862 | version "5.2.0"
863 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b"
864 | integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==
865 |
866 | anymatch@^3.0.3:
867 | version "3.1.2"
868 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
869 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
870 | dependencies:
871 | normalize-path "^3.0.0"
872 | picomatch "^2.0.4"
873 |
874 | arg@^4.1.0:
875 | version "4.1.3"
876 | resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
877 | integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
878 |
879 | argparse@^1.0.7:
880 | version "1.0.10"
881 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
882 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
883 | dependencies:
884 | sprintf-js "~1.0.2"
885 |
886 | asynckit@^0.4.0:
887 | version "0.4.0"
888 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
889 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
890 |
891 | babel-jest@^27.5.1:
892 | version "27.5.1"
893 | resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444"
894 | integrity sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==
895 | dependencies:
896 | "@jest/transform" "^27.5.1"
897 | "@jest/types" "^27.5.1"
898 | "@types/babel__core" "^7.1.14"
899 | babel-plugin-istanbul "^6.1.1"
900 | babel-preset-jest "^27.5.1"
901 | chalk "^4.0.0"
902 | graceful-fs "^4.2.9"
903 | slash "^3.0.0"
904 |
905 | babel-plugin-istanbul@^6.1.1:
906 | version "6.1.1"
907 | resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73"
908 | integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==
909 | dependencies:
910 | "@babel/helper-plugin-utils" "^7.0.0"
911 | "@istanbuljs/load-nyc-config" "^1.0.0"
912 | "@istanbuljs/schema" "^0.1.2"
913 | istanbul-lib-instrument "^5.0.4"
914 | test-exclude "^6.0.0"
915 |
916 | babel-plugin-jest-hoist@^27.5.1:
917 | version "27.5.1"
918 | resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz#9be98ecf28c331eb9f5df9c72d6f89deb8181c2e"
919 | integrity sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==
920 | dependencies:
921 | "@babel/template" "^7.3.3"
922 | "@babel/types" "^7.3.3"
923 | "@types/babel__core" "^7.0.0"
924 | "@types/babel__traverse" "^7.0.6"
925 |
926 | babel-preset-current-node-syntax@^1.0.0:
927 | version "1.0.1"
928 | resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b"
929 | integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==
930 | dependencies:
931 | "@babel/plugin-syntax-async-generators" "^7.8.4"
932 | "@babel/plugin-syntax-bigint" "^7.8.3"
933 | "@babel/plugin-syntax-class-properties" "^7.8.3"
934 | "@babel/plugin-syntax-import-meta" "^7.8.3"
935 | "@babel/plugin-syntax-json-strings" "^7.8.3"
936 | "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3"
937 | "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
938 | "@babel/plugin-syntax-numeric-separator" "^7.8.3"
939 | "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
940 | "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
941 | "@babel/plugin-syntax-optional-chaining" "^7.8.3"
942 | "@babel/plugin-syntax-top-level-await" "^7.8.3"
943 |
944 | babel-preset-jest@^27.5.1:
945 | version "27.5.1"
946 | resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz#91f10f58034cb7989cb4f962b69fa6eef6a6bc81"
947 | integrity sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==
948 | dependencies:
949 | babel-plugin-jest-hoist "^27.5.1"
950 | babel-preset-current-node-syntax "^1.0.0"
951 |
952 | balanced-match@^1.0.0:
953 | version "1.0.2"
954 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
955 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
956 |
957 | base-x@^3.0.2:
958 | version "3.0.9"
959 | resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320"
960 | integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==
961 | dependencies:
962 | safe-buffer "^5.0.1"
963 |
964 | base64-js@^1.3.1, base64-js@^1.5.1:
965 | version "1.5.1"
966 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
967 | integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
968 |
969 | bigint-buffer@^1.1.5:
970 | version "1.1.5"
971 | resolved "https://registry.yarnpkg.com/bigint-buffer/-/bigint-buffer-1.1.5.tgz#d038f31c8e4534c1f8d0015209bf34b4fa6dd442"
972 | integrity sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==
973 | dependencies:
974 | bindings "^1.3.0"
975 |
976 | bignumber.js@^9.0.1:
977 | version "9.0.2"
978 | resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.2.tgz#71c6c6bed38de64e24a65ebe16cfcf23ae693673"
979 | integrity sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==
980 |
981 | bindings@^1.3.0:
982 | version "1.5.0"
983 | resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df"
984 | integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
985 | dependencies:
986 | file-uri-to-path "1.0.0"
987 |
988 | bn.js@^4.11.9:
989 | version "4.12.0"
990 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
991 | integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==
992 |
993 | bn.js@^5.0.0, bn.js@^5.1.2, bn.js@^5.2.0:
994 | version "5.2.0"
995 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002"
996 | integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==
997 |
998 | borsh@^0.7.0:
999 | version "0.7.0"
1000 | resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a"
1001 | integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==
1002 | dependencies:
1003 | bn.js "^5.2.0"
1004 | bs58 "^4.0.0"
1005 | text-encoding-utf-8 "^1.0.2"
1006 |
1007 | brace-expansion@^1.1.7:
1008 | version "1.1.11"
1009 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
1010 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
1011 | dependencies:
1012 | balanced-match "^1.0.0"
1013 | concat-map "0.0.1"
1014 |
1015 | braces@^3.0.2:
1016 | version "3.0.2"
1017 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
1018 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
1019 | dependencies:
1020 | fill-range "^7.0.1"
1021 |
1022 | brorand@^1.1.0:
1023 | version "1.1.0"
1024 | resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
1025 | integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
1026 |
1027 | browser-process-hrtime@^1.0.0:
1028 | version "1.0.0"
1029 | resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626"
1030 | integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==
1031 |
1032 | browserslist@^4.17.5:
1033 | version "4.20.2"
1034 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88"
1035 | integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==
1036 | dependencies:
1037 | caniuse-lite "^1.0.30001317"
1038 | electron-to-chromium "^1.4.84"
1039 | escalade "^3.1.1"
1040 | node-releases "^2.0.2"
1041 | picocolors "^1.0.0"
1042 |
1043 | bs-logger@0.x:
1044 | version "0.2.6"
1045 | resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8"
1046 | integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==
1047 | dependencies:
1048 | fast-json-stable-stringify "2.x"
1049 |
1050 | bs58@^4.0.0, bs58@^4.0.1:
1051 | version "4.0.1"
1052 | resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a"
1053 | integrity sha1-vhYedsNU9veIrkBx9j806MTwpCo=
1054 | dependencies:
1055 | base-x "^3.0.2"
1056 |
1057 | bser@2.1.1:
1058 | version "2.1.1"
1059 | resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05"
1060 | integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==
1061 | dependencies:
1062 | node-int64 "^0.4.0"
1063 |
1064 | buffer-from@^1.0.0:
1065 | version "1.1.2"
1066 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
1067 | integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
1068 |
1069 | buffer-layout@^1.2.0, buffer-layout@^1.2.2:
1070 | version "1.2.2"
1071 | resolved "https://registry.yarnpkg.com/buffer-layout/-/buffer-layout-1.2.2.tgz#b9814e7c7235783085f9ca4966a0cfff112259d5"
1072 | integrity sha512-kWSuLN694+KTk8SrYvCqwP2WcgQjoRCiF5b4QDvkkz8EmgD+aWAIceGFKMIAdmF/pH+vpgNV3d3kAKorcdAmWA==
1073 |
1074 | buffer@6.0.1:
1075 | version "6.0.1"
1076 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.1.tgz#3cbea8c1463e5a0779e30b66d4c88c6ffa182ac2"
1077 | integrity sha512-rVAXBwEcEoYtxnHSO5iWyhzV/O1WMtkUYWlfdLS7FjU4PnSJJHEfHXi/uHPI5EwltmOA794gN3bm3/pzuctWjQ==
1078 | dependencies:
1079 | base64-js "^1.3.1"
1080 | ieee754 "^1.2.1"
1081 |
1082 | buffer@~6.0.3:
1083 | version "6.0.3"
1084 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6"
1085 | integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==
1086 | dependencies:
1087 | base64-js "^1.3.1"
1088 | ieee754 "^1.2.1"
1089 |
1090 | bufferutil@^4.0.1:
1091 | version "4.0.6"
1092 | resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.6.tgz#ebd6c67c7922a0e902f053e5d8be5ec850e48433"
1093 | integrity sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw==
1094 | dependencies:
1095 | node-gyp-build "^4.3.0"
1096 |
1097 | callsites@^3.0.0:
1098 | version "3.1.0"
1099 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
1100 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
1101 |
1102 | camelcase@^5.3.1:
1103 | version "5.3.1"
1104 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
1105 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
1106 |
1107 | camelcase@^6.2.0:
1108 | version "6.3.0"
1109 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
1110 | integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
1111 |
1112 | caniuse-lite@^1.0.30001317:
1113 | version "1.0.30001332"
1114 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz#39476d3aa8d83ea76359c70302eafdd4a1d727dd"
1115 | integrity sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==
1116 |
1117 | chalk@^2.0.0:
1118 | version "2.4.2"
1119 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
1120 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
1121 | dependencies:
1122 | ansi-styles "^3.2.1"
1123 | escape-string-regexp "^1.0.5"
1124 | supports-color "^5.3.0"
1125 |
1126 | chalk@^4.0.0:
1127 | version "4.1.2"
1128 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
1129 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
1130 | dependencies:
1131 | ansi-styles "^4.1.0"
1132 | supports-color "^7.1.0"
1133 |
1134 | char-regex@^1.0.2:
1135 | version "1.0.2"
1136 | resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf"
1137 | integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==
1138 |
1139 | ci-info@^3.2.0:
1140 | version "3.3.0"
1141 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.0.tgz#b4ed1fb6818dea4803a55c623041f9165d2066b2"
1142 | integrity sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==
1143 |
1144 | circular-json@^0.5.9:
1145 | version "0.5.9"
1146 | resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.5.9.tgz#932763ae88f4f7dead7a0d09c8a51a4743a53b1d"
1147 | integrity sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ==
1148 |
1149 | cjs-module-lexer@^1.0.0:
1150 | version "1.2.2"
1151 | resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40"
1152 | integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==
1153 |
1154 | cliui@^7.0.2:
1155 | version "7.0.4"
1156 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
1157 | integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
1158 | dependencies:
1159 | string-width "^4.2.0"
1160 | strip-ansi "^6.0.0"
1161 | wrap-ansi "^7.0.0"
1162 |
1163 | co@^4.6.0:
1164 | version "4.6.0"
1165 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
1166 | integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=
1167 |
1168 | collect-v8-coverage@^1.0.0:
1169 | version "1.0.1"
1170 | resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59"
1171 | integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==
1172 |
1173 | color-convert@^1.9.0:
1174 | version "1.9.3"
1175 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
1176 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
1177 | dependencies:
1178 | color-name "1.1.3"
1179 |
1180 | color-convert@^2.0.1:
1181 | version "2.0.1"
1182 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
1183 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
1184 | dependencies:
1185 | color-name "~1.1.4"
1186 |
1187 | color-name@1.1.3:
1188 | version "1.1.3"
1189 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
1190 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
1191 |
1192 | color-name@~1.1.4:
1193 | version "1.1.4"
1194 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
1195 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
1196 |
1197 | combined-stream@^1.0.8:
1198 | version "1.0.8"
1199 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
1200 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
1201 | dependencies:
1202 | delayed-stream "~1.0.0"
1203 |
1204 | commander@^2.20.3:
1205 | version "2.20.3"
1206 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
1207 | integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
1208 |
1209 | concat-map@0.0.1:
1210 | version "0.0.1"
1211 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
1212 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
1213 |
1214 | convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0:
1215 | version "1.8.0"
1216 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369"
1217 | integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==
1218 | dependencies:
1219 | safe-buffer "~5.1.1"
1220 |
1221 | create-require@^1.1.0:
1222 | version "1.1.1"
1223 | resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
1224 | integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
1225 |
1226 | cross-fetch@^3.1.4, cross-fetch@^3.1.5:
1227 | version "3.1.5"
1228 | resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f"
1229 | integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==
1230 | dependencies:
1231 | node-fetch "2.6.7"
1232 |
1233 | cross-spawn@^7.0.3:
1234 | version "7.0.3"
1235 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
1236 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
1237 | dependencies:
1238 | path-key "^3.1.0"
1239 | shebang-command "^2.0.0"
1240 | which "^2.0.1"
1241 |
1242 | crypto-hash@^1.3.0:
1243 | version "1.3.0"
1244 | resolved "https://registry.yarnpkg.com/crypto-hash/-/crypto-hash-1.3.0.tgz#b402cb08f4529e9f4f09346c3e275942f845e247"
1245 | integrity sha512-lyAZ0EMyjDkVvz8WOeVnuCPvKVBXcMv1l5SVqO1yC7PzTwrD/pPje/BIRbWhMoPe436U+Y2nD7f5bFx0kt+Sbg==
1246 |
1247 | cssom@^0.4.4:
1248 | version "0.4.4"
1249 | resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10"
1250 | integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==
1251 |
1252 | cssom@~0.3.6:
1253 | version "0.3.8"
1254 | resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a"
1255 | integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==
1256 |
1257 | cssstyle@^2.3.0:
1258 | version "2.3.0"
1259 | resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852"
1260 | integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==
1261 | dependencies:
1262 | cssom "~0.3.6"
1263 |
1264 | data-urls@^2.0.0:
1265 | version "2.0.0"
1266 | resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b"
1267 | integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==
1268 | dependencies:
1269 | abab "^2.0.3"
1270 | whatwg-mimetype "^2.3.0"
1271 | whatwg-url "^8.0.0"
1272 |
1273 | debug@4, debug@^4.1.0, debug@^4.1.1:
1274 | version "4.3.4"
1275 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
1276 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
1277 | dependencies:
1278 | ms "2.1.2"
1279 |
1280 | decimal.js@^10.2.1:
1281 | version "10.3.1"
1282 | resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783"
1283 | integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==
1284 |
1285 | dedent@^0.7.0:
1286 | version "0.7.0"
1287 | resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
1288 | integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=
1289 |
1290 | deep-is@~0.1.3:
1291 | version "0.1.4"
1292 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
1293 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
1294 |
1295 | deepmerge@^4.2.2:
1296 | version "4.2.2"
1297 | resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
1298 | integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
1299 |
1300 | delay@^5.0.0:
1301 | version "5.0.0"
1302 | resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d"
1303 | integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==
1304 |
1305 | delayed-stream@~1.0.0:
1306 | version "1.0.0"
1307 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
1308 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
1309 |
1310 | detect-newline@^3.0.0:
1311 | version "3.1.0"
1312 | resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651"
1313 | integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==
1314 |
1315 | diff-sequences@^27.5.1:
1316 | version "27.5.1"
1317 | resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327"
1318 | integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==
1319 |
1320 | diff@^4.0.1:
1321 | version "4.0.2"
1322 | resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
1323 | integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
1324 |
1325 | domexception@^2.0.1:
1326 | version "2.0.1"
1327 | resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304"
1328 | integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==
1329 | dependencies:
1330 | webidl-conversions "^5.0.0"
1331 |
1332 | dot-case@^3.0.4:
1333 | version "3.0.4"
1334 | resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751"
1335 | integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==
1336 | dependencies:
1337 | no-case "^3.0.4"
1338 | tslib "^2.0.3"
1339 |
1340 | dotenv@^16.0.0:
1341 | version "16.0.0"
1342 | resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.0.tgz#c619001253be89ebb638d027b609c75c26e47411"
1343 | integrity sha512-qD9WU0MPM4SWLPJy/r2Be+2WgQj8plChsyrCNQzW/0WjvcJQiKQJ9mH3ZgB3fxbUUxgc/11ZJ0Fi5KiimWGz2Q==
1344 |
1345 | electron-to-chromium@^1.4.84:
1346 | version "1.4.111"
1347 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.111.tgz#897613f6504f3f17c9381c7499a635b413e4df4e"
1348 | integrity sha512-/s3+fwhKf1YK4k7btOImOzCQLpUjS6MaPf0ODTNuT4eTM1Bg4itBpLkydhOzJmpmH6Z9eXFyuuK5czsmzRzwtw==
1349 |
1350 | elliptic@^6.5.4:
1351 | version "6.5.4"
1352 | resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb"
1353 | integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==
1354 | dependencies:
1355 | bn.js "^4.11.9"
1356 | brorand "^1.1.0"
1357 | hash.js "^1.0.0"
1358 | hmac-drbg "^1.0.1"
1359 | inherits "^2.0.4"
1360 | minimalistic-assert "^1.0.1"
1361 | minimalistic-crypto-utils "^1.0.1"
1362 |
1363 | emittery@^0.8.1:
1364 | version "0.8.1"
1365 | resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860"
1366 | integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==
1367 |
1368 | emoji-regex@^8.0.0:
1369 | version "8.0.0"
1370 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
1371 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
1372 |
1373 | error-ex@^1.3.1:
1374 | version "1.3.2"
1375 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
1376 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
1377 | dependencies:
1378 | is-arrayish "^0.2.1"
1379 |
1380 | es6-promise@^4.0.3:
1381 | version "4.2.8"
1382 | resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a"
1383 | integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==
1384 |
1385 | es6-promisify@^5.0.0:
1386 | version "5.0.0"
1387 | resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203"
1388 | integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=
1389 | dependencies:
1390 | es6-promise "^4.0.3"
1391 |
1392 | escalade@^3.1.1:
1393 | version "3.1.1"
1394 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
1395 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
1396 |
1397 | escape-string-regexp@^1.0.5:
1398 | version "1.0.5"
1399 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
1400 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
1401 |
1402 | escape-string-regexp@^2.0.0:
1403 | version "2.0.0"
1404 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
1405 | integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
1406 |
1407 | escodegen@^2.0.0:
1408 | version "2.0.0"
1409 | resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd"
1410 | integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==
1411 | dependencies:
1412 | esprima "^4.0.1"
1413 | estraverse "^5.2.0"
1414 | esutils "^2.0.2"
1415 | optionator "^0.8.1"
1416 | optionalDependencies:
1417 | source-map "~0.6.1"
1418 |
1419 | esprima@^4.0.0, esprima@^4.0.1:
1420 | version "4.0.1"
1421 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
1422 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
1423 |
1424 | estraverse@^5.2.0:
1425 | version "5.3.0"
1426 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
1427 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
1428 |
1429 | esutils@^2.0.2:
1430 | version "2.0.3"
1431 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
1432 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
1433 |
1434 | eventemitter3@^4.0.7:
1435 | version "4.0.7"
1436 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
1437 | integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
1438 |
1439 | execa@^5.0.0:
1440 | version "5.1.1"
1441 | resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
1442 | integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
1443 | dependencies:
1444 | cross-spawn "^7.0.3"
1445 | get-stream "^6.0.0"
1446 | human-signals "^2.1.0"
1447 | is-stream "^2.0.0"
1448 | merge-stream "^2.0.0"
1449 | npm-run-path "^4.0.1"
1450 | onetime "^5.1.2"
1451 | signal-exit "^3.0.3"
1452 | strip-final-newline "^2.0.0"
1453 |
1454 | exit@^0.1.2:
1455 | version "0.1.2"
1456 | resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
1457 | integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=
1458 |
1459 | expect@^27.5.1:
1460 | version "27.5.1"
1461 | resolved "https://registry.yarnpkg.com/expect/-/expect-27.5.1.tgz#83ce59f1e5bdf5f9d2b94b61d2050db48f3fef74"
1462 | integrity sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==
1463 | dependencies:
1464 | "@jest/types" "^27.5.1"
1465 | jest-get-type "^27.5.1"
1466 | jest-matcher-utils "^27.5.1"
1467 | jest-message-util "^27.5.1"
1468 |
1469 | eyes@^0.1.8:
1470 | version "0.1.8"
1471 | resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0"
1472 | integrity sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=
1473 |
1474 | fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0:
1475 | version "2.1.0"
1476 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
1477 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
1478 |
1479 | fast-levenshtein@~2.0.6:
1480 | version "2.0.6"
1481 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
1482 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
1483 |
1484 | fast-stable-stringify@^1.0.0:
1485 | version "1.0.0"
1486 | resolved "https://registry.yarnpkg.com/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz#5c5543462b22aeeefd36d05b34e51c78cb86d313"
1487 | integrity sha1-XFVDRisiru79NtBbNOUceMuG0xM=
1488 |
1489 | fb-watchman@^2.0.0:
1490 | version "2.0.1"
1491 | resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85"
1492 | integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==
1493 | dependencies:
1494 | bser "2.1.1"
1495 |
1496 | file-uri-to-path@1.0.0:
1497 | version "1.0.0"
1498 | resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
1499 | integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
1500 |
1501 | fill-range@^7.0.1:
1502 | version "7.0.1"
1503 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
1504 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
1505 | dependencies:
1506 | to-regex-range "^5.0.1"
1507 |
1508 | find-up@^4.0.0, find-up@^4.1.0:
1509 | version "4.1.0"
1510 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
1511 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
1512 | dependencies:
1513 | locate-path "^5.0.0"
1514 | path-exists "^4.0.0"
1515 |
1516 | form-data@^3.0.0:
1517 | version "3.0.1"
1518 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f"
1519 | integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==
1520 | dependencies:
1521 | asynckit "^0.4.0"
1522 | combined-stream "^1.0.8"
1523 | mime-types "^2.1.12"
1524 |
1525 | fs.realpath@^1.0.0:
1526 | version "1.0.0"
1527 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
1528 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
1529 |
1530 | fsevents@^2.3.2:
1531 | version "2.3.2"
1532 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
1533 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
1534 |
1535 | function-bind@^1.1.1:
1536 | version "1.1.1"
1537 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
1538 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
1539 |
1540 | gensync@^1.0.0-beta.2:
1541 | version "1.0.0-beta.2"
1542 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
1543 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
1544 |
1545 | get-caller-file@^2.0.5:
1546 | version "2.0.5"
1547 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
1548 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
1549 |
1550 | get-package-type@^0.1.0:
1551 | version "0.1.0"
1552 | resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
1553 | integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
1554 |
1555 | get-stream@^6.0.0:
1556 | version "6.0.1"
1557 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
1558 | integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
1559 |
1560 | glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4:
1561 | version "7.2.0"
1562 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023"
1563 | integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==
1564 | dependencies:
1565 | fs.realpath "^1.0.0"
1566 | inflight "^1.0.4"
1567 | inherits "2"
1568 | minimatch "^3.0.4"
1569 | once "^1.3.0"
1570 | path-is-absolute "^1.0.0"
1571 |
1572 | globals@^11.1.0:
1573 | version "11.12.0"
1574 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
1575 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
1576 |
1577 | graceful-fs@^4.2.9:
1578 | version "4.2.10"
1579 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
1580 | integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
1581 |
1582 | has-flag@^3.0.0:
1583 | version "3.0.0"
1584 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
1585 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
1586 |
1587 | has-flag@^4.0.0:
1588 | version "4.0.0"
1589 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
1590 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
1591 |
1592 | has@^1.0.3:
1593 | version "1.0.3"
1594 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
1595 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
1596 | dependencies:
1597 | function-bind "^1.1.1"
1598 |
1599 | hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3:
1600 | version "1.1.7"
1601 | resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
1602 | integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==
1603 | dependencies:
1604 | inherits "^2.0.3"
1605 | minimalistic-assert "^1.0.1"
1606 |
1607 | hmac-drbg@^1.0.1:
1608 | version "1.0.1"
1609 | resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
1610 | integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=
1611 | dependencies:
1612 | hash.js "^1.0.3"
1613 | minimalistic-assert "^1.0.0"
1614 | minimalistic-crypto-utils "^1.0.1"
1615 |
1616 | html-encoding-sniffer@^2.0.1:
1617 | version "2.0.1"
1618 | resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3"
1619 | integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==
1620 | dependencies:
1621 | whatwg-encoding "^1.0.5"
1622 |
1623 | html-escaper@^2.0.0:
1624 | version "2.0.2"
1625 | resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
1626 | integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
1627 |
1628 | http-proxy-agent@^4.0.1:
1629 | version "4.0.1"
1630 | resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a"
1631 | integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==
1632 | dependencies:
1633 | "@tootallnate/once" "1"
1634 | agent-base "6"
1635 | debug "4"
1636 |
1637 | https-proxy-agent@^5.0.0:
1638 | version "5.0.1"
1639 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
1640 | integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
1641 | dependencies:
1642 | agent-base "6"
1643 | debug "4"
1644 |
1645 | human-signals@^2.1.0:
1646 | version "2.1.0"
1647 | resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
1648 | integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
1649 |
1650 | iconv-lite@0.4.24:
1651 | version "0.4.24"
1652 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
1653 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
1654 | dependencies:
1655 | safer-buffer ">= 2.1.2 < 3"
1656 |
1657 | ieee754@^1.2.1:
1658 | version "1.2.1"
1659 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
1660 | integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
1661 |
1662 | import-local@^3.0.2:
1663 | version "3.1.0"
1664 | resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4"
1665 | integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==
1666 | dependencies:
1667 | pkg-dir "^4.2.0"
1668 | resolve-cwd "^3.0.0"
1669 |
1670 | imurmurhash@^0.1.4:
1671 | version "0.1.4"
1672 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
1673 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
1674 |
1675 | inflight@^1.0.4:
1676 | version "1.0.6"
1677 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
1678 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
1679 | dependencies:
1680 | once "^1.3.0"
1681 | wrappy "1"
1682 |
1683 | inherits@2, inherits@^2.0.3, inherits@^2.0.4:
1684 | version "2.0.4"
1685 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
1686 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
1687 |
1688 | is-arrayish@^0.2.1:
1689 | version "0.2.1"
1690 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
1691 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
1692 |
1693 | is-core-module@^2.8.1:
1694 | version "2.8.1"
1695 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211"
1696 | integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==
1697 | dependencies:
1698 | has "^1.0.3"
1699 |
1700 | is-fullwidth-code-point@^3.0.0:
1701 | version "3.0.0"
1702 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
1703 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
1704 |
1705 | is-generator-fn@^2.0.0:
1706 | version "2.1.0"
1707 | resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118"
1708 | integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==
1709 |
1710 | is-number@^7.0.0:
1711 | version "7.0.0"
1712 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
1713 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
1714 |
1715 | is-potential-custom-element-name@^1.0.1:
1716 | version "1.0.1"
1717 | resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5"
1718 | integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==
1719 |
1720 | is-stream@^2.0.0:
1721 | version "2.0.1"
1722 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
1723 | integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
1724 |
1725 | is-typedarray@^1.0.0:
1726 | version "1.0.0"
1727 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
1728 | integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
1729 |
1730 | isexe@^2.0.0:
1731 | version "2.0.0"
1732 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
1733 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
1734 |
1735 | isomorphic-ws@^4.0.1:
1736 | version "4.0.1"
1737 | resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc"
1738 | integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==
1739 |
1740 | istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0:
1741 | version "3.2.0"
1742 | resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3"
1743 | integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==
1744 |
1745 | istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0:
1746 | version "5.1.0"
1747 | resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz#7b49198b657b27a730b8e9cb601f1e1bff24c59a"
1748 | integrity sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==
1749 | dependencies:
1750 | "@babel/core" "^7.12.3"
1751 | "@babel/parser" "^7.14.7"
1752 | "@istanbuljs/schema" "^0.1.2"
1753 | istanbul-lib-coverage "^3.2.0"
1754 | semver "^6.3.0"
1755 |
1756 | istanbul-lib-report@^3.0.0:
1757 | version "3.0.0"
1758 | resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6"
1759 | integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==
1760 | dependencies:
1761 | istanbul-lib-coverage "^3.0.0"
1762 | make-dir "^3.0.0"
1763 | supports-color "^7.1.0"
1764 |
1765 | istanbul-lib-source-maps@^4.0.0:
1766 | version "4.0.1"
1767 | resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551"
1768 | integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==
1769 | dependencies:
1770 | debug "^4.1.1"
1771 | istanbul-lib-coverage "^3.0.0"
1772 | source-map "^0.6.1"
1773 |
1774 | istanbul-reports@^3.1.3:
1775 | version "3.1.4"
1776 | resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.4.tgz#1b6f068ecbc6c331040aab5741991273e609e40c"
1777 | integrity sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==
1778 | dependencies:
1779 | html-escaper "^2.0.0"
1780 | istanbul-lib-report "^3.0.0"
1781 |
1782 | jayson@^3.4.4:
1783 | version "3.6.6"
1784 | resolved "https://registry.yarnpkg.com/jayson/-/jayson-3.6.6.tgz#189984f624e398f831bd2be8e8c80eb3abf764a1"
1785 | integrity sha512-f71uvrAWTtrwoww6MKcl9phQTC+56AopLyEenWvKVAIMz+q0oVGj6tenLZ7Z6UiPBkJtKLj4kt0tACllFQruGQ==
1786 | dependencies:
1787 | "@types/connect" "^3.4.33"
1788 | "@types/express-serve-static-core" "^4.17.9"
1789 | "@types/lodash" "^4.14.159"
1790 | "@types/node" "^12.12.54"
1791 | "@types/ws" "^7.4.4"
1792 | JSONStream "^1.3.5"
1793 | commander "^2.20.3"
1794 | delay "^5.0.0"
1795 | es6-promisify "^5.0.0"
1796 | eyes "^0.1.8"
1797 | isomorphic-ws "^4.0.1"
1798 | json-stringify-safe "^5.0.1"
1799 | lodash "^4.17.20"
1800 | uuid "^8.3.2"
1801 | ws "^7.4.5"
1802 |
1803 | jest-changed-files@^27.5.1:
1804 | version "27.5.1"
1805 | resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz#a348aed00ec9bf671cc58a66fcbe7c3dfd6a68f5"
1806 | integrity sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==
1807 | dependencies:
1808 | "@jest/types" "^27.5.1"
1809 | execa "^5.0.0"
1810 | throat "^6.0.1"
1811 |
1812 | jest-circus@^27.5.1:
1813 | version "27.5.1"
1814 | resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.5.1.tgz#37a5a4459b7bf4406e53d637b49d22c65d125ecc"
1815 | integrity sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==
1816 | dependencies:
1817 | "@jest/environment" "^27.5.1"
1818 | "@jest/test-result" "^27.5.1"
1819 | "@jest/types" "^27.5.1"
1820 | "@types/node" "*"
1821 | chalk "^4.0.0"
1822 | co "^4.6.0"
1823 | dedent "^0.7.0"
1824 | expect "^27.5.1"
1825 | is-generator-fn "^2.0.0"
1826 | jest-each "^27.5.1"
1827 | jest-matcher-utils "^27.5.1"
1828 | jest-message-util "^27.5.1"
1829 | jest-runtime "^27.5.1"
1830 | jest-snapshot "^27.5.1"
1831 | jest-util "^27.5.1"
1832 | pretty-format "^27.5.1"
1833 | slash "^3.0.0"
1834 | stack-utils "^2.0.3"
1835 | throat "^6.0.1"
1836 |
1837 | jest-cli@^27.5.1:
1838 | version "27.5.1"
1839 | resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.5.1.tgz#278794a6e6458ea8029547e6c6cbf673bd30b145"
1840 | integrity sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==
1841 | dependencies:
1842 | "@jest/core" "^27.5.1"
1843 | "@jest/test-result" "^27.5.1"
1844 | "@jest/types" "^27.5.1"
1845 | chalk "^4.0.0"
1846 | exit "^0.1.2"
1847 | graceful-fs "^4.2.9"
1848 | import-local "^3.0.2"
1849 | jest-config "^27.5.1"
1850 | jest-util "^27.5.1"
1851 | jest-validate "^27.5.1"
1852 | prompts "^2.0.1"
1853 | yargs "^16.2.0"
1854 |
1855 | jest-config@^27.5.1:
1856 | version "27.5.1"
1857 | resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.5.1.tgz#5c387de33dca3f99ad6357ddeccd91bf3a0e4a41"
1858 | integrity sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==
1859 | dependencies:
1860 | "@babel/core" "^7.8.0"
1861 | "@jest/test-sequencer" "^27.5.1"
1862 | "@jest/types" "^27.5.1"
1863 | babel-jest "^27.5.1"
1864 | chalk "^4.0.0"
1865 | ci-info "^3.2.0"
1866 | deepmerge "^4.2.2"
1867 | glob "^7.1.1"
1868 | graceful-fs "^4.2.9"
1869 | jest-circus "^27.5.1"
1870 | jest-environment-jsdom "^27.5.1"
1871 | jest-environment-node "^27.5.1"
1872 | jest-get-type "^27.5.1"
1873 | jest-jasmine2 "^27.5.1"
1874 | jest-regex-util "^27.5.1"
1875 | jest-resolve "^27.5.1"
1876 | jest-runner "^27.5.1"
1877 | jest-util "^27.5.1"
1878 | jest-validate "^27.5.1"
1879 | micromatch "^4.0.4"
1880 | parse-json "^5.2.0"
1881 | pretty-format "^27.5.1"
1882 | slash "^3.0.0"
1883 | strip-json-comments "^3.1.1"
1884 |
1885 | jest-diff@^27.5.1:
1886 | version "27.5.1"
1887 | resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def"
1888 | integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==
1889 | dependencies:
1890 | chalk "^4.0.0"
1891 | diff-sequences "^27.5.1"
1892 | jest-get-type "^27.5.1"
1893 | pretty-format "^27.5.1"
1894 |
1895 | jest-docblock@^27.5.1:
1896 | version "27.5.1"
1897 | resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.1.tgz#14092f364a42c6108d42c33c8cf30e058e25f6c0"
1898 | integrity sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==
1899 | dependencies:
1900 | detect-newline "^3.0.0"
1901 |
1902 | jest-each@^27.5.1:
1903 | version "27.5.1"
1904 | resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.5.1.tgz#5bc87016f45ed9507fed6e4702a5b468a5b2c44e"
1905 | integrity sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==
1906 | dependencies:
1907 | "@jest/types" "^27.5.1"
1908 | chalk "^4.0.0"
1909 | jest-get-type "^27.5.1"
1910 | jest-util "^27.5.1"
1911 | pretty-format "^27.5.1"
1912 |
1913 | jest-environment-jsdom@^27.5.1:
1914 | version "27.5.1"
1915 | resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz#ea9ccd1fc610209655a77898f86b2b559516a546"
1916 | integrity sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==
1917 | dependencies:
1918 | "@jest/environment" "^27.5.1"
1919 | "@jest/fake-timers" "^27.5.1"
1920 | "@jest/types" "^27.5.1"
1921 | "@types/node" "*"
1922 | jest-mock "^27.5.1"
1923 | jest-util "^27.5.1"
1924 | jsdom "^16.6.0"
1925 |
1926 | jest-environment-node@^27.5.1:
1927 | version "27.5.1"
1928 | resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz#dedc2cfe52fab6b8f5714b4808aefa85357a365e"
1929 | integrity sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==
1930 | dependencies:
1931 | "@jest/environment" "^27.5.1"
1932 | "@jest/fake-timers" "^27.5.1"
1933 | "@jest/types" "^27.5.1"
1934 | "@types/node" "*"
1935 | jest-mock "^27.5.1"
1936 | jest-util "^27.5.1"
1937 |
1938 | jest-get-type@^27.5.1:
1939 | version "27.5.1"
1940 | resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1"
1941 | integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==
1942 |
1943 | jest-haste-map@^27.5.1:
1944 | version "27.5.1"
1945 | resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f"
1946 | integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==
1947 | dependencies:
1948 | "@jest/types" "^27.5.1"
1949 | "@types/graceful-fs" "^4.1.2"
1950 | "@types/node" "*"
1951 | anymatch "^3.0.3"
1952 | fb-watchman "^2.0.0"
1953 | graceful-fs "^4.2.9"
1954 | jest-regex-util "^27.5.1"
1955 | jest-serializer "^27.5.1"
1956 | jest-util "^27.5.1"
1957 | jest-worker "^27.5.1"
1958 | micromatch "^4.0.4"
1959 | walker "^1.0.7"
1960 | optionalDependencies:
1961 | fsevents "^2.3.2"
1962 |
1963 | jest-jasmine2@^27.5.1:
1964 | version "27.5.1"
1965 | resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz#a037b0034ef49a9f3d71c4375a796f3b230d1ac4"
1966 | integrity sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==
1967 | dependencies:
1968 | "@jest/environment" "^27.5.1"
1969 | "@jest/source-map" "^27.5.1"
1970 | "@jest/test-result" "^27.5.1"
1971 | "@jest/types" "^27.5.1"
1972 | "@types/node" "*"
1973 | chalk "^4.0.0"
1974 | co "^4.6.0"
1975 | expect "^27.5.1"
1976 | is-generator-fn "^2.0.0"
1977 | jest-each "^27.5.1"
1978 | jest-matcher-utils "^27.5.1"
1979 | jest-message-util "^27.5.1"
1980 | jest-runtime "^27.5.1"
1981 | jest-snapshot "^27.5.1"
1982 | jest-util "^27.5.1"
1983 | pretty-format "^27.5.1"
1984 | throat "^6.0.1"
1985 |
1986 | jest-leak-detector@^27.5.1:
1987 | version "27.5.1"
1988 | resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz#6ec9d54c3579dd6e3e66d70e3498adf80fde3fb8"
1989 | integrity sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==
1990 | dependencies:
1991 | jest-get-type "^27.5.1"
1992 | pretty-format "^27.5.1"
1993 |
1994 | jest-matcher-utils@^27.0.0, jest-matcher-utils@^27.5.1:
1995 | version "27.5.1"
1996 | resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab"
1997 | integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==
1998 | dependencies:
1999 | chalk "^4.0.0"
2000 | jest-diff "^27.5.1"
2001 | jest-get-type "^27.5.1"
2002 | pretty-format "^27.5.1"
2003 |
2004 | jest-message-util@^27.5.1:
2005 | version "27.5.1"
2006 | resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.1.tgz#bdda72806da10d9ed6425e12afff38cd1458b6cf"
2007 | integrity sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==
2008 | dependencies:
2009 | "@babel/code-frame" "^7.12.13"
2010 | "@jest/types" "^27.5.1"
2011 | "@types/stack-utils" "^2.0.0"
2012 | chalk "^4.0.0"
2013 | graceful-fs "^4.2.9"
2014 | micromatch "^4.0.4"
2015 | pretty-format "^27.5.1"
2016 | slash "^3.0.0"
2017 | stack-utils "^2.0.3"
2018 |
2019 | jest-mock@^27.5.1:
2020 | version "27.5.1"
2021 | resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6"
2022 | integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==
2023 | dependencies:
2024 | "@jest/types" "^27.5.1"
2025 | "@types/node" "*"
2026 |
2027 | jest-pnp-resolver@^1.2.2:
2028 | version "1.2.2"
2029 | resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c"
2030 | integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==
2031 |
2032 | jest-regex-util@^27.5.1:
2033 | version "27.5.1"
2034 | resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95"
2035 | integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==
2036 |
2037 | jest-resolve-dependencies@^27.5.1:
2038 | version "27.5.1"
2039 | resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz#d811ecc8305e731cc86dd79741ee98fed06f1da8"
2040 | integrity sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==
2041 | dependencies:
2042 | "@jest/types" "^27.5.1"
2043 | jest-regex-util "^27.5.1"
2044 | jest-snapshot "^27.5.1"
2045 |
2046 | jest-resolve@^27.5.1:
2047 | version "27.5.1"
2048 | resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.5.1.tgz#a2f1c5a0796ec18fe9eb1536ac3814c23617b384"
2049 | integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==
2050 | dependencies:
2051 | "@jest/types" "^27.5.1"
2052 | chalk "^4.0.0"
2053 | graceful-fs "^4.2.9"
2054 | jest-haste-map "^27.5.1"
2055 | jest-pnp-resolver "^1.2.2"
2056 | jest-util "^27.5.1"
2057 | jest-validate "^27.5.1"
2058 | resolve "^1.20.0"
2059 | resolve.exports "^1.1.0"
2060 | slash "^3.0.0"
2061 |
2062 | jest-runner@^27.5.1:
2063 | version "27.5.1"
2064 | resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.5.1.tgz#071b27c1fa30d90540805c5645a0ec167c7b62e5"
2065 | integrity sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==
2066 | dependencies:
2067 | "@jest/console" "^27.5.1"
2068 | "@jest/environment" "^27.5.1"
2069 | "@jest/test-result" "^27.5.1"
2070 | "@jest/transform" "^27.5.1"
2071 | "@jest/types" "^27.5.1"
2072 | "@types/node" "*"
2073 | chalk "^4.0.0"
2074 | emittery "^0.8.1"
2075 | graceful-fs "^4.2.9"
2076 | jest-docblock "^27.5.1"
2077 | jest-environment-jsdom "^27.5.1"
2078 | jest-environment-node "^27.5.1"
2079 | jest-haste-map "^27.5.1"
2080 | jest-leak-detector "^27.5.1"
2081 | jest-message-util "^27.5.1"
2082 | jest-resolve "^27.5.1"
2083 | jest-runtime "^27.5.1"
2084 | jest-util "^27.5.1"
2085 | jest-worker "^27.5.1"
2086 | source-map-support "^0.5.6"
2087 | throat "^6.0.1"
2088 |
2089 | jest-runtime@^27.5.1:
2090 | version "27.5.1"
2091 | resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.5.1.tgz#4896003d7a334f7e8e4a53ba93fb9bcd3db0a1af"
2092 | integrity sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==
2093 | dependencies:
2094 | "@jest/environment" "^27.5.1"
2095 | "@jest/fake-timers" "^27.5.1"
2096 | "@jest/globals" "^27.5.1"
2097 | "@jest/source-map" "^27.5.1"
2098 | "@jest/test-result" "^27.5.1"
2099 | "@jest/transform" "^27.5.1"
2100 | "@jest/types" "^27.5.1"
2101 | chalk "^4.0.0"
2102 | cjs-module-lexer "^1.0.0"
2103 | collect-v8-coverage "^1.0.0"
2104 | execa "^5.0.0"
2105 | glob "^7.1.3"
2106 | graceful-fs "^4.2.9"
2107 | jest-haste-map "^27.5.1"
2108 | jest-message-util "^27.5.1"
2109 | jest-mock "^27.5.1"
2110 | jest-regex-util "^27.5.1"
2111 | jest-resolve "^27.5.1"
2112 | jest-snapshot "^27.5.1"
2113 | jest-util "^27.5.1"
2114 | slash "^3.0.0"
2115 | strip-bom "^4.0.0"
2116 |
2117 | jest-serializer@^27.5.1:
2118 | version "27.5.1"
2119 | resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64"
2120 | integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==
2121 | dependencies:
2122 | "@types/node" "*"
2123 | graceful-fs "^4.2.9"
2124 |
2125 | jest-snapshot@^27.5.1:
2126 | version "27.5.1"
2127 | resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz#b668d50d23d38054a51b42c4039cab59ae6eb6a1"
2128 | integrity sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==
2129 | dependencies:
2130 | "@babel/core" "^7.7.2"
2131 | "@babel/generator" "^7.7.2"
2132 | "@babel/plugin-syntax-typescript" "^7.7.2"
2133 | "@babel/traverse" "^7.7.2"
2134 | "@babel/types" "^7.0.0"
2135 | "@jest/transform" "^27.5.1"
2136 | "@jest/types" "^27.5.1"
2137 | "@types/babel__traverse" "^7.0.4"
2138 | "@types/prettier" "^2.1.5"
2139 | babel-preset-current-node-syntax "^1.0.0"
2140 | chalk "^4.0.0"
2141 | expect "^27.5.1"
2142 | graceful-fs "^4.2.9"
2143 | jest-diff "^27.5.1"
2144 | jest-get-type "^27.5.1"
2145 | jest-haste-map "^27.5.1"
2146 | jest-matcher-utils "^27.5.1"
2147 | jest-message-util "^27.5.1"
2148 | jest-util "^27.5.1"
2149 | natural-compare "^1.4.0"
2150 | pretty-format "^27.5.1"
2151 | semver "^7.3.2"
2152 |
2153 | jest-util@^27.0.0, jest-util@^27.5.1:
2154 | version "27.5.1"
2155 | resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9"
2156 | integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==
2157 | dependencies:
2158 | "@jest/types" "^27.5.1"
2159 | "@types/node" "*"
2160 | chalk "^4.0.0"
2161 | ci-info "^3.2.0"
2162 | graceful-fs "^4.2.9"
2163 | picomatch "^2.2.3"
2164 |
2165 | jest-validate@^27.5.1:
2166 | version "27.5.1"
2167 | resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.1.tgz#9197d54dc0bdb52260b8db40b46ae668e04df067"
2168 | integrity sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==
2169 | dependencies:
2170 | "@jest/types" "^27.5.1"
2171 | camelcase "^6.2.0"
2172 | chalk "^4.0.0"
2173 | jest-get-type "^27.5.1"
2174 | leven "^3.1.0"
2175 | pretty-format "^27.5.1"
2176 |
2177 | jest-watcher@^27.5.1:
2178 | version "27.5.1"
2179 | resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.5.1.tgz#71bd85fb9bde3a2c2ec4dc353437971c43c642a2"
2180 | integrity sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==
2181 | dependencies:
2182 | "@jest/test-result" "^27.5.1"
2183 | "@jest/types" "^27.5.1"
2184 | "@types/node" "*"
2185 | ansi-escapes "^4.2.1"
2186 | chalk "^4.0.0"
2187 | jest-util "^27.5.1"
2188 | string-length "^4.0.1"
2189 |
2190 | jest-worker@^27.5.1:
2191 | version "27.5.1"
2192 | resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0"
2193 | integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==
2194 | dependencies:
2195 | "@types/node" "*"
2196 | merge-stream "^2.0.0"
2197 | supports-color "^8.0.0"
2198 |
2199 | jest@^27.5.1:
2200 | version "27.5.1"
2201 | resolved "https://registry.yarnpkg.com/jest/-/jest-27.5.1.tgz#dadf33ba70a779be7a6fc33015843b51494f63fc"
2202 | integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==
2203 | dependencies:
2204 | "@jest/core" "^27.5.1"
2205 | import-local "^3.0.2"
2206 | jest-cli "^27.5.1"
2207 |
2208 | js-sha256@^0.9.0:
2209 | version "0.9.0"
2210 | resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.9.0.tgz#0b89ac166583e91ef9123644bd3c5334ce9d0966"
2211 | integrity sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==
2212 |
2213 | js-sha3@^0.8.0:
2214 | version "0.8.0"
2215 | resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840"
2216 | integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==
2217 |
2218 | js-tokens@^4.0.0:
2219 | version "4.0.0"
2220 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
2221 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
2222 |
2223 | js-yaml@^3.13.1:
2224 | version "3.14.1"
2225 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
2226 | integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
2227 | dependencies:
2228 | argparse "^1.0.7"
2229 | esprima "^4.0.0"
2230 |
2231 | jsdom@^16.6.0:
2232 | version "16.7.0"
2233 | resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710"
2234 | integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==
2235 | dependencies:
2236 | abab "^2.0.5"
2237 | acorn "^8.2.4"
2238 | acorn-globals "^6.0.0"
2239 | cssom "^0.4.4"
2240 | cssstyle "^2.3.0"
2241 | data-urls "^2.0.0"
2242 | decimal.js "^10.2.1"
2243 | domexception "^2.0.1"
2244 | escodegen "^2.0.0"
2245 | form-data "^3.0.0"
2246 | html-encoding-sniffer "^2.0.1"
2247 | http-proxy-agent "^4.0.1"
2248 | https-proxy-agent "^5.0.0"
2249 | is-potential-custom-element-name "^1.0.1"
2250 | nwsapi "^2.2.0"
2251 | parse5 "6.0.1"
2252 | saxes "^5.0.1"
2253 | symbol-tree "^3.2.4"
2254 | tough-cookie "^4.0.0"
2255 | w3c-hr-time "^1.0.2"
2256 | w3c-xmlserializer "^2.0.0"
2257 | webidl-conversions "^6.1.0"
2258 | whatwg-encoding "^1.0.5"
2259 | whatwg-mimetype "^2.3.0"
2260 | whatwg-url "^8.5.0"
2261 | ws "^7.4.6"
2262 | xml-name-validator "^3.0.0"
2263 |
2264 | jsesc@^2.5.1:
2265 | version "2.5.2"
2266 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
2267 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
2268 |
2269 | json-parse-even-better-errors@^2.3.0:
2270 | version "2.3.1"
2271 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
2272 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
2273 |
2274 | json-stringify-safe@^5.0.1:
2275 | version "5.0.1"
2276 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
2277 | integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
2278 |
2279 | json5@2.x, json5@^2.2.1:
2280 | version "2.2.1"
2281 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c"
2282 | integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==
2283 |
2284 | jsonparse@^1.2.0:
2285 | version "1.3.1"
2286 | resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
2287 | integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=
2288 |
2289 | kleur@^3.0.3:
2290 | version "3.0.3"
2291 | resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
2292 | integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
2293 |
2294 | leven@^3.1.0:
2295 | version "3.1.0"
2296 | resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
2297 | integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==
2298 |
2299 | levn@~0.3.0:
2300 | version "0.3.0"
2301 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
2302 | integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=
2303 | dependencies:
2304 | prelude-ls "~1.1.2"
2305 | type-check "~0.3.2"
2306 |
2307 | lines-and-columns@^1.1.6:
2308 | version "1.2.4"
2309 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
2310 | integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
2311 |
2312 | locate-path@^5.0.0:
2313 | version "5.0.0"
2314 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
2315 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
2316 | dependencies:
2317 | p-locate "^4.1.0"
2318 |
2319 | lodash.memoize@4.x:
2320 | version "4.1.2"
2321 | resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
2322 | integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=
2323 |
2324 | lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0:
2325 | version "4.17.21"
2326 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
2327 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
2328 |
2329 | lower-case@^2.0.2:
2330 | version "2.0.2"
2331 | resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28"
2332 | integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==
2333 | dependencies:
2334 | tslib "^2.0.3"
2335 |
2336 | lru-cache@^6.0.0:
2337 | version "6.0.0"
2338 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
2339 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
2340 | dependencies:
2341 | yallist "^4.0.0"
2342 |
2343 | make-dir@^3.0.0:
2344 | version "3.1.0"
2345 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
2346 | integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
2347 | dependencies:
2348 | semver "^6.0.0"
2349 |
2350 | make-error@1.x, make-error@^1.1.1:
2351 | version "1.3.6"
2352 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
2353 | integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
2354 |
2355 | makeerror@1.0.12:
2356 | version "1.0.12"
2357 | resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a"
2358 | integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==
2359 | dependencies:
2360 | tmpl "1.0.5"
2361 |
2362 | merge-stream@^2.0.0:
2363 | version "2.0.0"
2364 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
2365 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
2366 |
2367 | micromatch@^4.0.4:
2368 | version "4.0.5"
2369 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
2370 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
2371 | dependencies:
2372 | braces "^3.0.2"
2373 | picomatch "^2.3.1"
2374 |
2375 | mime-db@1.52.0:
2376 | version "1.52.0"
2377 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
2378 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
2379 |
2380 | mime-types@^2.1.12:
2381 | version "2.1.35"
2382 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
2383 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
2384 | dependencies:
2385 | mime-db "1.52.0"
2386 |
2387 | mimic-fn@^2.1.0:
2388 | version "2.1.0"
2389 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
2390 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
2391 |
2392 | minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
2393 | version "1.0.1"
2394 | resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
2395 | integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
2396 |
2397 | minimalistic-crypto-utils@^1.0.1:
2398 | version "1.0.1"
2399 | resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
2400 | integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
2401 |
2402 | minimatch@^3.0.4:
2403 | version "3.1.2"
2404 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
2405 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
2406 | dependencies:
2407 | brace-expansion "^1.1.7"
2408 |
2409 | ms@2.1.2:
2410 | version "2.1.2"
2411 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
2412 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
2413 |
2414 | natural-compare@^1.4.0:
2415 | version "1.4.0"
2416 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
2417 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
2418 |
2419 | no-case@^3.0.4:
2420 | version "3.0.4"
2421 | resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d"
2422 | integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==
2423 | dependencies:
2424 | lower-case "^2.0.2"
2425 | tslib "^2.0.3"
2426 |
2427 | node-addon-api@^2.0.0:
2428 | version "2.0.2"
2429 | resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32"
2430 | integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==
2431 |
2432 | node-fetch@2.6.7:
2433 | version "2.6.7"
2434 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad"
2435 | integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
2436 | dependencies:
2437 | whatwg-url "^5.0.0"
2438 |
2439 | node-gyp-build@^4.2.0, node-gyp-build@^4.3.0:
2440 | version "4.4.0"
2441 | resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.4.0.tgz#42e99687ce87ddeaf3a10b99dc06abc11021f3f4"
2442 | integrity sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==
2443 |
2444 | node-int64@^0.4.0:
2445 | version "0.4.0"
2446 | resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
2447 | integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=
2448 |
2449 | node-releases@^2.0.2:
2450 | version "2.0.3"
2451 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.3.tgz#225ee7488e4a5e636da8da52854844f9d716ca96"
2452 | integrity sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==
2453 |
2454 | normalize-path@^3.0.0:
2455 | version "3.0.0"
2456 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
2457 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
2458 |
2459 | npm-run-path@^4.0.1:
2460 | version "4.0.1"
2461 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
2462 | integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
2463 | dependencies:
2464 | path-key "^3.0.0"
2465 |
2466 | nwsapi@^2.2.0:
2467 | version "2.2.0"
2468 | resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7"
2469 | integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==
2470 |
2471 | once@^1.3.0:
2472 | version "1.4.0"
2473 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
2474 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
2475 | dependencies:
2476 | wrappy "1"
2477 |
2478 | onetime@^5.1.2:
2479 | version "5.1.2"
2480 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
2481 | integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
2482 | dependencies:
2483 | mimic-fn "^2.1.0"
2484 |
2485 | optionator@^0.8.1:
2486 | version "0.8.3"
2487 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495"
2488 | integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==
2489 | dependencies:
2490 | deep-is "~0.1.3"
2491 | fast-levenshtein "~2.0.6"
2492 | levn "~0.3.0"
2493 | prelude-ls "~1.1.2"
2494 | type-check "~0.3.2"
2495 | word-wrap "~1.2.3"
2496 |
2497 | p-limit@^2.2.0:
2498 | version "2.3.0"
2499 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
2500 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
2501 | dependencies:
2502 | p-try "^2.0.0"
2503 |
2504 | p-locate@^4.1.0:
2505 | version "4.1.0"
2506 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
2507 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
2508 | dependencies:
2509 | p-limit "^2.2.0"
2510 |
2511 | p-try@^2.0.0:
2512 | version "2.2.0"
2513 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
2514 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
2515 |
2516 | pako@^2.0.3:
2517 | version "2.0.4"
2518 | resolved "https://registry.yarnpkg.com/pako/-/pako-2.0.4.tgz#6cebc4bbb0b6c73b0d5b8d7e8476e2b2fbea576d"
2519 | integrity sha512-v8tweI900AUkZN6heMU/4Uy4cXRc2AYNRggVmTR+dEncawDJgCdLMximOVA2p4qO57WMynangsfGRb5WD6L1Bg==
2520 |
2521 | parse-json@^5.2.0:
2522 | version "5.2.0"
2523 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
2524 | integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
2525 | dependencies:
2526 | "@babel/code-frame" "^7.0.0"
2527 | error-ex "^1.3.1"
2528 | json-parse-even-better-errors "^2.3.0"
2529 | lines-and-columns "^1.1.6"
2530 |
2531 | parse5@6.0.1:
2532 | version "6.0.1"
2533 | resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b"
2534 | integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==
2535 |
2536 | path-exists@^4.0.0:
2537 | version "4.0.0"
2538 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
2539 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
2540 |
2541 | path-is-absolute@^1.0.0:
2542 | version "1.0.1"
2543 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
2544 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
2545 |
2546 | path-key@^3.0.0, path-key@^3.1.0:
2547 | version "3.1.1"
2548 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
2549 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
2550 |
2551 | path-parse@^1.0.7:
2552 | version "1.0.7"
2553 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
2554 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
2555 |
2556 | picocolors@^1.0.0:
2557 | version "1.0.0"
2558 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
2559 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
2560 |
2561 | picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1:
2562 | version "2.3.1"
2563 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
2564 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
2565 |
2566 | pirates@^4.0.4:
2567 | version "4.0.5"
2568 | resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b"
2569 | integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==
2570 |
2571 | pkg-dir@^4.2.0:
2572 | version "4.2.0"
2573 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
2574 | integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
2575 | dependencies:
2576 | find-up "^4.0.0"
2577 |
2578 | prelude-ls@~1.1.2:
2579 | version "1.1.2"
2580 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
2581 | integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
2582 |
2583 | pretty-format@^27.0.0, pretty-format@^27.5.1:
2584 | version "27.5.1"
2585 | resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e"
2586 | integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==
2587 | dependencies:
2588 | ansi-regex "^5.0.1"
2589 | ansi-styles "^5.0.0"
2590 | react-is "^17.0.1"
2591 |
2592 | prompts@^2.0.1:
2593 | version "2.4.2"
2594 | resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069"
2595 | integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==
2596 | dependencies:
2597 | kleur "^3.0.3"
2598 | sisteransi "^1.0.5"
2599 |
2600 | psl@^1.1.33:
2601 | version "1.8.0"
2602 | resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
2603 | integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
2604 |
2605 | punycode@^2.1.1:
2606 | version "2.1.1"
2607 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
2608 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
2609 |
2610 | react-is@^17.0.1:
2611 | version "17.0.2"
2612 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
2613 | integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
2614 |
2615 | regenerator-runtime@^0.13.4:
2616 | version "0.13.9"
2617 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52"
2618 | integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==
2619 |
2620 | require-directory@^2.1.1:
2621 | version "2.1.1"
2622 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
2623 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
2624 |
2625 | resolve-cwd@^3.0.0:
2626 | version "3.0.0"
2627 | resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d"
2628 | integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==
2629 | dependencies:
2630 | resolve-from "^5.0.0"
2631 |
2632 | resolve-from@^5.0.0:
2633 | version "5.0.0"
2634 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
2635 | integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
2636 |
2637 | resolve.exports@^1.1.0:
2638 | version "1.1.0"
2639 | resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9"
2640 | integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==
2641 |
2642 | resolve@^1.20.0:
2643 | version "1.22.0"
2644 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198"
2645 | integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==
2646 | dependencies:
2647 | is-core-module "^2.8.1"
2648 | path-parse "^1.0.7"
2649 | supports-preserve-symlinks-flag "^1.0.0"
2650 |
2651 | rimraf@^3.0.0:
2652 | version "3.0.2"
2653 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
2654 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
2655 | dependencies:
2656 | glob "^7.1.3"
2657 |
2658 | rpc-websockets@^7.4.2:
2659 | version "7.4.17"
2660 | resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-7.4.17.tgz#f38845dd96db0442bff9e15fba9df781beb44cc0"
2661 | integrity sha512-eolVi/qlXS13viIUH9aqrde902wzSLAai0IjmOZSRefp5I3CSG/vCnD0c0fDSYCWuEyUoRL1BHQA8K1baEUyow==
2662 | dependencies:
2663 | "@babel/runtime" "^7.11.2"
2664 | circular-json "^0.5.9"
2665 | eventemitter3 "^4.0.7"
2666 | uuid "^8.3.0"
2667 | ws "^7.4.5"
2668 | optionalDependencies:
2669 | bufferutil "^4.0.1"
2670 | utf-8-validate "^5.0.2"
2671 |
2672 | safe-buffer@^5.0.1:
2673 | version "5.2.1"
2674 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
2675 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
2676 |
2677 | safe-buffer@~5.1.1:
2678 | version "5.1.2"
2679 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
2680 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
2681 |
2682 | "safer-buffer@>= 2.1.2 < 3":
2683 | version "2.1.2"
2684 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
2685 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
2686 |
2687 | saxes@^5.0.1:
2688 | version "5.0.1"
2689 | resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d"
2690 | integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==
2691 | dependencies:
2692 | xmlchars "^2.2.0"
2693 |
2694 | secp256k1@^4.0.2:
2695 | version "4.0.3"
2696 | resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303"
2697 | integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==
2698 | dependencies:
2699 | elliptic "^6.5.4"
2700 | node-addon-api "^2.0.0"
2701 | node-gyp-build "^4.2.0"
2702 |
2703 | semver@7.x, semver@^7.3.2:
2704 | version "7.3.7"
2705 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f"
2706 | integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==
2707 | dependencies:
2708 | lru-cache "^6.0.0"
2709 |
2710 | semver@^6.0.0, semver@^6.3.0:
2711 | version "6.3.0"
2712 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
2713 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
2714 |
2715 | shebang-command@^2.0.0:
2716 | version "2.0.0"
2717 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
2718 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
2719 | dependencies:
2720 | shebang-regex "^3.0.0"
2721 |
2722 | shebang-regex@^3.0.0:
2723 | version "3.0.0"
2724 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
2725 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
2726 |
2727 | signal-exit@^3.0.2, signal-exit@^3.0.3:
2728 | version "3.0.7"
2729 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
2730 | integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
2731 |
2732 | sinon-chai@^3.7.0:
2733 | version "3.7.0"
2734 | resolved "https://registry.yarnpkg.com/sinon-chai/-/sinon-chai-3.7.0.tgz#cfb7dec1c50990ed18c153f1840721cf13139783"
2735 | integrity sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g==
2736 |
2737 | sisteransi@^1.0.5:
2738 | version "1.0.5"
2739 | resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed"
2740 | integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==
2741 |
2742 | slash@^3.0.0:
2743 | version "3.0.0"
2744 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
2745 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
2746 |
2747 | snake-case@^3.0.4:
2748 | version "3.0.4"
2749 | resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c"
2750 | integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==
2751 | dependencies:
2752 | dot-case "^3.0.4"
2753 | tslib "^2.0.3"
2754 |
2755 | source-map-support@^0.5.6:
2756 | version "0.5.21"
2757 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
2758 | integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
2759 | dependencies:
2760 | buffer-from "^1.0.0"
2761 | source-map "^0.6.0"
2762 |
2763 | source-map@^0.5.0:
2764 | version "0.5.7"
2765 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
2766 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
2767 |
2768 | source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
2769 | version "0.6.1"
2770 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
2771 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
2772 |
2773 | source-map@^0.7.3:
2774 | version "0.7.3"
2775 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
2776 | integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
2777 |
2778 | sprintf-js@~1.0.2:
2779 | version "1.0.3"
2780 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
2781 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
2782 |
2783 | stack-utils@^2.0.3:
2784 | version "2.0.5"
2785 | resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5"
2786 | integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==
2787 | dependencies:
2788 | escape-string-regexp "^2.0.0"
2789 |
2790 | string-length@^4.0.1:
2791 | version "4.0.2"
2792 | resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a"
2793 | integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==
2794 | dependencies:
2795 | char-regex "^1.0.2"
2796 | strip-ansi "^6.0.0"
2797 |
2798 | string-width@^4.1.0, string-width@^4.2.0:
2799 | version "4.2.3"
2800 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
2801 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
2802 | dependencies:
2803 | emoji-regex "^8.0.0"
2804 | is-fullwidth-code-point "^3.0.0"
2805 | strip-ansi "^6.0.1"
2806 |
2807 | strip-ansi@^6.0.0, strip-ansi@^6.0.1:
2808 | version "6.0.1"
2809 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
2810 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
2811 | dependencies:
2812 | ansi-regex "^5.0.1"
2813 |
2814 | strip-bom@^4.0.0:
2815 | version "4.0.0"
2816 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
2817 | integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==
2818 |
2819 | strip-final-newline@^2.0.0:
2820 | version "2.0.0"
2821 | resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
2822 | integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
2823 |
2824 | strip-json-comments@^3.1.1:
2825 | version "3.1.1"
2826 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
2827 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
2828 |
2829 | superstruct@^0.14.2:
2830 | version "0.14.2"
2831 | resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.14.2.tgz#0dbcdf3d83676588828f1cf5ed35cda02f59025b"
2832 | integrity sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ==
2833 |
2834 | supports-color@^5.3.0:
2835 | version "5.5.0"
2836 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
2837 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
2838 | dependencies:
2839 | has-flag "^3.0.0"
2840 |
2841 | supports-color@^7.0.0, supports-color@^7.1.0:
2842 | version "7.2.0"
2843 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
2844 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
2845 | dependencies:
2846 | has-flag "^4.0.0"
2847 |
2848 | supports-color@^8.0.0:
2849 | version "8.1.1"
2850 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
2851 | integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
2852 | dependencies:
2853 | has-flag "^4.0.0"
2854 |
2855 | supports-hyperlinks@^2.0.0:
2856 | version "2.2.0"
2857 | resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb"
2858 | integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==
2859 | dependencies:
2860 | has-flag "^4.0.0"
2861 | supports-color "^7.0.0"
2862 |
2863 | supports-preserve-symlinks-flag@^1.0.0:
2864 | version "1.0.0"
2865 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
2866 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
2867 |
2868 | symbol-tree@^3.2.4:
2869 | version "3.2.4"
2870 | resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
2871 | integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
2872 |
2873 | terminal-link@^2.0.0:
2874 | version "2.1.1"
2875 | resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994"
2876 | integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==
2877 | dependencies:
2878 | ansi-escapes "^4.2.1"
2879 | supports-hyperlinks "^2.0.0"
2880 |
2881 | test-exclude@^6.0.0:
2882 | version "6.0.0"
2883 | resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e"
2884 | integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==
2885 | dependencies:
2886 | "@istanbuljs/schema" "^0.1.2"
2887 | glob "^7.1.4"
2888 | minimatch "^3.0.4"
2889 |
2890 | text-encoding-utf-8@^1.0.2:
2891 | version "1.0.2"
2892 | resolved "https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13"
2893 | integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==
2894 |
2895 | throat@^6.0.1:
2896 | version "6.0.1"
2897 | resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375"
2898 | integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==
2899 |
2900 | "through@>=2.2.7 <3":
2901 | version "2.3.8"
2902 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
2903 | integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
2904 |
2905 | tmpl@1.0.5:
2906 | version "1.0.5"
2907 | resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc"
2908 | integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==
2909 |
2910 | to-fast-properties@^2.0.0:
2911 | version "2.0.0"
2912 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
2913 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
2914 |
2915 | to-regex-range@^5.0.1:
2916 | version "5.0.1"
2917 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
2918 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
2919 | dependencies:
2920 | is-number "^7.0.0"
2921 |
2922 | toml@^3.0.0:
2923 | version "3.0.0"
2924 | resolved "https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee"
2925 | integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==
2926 |
2927 | tough-cookie@^4.0.0:
2928 | version "4.0.0"
2929 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4"
2930 | integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==
2931 | dependencies:
2932 | psl "^1.1.33"
2933 | punycode "^2.1.1"
2934 | universalify "^0.1.2"
2935 |
2936 | tr46@^2.1.0:
2937 | version "2.1.0"
2938 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240"
2939 | integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==
2940 | dependencies:
2941 | punycode "^2.1.1"
2942 |
2943 | tr46@~0.0.3:
2944 | version "0.0.3"
2945 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
2946 | integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=
2947 |
2948 | ts-jest@^27.1.3:
2949 | version "27.1.4"
2950 | resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-27.1.4.tgz#84d42cf0f4e7157a52e7c64b1492c46330943e00"
2951 | integrity sha512-qjkZlVPWVctAezwsOD1OPzbZ+k7zA5z3oxII4dGdZo5ggX/PL7kvwTM0pXTr10fAtbiVpJaL3bWd502zAhpgSQ==
2952 | dependencies:
2953 | bs-logger "0.x"
2954 | fast-json-stable-stringify "2.x"
2955 | jest-util "^27.0.0"
2956 | json5 "2.x"
2957 | lodash.memoize "4.x"
2958 | make-error "1.x"
2959 | semver "7.x"
2960 | yargs-parser "20.x"
2961 |
2962 | ts-node@^10.5.0:
2963 | version "10.7.0"
2964 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.7.0.tgz#35d503d0fab3e2baa672a0e94f4b40653c2463f5"
2965 | integrity sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==
2966 | dependencies:
2967 | "@cspotcode/source-map-support" "0.7.0"
2968 | "@tsconfig/node10" "^1.0.7"
2969 | "@tsconfig/node12" "^1.0.7"
2970 | "@tsconfig/node14" "^1.0.0"
2971 | "@tsconfig/node16" "^1.0.2"
2972 | acorn "^8.4.1"
2973 | acorn-walk "^8.1.1"
2974 | arg "^4.1.0"
2975 | create-require "^1.1.0"
2976 | diff "^4.0.1"
2977 | make-error "^1.1.1"
2978 | v8-compile-cache-lib "^3.0.0"
2979 | yn "3.1.1"
2980 |
2981 | tslib@^2.0.3:
2982 | version "2.3.1"
2983 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01"
2984 | integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==
2985 |
2986 | tweetnacl@^1.0.0:
2987 | version "1.0.3"
2988 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596"
2989 | integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==
2990 |
2991 | type-check@~0.3.2:
2992 | version "0.3.2"
2993 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
2994 | integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=
2995 | dependencies:
2996 | prelude-ls "~1.1.2"
2997 |
2998 | type-detect@4.0.8:
2999 | version "4.0.8"
3000 | resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
3001 | integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
3002 |
3003 | type-fest@^0.21.3:
3004 | version "0.21.3"
3005 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
3006 | integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
3007 |
3008 | typedarray-to-buffer@^3.1.5:
3009 | version "3.1.5"
3010 | resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
3011 | integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==
3012 | dependencies:
3013 | is-typedarray "^1.0.0"
3014 |
3015 | typescript@^4.5.5:
3016 | version "4.6.3"
3017 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c"
3018 | integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==
3019 |
3020 | universalify@^0.1.2:
3021 | version "0.1.2"
3022 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
3023 | integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
3024 |
3025 | utf-8-validate@^5.0.2:
3026 | version "5.0.9"
3027 | resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.9.tgz#ba16a822fbeedff1a58918f2a6a6b36387493ea3"
3028 | integrity sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q==
3029 | dependencies:
3030 | node-gyp-build "^4.3.0"
3031 |
3032 | uuid@^8.3.0, uuid@^8.3.2:
3033 | version "8.3.2"
3034 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
3035 | integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
3036 |
3037 | v8-compile-cache-lib@^3.0.0:
3038 | version "3.0.1"
3039 | resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"
3040 | integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
3041 |
3042 | v8-to-istanbul@^8.1.0:
3043 | version "8.1.1"
3044 | resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz#77b752fd3975e31bbcef938f85e9bd1c7a8d60ed"
3045 | integrity sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==
3046 | dependencies:
3047 | "@types/istanbul-lib-coverage" "^2.0.1"
3048 | convert-source-map "^1.6.0"
3049 | source-map "^0.7.3"
3050 |
3051 | w3c-hr-time@^1.0.2:
3052 | version "1.0.2"
3053 | resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd"
3054 | integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==
3055 | dependencies:
3056 | browser-process-hrtime "^1.0.0"
3057 |
3058 | w3c-xmlserializer@^2.0.0:
3059 | version "2.0.0"
3060 | resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a"
3061 | integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==
3062 | dependencies:
3063 | xml-name-validator "^3.0.0"
3064 |
3065 | walker@^1.0.7:
3066 | version "1.0.8"
3067 | resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f"
3068 | integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==
3069 | dependencies:
3070 | makeerror "1.0.12"
3071 |
3072 | webidl-conversions@^3.0.0:
3073 | version "3.0.1"
3074 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
3075 | integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=
3076 |
3077 | webidl-conversions@^5.0.0:
3078 | version "5.0.0"
3079 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff"
3080 | integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==
3081 |
3082 | webidl-conversions@^6.1.0:
3083 | version "6.1.0"
3084 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514"
3085 | integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==
3086 |
3087 | whatwg-encoding@^1.0.5:
3088 | version "1.0.5"
3089 | resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0"
3090 | integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==
3091 | dependencies:
3092 | iconv-lite "0.4.24"
3093 |
3094 | whatwg-mimetype@^2.3.0:
3095 | version "2.3.0"
3096 | resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf"
3097 | integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==
3098 |
3099 | whatwg-url@^5.0.0:
3100 | version "5.0.0"
3101 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
3102 | integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0=
3103 | dependencies:
3104 | tr46 "~0.0.3"
3105 | webidl-conversions "^3.0.0"
3106 |
3107 | whatwg-url@^8.0.0, whatwg-url@^8.5.0:
3108 | version "8.7.0"
3109 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77"
3110 | integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==
3111 | dependencies:
3112 | lodash "^4.7.0"
3113 | tr46 "^2.1.0"
3114 | webidl-conversions "^6.1.0"
3115 |
3116 | which@^2.0.1:
3117 | version "2.0.2"
3118 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
3119 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
3120 | dependencies:
3121 | isexe "^2.0.0"
3122 |
3123 | word-wrap@~1.2.3:
3124 | version "1.2.3"
3125 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
3126 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
3127 |
3128 | wrap-ansi@^7.0.0:
3129 | version "7.0.0"
3130 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
3131 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
3132 | dependencies:
3133 | ansi-styles "^4.0.0"
3134 | string-width "^4.1.0"
3135 | strip-ansi "^6.0.0"
3136 |
3137 | wrappy@1:
3138 | version "1.0.2"
3139 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
3140 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
3141 |
3142 | write-file-atomic@^3.0.0:
3143 | version "3.0.3"
3144 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8"
3145 | integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==
3146 | dependencies:
3147 | imurmurhash "^0.1.4"
3148 | is-typedarray "^1.0.0"
3149 | signal-exit "^3.0.2"
3150 | typedarray-to-buffer "^3.1.5"
3151 |
3152 | ws@^7.4.5, ws@^7.4.6:
3153 | version "7.5.7"
3154 | resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67"
3155 | integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==
3156 |
3157 | xml-name-validator@^3.0.0:
3158 | version "3.0.0"
3159 | resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
3160 | integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==
3161 |
3162 | xmlchars@^2.2.0:
3163 | version "2.2.0"
3164 | resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
3165 | integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==
3166 |
3167 | y18n@^5.0.5:
3168 | version "5.0.8"
3169 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
3170 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
3171 |
3172 | yallist@^4.0.0:
3173 | version "4.0.0"
3174 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
3175 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
3176 |
3177 | yargs-parser@20.x, yargs-parser@^20.2.2:
3178 | version "20.2.9"
3179 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
3180 | integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
3181 |
3182 | yargs@^16.2.0:
3183 | version "16.2.0"
3184 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"
3185 | integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
3186 | dependencies:
3187 | cliui "^7.0.2"
3188 | escalade "^3.1.1"
3189 | get-caller-file "^2.0.5"
3190 | require-directory "^2.1.1"
3191 | string-width "^4.2.0"
3192 | y18n "^5.0.5"
3193 | yargs-parser "^20.2.2"
3194 |
3195 | yn@3.1.1:
3196 | version "3.1.1"
3197 | resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
3198 | integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
3199 |
--------------------------------------------------------------------------------