- commit
- f39f940
- parent
- f39f940
- author
- Eric Bower
- date
- 2021-07-19 02:08:58 +0000 UTC
init
+20,
-0
1@@ -0,0 +1,20 @@
2+module.exports = {
3+ root: true,
4+ parser: '@typescript-eslint/parser',
5+ extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier'],
6+ plugins: ['svelte3', '@typescript-eslint'],
7+ ignorePatterns: ['*.cjs'],
8+ overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }],
9+ settings: {
10+ 'svelte3/typescript': () => require('typescript')
11+ },
12+ parserOptions: {
13+ sourceType: 'module',
14+ ecmaVersion: 2019
15+ },
16+ env: {
17+ browser: true,
18+ es2017: true,
19+ node: true
20+ }
21+};
+10,
-0
1@@ -0,0 +1,10 @@
2+.DS_Store
3+node_modules
4+/.svelte-kit
5+/package
6+.envrc
7+.eslintcache
8+build
9+src/lib/db.json
10+src/lib/markdown.json
11+src/lib/html.json
+1,
-0
1@@ -0,0 +1 @@
2+_
+4,
-0
1@@ -0,0 +1,4 @@
2+#!/bin/sh
3+. "$(dirname "$0")/_/husky.sh"
4+
5+npx lint-staged
A
.npmrc
+1,
-0
1@@ -0,0 +1 @@
2+engine-strict=true
+4,
-0
1@@ -0,0 +1,4 @@
2+.svelte-kit/**
3+static/**
4+build/**
5+node_modules/**
+6,
-0
1@@ -0,0 +1,6 @@
2+{
3+ "singleQuote": true,
4+ "trailingComma": 'all',
5+ "arrowParens": 'always',
6+ "printWidth": 100
7+}
A
LICENSE
+21,
-0
1@@ -0,0 +1,21 @@
2+MIT License
3+
4+Copyright (c) 2021 Eric Bower
5+
6+Permission is hereby granted, free of charge, to any person obtaining a copy
7+of this software and associated documentation files (the "Software"), to deal
8+in the Software without restriction, including without limitation the rights
9+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+copies of the Software, and to permit persons to whom the Software is
11+furnished to do so, subject to the following conditions:
12+
13+The above copyright notice and this permission notice shall be included in all
14+copies or substantial portions of the Software.
15+
16+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22+SOFTWARE.
+46,
-0
1@@ -0,0 +1,46 @@
2+# neovim-awesome
3+
4+A site dedicated to finding the best neovim plugins.
5+
6+## Developing
7+
8+You need to add a couple environment variables related to using the github api:
9+
10+```
11+export GITHUB_ACCESS_TOKEN='xxx'
12+export GITHUB_USERNAME='my-user'
13+```
14+
15+To run the scraper
16+
17+```bash
18+yarn process
19+```
20+
21+To convert markdown files to html
22+
23+```bash
24+yarn transform
25+```
26+
27+Once you've created a project and installed dependencies with `yarn`, start a development server:
28+
29+```bash
30+yarn dev
31+```
32+
33+## Building
34+
35+Before creating a production version of your app, install an [adapter](https://kit.svelte.dev/docs#adapters) for your target environment. Then:
36+
37+```bash
38+yarn build
39+```
40+
41+> You can preview the built app with `yarn preview`, regardless of whether you installed an adapter. This should _not_ be used to serve your app in production.
42+
43+## Deploy
44+
45+```bash
46+yarn deploy
47+```
+52,
-0
1@@ -0,0 +1,52 @@
2+{
3+ "name": "neovim-awesome",
4+ "version": "0.0.0",
5+ "scripts": {
6+ "dev": "svelte-kit dev --host 0.0.0.0",
7+ "build:clean": "rm -rf build",
8+ "build": "svelte-kit build",
9+ "preview": "svelte-kit preview --host 0.0.0.0",
10+ "check": "svelte-check --tsconfig ./tsconfig.json",
11+ "check:watch": "svelte-check --tsconfig ./tsconfig.json --watch",
12+ "lint": "prettier --check --plugin-search-dir=. . && eslint --ignore-path .gitignore .",
13+ "format": "prettier --write --plugin-search-dir=. .",
14+ "prepare": "husky install",
15+ "process": "node --loader ts-node/esm src/process.ts",
16+ "transform": "node --loader ts-node/esm src/transform.ts",
17+ "upload:clean": "gsutil -m rm -r gs://neovim.erock.io/*",
18+ "upload": "gsutil -m -h 'Cache-Control:private, max-age=0, no-transform' rsync -r ./build gs://neovim.erock.io",
19+ "deploy": "yarn build:clean && yarn build && yarn upload:clean && yarn upload"
20+ },
21+ "devDependencies": {
22+ "@sveltejs/adapter-static": "^1.0.0-next.13",
23+ "@sveltejs/kit": "next",
24+ "@types/marked": "^2.0.4",
25+ "@types/node": "^16.3.3",
26+ "@types/node-fetch": "^2.5.11",
27+ "@typescript-eslint/eslint-plugin": "^4.19.0",
28+ "@typescript-eslint/parser": "^4.19.0",
29+ "eslint": "^7.22.0",
30+ "eslint-config-prettier": "^8.1.0",
31+ "eslint-plugin-svelte3": "^3.2.0",
32+ "husky": ">=6",
33+ "just-throttle": "^2.3.1",
34+ "lint-staged": ">=10",
35+ "marked": "^2.1.3",
36+ "node-fetch": "^2.6.1",
37+ "prettier": "~2.2.1",
38+ "prettier-plugin-svelte": "^2.2.0",
39+ "query-string": "^7.0.1",
40+ "svelte": "^3.34.0",
41+ "svelte-check": "^2.0.0",
42+ "svelte-preprocess": "^4.0.0",
43+ "ts-node": "^10.0.0",
44+ "tslib": "^2.0.0",
45+ "typescript": "^4.0.0"
46+ },
47+ "type": "module",
48+ "lint-staged": {
49+ "*.js": "eslint --cache --fix",
50+ "*.{js,css,md}": "prettier --write"
51+ },
52+ "dependencies": {}
53+}
+14,
-0
1@@ -0,0 +1,14 @@
2+<!DOCTYPE html>
3+<html lang="en" data-theme="theme-dark">
4+ <head>
5+ <title>404 - not found</title>
6+ <meta charset="utf-8" />
7+ <link rel="icon" href="/favicon.ico" />
8+ <meta name="viewport" content="width=device-width, initial-scale=1" />
9+ <link rel="stylesheet" type="text/css" href="/main.css" />
10+ %svelte.head%
11+ </head>
12+ <body>
13+ <div>404 - not found</div>
14+ </body>
15+</html>
+13,
-0
1@@ -0,0 +1,13 @@
2+<!DOCTYPE html>
3+<html lang="en" data-theme="theme-dark">
4+ <head>
5+ <meta charset="utf-8" />
6+ <link rel="icon" href="/favicon.ico" />
7+ <meta name="viewport" content="width=device-width, initial-scale=1" />
8+ <link rel="stylesheet" type="text/css" href="/main.css" />
9+ %svelte.head%
10+ </head>
11+ <body>
12+ <div id="svelte">%svelte.body%</div>
13+ </body>
14+</html>
+1,
-0
1@@ -0,0 +1 @@
2+/// <reference types="@sveltejs/kit" />
+14,
-0
1@@ -0,0 +1,14 @@
2+<script lang="ts">
3+ type Icon = 'github' | 'alert-circle' | 'git-branch' | 'star' | 'x-circle' | 'users' | 'search';
4+ export let icon: Icon;
5+</script>
6+
7+<img class="icon" src="/{icon}.svg" alt={icon} />
8+
9+<style>
10+ .icon {
11+ width: 24px;
12+ height: 24px;
13+ margin-right: 5px;
14+ }
15+</style>
+23,
-0
1@@ -0,0 +1,23 @@
2+import type { Tag, Plugin, PluginMap, TagMap } from './types';
3+
4+function getTagsDb(plist: Plugin[]): TagMap {
5+ const tagsDb: TagMap = {};
6+ plist.forEach((plugin) => {
7+ plugin.tags.forEach((tag) => {
8+ if (!tagsDb[tag]) {
9+ tagsDb[tag] = { id: tag, count: 0 };
10+ }
11+ tagsDb[tag].count += 1;
12+ });
13+ });
14+ return tagsDb;
15+}
16+
17+export function derivePluginData(
18+ pluginDb: PluginMap,
19+): { plugins: Plugin[]; tags: Tag[]; tagDb: TagMap } {
20+ const plugins = Object.values(pluginDb).sort((a, b) => b.stars - a.stars);
21+ const tagDb = getTagsDb(plugins);
22+ const tags = Object.values(tagDb).sort((a, b) => b.count - a.count);
23+ return { plugins, tags, tagDb };
24+}
+86,
-0
1@@ -0,0 +1,86 @@
2+<script lang="ts">
3+ import qs from 'query-string';
4+ import { goto } from '$app/navigation';
5+
6+ import type { Plugin, Tag } from './types';
7+ import TagView from './tag.svelte';
8+ import Icon from './icon.svelte';
9+ import Tooltip from '$lib/tooltip.svelte';
10+
11+ export let plugin: Plugin;
12+ export let tags: Tag[];
13+ export let html: string = '<div>readme not found</div>';
14+
15+ function onSearch(curSearch: string) {
16+ const query = qs.parseUrl(window.location.search);
17+ const s = encodeURIComponent(curSearch);
18+ query.query.search = s;
19+ goto(`/${qs.stringifyUrl(query)}`);
20+ }
21+</script>
22+
23+<div class="meta">
24+ <div class="tags_view">
25+ {#each tags as tag}
26+ <TagView {tag} {onSearch} />
27+ {/each}
28+ </div>
29+ <div class="metrics">
30+ <Tooltip tip="stars" bottom>
31+ <div class="metric"><Icon icon="star" /> <span>{plugin.stars}</span></div>
32+ </Tooltip>
33+ <Tooltip tip="open issues" bottom>
34+ <div class="metric"><Icon icon="alert-circle" /> <span>{plugin.openIssues}</span></div>
35+ </Tooltip>
36+ <Tooltip tip="subscribers" bottom>
37+ <div class="metric"><Icon icon="users" /> <span>{plugin.subscribers}</span></div>
38+ </Tooltip>
39+ <Tooltip tip="forks" bottom>
40+ <div class="metric"><Icon icon="git-branch" /> <span>{plugin.forks}</span></div>
41+ </Tooltip>
42+ </div>
43+ <div class="install">
44+ <h3>packer</h3>
45+ <pre><code>require('packer').startup(function()
46+ use '{plugin.id}'
47+end)</code></pre>
48+ </div>
49+ <div class="install">
50+ <h3>paq</h3>
51+ <pre><code>require "paq" {
52+ '{plugin.id}'
53+}</code></pre>
54+ </div>
55+ <hr />
56+</div>
57+{@html html}
58+
59+<style>
60+ :global(img) {
61+ max-width: 100%;
62+ height: auto;
63+ }
64+
65+ .meta {
66+ margin-bottom: 20px;
67+ }
68+
69+ .metrics {
70+ display: flex;
71+ justify-content: space-between;
72+ }
73+
74+ .metric {
75+ display: flex;
76+ align-items: center;
77+ cursor: pointer;
78+ }
79+
80+ .tags_view {
81+ margin-bottom: 10px;
82+ }
83+
84+ .install {
85+ margin-top: 10px;
86+ }
87+</style>
+36,
-0
1@@ -0,0 +1,36 @@
2+<script lang="ts">
3+ import type { Tag } from './types';
4+
5+ function findColor(tag: Tag) {
6+ if (tag.count === 1) return 'pink';
7+ if (tag.count > 1 && tag.count <= 3) return 'yellow';
8+ if (tag.count > 3 && tag.count <= 10) return 'orange';
9+ if (tag.count > 10 && tag.count <= 15) return 'green';
10+ return 'purple';
11+ }
12+
13+ export let tag: Tag;
14+ export let onSearch: (t: string) => any = (_: string) => {};
15+</script>
16+
17+<span class="tag {findColor(tag)}" on:click={() => onSearch(`tag:${tag.id}`)}>
18+ {tag.id} x {tag.count}
19+</span>
20+
21+<style>
22+ .tag {
23+ padding: 5px;
24+ margin: 5px 5px 5px 0;
25+ border: 1px solid black;
26+ white-space: pre-wrap;
27+ word-break: break-word;
28+ display: inline-block;
29+ cursor: pointer;
30+ color: var(--primary-color);
31+ font-size: 0.8rem;
32+ }
33+
34+ .tag:hover {
35+ background-color: var(--highlight-color);
36+ }
37+</style>
+83,
-0
1@@ -0,0 +1,83 @@
2+<script>
3+ export let tip = '';
4+ export let top = false;
5+ export let right = false;
6+ export let bottom = false;
7+ export let left = false;
8+ export let active = false;
9+ export let color = '#757575';
10+
11+ let style = `background-color: ${color};`;
12+</script>
13+
14+<div class="tooltip-wrapper">
15+ <span class="tooltip-slot">
16+ <slot />
17+ </span>
18+ <div class="tooltip" class:active class:left class:right class:bottom class:top>
19+ {#if tip}
20+ <div class="default-tip" {style}>{tip}</div>
21+ {:else}
22+ <slot name="custom-tip" />
23+ {/if}
24+ </div>
25+</div>
26+
27+<style>
28+ .tooltip-wrapper {
29+ position: relative;
30+ display: inline-block;
31+ }
32+ .tooltip {
33+ position: absolute;
34+ font-family: inherit;
35+ display: inline-block;
36+ white-space: nowrap;
37+ color: inherit;
38+ opacity: 0;
39+ visibility: hidden;
40+ transition: opacity 150ms, visibility 150ms;
41+ }
42+
43+ .default-tip {
44+ display: inline-block;
45+ padding: 8px 16px;
46+ border-radius: 6px;
47+ color: inherit;
48+ }
49+
50+ .tooltip.top {
51+ left: 50%;
52+ transform: translate(-50%, -100%);
53+ margin-top: -8px;
54+ }
55+
56+ .tooltip.bottom {
57+ left: 50%;
58+ bottom: 0;
59+ transform: translate(-50%, 100%);
60+ margin-bottom: -8px;
61+ }
62+
63+ .tooltip.left {
64+ left: 0;
65+ transform: translateX(-100%);
66+ margin-left: -8px;
67+ }
68+
69+ .tooltip.right {
70+ right: 0;
71+ transform: translateX(100%);
72+ margin-right: -8px;
73+ }
74+
75+ .tooltip.active {
76+ opacity: 1;
77+ visibility: initial;
78+ }
79+
80+ .tooltip-slot:hover + .tooltip {
81+ opacity: 1;
82+ visibility: initial;
83+ }
84+</style>
+26,
-0
1@@ -0,0 +1,26 @@
2+export interface Plugin {
3+ id: string;
4+ name: string;
5+ username: string;
6+ repo: string;
7+ link: string;
8+ tags: string[];
9+ homepage: string;
10+ branch: string;
11+ openIssues: number;
12+ watchers: number;
13+ forks: number;
14+ stars: number;
15+ subscribers: number;
16+ network: number;
17+ description: string;
18+}
19+
20+export type PluginMap = { [key: string]: Plugin };
21+
22+export interface Tag {
23+ id: string;
24+ count: number;
25+}
26+
27+export type TagMap = { [key: string]: Tag };
+195,
-0
1@@ -0,0 +1,195 @@
2+import fetch from 'node-fetch';
3+import marked from 'marked';
4+import fs from 'fs';
5+import util from 'util';
6+
7+import type { Plugin } from './lib/types';
8+
9+const writeFile = util.promisify(fs.writeFile);
10+const accessToken = process.env.GITHUB_ACCESS_TOKEN || '';
11+const accessUsername = process.env.GITHUB_USERNAME || '';
12+
13+interface Props {
14+ username: string;
15+ repo: string;
16+ branch: string;
17+}
18+
19+async function fetchReadme({ username, repo, branch }: Props): Promise<Resp<string>> {
20+ const url = `https://raw.githubusercontent.com/${username}/${repo}/${branch}/README.md`;
21+ console.log(`Fetching ${url}`);
22+ const res = await fetch(url);
23+ if (res.ok) {
24+ const data = await res.text();
25+ return { ok: true, data };
26+ }
27+
28+ return {
29+ ok: false,
30+ data: {
31+ status: res.status,
32+ error: new Error(`Could not load ${url}`),
33+ },
34+ };
35+}
36+
37+async function fetchRepo({ username, repo }: Props): Promise<Resp<{ [key: string]: any }>> {
38+ const url = `https://api.github.com/repos/${username}/${repo}`;
39+ console.log(`Fetching ${url}`);
40+ const token = Buffer.from(`${accessUsername}:${accessToken}`).toString('base64');
41+ const res = await fetch(url, {
42+ headers: { Authorization: `Basic ${token}` },
43+ });
44+ const data = await res.json();
45+ if (res.ok) {
46+ return {
47+ ok: true,
48+ data,
49+ };
50+ }
51+
52+ return {
53+ ok: false,
54+ data: {
55+ status: res.status,
56+ error: new Error(`Could not load ${url}`),
57+ },
58+ };
59+}
60+
61+interface ApiSuccess<D = any> {
62+ ok: true;
63+ data: D;
64+}
65+
66+interface ApiFailure {
67+ ok: false;
68+ data: { status: number; error: Error };
69+}
70+
71+type Resp<D> = ApiSuccess<D> | ApiFailure;
72+
73+async function fetchGithubData(props: Props): Promise<Resp<any>> {
74+ const repo = await fetchRepo(props);
75+ if (!repo.ok) return repo;
76+
77+ const readme = await fetchReadme({
78+ username: props.username,
79+ repo: props.repo,
80+ branch: repo.data.default_branch,
81+ });
82+ if (!readme.ok) return readme;
83+
84+ return {
85+ ok: true,
86+ data: {
87+ readme: readme.data,
88+ repo: repo.data,
89+ },
90+ };
91+}
92+
93+async function fetchMarkdown() {
94+ const response = await fetch(
95+ 'https://raw.githubusercontent.com/rockerBOO/awesome-neovim/main/README.md',
96+ );
97+ const text = await response.text();
98+ return text;
99+}
100+
101+const createPlugin = (p: Partial<Plugin> = {}): Plugin => {
102+ return {
103+ id: '',
104+ name: '',
105+ username: '',
106+ repo: '',
107+ link: '',
108+ tags: [],
109+ homepage: '',
110+ description: '',
111+ branch: 'main',
112+ openIssues: 0,
113+ watchers: 0,
114+ forks: 0,
115+ stars: 0,
116+ subscribers: 0,
117+ network: 0,
118+ ...p,
119+ };
120+};
121+
122+function sanitizeTag(tag: string) {
123+ if (tag === '(requires neovim 0.5)') return 'neovim-0.5';
124+ if (tag === 'treesitter supported colorschemes') return 'treesitter-colorschemes';
125+ return tag.toLocaleLowerCase().replace(/\s/g, '-');
126+}
127+
128+async function processMarkdown(text: string) {
129+ const data: Plugin[] = [];
130+ const tree = marked.lexer(text);
131+ let heading = '';
132+ tree.forEach((token) => {
133+ if (token.type === 'heading') {
134+ heading = token.text.toLocaleLowerCase();
135+ }
136+
137+ if (token.type === 'list') {
138+ token.items.forEach((t) => {
139+ (t as any).tokens.forEach((tt: any) => {
140+ if (!tt.tokens) return;
141+ if (heading === 'contents') return;
142+ const plugin = createPlugin({ tags: [sanitizeTag(heading)] });
143+ tt.tokens.forEach((a: any) => {
144+ if (a.type === 'link') {
145+ plugin.link = a.href;
146+ const href = a.href
147+ .replace('https://github.com/', '')
148+ .replace('http://github.com', '');
149+ const d = href.split('/');
150+ plugin.username = d[0];
151+ plugin.repo = d[1];
152+ plugin.id = `${d[0]}/${d[1]}`;
153+ }
154+ });
155+ if (!plugin.link.includes('github.com')) return;
156+ data.push(plugin);
157+ });
158+ });
159+ }
160+ });
161+
162+ const plugins: { [key: string]: Plugin } = {};
163+ const markdown: { [key: string]: string } = {};
164+ for (let i = 0; i < data.length; i += 1) {
165+ const d = data[i];
166+ const result = await fetchGithubData(d);
167+ if (result.ok) {
168+ const resp = result.data;
169+ const id = `${d.username}/${d.repo}`;
170+
171+ markdown[id] = resp.readme;
172+ plugins[id] = createPlugin({
173+ id,
174+ username: d.username,
175+ repo: d.repo,
176+ name: d.name,
177+ link: d.link,
178+ tags: d.tags,
179+ homepage: resp.repo.homepage,
180+ branch: resp.repo.default_branch,
181+ openIssues: resp.repo.open_issues_count,
182+ watchers: resp.repo.watchers_count,
183+ forks: resp.repo.forks,
184+ stars: resp.repo.stargazers_count,
185+ subscribers: resp.repo.subscribers_count,
186+ network: resp.repo.network_count,
187+ description: resp.repo.description,
188+ });
189+ }
190+ }
191+
192+ await writeFile('./src/lib/db.json', JSON.stringify({ plugins }));
193+ await writeFile('./src/lib/markdown.json', JSON.stringify({ markdown }));
194+}
195+
196+fetchMarkdown().then(processMarkdown).catch(console.error);
+281,
-0
1@@ -0,0 +1,281 @@
2+<script context="module" lang="ts">
3+ export const prerender = true;
4+
5+ import { derivePluginData } from '$lib/plugin-data';
6+ import * as db from '$lib/db.json';
7+
8+ export async function load() {
9+ const pluginDb = db.plugins as any;
10+ const { plugins, tags } = derivePluginData(pluginDb);
11+
12+ return {
13+ props: {
14+ plugins,
15+ tags,
16+ },
17+ };
18+ }
19+</script>
20+
21+<script lang="ts">
22+ import qs from 'query-string';
23+ import { goto } from '$app/navigation';
24+ import { page } from '$app/stores';
25+ import type { Plugin, Tag } from '$lib/types';
26+ import TagView from '$lib/tag.svelte';
27+ import Icon from '$lib/icon.svelte';
28+ import Tooltip from '$lib/tooltip.svelte';
29+
30+ let timer: NodeJS.Timeout;
31+ const debounce = (fn: (v: string) => any) => {
32+ return (event: any) => {
33+ clearTimeout(timer);
34+ timer = setTimeout(() => {
35+ fn(event.target.value);
36+ }, 250);
37+ };
38+ };
39+
40+ function onSearch(curSearch: string) {
41+ if (curSearch) {
42+ const query = qs.parseUrl(window.location.search);
43+ const s = encodeURIComponent(curSearch);
44+ query.query.search = s;
45+ goto(`/${qs.stringifyUrl(query)}`, {
46+ replaceState: true,
47+ noscroll: true,
48+ keepfocus: true,
49+ });
50+ } else {
51+ const query = qs.parseUrl(window.location.search);
52+ delete query.query.search;
53+ goto(`/${qs.stringifyUrl(query)}`, { replaceState: true, noscroll: true, keepfocus: true });
54+ }
55+ }
56+
57+ function clearSearch() {
58+ goto('/', {
59+ replaceState: true,
60+ noscroll: true,
61+ keepfocus: true,
62+ });
63+ document.getElementById('search').focus();
64+ }
65+
66+ function filterPlugins({ search, plugins }: { search: string; plugins: Plugin[] }): Plugin[] {
67+ if (!search) return plugins;
68+
69+ const onFilter = (plugin: Plugin) => {
70+ if (search.includes('tag:')) {
71+ const nextSearch = search.replace('tag:', '');
72+ return plugin.tags.some((tag) => tag === nextSearch);
73+ }
74+ return plugin.id.toLocaleLowerCase().includes(search);
75+ };
76+
77+ return plugins.filter(onFilter);
78+ }
79+
80+ let search = '';
81+ page.subscribe(({ query }) => {
82+ search = decodeURIComponent(query.get('search') || '');
83+ });
84+
85+ export let plugins: Plugin[] = [];
86+ export let tags: Tag[] = [];
87+ $: results = filterPlugins({ search, plugins });
88+</script>
89+
90+<div class="container">
91+ <div class="intro">
92+ <h1 id="logo">
93+ Neovim Awesome
94+ <a href="https://github.com/neurosnap/neovim-awesome" target="_blank">
95+ <Icon icon="github" />
96+ </a>
97+ </h1>
98+ </div>
99+
100+ <div class="search_view">
101+ <span class="search_icon"><Icon icon="search" /></span>
102+ <input
103+ id="search"
104+ on:keyup={debounce(onSearch)}
105+ value={search}
106+ placeholder="search to find a plugin"
107+ />
108+ {#if search}
109+ <span class="clear_search_icon" on:click={clearSearch}>
110+ <Icon icon="x-circle" />
111+ </span>
112+ {/if}
113+ </div>
114+
115+ <div class="tags_view">
116+ {#each tags as tag}
117+ <TagView {tag} {onSearch} />
118+ {/each}
119+ </div>
120+ <div class="plugins_view">
121+ <div class="plugins_list">
122+ {#each results as plugin}
123+ <div class="plugin">
124+ <div class="plugin_top">
125+ <h2 class="plugin_item_header">
126+ <a href="/plugin/{plugin.username}/{plugin.repo}">{plugin.repo}</a>
127+ </h2>
128+ <div class="plugin_metrics">
129+ <Tooltip tip="stars" bottom>
130+ <div class="metric"><Icon icon="star" /> <span>{plugin.stars}</span></div>
131+ </Tooltip>
132+ <Tooltip tip="open issues" bottom>
133+ <div class="metric">
134+ <Icon icon="alert-circle" /> <span>{plugin.openIssues}</span>
135+ </div>
136+ </Tooltip>
137+ </div>
138+ </div>
139+ <div class="plugin_desc">
140+ {plugin.description}
141+ </div>
142+ </div>
143+ {/each}
144+ </div>
145+ </div>
146+</div>
147+
148+<svelte:head>
149+ <title>Neovim Awesome - Plugin Search</title>
150+</svelte:head>
151+
152+<style>
153+ .search_view {
154+ grid-column: 2;
155+ grid-row: 1;
156+ position: relative;
157+ }
158+
159+ .search_icon {
160+ position: absolute;
161+ top: 15px;
162+ left: 0;
163+ }
164+
165+ .clear_search_icon {
166+ position: absolute;
167+ top: 15px;
168+ right: 0;
169+ cursor: pointer;
170+ }
171+
172+ #search {
173+ width: calc(100% - 60px);
174+ height: 47px;
175+ padding-left: 30px;
176+ padding-right: 30px;
177+ }
178+
179+ .container {
180+ height: 100vh;
181+ display: grid;
182+ grid-template-columns: minmax(250px, 400px) minmax(350px, 600px);
183+ grid-template-rows: 50px 1fr;
184+ column-gap: 10px;
185+ }
186+
187+ .intro {
188+ padding: 0 10px 0 10px;
189+ grid-column: 1;
190+ grid-row: 1;
191+ }
192+
193+ #logo {
194+ display: flex;
195+ align-items: center;
196+ }
197+
198+ #logo > a {
199+ margin-left: 15px;
200+ }
201+
202+ .tags_view {
203+ grid-column: 1;
204+ grid-row: 2;
205+ padding: 0 10px;
206+ height: calc(100vh - 50px);
207+ overflow-y: scroll;
208+ }
209+
210+ .plugin {
211+ display: flex;
212+ flex-direction: column;
213+ padding: 15px;
214+ height: 110px;
215+ border-bottom: 1px solid var(--primary-color);
216+ }
217+
218+ .plugin_top {
219+ display: flex;
220+ align-items: center;
221+ margin-bottom: 5px;
222+ }
223+
224+ .plugin_desc {
225+ margin-top: 5px;
226+ }
227+
228+ .plugin_item_header {
229+ flex: 1;
230+ display: flex;
231+ align-items: center;
232+ }
233+
234+ .plugin_metrics {
235+ width: 150px;
236+ min-width: 150px;
237+ display: flex;
238+ justify-content: space-between;
239+ }
240+
241+ .metric {
242+ display: flex;
243+ justify-content: center;
244+ align-items: center;
245+ cursor: pointer;
246+ }
247+
248+ .plugins_view {
249+ display: flex;
250+ align-items: center;
251+ flex-direction: column;
252+ grid-column: 2;
253+ grid-row: 2;
254+ height: calc(100vh - 50px);
255+ }
256+
257+ .plugins_list {
258+ width: 100%;
259+ overflow-y: auto;
260+ overflow-x: hidden;
261+ }
262+
263+ @media only screen and (max-width: 700px) {
264+ .container {
265+ grid-template-columns: 1fr;
266+ }
267+
268+ #logo,
269+ .tags_view {
270+ display: none;
271+ }
272+
273+ .search_view {
274+ grid-column: 1;
275+ padding: 0 10px;
276+ }
277+
278+ .plugins_view {
279+ grid-column: 1;
280+ }
281+ }
282+</style>
1@@ -0,0 +1,15 @@
2+import type { Plugin } from '$lib/types';
3+import * as db from '$lib/db.json';
4+import * as pluginHtml from '$lib/html.json';
5+import { derivePluginData } from '$lib/plugin-data';
6+
7+export async function get({ params }) {
8+ const { username, repo } = params;
9+ const id = `${username}/${repo}`;
10+ const plugin = db.plugins[id] as Plugin;
11+ const { tagDb } = derivePluginData(db.plugins);
12+ const html = pluginHtml.html[id];
13+ const tags = plugin.tags.map((t) => tagDb[t]).filter(Boolean);
14+
15+ return { body: { plugin, html, tags } };
16+}
1@@ -0,0 +1,82 @@
2+<script context="module" lang="ts">
3+ export const prerender = true;
4+
5+ import type { LoadInput } from '@sveltejs/kit';
6+
7+ export async function load({ page, fetch }: LoadInput) {
8+ const { username, repo } = page.params;
9+ const url = `/plugin/${username}/${repo}.json`;
10+ const res = await fetch(url);
11+
12+ if (res.ok) {
13+ return {
14+ props: await res.json(),
15+ };
16+ }
17+
18+ return {
19+ status: res.status,
20+ error: new Error(`Could not load ${url}`),
21+ };
22+ }
23+</script>
24+
25+<script lang="ts">
26+ import type { Plugin, Tag } from '$lib/types';
27+ import PluginView from '$lib/plugin.svelte';
28+ import Icon from '$lib/icon.svelte';
29+
30+ export let plugin: Plugin;
31+ export let tags: Tag[];
32+ export let html: string;
33+</script>
34+
35+<svelte:head>
36+ <title>
37+ {plugin.id}: {plugin.description}
38+ </title>
39+ <meta property="og:title" content={plugin.id} />
40+ <meta name="twitter:title" content={plugin.id} />
41+ <meta itemprop="name" content={plugin.id} />
42+
43+ <meta name="description" content="{plugin.id}: {plugin.description}" />
44+ <meta itemprop="description" content="{plugin.id}: {plugin.description}" />
45+ <meta property="og:description" content="{plugin.id}: {plugin.description}" />
46+ <meta name="twitter:description" content="{plugin.id}: {plugin.description}" />
47+</svelte:head>
48+
49+<div class="container">
50+ <div class="view">
51+ <div class="header">
52+ <h1>{plugin.id}</h1>
53+ {#if plugin.homepage}<a href={plugin.homepage} target="_blank">website</a>{/if}
54+ <a href={plugin.link} target="_blank"><Icon icon="github" /> <span>github</span></a>
55+ </div>
56+ <PluginView {plugin} {tags} {html} />
57+ </div>
58+</div>
59+
60+<style>
61+ .container {
62+ display: flex;
63+ justify-content: center;
64+ width: 100%;
65+ }
66+
67+ .view {
68+ max-width: 800px;
69+ width: 95%;
70+ padding: 0 10px 30px 10px;
71+ }
72+
73+ .header {
74+ display: flex;
75+ align-items: center;
76+ }
77+
78+ .header > a {
79+ margin-left: 15px;
80+ display: flex;
81+ align-items: center;
82+ }
83+</style>
+49,
-0
1@@ -0,0 +1,49 @@
2+import fs from 'fs';
3+import util from 'util';
4+import marked from 'marked';
5+
6+import type { Plugin } from './lib/types';
7+
8+const writeFile = util.promisify(fs.writeFile);
9+const readFile = util.promisify(fs.readFile);
10+
11+async function clean() {
12+ const file = await readFile('./src/lib/db.json', 'utf-8');
13+ const db = JSON.parse(file.toString());
14+ const markdownFile = await readFile('./src/lib/markdown.json', 'utf-8');
15+ const markdownDb = JSON.parse(markdownFile.toString());
16+
17+ const plugins = Object.values(db.plugins);
18+ const nextDb = {};
19+ plugins.forEach((plugin: Plugin) => {
20+ console.log(`processing ${plugin.id}`);
21+ marked.use({
22+ walkTokens: (token) => {
23+ const domain = 'https://github.com';
24+ const pre = `${domain}/${plugin.username}/${plugin.repo}/blob/${plugin.branch}`;
25+
26+ if (token.type === 'link' || token.type === 'image') {
27+ if (token.href && !token.href.startsWith('http') && !token.href.startsWith('#')) {
28+ token.href = `${pre}/${token.href.replace('./', ``)}`;
29+ }
30+ } else if (token.type === 'html') {
31+ token.text = '';
32+ // token.text = token.text.replace(/\.\//g, `${pre}/`);
33+ }
34+ },
35+ });
36+
37+ const markdown = markdownDb.markdown[plugin.id];
38+ if (!markdown) return;
39+ const html = marked(markdown);
40+ nextDb[plugin.id] = html;
41+ });
42+
43+ try {
44+ await writeFile('./src/lib/html.json', JSON.stringify({ html: nextDb }));
45+ } catch (err) {
46+ console.error(err);
47+ }
48+}
49+
50+clean().catch(console.error);
+1,
-0
1@@ -0,0 +1 @@
2+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#f2f2f2" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-alert-circle"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
+0,
-0
+1,
-0
1@@ -0,0 +1 @@
2+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#f2f2f2" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-git-branch"><line x1="6" y1="3" x2="6" y2="15"></line><circle cx="18" cy="6" r="3"></circle><circle cx="6" cy="18" r="3"></circle><path d="M18 9a9 9 0 0 1-9 9"></path></svg>
+1,
-0
1@@ -0,0 +1 @@
2+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#f2f2f2" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-github"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"></path></svg>
+91,
-0
1@@ -0,0 +1,91 @@
2+:root[data-theme='theme-light'] {
3+ --primary-color: #eee;
4+ --highlight-color: #0000ee;
5+ --highlight-secondary: #551a8b;
6+ --text-color: #080808;
7+ --bg-color: #ffffff;
8+}
9+
10+:root[data-theme='theme-dark'] {
11+ --primary-color: #414558;
12+ --highlight-color: #8be9fd;
13+ --highlight-secondary: #bd93f9;
14+ --text-color: #f2f2f2;
15+ --bg-color: #282a36;
16+ --yellow: #ffff80;
17+ --pink: #ff80bf;
18+ --orange: #ffca80;
19+ --green: #50fa7b;
20+}
21+
22+.green {
23+ background-color: var(--green);
24+}
25+
26+.yellow {
27+ background-color: var(--yellow);
28+}
29+
30+.pink {
31+ background-color: var(--pink);
32+}
33+
34+.orange {
35+ background-color: var(--orange);
36+}
37+
38+.purple {
39+ background-color: var(--highlight-secondary);
40+}
41+
42+body {
43+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif,
44+ 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
45+ background-color: var(--bg-color);
46+ color: var(--text-color);
47+ width: 100%;
48+ height: 100%;
49+ font-size: 16px;
50+ padding: 0;
51+ margin: 0;
52+ overflow-x: hidden;
53+}
54+
55+a {
56+ color: var(--highlight-color);
57+}
58+
59+a:visited {
60+ color: var(--highlight-secondary);
61+}
62+
63+h1,h2,h3,h4,h5,h6 {
64+ margin: 0;
65+ padding: 0;
66+}
67+
68+pre {
69+ padding: 15px;
70+ background-color: var(--primary-color);
71+ border-radius: 3px;
72+ overflow-x: auto;
73+}
74+
75+code {
76+ background-color: var(--primary-color);
77+}
78+
79+input {
80+ border: 0;
81+ outline: none !important;
82+ background-color: var(--bg-color);
83+ color: var(--highlight-color);
84+ border-bottom: 1px solid var(--highlight-color);
85+ font-size: 1.5rem;
86+}
87+
88+input:focus {
89+ border: 0;
90+ border-bottom: 1px solid var(--highlight-secondary);
91+ color: var(--highlight-secondary);
92+}
+1,
-0
1@@ -0,0 +1 @@
2+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#f2f2f2" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>
+1,
-0
1@@ -0,0 +1 @@
2+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#f2f2f2" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-star"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg>
+1,
-0
1@@ -0,0 +1 @@
2+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#f2f2f2" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-users"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M23 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg>
+1,
-0
1@@ -0,0 +1 @@
2+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#f2f2f2" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-x-circle"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>
+25,
-0
1@@ -0,0 +1,25 @@
2+import preprocess from 'svelte-preprocess';
3+import adapter from '@sveltejs/adapter-static';
4+
5+/** @type {import('@sveltejs/kit').Config} */
6+const config = {
7+ // Consult https://github.com/sveltejs/svelte-preprocess
8+ // for more information about preprocessors
9+ preprocess: preprocess(),
10+
11+ kit: {
12+ // hydrate the <div id="svelte"> element in src/app.html
13+ target: '#svelte',
14+ adapter: adapter({
15+ // default options are shown
16+ pages: 'build',
17+ assets: 'build',
18+ fallback: '404.html',
19+ }),
20+ prerender: {
21+ force: true,
22+ },
23+ },
24+};
25+
26+export default config;
+30,
-0
1@@ -0,0 +1,30 @@
2+{
3+ "compilerOptions": {
4+ "moduleResolution": "node",
5+ "module": "es2020",
6+ "lib": ["es2020"],
7+ "target": "es2019",
8+ /**
9+ svelte-preprocess cannot figure out whether you have a value or a type, so tell TypeScript
10+ to enforce using \`import type\` instead of \`import\` for Types.
11+ */
12+ "importsNotUsedAsValues": "error",
13+ "isolatedModules": true,
14+ "resolveJsonModule": true,
15+ /**
16+ To have warnings/errors of the Svelte compiler at the correct position,
17+ enable source maps by default.
18+ */
19+ "sourceMap": true,
20+ "esModuleInterop": true,
21+ "skipLibCheck": true,
22+ "forceConsistentCasingInFileNames": true,
23+ "baseUrl": ".",
24+ "allowJs": true,
25+ "checkJs": true,
26+ "paths": {
27+ "$lib/*": ["src/lib/*"]
28+ }
29+ },
30+ "include": ["src/**/*.d.ts", "src/**/*.js", "src/**/*.ts", "src/**/*.svelte"]
31+}
+1810,
-0
1@@ -0,0 +1,1810 @@
2+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
3+# yarn lockfile v1
4+
5+
6+"@babel/code-frame@7.12.11":
7+ version "7.12.11"
8+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f"
9+ integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==
10+ dependencies:
11+ "@babel/highlight" "^7.10.4"
12+
13+"@babel/code-frame@^7.0.0":
14+ version "7.14.5"
15+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb"
16+ integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==
17+ dependencies:
18+ "@babel/highlight" "^7.14.5"
19+
20+"@babel/helper-validator-identifier@^7.14.5":
21+ version "7.14.5"
22+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz#d0f0e277c512e0c938277faa85a3968c9a44c0e8"
23+ integrity sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==
24+
25+"@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5":
26+ version "7.14.5"
27+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9"
28+ integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==
29+ dependencies:
30+ "@babel/helper-validator-identifier" "^7.14.5"
31+ chalk "^2.0.0"
32+ js-tokens "^4.0.0"
33+
34+"@eslint/eslintrc@^0.4.2":
35+ version "0.4.2"
36+ resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.2.tgz#f63d0ef06f5c0c57d76c4ab5f63d3835c51b0179"
37+ integrity sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg==
38+ dependencies:
39+ ajv "^6.12.4"
40+ debug "^4.1.1"
41+ espree "^7.3.0"
42+ globals "^13.9.0"
43+ ignore "^4.0.6"
44+ import-fresh "^3.2.1"
45+ js-yaml "^3.13.1"
46+ minimatch "^3.0.4"
47+ strip-json-comments "^3.1.1"
48+
49+"@humanwhocodes/config-array@^0.5.0":
50+ version "0.5.0"
51+ resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9"
52+ integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==
53+ dependencies:
54+ "@humanwhocodes/object-schema" "^1.2.0"
55+ debug "^4.1.1"
56+ minimatch "^3.0.4"
57+
58+"@humanwhocodes/object-schema@^1.2.0":
59+ version "1.2.0"
60+ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz#87de7af9c231826fdd68ac7258f77c429e0e5fcf"
61+ integrity sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==
62+
63+"@nodelib/fs.scandir@2.1.5":
64+ version "2.1.5"
65+ resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
66+ integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
67+ dependencies:
68+ "@nodelib/fs.stat" "2.0.5"
69+ run-parallel "^1.1.9"
70+
71+"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
72+ version "2.0.5"
73+ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
74+ integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
75+
76+"@nodelib/fs.walk@^1.2.3":
77+ version "1.2.8"
78+ resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
79+ integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
80+ dependencies:
81+ "@nodelib/fs.scandir" "2.1.5"
82+ fastq "^1.6.0"
83+
84+"@rollup/pluginutils@^4.1.0":
85+ version "4.1.0"
86+ resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.1.0.tgz#0dcc61c780e39257554feb7f77207dceca13c838"
87+ integrity sha512-TrBhfJkFxA+ER+ew2U2/fHbebhLT/l/2pRk0hfj9KusXUuRXd2v0R58AfaZK9VXDQ4TogOSEmICVrQAA3zFnHQ==
88+ dependencies:
89+ estree-walker "^2.0.1"
90+ picomatch "^2.2.2"
91+
92+"@sveltejs/adapter-static@^1.0.0-next.13":
93+ version "1.0.0-next.13"
94+ resolved "https://registry.yarnpkg.com/@sveltejs/adapter-static/-/adapter-static-1.0.0-next.13.tgz#5cba8f2905a5a7b956c2663d73ac02f7eb6da7c4"
95+ integrity sha512-zaXJlWK9JfrjrE6nG5etB8kf4DSkbE3H8Ql6gmCk3WjdvpY85a60TMYBU9OK2iunkqpHnPYiMUGEnOGYmWlLYA==
96+
97+"@sveltejs/kit@next":
98+ version "1.0.0-next.123"
99+ resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-1.0.0-next.123.tgz#bd93fc563d205485dbc99bb9a3b8996c204cf8ef"
100+ integrity sha512-C9UZ5yYdU94hjpmwTPmDpCWphPc9RsSR4TxV67JM+SqDrSCMKx65JI3+goQQzY2ZHARUGukoc1+ijaRxW48AWQ==
101+ dependencies:
102+ "@sveltejs/vite-plugin-svelte" "^1.0.0-next.11"
103+ cheap-watch "^1.0.3"
104+ sade "^1.7.4"
105+ vite "^2.4.1"
106+
107+"@sveltejs/vite-plugin-svelte@^1.0.0-next.11":
108+ version "1.0.0-next.11"
109+ resolved "https://registry.yarnpkg.com/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-1.0.0-next.11.tgz#1a415a1c4b1642a452e073438c63a73cfd203b51"
110+ integrity sha512-EYR1I145k5rflVqhPwk3442m3bkYimTKSHM9uO5KdomXzt+GS9ZSBJQE3/wy1Di9V8OnGa3oKpckI3OZsHkTIA==
111+ dependencies:
112+ "@rollup/pluginutils" "^4.1.0"
113+ chalk "^4.1.1"
114+ debug "^4.3.2"
115+ require-relative "^0.8.7"
116+ svelte-hmr "^0.14.4"
117+
118+"@tsconfig/node10@^1.0.7":
119+ version "1.0.8"
120+ resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9"
121+ integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==
122+
123+"@tsconfig/node12@^1.0.7":
124+ version "1.0.9"
125+ resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c"
126+ integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==
127+
128+"@tsconfig/node14@^1.0.0":
129+ version "1.0.1"
130+ resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2"
131+ integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==
132+
133+"@tsconfig/node16@^1.0.1":
134+ version "1.0.1"
135+ resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.1.tgz#a6ca6a9a0ff366af433f42f5f0e124794ff6b8f1"
136+ integrity sha512-FTgBI767POY/lKNDNbIzgAX6miIDBs6NTCbdlDb8TrWovHsSvaVIZDlTqym29C6UqhzwcJx4CYr+AlrMywA0cA==
137+
138+"@types/json-schema@^7.0.7":
139+ version "7.0.8"
140+ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.8.tgz#edf1bf1dbf4e04413ca8e5b17b3b7d7d54b59818"
141+ integrity sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==
142+
143+"@types/marked@^2.0.4":
144+ version "2.0.4"
145+ resolved "https://registry.yarnpkg.com/@types/marked/-/marked-2.0.4.tgz#34a0ea548afe6e0c01095229d47b48b2af650613"
146+ integrity sha512-L9VRSe0Id8xbPL99mUo/4aKgD7ZoRwFZqUQScNKHi2pFjF9ZYSMNShUHD6VlMT6J/prQq0T1mxuU25m3R7dFzg==
147+
148+"@types/node-fetch@^2.5.11":
149+ version "2.5.11"
150+ resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.11.tgz#ce22a2e65fc8999f4dbdb7ddbbcf187d755169e4"
151+ integrity sha512-2upCKaqVZETDRb8A2VTaRymqFBEgH8u6yr96b/u3+1uQEPDRo3mJLEiPk7vdXBHRtjwkjqzFYMJXrt0Z9QsYjQ==
152+ dependencies:
153+ "@types/node" "*"
154+ form-data "^3.0.0"
155+
156+"@types/node@*":
157+ version "16.3.0"
158+ resolved "https://registry.yarnpkg.com/@types/node/-/node-16.3.0.tgz#1836664e4fad13b51b07eb6e882a53925e6543c4"
159+ integrity sha512-OydMCocGMGqw/1BnWbhtK+AtwyWTOigtrQlRe57OQmTNcI3HKlVI5FGlh+c4mSqInMPLynFrTlYjfajPu9O/eQ==
160+
161+"@types/node@^16.3.3":
162+ version "16.3.3"
163+ resolved "https://registry.yarnpkg.com/@types/node/-/node-16.3.3.tgz#0c30adff37bbbc7a50eb9b58fae2a504d0d88038"
164+ integrity sha512-8h7k1YgQKxKXWckzFCMfsIwn0Y61UK6tlD6y2lOb3hTOIMlK3t9/QwHOhc81TwU+RMf0As5fj7NPjroERCnejQ==
165+
166+"@types/parse-json@^4.0.0":
167+ version "4.0.0"
168+ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
169+ integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
170+
171+"@types/pug@^2.0.4":
172+ version "2.0.5"
173+ resolved "https://registry.yarnpkg.com/@types/pug/-/pug-2.0.5.tgz#69bc700934dd473c7ab97270bd2dbacefe562231"
174+ integrity sha512-LOnASQoeNZMkzexRuyqcBBDZ6rS+rQxUMkmj5A0PkhhiSZivLIuz6Hxyr1mkGoEZEkk66faROmpMi4fFkrKsBA==
175+
176+"@types/sass@^1.16.0":
177+ version "1.16.1"
178+ resolved "https://registry.yarnpkg.com/@types/sass/-/sass-1.16.1.tgz#cf465bd1fea486d0331f760db023de14daf4980d"
179+ integrity sha512-iZUcRrGuz/Tbg3loODpW7vrQJkUtpY2fFSf4ELqqkApcS2TkZ1msk7ie8iZPB86lDOP8QOTTmuvWjc5S0R9OjQ==
180+ dependencies:
181+ "@types/node" "*"
182+
183+"@typescript-eslint/eslint-plugin@^4.19.0":
184+ version "4.28.2"
185+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.2.tgz#7a8320f00141666813d0ae43b49ee8244f7cf92a"
186+ integrity sha512-PGqpLLzHSxq956rzNGasO3GsAPf2lY9lDUBXhS++SKonglUmJypaUtcKzRtUte8CV7nruwnDxtLUKpVxs0wQBw==
187+ dependencies:
188+ "@typescript-eslint/experimental-utils" "4.28.2"
189+ "@typescript-eslint/scope-manager" "4.28.2"
190+ debug "^4.3.1"
191+ functional-red-black-tree "^1.0.1"
192+ regexpp "^3.1.0"
193+ semver "^7.3.5"
194+ tsutils "^3.21.0"
195+
196+"@typescript-eslint/experimental-utils@4.28.2":
197+ version "4.28.2"
198+ resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.2.tgz#4ebdec06a10888e9326e1d51d81ad52a361bd0b0"
199+ integrity sha512-MwHPsL6qo98RC55IoWWP8/opTykjTp4JzfPu1VfO2Z0MshNP0UZ1GEV5rYSSnZSUI8VD7iHvtIPVGW5Nfh7klQ==
200+ dependencies:
201+ "@types/json-schema" "^7.0.7"
202+ "@typescript-eslint/scope-manager" "4.28.2"
203+ "@typescript-eslint/types" "4.28.2"
204+ "@typescript-eslint/typescript-estree" "4.28.2"
205+ eslint-scope "^5.1.1"
206+ eslint-utils "^3.0.0"
207+
208+"@typescript-eslint/parser@^4.19.0":
209+ version "4.28.2"
210+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.28.2.tgz#6aff11bf4b91eb67ca7517962eede951e9e2a15d"
211+ integrity sha512-Q0gSCN51eikAgFGY+gnd5p9bhhCUAl0ERMiDKrTzpSoMYRubdB8MJrTTR/BBii8z+iFwz8oihxd0RAdP4l8w8w==
212+ dependencies:
213+ "@typescript-eslint/scope-manager" "4.28.2"
214+ "@typescript-eslint/types" "4.28.2"
215+ "@typescript-eslint/typescript-estree" "4.28.2"
216+ debug "^4.3.1"
217+
218+"@typescript-eslint/scope-manager@4.28.2":
219+ version "4.28.2"
220+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.28.2.tgz#451dce90303a3ce283750111495d34c9c204e510"
221+ integrity sha512-MqbypNjIkJFEFuOwPWNDjq0nqXAKZvDNNs9yNseoGBB1wYfz1G0WHC2AVOy4XD7di3KCcW3+nhZyN6zruqmp2A==
222+ dependencies:
223+ "@typescript-eslint/types" "4.28.2"
224+ "@typescript-eslint/visitor-keys" "4.28.2"
225+
226+"@typescript-eslint/types@4.28.2":
227+ version "4.28.2"
228+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.28.2.tgz#e6b9e234e0e9a66c4d25bab881661e91478223b5"
229+ integrity sha512-Gr15fuQVd93uD9zzxbApz3wf7ua3yk4ZujABZlZhaxxKY8ojo448u7XTm/+ETpy0V0dlMtj6t4VdDvdc0JmUhA==
230+
231+"@typescript-eslint/typescript-estree@4.28.2":
232+ version "4.28.2"
233+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.2.tgz#680129b2a285289a15e7c6108c84739adf3a798c"
234+ integrity sha512-86lLstLvK6QjNZjMoYUBMMsULFw0hPHJlk1fzhAVoNjDBuPVxiwvGuPQq3fsBMCxuDJwmX87tM/AXoadhHRljg==
235+ dependencies:
236+ "@typescript-eslint/types" "4.28.2"
237+ "@typescript-eslint/visitor-keys" "4.28.2"
238+ debug "^4.3.1"
239+ globby "^11.0.3"
240+ is-glob "^4.0.1"
241+ semver "^7.3.5"
242+ tsutils "^3.21.0"
243+
244+"@typescript-eslint/visitor-keys@4.28.2":
245+ version "4.28.2"
246+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.2.tgz#bf56a400857bb68b59b311e6d0a5fbef5c3b5130"
247+ integrity sha512-aT2B4PLyyRDUVUafXzpZFoc0C9t0za4BJAKP5sgWIhG+jHECQZUEjuQSCIwZdiJJ4w4cgu5r3Kh20SOdtEBl0w==
248+ dependencies:
249+ "@typescript-eslint/types" "4.28.2"
250+ eslint-visitor-keys "^2.0.0"
251+
252+acorn-jsx@^5.3.1:
253+ version "5.3.2"
254+ resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
255+ integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
256+
257+acorn@^7.4.0:
258+ version "7.4.1"
259+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
260+ integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
261+
262+aggregate-error@^3.0.0:
263+ version "3.1.0"
264+ resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a"
265+ integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==
266+ dependencies:
267+ clean-stack "^2.0.0"
268+ indent-string "^4.0.0"
269+
270+ajv@^6.10.0, ajv@^6.12.4:
271+ version "6.12.6"
272+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
273+ integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
274+ dependencies:
275+ fast-deep-equal "^3.1.1"
276+ fast-json-stable-stringify "^2.0.0"
277+ json-schema-traverse "^0.4.1"
278+ uri-js "^4.2.2"
279+
280+ajv@^8.0.1:
281+ version "8.6.1"
282+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.1.tgz#ae65764bf1edde8cd861281cda5057852364a295"
283+ integrity sha512-42VLtQUOLefAvKFAQIxIZDaThq6om/PrfP0CYk3/vn+y4BMNkKnbli8ON2QCiHov4KkzOSJ/xSoBJdayiiYvVQ==
284+ dependencies:
285+ fast-deep-equal "^3.1.1"
286+ json-schema-traverse "^1.0.0"
287+ require-from-string "^2.0.2"
288+ uri-js "^4.2.2"
289+
290+ansi-colors@^4.1.1:
291+ version "4.1.1"
292+ resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
293+ integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
294+
295+ansi-escapes@^4.3.0:
296+ version "4.3.2"
297+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e"
298+ integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==
299+ dependencies:
300+ type-fest "^0.21.3"
301+
302+ansi-regex@^5.0.0:
303+ version "5.0.0"
304+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
305+ integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
306+
307+ansi-styles@^3.2.1:
308+ version "3.2.1"
309+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
310+ integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
311+ dependencies:
312+ color-convert "^1.9.0"
313+
314+ansi-styles@^4.0.0, ansi-styles@^4.1.0:
315+ version "4.3.0"
316+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
317+ integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
318+ dependencies:
319+ color-convert "^2.0.1"
320+
321+anymatch@~3.1.2:
322+ version "3.1.2"
323+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
324+ integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
325+ dependencies:
326+ normalize-path "^3.0.0"
327+ picomatch "^2.0.4"
328+
329+arg@^4.1.0:
330+ version "4.1.3"
331+ resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
332+ integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
333+
334+argparse@^1.0.7:
335+ version "1.0.10"
336+ resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
337+ integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
338+ dependencies:
339+ sprintf-js "~1.0.2"
340+
341+array-union@^2.1.0:
342+ version "2.1.0"
343+ resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
344+ integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
345+
346+astral-regex@^2.0.0:
347+ version "2.0.0"
348+ resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
349+ integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
350+
351+asynckit@^0.4.0:
352+ version "0.4.0"
353+ resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
354+ integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
355+
356+balanced-match@^1.0.0:
357+ version "1.0.2"
358+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
359+ integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
360+
361+binary-extensions@^2.0.0:
362+ version "2.2.0"
363+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
364+ integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
365+
366+brace-expansion@^1.1.7:
367+ version "1.1.11"
368+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
369+ integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
370+ dependencies:
371+ balanced-match "^1.0.0"
372+ concat-map "0.0.1"
373+
374+braces@^3.0.1, braces@~3.0.2:
375+ version "3.0.2"
376+ resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
377+ integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
378+ dependencies:
379+ fill-range "^7.0.1"
380+
381+buffer-from@^1.0.0:
382+ version "1.1.1"
383+ resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
384+ integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
385+
386+callsites@^3.0.0:
387+ version "3.1.0"
388+ resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
389+ integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
390+
391+chalk@^2.0.0:
392+ version "2.4.2"
393+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
394+ integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
395+ dependencies:
396+ ansi-styles "^3.2.1"
397+ escape-string-regexp "^1.0.5"
398+ supports-color "^5.3.0"
399+
400+chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1:
401+ version "4.1.1"
402+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad"
403+ integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==
404+ dependencies:
405+ ansi-styles "^4.1.0"
406+ supports-color "^7.1.0"
407+
408+cheap-watch@^1.0.3:
409+ version "1.0.3"
410+ resolved "https://registry.yarnpkg.com/cheap-watch/-/cheap-watch-1.0.3.tgz#3c4265718bcf8f1ae08f5e450f9f4693432e028e"
411+ integrity sha512-xC5CruMhLzjPwJ5ecUxGu1uGmwJQykUhqd2QrCrYbwvsFYdRyviu6jG9+pccwDXJR/OpmOTOJ9yLFunVgQu9wg==
412+
413+chokidar@^3.4.1:
414+ version "3.5.2"
415+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75"
416+ integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==
417+ dependencies:
418+ anymatch "~3.1.2"
419+ braces "~3.0.2"
420+ glob-parent "~5.1.2"
421+ is-binary-path "~2.1.0"
422+ is-glob "~4.0.1"
423+ normalize-path "~3.0.0"
424+ readdirp "~3.6.0"
425+ optionalDependencies:
426+ fsevents "~2.3.2"
427+
428+clean-stack@^2.0.0:
429+ version "2.2.0"
430+ resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
431+ integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
432+
433+cli-cursor@^3.1.0:
434+ version "3.1.0"
435+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
436+ integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
437+ dependencies:
438+ restore-cursor "^3.1.0"
439+
440+cli-truncate@^2.1.0:
441+ version "2.1.0"
442+ resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7"
443+ integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==
444+ dependencies:
445+ slice-ansi "^3.0.0"
446+ string-width "^4.2.0"
447+
448+color-convert@^1.9.0:
449+ version "1.9.3"
450+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
451+ integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
452+ dependencies:
453+ color-name "1.1.3"
454+
455+color-convert@^2.0.1:
456+ version "2.0.1"
457+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
458+ integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
459+ dependencies:
460+ color-name "~1.1.4"
461+
462+color-name@1.1.3:
463+ version "1.1.3"
464+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
465+ integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
466+
467+color-name@~1.1.4:
468+ version "1.1.4"
469+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
470+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
471+
472+colorette@^1.2.2:
473+ version "1.2.2"
474+ resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
475+ integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==
476+
477+combined-stream@^1.0.8:
478+ version "1.0.8"
479+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
480+ integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
481+ dependencies:
482+ delayed-stream "~1.0.0"
483+
484+commander@^7.2.0:
485+ version "7.2.0"
486+ resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
487+ integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
488+
489+concat-map@0.0.1:
490+ version "0.0.1"
491+ resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
492+ integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
493+
494+cosmiconfig@^7.0.0:
495+ version "7.0.0"
496+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3"
497+ integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==
498+ dependencies:
499+ "@types/parse-json" "^4.0.0"
500+ import-fresh "^3.2.1"
501+ parse-json "^5.0.0"
502+ path-type "^4.0.0"
503+ yaml "^1.10.0"
504+
505+create-require@^1.1.0:
506+ version "1.1.1"
507+ resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
508+ integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
509+
510+cross-spawn@^7.0.2, cross-spawn@^7.0.3:
511+ version "7.0.3"
512+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
513+ integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
514+ dependencies:
515+ path-key "^3.1.0"
516+ shebang-command "^2.0.0"
517+ which "^2.0.1"
518+
519+debug@^4.0.1, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2:
520+ version "4.3.2"
521+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
522+ integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
523+ dependencies:
524+ ms "2.1.2"
525+
526+decode-uri-component@^0.2.0:
527+ version "0.2.0"
528+ resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
529+ integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
530+
531+dedent@^0.7.0:
532+ version "0.7.0"
533+ resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
534+ integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=
535+
536+deep-is@^0.1.3:
537+ version "0.1.3"
538+ resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
539+ integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
540+
541+delayed-stream@~1.0.0:
542+ version "1.0.0"
543+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
544+ integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
545+
546+detect-indent@^6.0.0:
547+ version "6.1.0"
548+ resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6"
549+ integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==
550+
551+diff@^4.0.1:
552+ version "4.0.2"
553+ resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
554+ integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
555+
556+dir-glob@^3.0.1:
557+ version "3.0.1"
558+ resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
559+ integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
560+ dependencies:
561+ path-type "^4.0.0"
562+
563+doctrine@^3.0.0:
564+ version "3.0.0"
565+ resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
566+ integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
567+ dependencies:
568+ esutils "^2.0.2"
569+
570+emoji-regex@^8.0.0:
571+ version "8.0.0"
572+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
573+ integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
574+
575+enquirer@^2.3.5, enquirer@^2.3.6:
576+ version "2.3.6"
577+ resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
578+ integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
579+ dependencies:
580+ ansi-colors "^4.1.1"
581+
582+error-ex@^1.3.1:
583+ version "1.3.2"
584+ resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
585+ integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
586+ dependencies:
587+ is-arrayish "^0.2.1"
588+
589+esbuild@^0.12.8:
590+ version "0.12.15"
591+ resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.12.15.tgz#9d99cf39aeb2188265c5983e983e236829f08af0"
592+ integrity sha512-72V4JNd2+48eOVCXx49xoSWHgC3/cCy96e7mbXKY+WOWghN00cCmlGnwVLRhRHorvv0dgCyuMYBZlM2xDM5OQw==
593+
594+escape-string-regexp@^1.0.5:
595+ version "1.0.5"
596+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
597+ integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
598+
599+escape-string-regexp@^4.0.0:
600+ version "4.0.0"
601+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
602+ integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
603+
604+eslint-config-prettier@^8.1.0:
605+ version "8.3.0"
606+ resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a"
607+ integrity sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==
608+
609+eslint-plugin-svelte3@^3.2.0:
610+ version "3.2.0"
611+ resolved "https://registry.yarnpkg.com/eslint-plugin-svelte3/-/eslint-plugin-svelte3-3.2.0.tgz#a6deb4ead4b31a647ea88a3823d7c96578f74683"
612+ integrity sha512-qdWB1QN21dEozsJFdR8XlEhMnsS6aKHjsXWuNmchYwxoet5I6QdCr1Xcq62++IzRBMCNCeH4waXqSOAdqrZzgA==
613+
614+eslint-scope@^5.1.1:
615+ version "5.1.1"
616+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
617+ integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
618+ dependencies:
619+ esrecurse "^4.3.0"
620+ estraverse "^4.1.1"
621+
622+eslint-utils@^2.1.0:
623+ version "2.1.0"
624+ resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
625+ integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
626+ dependencies:
627+ eslint-visitor-keys "^1.1.0"
628+
629+eslint-utils@^3.0.0:
630+ version "3.0.0"
631+ resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
632+ integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==
633+ dependencies:
634+ eslint-visitor-keys "^2.0.0"
635+
636+eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
637+ version "1.3.0"
638+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
639+ integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
640+
641+eslint-visitor-keys@^2.0.0:
642+ version "2.1.0"
643+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
644+ integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
645+
646+eslint@^7.22.0:
647+ version "7.30.0"
648+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.30.0.tgz#6d34ab51aaa56112fd97166226c9a97f505474f8"
649+ integrity sha512-VLqz80i3as3NdloY44BQSJpFw534L9Oh+6zJOUaViV4JPd+DaHwutqP7tcpkW3YiXbK6s05RZl7yl7cQn+lijg==
650+ dependencies:
651+ "@babel/code-frame" "7.12.11"
652+ "@eslint/eslintrc" "^0.4.2"
653+ "@humanwhocodes/config-array" "^0.5.0"
654+ ajv "^6.10.0"
655+ chalk "^4.0.0"
656+ cross-spawn "^7.0.2"
657+ debug "^4.0.1"
658+ doctrine "^3.0.0"
659+ enquirer "^2.3.5"
660+ escape-string-regexp "^4.0.0"
661+ eslint-scope "^5.1.1"
662+ eslint-utils "^2.1.0"
663+ eslint-visitor-keys "^2.0.0"
664+ espree "^7.3.1"
665+ esquery "^1.4.0"
666+ esutils "^2.0.2"
667+ fast-deep-equal "^3.1.3"
668+ file-entry-cache "^6.0.1"
669+ functional-red-black-tree "^1.0.1"
670+ glob-parent "^5.1.2"
671+ globals "^13.6.0"
672+ ignore "^4.0.6"
673+ import-fresh "^3.0.0"
674+ imurmurhash "^0.1.4"
675+ is-glob "^4.0.0"
676+ js-yaml "^3.13.1"
677+ json-stable-stringify-without-jsonify "^1.0.1"
678+ levn "^0.4.1"
679+ lodash.merge "^4.6.2"
680+ minimatch "^3.0.4"
681+ natural-compare "^1.4.0"
682+ optionator "^0.9.1"
683+ progress "^2.0.0"
684+ regexpp "^3.1.0"
685+ semver "^7.2.1"
686+ strip-ansi "^6.0.0"
687+ strip-json-comments "^3.1.0"
688+ table "^6.0.9"
689+ text-table "^0.2.0"
690+ v8-compile-cache "^2.0.3"
691+
692+espree@^7.3.0, espree@^7.3.1:
693+ version "7.3.1"
694+ resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6"
695+ integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==
696+ dependencies:
697+ acorn "^7.4.0"
698+ acorn-jsx "^5.3.1"
699+ eslint-visitor-keys "^1.3.0"
700+
701+esprima@^4.0.0:
702+ version "4.0.1"
703+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
704+ integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
705+
706+esquery@^1.4.0:
707+ version "1.4.0"
708+ resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5"
709+ integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==
710+ dependencies:
711+ estraverse "^5.1.0"
712+
713+esrecurse@^4.3.0:
714+ version "4.3.0"
715+ resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
716+ integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
717+ dependencies:
718+ estraverse "^5.2.0"
719+
720+estraverse@^4.1.1:
721+ version "4.3.0"
722+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
723+ integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
724+
725+estraverse@^5.1.0, estraverse@^5.2.0:
726+ version "5.2.0"
727+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
728+ integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
729+
730+estree-walker@^2.0.1:
731+ version "2.0.2"
732+ resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
733+ integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
734+
735+esutils@^2.0.2:
736+ version "2.0.3"
737+ resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
738+ integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
739+
740+execa@^5.0.0:
741+ version "5.1.1"
742+ resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
743+ integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
744+ dependencies:
745+ cross-spawn "^7.0.3"
746+ get-stream "^6.0.0"
747+ human-signals "^2.1.0"
748+ is-stream "^2.0.0"
749+ merge-stream "^2.0.0"
750+ npm-run-path "^4.0.1"
751+ onetime "^5.1.2"
752+ signal-exit "^3.0.3"
753+ strip-final-newline "^2.0.0"
754+
755+fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
756+ version "3.1.3"
757+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
758+ integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
759+
760+fast-glob@^3.1.1:
761+ version "3.2.7"
762+ resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1"
763+ integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==
764+ dependencies:
765+ "@nodelib/fs.stat" "^2.0.2"
766+ "@nodelib/fs.walk" "^1.2.3"
767+ glob-parent "^5.1.2"
768+ merge2 "^1.3.0"
769+ micromatch "^4.0.4"
770+
771+fast-json-stable-stringify@^2.0.0:
772+ version "2.1.0"
773+ resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
774+ integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
775+
776+fast-levenshtein@^2.0.6:
777+ version "2.0.6"
778+ resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
779+ integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
780+
781+fastq@^1.6.0:
782+ version "1.11.1"
783+ resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.1.tgz#5d8175aae17db61947f8b162cfc7f63264d22807"
784+ integrity sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==
785+ dependencies:
786+ reusify "^1.0.4"
787+
788+file-entry-cache@^6.0.1:
789+ version "6.0.1"
790+ resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
791+ integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
792+ dependencies:
793+ flat-cache "^3.0.4"
794+
795+fill-range@^7.0.1:
796+ version "7.0.1"
797+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
798+ integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
799+ dependencies:
800+ to-regex-range "^5.0.1"
801+
802+filter-obj@^1.1.0:
803+ version "1.1.0"
804+ resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b"
805+ integrity sha1-mzERErxsYSehbgFsbF1/GeCAXFs=
806+
807+flat-cache@^3.0.4:
808+ version "3.0.4"
809+ resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
810+ integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
811+ dependencies:
812+ flatted "^3.1.0"
813+ rimraf "^3.0.2"
814+
815+flatted@^3.1.0:
816+ version "3.2.1"
817+ resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.1.tgz#bbef080d95fca6709362c73044a1634f7c6e7d05"
818+ integrity sha512-OMQjaErSFHmHqZe+PSidH5n8j3O0F2DdnVh8JB4j4eUQ2k6KvB0qGfrKIhapvez5JerBbmWkaLYUYWISaESoXg==
819+
820+form-data@^3.0.0:
821+ version "3.0.1"
822+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f"
823+ integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==
824+ dependencies:
825+ asynckit "^0.4.0"
826+ combined-stream "^1.0.8"
827+ mime-types "^2.1.12"
828+
829+fs.realpath@^1.0.0:
830+ version "1.0.0"
831+ resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
832+ integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
833+
834+fsevents@~2.3.2:
835+ version "2.3.2"
836+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
837+ integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
838+
839+function-bind@^1.1.1:
840+ version "1.1.1"
841+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
842+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
843+
844+functional-red-black-tree@^1.0.1:
845+ version "1.0.1"
846+ resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
847+ integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
848+
849+get-own-enumerable-property-symbols@^3.0.0:
850+ version "3.0.2"
851+ resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664"
852+ integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==
853+
854+get-stream@^6.0.0:
855+ version "6.0.1"
856+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
857+ integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
858+
859+glob-parent@^5.1.2, glob-parent@~5.1.2:
860+ version "5.1.2"
861+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
862+ integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
863+ dependencies:
864+ is-glob "^4.0.1"
865+
866+glob@^7.1.3, glob@^7.1.6:
867+ version "7.1.7"
868+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
869+ integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
870+ dependencies:
871+ fs.realpath "^1.0.0"
872+ inflight "^1.0.4"
873+ inherits "2"
874+ minimatch "^3.0.4"
875+ once "^1.3.0"
876+ path-is-absolute "^1.0.0"
877+
878+globals@^13.6.0, globals@^13.9.0:
879+ version "13.10.0"
880+ resolved "https://registry.yarnpkg.com/globals/-/globals-13.10.0.tgz#60ba56c3ac2ca845cfbf4faeca727ad9dd204676"
881+ integrity sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==
882+ dependencies:
883+ type-fest "^0.20.2"
884+
885+globby@^11.0.3:
886+ version "11.0.4"
887+ resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5"
888+ integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==
889+ dependencies:
890+ array-union "^2.1.0"
891+ dir-glob "^3.0.1"
892+ fast-glob "^3.1.1"
893+ ignore "^5.1.4"
894+ merge2 "^1.3.0"
895+ slash "^3.0.0"
896+
897+has-flag@^3.0.0:
898+ version "3.0.0"
899+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
900+ integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
901+
902+has-flag@^4.0.0:
903+ version "4.0.0"
904+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
905+ integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
906+
907+has@^1.0.3:
908+ version "1.0.3"
909+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
910+ integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
911+ dependencies:
912+ function-bind "^1.1.1"
913+
914+human-signals@^2.1.0:
915+ version "2.1.0"
916+ resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
917+ integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
918+
919+husky@>=6:
920+ version "7.0.1"
921+ resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.1.tgz#579f4180b5da4520263e8713cc832942b48e1f1c"
922+ integrity sha512-gceRaITVZ+cJH9sNHqx5tFwbzlLCVxtVZcusME8JYQ8Edy5mpGDOqD8QBCdMhpyo9a+JXddnujQ4rpY2Ff9SJA==
923+
924+ignore@^4.0.6:
925+ version "4.0.6"
926+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
927+ integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
928+
929+ignore@^5.1.4:
930+ version "5.1.8"
931+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"
932+ integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==
933+
934+import-fresh@^3.0.0, import-fresh@^3.2.1:
935+ version "3.3.0"
936+ resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
937+ integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
938+ dependencies:
939+ parent-module "^1.0.0"
940+ resolve-from "^4.0.0"
941+
942+imurmurhash@^0.1.4:
943+ version "0.1.4"
944+ resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
945+ integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
946+
947+indent-string@^4.0.0:
948+ version "4.0.0"
949+ resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
950+ integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
951+
952+inflight@^1.0.4:
953+ version "1.0.6"
954+ resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
955+ integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
956+ dependencies:
957+ once "^1.3.0"
958+ wrappy "1"
959+
960+inherits@2:
961+ version "2.0.4"
962+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
963+ integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
964+
965+is-arrayish@^0.2.1:
966+ version "0.2.1"
967+ resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
968+ integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
969+
970+is-binary-path@~2.1.0:
971+ version "2.1.0"
972+ resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
973+ integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
974+ dependencies:
975+ binary-extensions "^2.0.0"
976+
977+is-core-module@^2.2.0:
978+ version "2.4.0"
979+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1"
980+ integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==
981+ dependencies:
982+ has "^1.0.3"
983+
984+is-extglob@^2.1.1:
985+ version "2.1.1"
986+ resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
987+ integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
988+
989+is-fullwidth-code-point@^3.0.0:
990+ version "3.0.0"
991+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
992+ integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
993+
994+is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
995+ version "4.0.1"
996+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
997+ integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
998+ dependencies:
999+ is-extglob "^2.1.1"
1000+
1001+is-number@^7.0.0:
1002+ version "7.0.0"
1003+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
1004+ integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
1005+
1006+is-obj@^1.0.1:
1007+ version "1.0.1"
1008+ resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
1009+ integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8=
1010+
1011+is-regexp@^1.0.0:
1012+ version "1.0.0"
1013+ resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
1014+ integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk=
1015+
1016+is-stream@^2.0.0:
1017+ version "2.0.0"
1018+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
1019+ integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==
1020+
1021+is-unicode-supported@^0.1.0:
1022+ version "0.1.0"
1023+ resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7"
1024+ integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==
1025+
1026+isexe@^2.0.0:
1027+ version "2.0.0"
1028+ resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
1029+ integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
1030+
1031+js-tokens@^4.0.0:
1032+ version "4.0.0"
1033+ resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
1034+ integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
1035+
1036+js-yaml@^3.13.1:
1037+ version "3.14.1"
1038+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
1039+ integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
1040+ dependencies:
1041+ argparse "^1.0.7"
1042+ esprima "^4.0.0"
1043+
1044+json-parse-even-better-errors@^2.3.0:
1045+ version "2.3.1"
1046+ resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
1047+ integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
1048+
1049+json-schema-traverse@^0.4.1:
1050+ version "0.4.1"
1051+ resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
1052+ integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
1053+
1054+json-schema-traverse@^1.0.0:
1055+ version "1.0.0"
1056+ resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
1057+ integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
1058+
1059+json-stable-stringify-without-jsonify@^1.0.1:
1060+ version "1.0.1"
1061+ resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
1062+ integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
1063+
1064+just-throttle@^2.3.1:
1065+ version "2.3.1"
1066+ resolved "https://registry.yarnpkg.com/just-throttle/-/just-throttle-2.3.1.tgz#ef4a0710073bb4b0faf7dad1bc4ccabaeec4d0e6"
1067+ integrity sha512-0H4miIAWZYpnpg7oD/Y/PBb77ISSHAETif5xK9EnwIgYCO6oC8ErkJxDumMUTR44shSOwptRIArRuvNuvN/hOw==
1068+
1069+levn@^0.4.1:
1070+ version "0.4.1"
1071+ resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
1072+ integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
1073+ dependencies:
1074+ prelude-ls "^1.2.1"
1075+ type-check "~0.4.0"
1076+
1077+lines-and-columns@^1.1.6:
1078+ version "1.1.6"
1079+ resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
1080+ integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
1081+
1082+lint-staged@>=10:
1083+ version "11.0.0"
1084+ resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-11.0.0.tgz#24d0a95aa316ba28e257f5c4613369a75a10c712"
1085+ integrity sha512-3rsRIoyaE8IphSUtO1RVTFl1e0SLBtxxUOPBtHxQgBHS5/i6nqvjcUfNioMa4BU9yGnPzbO+xkfLtXtxBpCzjw==
1086+ dependencies:
1087+ chalk "^4.1.1"
1088+ cli-truncate "^2.1.0"
1089+ commander "^7.2.0"
1090+ cosmiconfig "^7.0.0"
1091+ debug "^4.3.1"
1092+ dedent "^0.7.0"
1093+ enquirer "^2.3.6"
1094+ execa "^5.0.0"
1095+ listr2 "^3.8.2"
1096+ log-symbols "^4.1.0"
1097+ micromatch "^4.0.4"
1098+ normalize-path "^3.0.0"
1099+ please-upgrade-node "^3.2.0"
1100+ string-argv "0.3.1"
1101+ stringify-object "^3.3.0"
1102+
1103+listr2@^3.8.2:
1104+ version "3.10.0"
1105+ resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.10.0.tgz#58105a53ed7fa1430d1b738c6055ef7bb006160f"
1106+ integrity sha512-eP40ZHihu70sSmqFNbNy2NL1YwImmlMmPh9WO5sLmPDleurMHt3n+SwEWNu2kzKScexZnkyFtc1VI0z/TGlmpw==
1107+ dependencies:
1108+ cli-truncate "^2.1.0"
1109+ colorette "^1.2.2"
1110+ log-update "^4.0.0"
1111+ p-map "^4.0.0"
1112+ rxjs "^6.6.7"
1113+ through "^2.3.8"
1114+ wrap-ansi "^7.0.0"
1115+
1116+lodash.clonedeep@^4.5.0:
1117+ version "4.5.0"
1118+ resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
1119+ integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=
1120+
1121+lodash.merge@^4.6.2:
1122+ version "4.6.2"
1123+ resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
1124+ integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
1125+
1126+lodash.truncate@^4.4.2:
1127+ version "4.4.2"
1128+ resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193"
1129+ integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=
1130+
1131+log-symbols@^4.1.0:
1132+ version "4.1.0"
1133+ resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503"
1134+ integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==
1135+ dependencies:
1136+ chalk "^4.1.0"
1137+ is-unicode-supported "^0.1.0"
1138+
1139+log-update@^4.0.0:
1140+ version "4.0.0"
1141+ resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1"
1142+ integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==
1143+ dependencies:
1144+ ansi-escapes "^4.3.0"
1145+ cli-cursor "^3.1.0"
1146+ slice-ansi "^4.0.0"
1147+ wrap-ansi "^6.2.0"
1148+
1149+lru-cache@^6.0.0:
1150+ version "6.0.0"
1151+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
1152+ integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
1153+ dependencies:
1154+ yallist "^4.0.0"
1155+
1156+make-error@^1.1.1:
1157+ version "1.3.6"
1158+ resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
1159+ integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
1160+
1161+marked@^2.1.3:
1162+ version "2.1.3"
1163+ resolved "https://registry.yarnpkg.com/marked/-/marked-2.1.3.tgz#bd017cef6431724fd4b27e0657f5ceb14bff3753"
1164+ integrity sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==
1165+
1166+merge-stream@^2.0.0:
1167+ version "2.0.0"
1168+ resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
1169+ integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
1170+
1171+merge2@^1.3.0:
1172+ version "1.4.1"
1173+ resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
1174+ integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
1175+
1176+micromatch@^4.0.4:
1177+ version "4.0.4"
1178+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9"
1179+ integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==
1180+ dependencies:
1181+ braces "^3.0.1"
1182+ picomatch "^2.2.3"
1183+
1184+mime-db@1.48.0:
1185+ version "1.48.0"
1186+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.48.0.tgz#e35b31045dd7eada3aaad537ed88a33afbef2d1d"
1187+ integrity sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==
1188+
1189+mime-types@^2.1.12:
1190+ version "2.1.31"
1191+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.31.tgz#a00d76b74317c61f9c2db2218b8e9f8e9c5c9e6b"
1192+ integrity sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==
1193+ dependencies:
1194+ mime-db "1.48.0"
1195+
1196+mimic-fn@^2.1.0:
1197+ version "2.1.0"
1198+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
1199+ integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
1200+
1201+min-indent@^1.0.0:
1202+ version "1.0.1"
1203+ resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869"
1204+ integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==
1205+
1206+minimatch@^3.0.4:
1207+ version "3.0.4"
1208+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
1209+ integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
1210+ dependencies:
1211+ brace-expansion "^1.1.7"
1212+
1213+minimist@^1.2.5:
1214+ version "1.2.5"
1215+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
1216+ integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
1217+
1218+mri@^1.1.0:
1219+ version "1.1.6"
1220+ resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.6.tgz#49952e1044db21dbf90f6cd92bc9c9a777d415a6"
1221+ integrity sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ==
1222+
1223+ms@2.1.2:
1224+ version "2.1.2"
1225+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
1226+ integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
1227+
1228+nanoid@^3.1.23:
1229+ version "3.1.23"
1230+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81"
1231+ integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==
1232+
1233+natural-compare@^1.4.0:
1234+ version "1.4.0"
1235+ resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
1236+ integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
1237+
1238+node-fetch@^2.6.1:
1239+ version "2.6.1"
1240+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
1241+ integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
1242+
1243+normalize-path@^3.0.0, normalize-path@~3.0.0:
1244+ version "3.0.0"
1245+ resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
1246+ integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
1247+
1248+npm-run-path@^4.0.1:
1249+ version "4.0.1"
1250+ resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
1251+ integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
1252+ dependencies:
1253+ path-key "^3.0.0"
1254+
1255+once@^1.3.0:
1256+ version "1.4.0"
1257+ resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
1258+ integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
1259+ dependencies:
1260+ wrappy "1"
1261+
1262+onetime@^5.1.0, onetime@^5.1.2:
1263+ version "5.1.2"
1264+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
1265+ integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
1266+ dependencies:
1267+ mimic-fn "^2.1.0"
1268+
1269+optionator@^0.9.1:
1270+ version "0.9.1"
1271+ resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
1272+ integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
1273+ dependencies:
1274+ deep-is "^0.1.3"
1275+ fast-levenshtein "^2.0.6"
1276+ levn "^0.4.1"
1277+ prelude-ls "^1.2.1"
1278+ type-check "^0.4.0"
1279+ word-wrap "^1.2.3"
1280+
1281+p-map@^4.0.0:
1282+ version "4.0.0"
1283+ resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"
1284+ integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==
1285+ dependencies:
1286+ aggregate-error "^3.0.0"
1287+
1288+parent-module@^1.0.0:
1289+ version "1.0.1"
1290+ resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
1291+ integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
1292+ dependencies:
1293+ callsites "^3.0.0"
1294+
1295+parse-json@^5.0.0:
1296+ version "5.2.0"
1297+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
1298+ integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
1299+ dependencies:
1300+ "@babel/code-frame" "^7.0.0"
1301+ error-ex "^1.3.1"
1302+ json-parse-even-better-errors "^2.3.0"
1303+ lines-and-columns "^1.1.6"
1304+
1305+path-is-absolute@^1.0.0:
1306+ version "1.0.1"
1307+ resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
1308+ integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
1309+
1310+path-key@^3.0.0, path-key@^3.1.0:
1311+ version "3.1.1"
1312+ resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
1313+ integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
1314+
1315+path-parse@^1.0.6:
1316+ version "1.0.7"
1317+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
1318+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
1319+
1320+path-type@^4.0.0:
1321+ version "4.0.0"
1322+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
1323+ integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
1324+
1325+picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3:
1326+ version "2.3.0"
1327+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
1328+ integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
1329+
1330+please-upgrade-node@^3.2.0:
1331+ version "3.2.0"
1332+ resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942"
1333+ integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==
1334+ dependencies:
1335+ semver-compare "^1.0.0"
1336+
1337+postcss@^8.3.5:
1338+ version "8.3.5"
1339+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.5.tgz#982216b113412bc20a86289e91eb994952a5b709"
1340+ integrity sha512-NxTuJocUhYGsMiMFHDUkmjSKT3EdH4/WbGF6GCi1NDGk+vbcUTun4fpbOqaPtD8IIsztA2ilZm2DhYCuyN58gA==
1341+ dependencies:
1342+ colorette "^1.2.2"
1343+ nanoid "^3.1.23"
1344+ source-map-js "^0.6.2"
1345+
1346+prelude-ls@^1.2.1:
1347+ version "1.2.1"
1348+ resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
1349+ integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
1350+
1351+prettier-plugin-svelte@^2.2.0:
1352+ version "2.3.1"
1353+ resolved "https://registry.yarnpkg.com/prettier-plugin-svelte/-/prettier-plugin-svelte-2.3.1.tgz#926184a490549688dbea0a8d61c1b1ae20218368"
1354+ integrity sha512-F1/r6OYoBq8Zgurhs1MN25tdrhPw0JW5JjioPRqpxbYdmrZ3gY/DzHGs0B6zwd4DLyRsfGB2gqhxUCbHt/D1fw==
1355+
1356+prettier@~2.2.1:
1357+ version "2.2.1"
1358+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5"
1359+ integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==
1360+
1361+progress@^2.0.0:
1362+ version "2.0.3"
1363+ resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
1364+ integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
1365+
1366+punycode@^2.1.0:
1367+ version "2.1.1"
1368+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
1369+ integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
1370+
1371+query-string@^7.0.1:
1372+ version "7.0.1"
1373+ resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.0.1.tgz#45bd149cf586aaa582dffc7ec7a8ad97dd02f75d"
1374+ integrity sha512-uIw3iRvHnk9to1blJCG3BTc+Ro56CBowJXKmNNAm3RulvPBzWLRqKSiiDk+IplJhsydwtuNMHi8UGQFcCLVfkA==
1375+ dependencies:
1376+ decode-uri-component "^0.2.0"
1377+ filter-obj "^1.1.0"
1378+ split-on-first "^1.0.0"
1379+ strict-uri-encode "^2.0.0"
1380+
1381+queue-microtask@^1.2.2:
1382+ version "1.2.3"
1383+ resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
1384+ integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
1385+
1386+readdirp@~3.6.0:
1387+ version "3.6.0"
1388+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
1389+ integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
1390+ dependencies:
1391+ picomatch "^2.2.1"
1392+
1393+regexpp@^3.1.0:
1394+ version "3.2.0"
1395+ resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
1396+ integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
1397+
1398+require-from-string@^2.0.2:
1399+ version "2.0.2"
1400+ resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
1401+ integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
1402+
1403+require-relative@^0.8.7:
1404+ version "0.8.7"
1405+ resolved "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz#7999539fc9e047a37928fa196f8e1563dabd36de"
1406+ integrity sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=
1407+
1408+resolve-from@^4.0.0:
1409+ version "4.0.0"
1410+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
1411+ integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
1412+
1413+resolve@^1.20.0:
1414+ version "1.20.0"
1415+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
1416+ integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
1417+ dependencies:
1418+ is-core-module "^2.2.0"
1419+ path-parse "^1.0.6"
1420+
1421+restore-cursor@^3.1.0:
1422+ version "3.1.0"
1423+ resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
1424+ integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
1425+ dependencies:
1426+ onetime "^5.1.0"
1427+ signal-exit "^3.0.2"
1428+
1429+reusify@^1.0.4:
1430+ version "1.0.4"
1431+ resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
1432+ integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
1433+
1434+rimraf@^3.0.2:
1435+ version "3.0.2"
1436+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
1437+ integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
1438+ dependencies:
1439+ glob "^7.1.3"
1440+
1441+rollup@^2.38.5:
1442+ version "2.53.0"
1443+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.53.0.tgz#5b6bc7820a03f361d2ae3dcabdc99d269a754709"
1444+ integrity sha512-spgrY78Toh+m0+zaOoeaayJKuzFuWy6o1PdFIBMVwRcuxT0xCOX9A5rChyKe+2ruL4lePKWUMImS4mMW1QAkmQ==
1445+ optionalDependencies:
1446+ fsevents "~2.3.2"
1447+
1448+run-parallel@^1.1.9:
1449+ version "1.2.0"
1450+ resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
1451+ integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
1452+ dependencies:
1453+ queue-microtask "^1.2.2"
1454+
1455+rxjs@^6.6.7:
1456+ version "6.6.7"
1457+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9"
1458+ integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==
1459+ dependencies:
1460+ tslib "^1.9.0"
1461+
1462+sade@^1.7.4:
1463+ version "1.7.4"
1464+ resolved "https://registry.yarnpkg.com/sade/-/sade-1.7.4.tgz#ea681e0c65d248d2095c90578c03ca0bb1b54691"
1465+ integrity sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA==
1466+ dependencies:
1467+ mri "^1.1.0"
1468+
1469+semver-compare@^1.0.0:
1470+ version "1.0.0"
1471+ resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
1472+ integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w=
1473+
1474+semver@^7.2.1, semver@^7.3.5:
1475+ version "7.3.5"
1476+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
1477+ integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
1478+ dependencies:
1479+ lru-cache "^6.0.0"
1480+
1481+shebang-command@^2.0.0:
1482+ version "2.0.0"
1483+ resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
1484+ integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
1485+ dependencies:
1486+ shebang-regex "^3.0.0"
1487+
1488+shebang-regex@^3.0.0:
1489+ version "3.0.0"
1490+ resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
1491+ integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
1492+
1493+signal-exit@^3.0.2, signal-exit@^3.0.3:
1494+ version "3.0.3"
1495+ resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
1496+ integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
1497+
1498+slash@^3.0.0:
1499+ version "3.0.0"
1500+ resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
1501+ integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
1502+
1503+slice-ansi@^3.0.0:
1504+ version "3.0.0"
1505+ resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787"
1506+ integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==
1507+ dependencies:
1508+ ansi-styles "^4.0.0"
1509+ astral-regex "^2.0.0"
1510+ is-fullwidth-code-point "^3.0.0"
1511+
1512+slice-ansi@^4.0.0:
1513+ version "4.0.0"
1514+ resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
1515+ integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==
1516+ dependencies:
1517+ ansi-styles "^4.0.0"
1518+ astral-regex "^2.0.0"
1519+ is-fullwidth-code-point "^3.0.0"
1520+
1521+source-map-js@^0.6.2:
1522+ version "0.6.2"
1523+ resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e"
1524+ integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==
1525+
1526+source-map-support@^0.5.17:
1527+ version "0.5.19"
1528+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
1529+ integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==
1530+ dependencies:
1531+ buffer-from "^1.0.0"
1532+ source-map "^0.6.0"
1533+
1534+source-map@^0.6.0:
1535+ version "0.6.1"
1536+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
1537+ integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
1538+
1539+source-map@^0.7.3:
1540+ version "0.7.3"
1541+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
1542+ integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
1543+
1544+split-on-first@^1.0.0:
1545+ version "1.1.0"
1546+ resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f"
1547+ integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==
1548+
1549+sprintf-js@~1.0.2:
1550+ version "1.0.3"
1551+ resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
1552+ integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
1553+
1554+strict-uri-encode@^2.0.0:
1555+ version "2.0.0"
1556+ resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546"
1557+ integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY=
1558+
1559+string-argv@0.3.1:
1560+ version "0.3.1"
1561+ resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da"
1562+ integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==
1563+
1564+string-width@^4.1.0, string-width@^4.2.0:
1565+ version "4.2.2"
1566+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5"
1567+ integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==
1568+ dependencies:
1569+ emoji-regex "^8.0.0"
1570+ is-fullwidth-code-point "^3.0.0"
1571+ strip-ansi "^6.0.0"
1572+
1573+stringify-object@^3.3.0:
1574+ version "3.3.0"
1575+ resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629"
1576+ integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==
1577+ dependencies:
1578+ get-own-enumerable-property-symbols "^3.0.0"
1579+ is-obj "^1.0.1"
1580+ is-regexp "^1.0.0"
1581+
1582+strip-ansi@^6.0.0:
1583+ version "6.0.0"
1584+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
1585+ integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
1586+ dependencies:
1587+ ansi-regex "^5.0.0"
1588+
1589+strip-final-newline@^2.0.0:
1590+ version "2.0.0"
1591+ resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
1592+ integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
1593+
1594+strip-indent@^3.0.0:
1595+ version "3.0.0"
1596+ resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001"
1597+ integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==
1598+ dependencies:
1599+ min-indent "^1.0.0"
1600+
1601+strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
1602+ version "3.1.1"
1603+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
1604+ integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
1605+
1606+supports-color@^5.3.0:
1607+ version "5.5.0"
1608+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
1609+ integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
1610+ dependencies:
1611+ has-flag "^3.0.0"
1612+
1613+supports-color@^7.1.0:
1614+ version "7.2.0"
1615+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
1616+ integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
1617+ dependencies:
1618+ has-flag "^4.0.0"
1619+
1620+svelte-check@^2.0.0:
1621+ version "2.2.2"
1622+ resolved "https://registry.yarnpkg.com/svelte-check/-/svelte-check-2.2.2.tgz#1a8f0de4de66bcb1e485586fd948f7f7774a6ea9"
1623+ integrity sha512-PQtVt+TcXuwtfCkJl/b0NFFwYNAHERHWqy9ypZ1eevi684wlsjCApmKYh0JZEiR9+Q8Rq+1P0JIdOLsQLEkaXA==
1624+ dependencies:
1625+ chalk "^4.0.0"
1626+ chokidar "^3.4.1"
1627+ glob "^7.1.6"
1628+ import-fresh "^3.2.1"
1629+ minimist "^1.2.5"
1630+ sade "^1.7.4"
1631+ source-map "^0.7.3"
1632+ svelte-preprocess "^4.0.0"
1633+ typescript "*"
1634+
1635+svelte-hmr@^0.14.4:
1636+ version "0.14.4"
1637+ resolved "https://registry.yarnpkg.com/svelte-hmr/-/svelte-hmr-0.14.4.tgz#b7ef2bfeef23916e0e912828c50645ca572ac355"
1638+ integrity sha512-kItFF7vqzStckSigoFmMnxJpTOdB9TWnQAW6Js+yAB4277tLbJIIE5KBlGHNmJNpA7MguqidsPB27Uw5UzQPCA==
1639+
1640+svelte-preprocess@^4.0.0:
1641+ version "4.7.4"
1642+ resolved "https://registry.yarnpkg.com/svelte-preprocess/-/svelte-preprocess-4.7.4.tgz#e4d5208ab25c2aaaf19e837f7d7bbf7930e61d2b"
1643+ integrity sha512-mDAmaltQl6e5zU2VEtoWEf7eLTfuOTGr9zt+BpA3AGHo8MIhKiNSPE9OLTCTOMgj0vj/uL9QBbaNmpG4G1CgIA==
1644+ dependencies:
1645+ "@types/pug" "^2.0.4"
1646+ "@types/sass" "^1.16.0"
1647+ detect-indent "^6.0.0"
1648+ strip-indent "^3.0.0"
1649+
1650+svelte@^3.34.0:
1651+ version "3.38.3"
1652+ resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.38.3.tgz#e15a1da98ee4b10162a6c8cb4c80aa86b2b589ed"
1653+ integrity sha512-N7bBZJH0iF24wsalFZF+fVYMUOigaAUQMIcEKHO3jstK/iL8VmP9xE+P0/a76+FkNcWt+TDv2Gx1taUoUscrvw==
1654+
1655+table@^6.0.9:
1656+ version "6.7.1"
1657+ resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2"
1658+ integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==
1659+ dependencies:
1660+ ajv "^8.0.1"
1661+ lodash.clonedeep "^4.5.0"
1662+ lodash.truncate "^4.4.2"
1663+ slice-ansi "^4.0.0"
1664+ string-width "^4.2.0"
1665+ strip-ansi "^6.0.0"
1666+
1667+text-table@^0.2.0:
1668+ version "0.2.0"
1669+ resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
1670+ integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
1671+
1672+through@^2.3.8:
1673+ version "2.3.8"
1674+ resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
1675+ integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
1676+
1677+to-regex-range@^5.0.1:
1678+ version "5.0.1"
1679+ resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
1680+ integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
1681+ dependencies:
1682+ is-number "^7.0.0"
1683+
1684+ts-node@^10.0.0:
1685+ version "10.0.0"
1686+ resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.0.0.tgz#05f10b9a716b0b624129ad44f0ea05dac84ba3be"
1687+ integrity sha512-ROWeOIUvfFbPZkoDis0L/55Fk+6gFQNZwwKPLinacRl6tsxstTF1DbAcLKkovwnpKMVvOMHP1TIbnwXwtLg1gg==
1688+ dependencies:
1689+ "@tsconfig/node10" "^1.0.7"
1690+ "@tsconfig/node12" "^1.0.7"
1691+ "@tsconfig/node14" "^1.0.0"
1692+ "@tsconfig/node16" "^1.0.1"
1693+ arg "^4.1.0"
1694+ create-require "^1.1.0"
1695+ diff "^4.0.1"
1696+ make-error "^1.1.1"
1697+ source-map-support "^0.5.17"
1698+ yn "3.1.1"
1699+
1700+tslib@^1.8.1, tslib@^1.9.0:
1701+ version "1.14.1"
1702+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
1703+ integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
1704+
1705+tslib@^2.0.0:
1706+ version "2.3.0"
1707+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e"
1708+ integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==
1709+
1710+tsutils@^3.21.0:
1711+ version "3.21.0"
1712+ resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
1713+ integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==
1714+ dependencies:
1715+ tslib "^1.8.1"
1716+
1717+type-check@^0.4.0, type-check@~0.4.0:
1718+ version "0.4.0"
1719+ resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
1720+ integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
1721+ dependencies:
1722+ prelude-ls "^1.2.1"
1723+
1724+type-fest@^0.20.2:
1725+ version "0.20.2"
1726+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
1727+ integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
1728+
1729+type-fest@^0.21.3:
1730+ version "0.21.3"
1731+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
1732+ integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
1733+
1734+typescript@*, typescript@^4.0.0:
1735+ version "4.3.5"
1736+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.5.tgz#4d1c37cc16e893973c45a06886b7113234f119f4"
1737+ integrity sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==
1738+
1739+uri-js@^4.2.2:
1740+ version "4.4.1"
1741+ resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
1742+ integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
1743+ dependencies:
1744+ punycode "^2.1.0"
1745+
1746+v8-compile-cache@^2.0.3:
1747+ version "2.3.0"
1748+ resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
1749+ integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
1750+
1751+vite@^2.4.1:
1752+ version "2.4.1"
1753+ resolved "https://registry.yarnpkg.com/vite/-/vite-2.4.1.tgz#2e48b8dbfc69e4edbf7f4d1c0798d621585cb8da"
1754+ integrity sha512-4BpKRis9uxIqPfIEcJ18LTBsamqnDFxTx45CXwagHjNltHa6PFEvf8Pe6OpgIHb0OyWT30OXOSSQvdOaX4OBiQ==
1755+ dependencies:
1756+ esbuild "^0.12.8"
1757+ postcss "^8.3.5"
1758+ resolve "^1.20.0"
1759+ rollup "^2.38.5"
1760+ optionalDependencies:
1761+ fsevents "~2.3.2"
1762+
1763+which@^2.0.1:
1764+ version "2.0.2"
1765+ resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
1766+ integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
1767+ dependencies:
1768+ isexe "^2.0.0"
1769+
1770+word-wrap@^1.2.3:
1771+ version "1.2.3"
1772+ resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
1773+ integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
1774+
1775+wrap-ansi@^6.2.0:
1776+ version "6.2.0"
1777+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
1778+ integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
1779+ dependencies:
1780+ ansi-styles "^4.0.0"
1781+ string-width "^4.1.0"
1782+ strip-ansi "^6.0.0"
1783+
1784+wrap-ansi@^7.0.0:
1785+ version "7.0.0"
1786+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
1787+ integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
1788+ dependencies:
1789+ ansi-styles "^4.0.0"
1790+ string-width "^4.1.0"
1791+ strip-ansi "^6.0.0"
1792+
1793+wrappy@1:
1794+ version "1.0.2"
1795+ resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
1796+ integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
1797+
1798+yallist@^4.0.0:
1799+ version "4.0.0"
1800+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
1801+ integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
1802+
1803+yaml@^1.10.0:
1804+ version "1.10.2"
1805+ resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
1806+ integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
1807+
1808+yn@3.1.1:
1809+ version "3.1.1"
1810+ resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
1811+ integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==